我有一堆变量叫做length_act_i
where
i=1:6
我想作为 for 循环的一部分依次调用每个,但这不起作用:
for i=1:6
I={['length_act_',num2str(i)]};
subplot(3,2,i)
[f x]=hist(I,1:2:5);
bar(x,f./trapz(x,f),'barwidth',0.5,'r');
end
最有效的方法是什么?
问候,
我有一堆变量叫做length_act_i
where
i=1:6
我想作为 for 循环的一部分依次调用每个,但这不起作用:
for i=1:6
I={['length_act_',num2str(i)]};
subplot(3,2,i)
[f x]=hist(I,1:2:5);
bar(x,f./trapz(x,f),'barwidth',0.5,'r');
end
最有效的方法是什么?
问候,
eval
在循环内使用:
eval(['I = length_act_', num2str(i)]);
专业提示:
该eval
命令通常速度慢且效率低,请改用数组。在您的情况下,您的每个“length_act_i”变量似乎都是一个向量,因此您应该使用一个单元格数组。例如,调用它length_act
并将其设置为:
length_act = {length_act_1, length_act_2, length_act_3, ...};
然后使用以下命令访问数组中的每个单元格:
for i = 1:length(length_act)
I = length_act{i};
...
end