matlab用循环批量生成多个变量,神奇的eval()函数

可以用eval()函数,例如:

b = ones(100);
for i = 1 : 10
	eval(['var', num2str(i), '=', 'b(i, :)', ';']);
end


结果得到10个变量var1、var2。。。var10,分别被赋值为b矩阵的每一行。

matlab用循环批量生成多个变量,神奇的eval()函数_第1张图片



还可以在eval()函数用调用函数,例如:

for i = 1:3
eval(['x', num2str(i), '=', 'sum([2, 3])', ';']);
end



eval()函数也用用在别的函数内部,例如:

for i = 1:5
figure;
imshow(eval(['image', num2str(i)])) %循环生成变量名,并用imshow()显示相应矩阵
end




你可能感兴趣的:(matlab,循环,批量生成,变量,eval,Matlab/Octave)