MATLAB自动保存实验结果图片

编程实践 专栏收录该内容
2 篇文章 0 订阅

MATLAB自动保存实验结果图片

我们的实验课太难受了,要写十个程序,有几十张结果图片。关键是写实验报告时,自己一个个保存图片太麻烦了。因此写了个matlab程序,能够自动执行指定目录下,具有特定名称的m文件,然后将实验图片都保存到一个文件夹中,以便写实验报告。

代码很简单,但以后能轻松很多啦。

%% 程序名:save_fig.m
% 作者: roobie_bird    2019/11/17
% 本程序可以保存当前已创建的所有图像
function num=save_fig(name,des)

H_fig=findobj('Type','figure'); % 从根目录开始搜索,找到所有类型为figure的句柄
for iter=1:length(H_fig)
    fig_name = get(H_fig(iter),'Number');    % 获取当前fig的编号
   saveas(H_fig(iter),[des,strcat(name,int2str(fig_name),'.png')]);
end
num=length(H_fig);% 保存图像的数量
%% 程序名:AutoSaveFigs.m
% 作者: roobie_bird    2019/11/17
% 自动保存实验结果的程序
close all;  % 执行前先关闭所有图像以免干扰
file_list=dir(['exp2_*.','m']);  % 字符串数组表示要查找的文件名,*是通配符
                                % 路径也可以写在前面。
                                % 函数内部会把字符数组拼接起来
[m,~]=size(file_list)
fprintf('[+]搜索到%d个文件',m)

des='实验2\';  % 准备存放的目录
str=strcat('[+]目标目录:',des);
disp(str)
for ind=1:length(file_list)
    filenm=file_list(ind).name;
    run(filenm);     % 按顺序执行文件
    nm=findstr(filenm,'.m');
    save_fig(strcat(filenm(1:nm-1),'_'),des);               % 保存文件的所有图片
    close all;                  % 关闭所有窗口
end
disp('[+]图片已顺利保存')

注意m文件的命名规范,我的命名是这样的:

在这里插入图片描述

执行AutoSaveFigs.m后就能将exp2的所有程序执行一遍并保存图片到实验2文件夹中了。

utoSaveFigs.m后就能将exp2的所有程序执行一遍并保存图片到实验2文件夹中了。

这只是实现了实验图片的自动保存。接下来要做的是根据图片及代码文件,自动生成一份实验报告(桀桀桀,这才方便嘛)。请看我的另一篇文章。

  • 3
    点赞
  • 3
    评论
  • 18
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

roobiebird

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值