matlab 实现绘图和命令行输出自动保存

matlab 实现绘图和命令行输出自动保存

在用 matlab 编写较为复杂的分析程序时,我相信大家经常面临这这样的一个问题。程序运行会产生很多输出,大量的图片,还有命令行的结果。并且这些图片和结果我们都需要保存下来,以后后续分析,那么这时如果要一一手动保存是非常麻烦的。有没有办法可以让程序自动保存呢?方法自然是有的。

绘图自动保存

对于图片而言,只需要灵活使用 saveas 命令,该命令语法格式如下:

saveas(fig,filename)
saveas(fig,filename,formattype)

请看下例:

close all
clear
clc

x = [2 4 7 2 4 5 2 5 1 4];
bar(x);
saveas(gcf,'Barchart.png')

可以在当前目录下得到 Barchart.png 文件。但是这种做法有个问题,就是图片是闪过之后自动关闭并保存。如果我们生成的图片很多,一闪一闪输出图片,不仅会另人感觉不适,并且会降低程序效率。

那怎么实现不显示图片,而自动保存呢?其实只需要加一行代码关闭图形显示就可以了。如下:

close all
clear
clc

figure('Visible', 'off');

x = [2 4 7 2 4 5 2 5 1 4];
bar(x);
saveas(gcf,'Barchart.png')

命令行输出自动保存

可以使用 diary 命令实现该功能,例子如下:

close all
clear

你可能感兴趣的:(#,matlab,奇技淫巧)