在MATLAB中动态更改循环内的变量名称

时间:2014-11-13 18:44:26

标签: matlab loops naming-conventions

此脚本用于图像处理,方法是将一组2000个图像与掩码相乘,然后对每个帧中的值求和。这些值被输入称为Intensity的行向量中。

我试图最终得到20个名为intensity1,intesity2 ... intensity20的行向量,是否有一种直接的方法可以在每次循环迭代时更改Intensity行向量的名称?

for m=1:20   

 mask=bigrating(m,m,0);

        for n=1:2000  
            I=sum(sum(imread((sprintf('image%05d.tif',n))).*(mask)));
            Intensity(n)=I;
        end

save('filepath','Intensity')

end

1 个答案:

答案 0 :(得分:0)

因为您想要动态命名的intensity1,intensity2,.... intensity20等,以下内容适用于您:

for m = 1:20
    mask = bigrating(m,m,0)
    for n = 1:2000
        I=sum(sum(imread((sprintf('image%05d.tif',n))).*(mask)));
        eval(['intensity' num2str(m) ' = I'])
    end
    save('filepath', ['intensity' num2str(m)])
end