eval批量生成函数之后如何调用这些函数呢。

我想把元胞数组中每个赋予一个变量名,然后把他们转为普通数据,但是一直不知道怎么调用生成后的变量
for i =1:l
eval(['f',num2str(i),'=','Lu(i)'])
f{i} = cell2mat(f{i})
end

 Accepted Answer

你在这里说了这么多,我大概懂你意思了。其实人家5楼的回答,就已经在提示你,需要你告诉我们Lu到底是个啥。
你问题的关键总结起来就一句话,就是让帮你回答问题的人来猜测,你的那个Lu代表的到底是个啥。
你就是想让我们猜,你的那个Lu代表的到底是个数值数组,还是个元胞数组?(有意思吗?你直接在程序里把Lu给出来,不就行了吗?何必让我们在这猜测呢?)
如果Lu是个数值数组,那么eval函数运行之后的f1,f2,f3就是正常数组;
如果Lu是个元胞数组,那么eval函数运行之后的f1,f2,f3就是元胞数组;
不知道我猜的对不对。我感觉我这回应该猜对了,程序如下:
clear;clc
Lu = {1,2,3};
for i =1:3
    eval(['f',num2str(i),'=','cell2mat(Lu(i))'])
end

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!