我有一堆变量叫做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
做到这一点最有效的方法是什么?
Regards,
Use eval http://www.mathworks.com/help/matlab/ref/eval.html在你的循环内:
eval(['I = length_act_', num2str(i)]);
Pro tip:
The 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
Also, 建议不要使用“i”和“j”作为变量名称。 https://stackoverflow.com/questions/14790740/using-i-and-j-as-variables-in-matlab
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)