MATLAB - 使用不同的输出名称打印图形

时间:2010-02-21 03:53:06

标签: matlab

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

我目前有这个:

print -depsc myfigure

我有字符串,速率和名字,我想要使用,但无法获得任何工作。如果我不能使用我的字符串,随机的东西也会没问题。有什么办法吗?

非常感谢!

4 个答案:

答案 0 :(得分:4)

使用当前日期和时间命名:

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分: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);

答案 3 :(得分:0)

简单。为我工作。

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

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