最近批量跑实验的时候,实验给了不同的设置,希望每一种设置的情况下,都能够保存实验结果图片和一些中间变量,并且不同的设置给不同的命名。
举一个最简单的例子:
for i = 1: 1: 9
......
x(i) = 1;
y = 2*x(i);
figure();
plot(...);
......
end
我希望保存i从1到9这九种情况的figure,以及这九种情况的y。
解决方法:
给不同的图片和变量设置不同的名字,名字里面如果包含比如变量i,可以用num2str(i)转化成string,字符串拼接用strcat。
h = figure();
saveas(h, strcat(\'fig\',num2str(i),\'.jpg\'),\'jpg\');
save(strcat(\'y\',num2str(i),\'.mat\'),\'y\');
或者save(strcat(\'y\',num2str(i),\'.mat\'))保存当前的workspace。
例子的最终代码:
for i = 1: 1: 9
......
x(i) = 1;
y = 2*x(i);
h = figure();
plot(...);
saveas(h, strcat(\'fig\',num2str(i),\'.jpg\'),\'jpg\');
save(strcat(\'y\',num2str(i),\'.mat\'),\'y\');
......
end