有没有人知道如何保存下面的循环为每次重复创建的图形?我想以pdf格式保存它。
我尝试输入:saveas(gcf,{['figure',num2str(i),'.pdf']})
但它不起作用。
这是我的循环:
i=1;
while i<=4
x=0:pi/100:2*pi;
y=sin(x)+i;
figure
plot(x,y)
i=i+1;
saveas(gcf,'figure.pdf')
end
答案 0 :(得分:2)
您需要使用strcat()命令来构造文件名:
I = 1;
figure
while I <= 4
x=0:pi/100:2*pi;
y=sin(x) + I;
plot(x,y);
saveas(gcf,strcat('figure',num2str(I),'.pdf'));
I = I+1;
end
我已经更改了代码以重复使用相同的数字来渲染绘图并将i更改为大写以避免与内置的Matlab虚构单位表示混淆。此代码将文件保存在当前工作目录中,并且在覆盖之前不会检查。
答案 1 :(得分:2)
这就像一个魅力:
for ii = 1:4
x = 0:pi/100:2*pi;
y = sin(x)+ii;
figure
plot(x,y)
saveas(gcf,['figure' num2str(ii) '.pdf'])
end
你的问题是使用大括号{}
。它们用于创建(和索引)单元格数组。此外,strcat
不是必需的。您可以简单地将所有内容放在方括号内,就像我上面所做的那样。在这种情况下,我会说for
比while
更适合。