2013-01-04 100 views
1

我试图使用变量名称作为PDF输出的文件名。 save函数工作,但只有当文件名包含在''中时才有效。所以... saveas(h, 'fname', 'pdf')的作品,但我想变量fname作为文件名的值,而不仅仅是文本'fname'。我已经尝试过没有'',但是这根本就没有保存任何东西。MATLAB将变量名称传递到保存功能

谢谢。

+0

事实上,在我的情况下,你的榜样工作正常(R2012b 64)。当然'fname'必须是一个字符串。如果不是你必须做'saveas(h,num2str(fname),'pdf')',即先转换字符串中的数字。 – Acorbe

回答

2

此作品在我的机器(R2012b winx64)的罚款,并产生两个预期的PDF文件

xx = 0:.01:1 
h = plot(xx,sin(xx)) 

f_name = 'fname' % // string version 
saveas(h, f_name , 'pdf') % // PDF1 - name: "fname.pdf" 

f_name = 10; % // now variable is a double 
saveas(h, num2str(f_name) , 'pdf') % // convert number in string first 
            % // PDF2 - name "10.pdf" 
+0

''-append''函数是否可以与此一起使用,以将多个图添加到一个文件? –

+0

@MarkHughes;正确的做法是制作一个情节,而不是“持有”或“全部持有”,然后绘制您需要的所有其他内容并最终保存。谷歌为'hold on'。 – Acorbe

+0

谢谢!正是我需要的。 –