2010-02-21 71 views
3

我有一个MATLAB程序,可以绘制一些图形,然后将图形输出到文件。如果我在同一个目录下多次运行此程序,则每次都会覆盖该文件。我怎样才能使它因此它输出到修改文件名...MATLAB - 具有不同输出名称的打印图形

目前,我有这样的:

print -depsc myfigure 

我有一个字符串,速率和名字,我想用,但不能得到任何工作。如果我不能使用我的琴弦,随机的东西也不错。任何方式来做到这一点?

非常感谢!

+0

O wait!试想一下。我可以运行MATLAB程序并在我的脚本中再次运行程序之前重命名该文件。 仍然好奇,如果这是可能的,但... ... – Mark 2010-02-21 04:00:16

回答

4

与当前日期和时间将它命名为:

print('-depsc2', ['prefix_' datestr(now, 30)]) 

运行在PST现在,这将创建一个名为prefix_20100220T200733.eps文件。您显然可以更改前缀和/或日期格式。

2

您可以将当前时间添加到您的文件名。例如:

m=magic(10); 
fh=figure, surf(m); 
currenttime= datestr(now,'MMSSFFF'); 
print(['-f',num2str(fh)],'-depsc',['outputFileName_',currenttime,'.eps']); 
2

此代码检查文件是否存在,如果是,则向其名称添加计数器。

filename = 'myfigure'; 
if exist([filename '.eps'],'file') 
    k=1; 
    while exist([filename '_' num2str(k) '.eps'], 'file') 
     k=k+1; 
    end 
    filename = [filename '_' num2str(k)]); 
end 
print('-depsc', filename); 
0

它很简单。为我工作。

currenttime= datestr(now,'dd-mm-yy_HH:MM') 
filename= ['graph' currenttime '.jpg'] 
print('-dpdf',filename) 

或者您想要导出的任何其他文件格式。检查打印帮助。

+0

这比4年前接受的答案更好吗? – nguthrie 2014-03-29 01:50:31

+0

我做到了。找到这篇文章。所以,分享我的选择,没有比较优势的目的。 – curiousMonkey 2014-03-30 03:03:09

相关问题