我是Matlab的新手并试图将当前的数字保存到文件中。所以,我已经按照http://www.mathworks.co.uk/help/matlab/ref/savefig.html#inputarg_h的官方文档进行了操作,并将以下内容输入Matlab:
figure;
surf(peaks);
savefig('PeaksFile.fig');
close(gcf);
但是,我收到以下错误:
Undefined function 'savefig' for input arguments of type 'char'.
如果我输入:
help savefig
我收到以下错误:
savefig not found.
关于发生了什么的任何想法?我本以为savefig附带了Matlab的所有版本,而不需要任何附加组件。我的Matlab版本是2013a。
答案 0 :(得分:3)
看起来好像在2013b之前的Matlab版本中没有实现savefig(来自http://www.mathworks.com/matlabcentral/fileexchange/10889-savefig末尾的一些实验和评论)。相反,请使用saveas(h,'filename.ext'),此处记录在此http://www.mathworks.co.uk/help/matlab/ref/saveas.html,并且肯定包含在2012a中。
答案 1 :(得分:2)
您使用的是R2013a,而savefig
是released in R2013b。我无法测试功能是否相同,因为我在此计算机上没有R2013b(或更新版本),但您可以尝试使用File Exchange上的savefig
- 功能或其他可用选项R2013a发布。
答案 2 :(得分:0)
这两个答案很棒。我相信已经存在很多年的另一个选择是使用print命令:
print -f1 -djpeg bob.jpg
-f1
是图号,显然bob.jpg
是您要写入的文件名。我的代码可以追溯到2007年,但我确信它早于此。所以它应该适用于你正在使用的几乎任何版本。
就此而言,使用print,你可以写PS,EPS,TIFF,PNG以及JPG。