常用的保存MATLAB图片的函数有print,saveas等,我本人想用saveas保存 .fig格式的图片,以便后边能修改,而且生成的图比较多,得编号保存,但网上给不是很好用,因为一般的是:
saveas(图片的名字,‘路径\文件名.文件格式’)
或者
saveas(图片的名字,‘路径\’,‘文件名.文件格式’)
这里边第一种不方便编号,第二种容易报错,在外面生成好了编好号的文件名,直接调用会报错。
上边不重要
于是我自己稍微改了一下,主要核心是两个地方:
- 首先是 要num2str 函数将编号(是一个数字,因为数字比较容易用于循环,从而实现自动化编号)转化为字符串;
- 其次就是 strcat 函数将 路径名、 编号名 和 文件格式 组成一个字符串
下边这个例子给了两张图片的保存方法,如果更多图片,再自己加一两个for循环就可以了
clear;clc
%% 随便生成两张图片,并给figure指定标签
f1=figure('name','Figure1')
figure(f1);
scatter((1:20),rand(1,20));
f2=figure('name','Figure2')
figure(f2);
scatter((1:30),rand(1,30));
Fig_num = [1 2];
str=strings(1,2)
%% 保存指定图片到指定位置
path="C:\Users\SXD\Desktop\";
% 用stracat函数生成 “path”+“自动编号的图片名”+“文件格式后缀”
str(1)=strcat(path,'Fig',num2str(Fig_num(1)),'.fig')
str(2)=strcat(path,'Fig',num2str(Fig_num(2)),'.fig')
saveas(f1,str(1))
savefig(f2,str(2))