手机版

MATLAB-图片自动编号、命名及保存

100次浏览     发布时间:2025-12-21 06:01:43    

在进行运算的可以,可能经常需要对图形进行保存,手动操作比较繁琐,可以自动的生成图片并按照一定的规律自动命名,这样可以提高效率。实现功能会涉及到一些函数的使用和往期介绍的图像的保存方法。下面简单回顾一下:

1)saveas()函数

具体格式为:saveas (gcf, 'filename', 'format')

其中:gcf表示图形句柄,"gcf"是"get current figure"的缩写;filename表示图片名称;format表示图片格式。

clc;clear all;close all;
x = 0:0.1:2*pi;
y = sin(x);
yfig = figure('name','正弦图像','color','w');   % 定义图像句柄、图像名称、背景颜色
plot(x,y,'k-','LineWidth',1.5);                % 定义线型,线宽
hold on; grid on;
xlabel('x');ylabel('y');
saveas(yfig,'正弦图像','png');                  % 保存格式为png,默认保存位置为当前文件夹
saveas(yfig,['E:\matlab\bin\work\研究生\微信公众号\20211109\','正弦图像','png']);        % 指定路径保存

(2)print()函数

具体格式为:print (gcf, 'filename', 'formattype')

其中:gcf表示图形句柄;filename表示图片名称;formattype表示图片格式。

clc;clear all;close all;
x = 0:0.1:2*pi;
y = sin(x);
yfig = figure('name','正弦图像','color','w');   % 定义图像句柄、图像名称、背景颜色
plot(x,y,'k-','LineWidth',1.5);                % 定义线型,线宽
hold on; grid on;
xlabel('x');ylabel('y');
print(yfig,'正弦图像','-dpng','-r300');         % 保存格式为png,默认保存位置为当前文件夹,图片分辨率为300
print(yfig,'E:\matlab\bin\work\研究生\微信公众号\20211109\study正弦图像.png','-dpng','-r300');         % 指定保存路径

(3)savefig()函数

具体格式为:savefig(gcf, 'filename')

其中:gcf表示图形句柄,可以省略;filename表示图片名称。

clc;clear all;close all;
x = 0:0.1:2*pi;
y = sin(x).*cos(x);
yfig = figure('name','正弦图像','color','w');   % 定义图像句柄、图像名称、背景颜色
plot(x,y,'k-o','LineWidth',1.5);                % 定义线型,线宽
hold on; grid on;
xlabel('x');ylabel('y');
print(yfig,'正弦图像','-dpng','-r300');         % 保存格式为png,默认保存位置为当前文件夹,图片分辨率为300
print(yfig,'study图像.png','-dpng','-r300');         % 指定保存路径

(4)eval()函数

利用eval()函数可实现变量的自动命名。

clc; clear all; close all;
A = [1 2 3; 6 5 4; 7 8 9];
for i = 1:3
    eval(['BL',num2str(i),'=','A(i,:)',';'])  % 依次创建变量"BL1"、"BL2"和"BL3"
    B(i,:) = eval(['BL',num2str(i)]) + eval(['BL',num2str(i)]).^2;    % 依次使用变量"BL1"、"BL2"和"BL3"
end
B        % 显示变量B,结果是[2 6 12; 42 30 20; 56 72 90]

实例1

clc;
clear all;
close all;
a = [1:10];
x = -2*pi:0.01:2*pi;
for i = 1:length(a)
    figure;
    y = sin(a(i)*x);
    plot(x,y,'b-*');
    xlabel('x');
    ylabel('y');
    title('y=sin(ax)');
    str = ['a = ' num2str(a(i))];
    legend(str,'location','northeast');
    saveas(gcf,[str '.jpg']);
    close(gcf);
end

生成10个图片,t图片名称a=a(i).jpg


实例2

%% 需要绘制4条曲线,每条曲线线性、颜色均不一样
x = rand(10,4);    % x4列数据
y = rand(10,4);    % y4列数据
cline = [0 .5 0; 0 0 1; 1 0 0; 0 .7 .7];       % 利用RGB数组设置颜色
vline = {':', '--', '-', '-.'};                % 线型设置
 
for i = 1:4
    str1 = ['第',num2str(i),'个图'];
    eval(['yfig',num2str(i),'=','figure(''name'',str1,''color'',''w'')',';']);
    plot(x(:,i),y(:,i),char(vline(i)),'Color',cline(i,:));
    hold on;grid on;
    xlabel('时间'),ylabel('成本(万元)');
    set(gcf,'unit','centimeters','Position',[4 2 12 5.5]);  % 设置图片显示位置以及大小
    print(eval(['yfig',num2str(i)]),[str1,'.png'],'-r300','-dpng'); %设置图片格式、分辨率
end


相关文章:

水培富贵竹可以放磷酸二氢钾吗 ,加点磷酸二氢钾,全是大白根,从不黄叶! 12-29

宋朝的妆容特点,它与你所认为的是一样的吗? 12-29

宋朝人物之苏东坡,快来看看吧 12-28

辽国能和强大的北宋长期对抗只因契丹皇帝做了一件利在千秋的事情 12-28

古代最亲民皇帝之——宋朝皇帝赵祯 12-27

“缠足”为什么产生于宋朝?一起来看看吧 12-27

宋朝历史的兴与衰,一起来看看吧 12-26

民国高清旧照片36张 12-26

宋朝的通判究竟是多大官?放到现在,相当于什么级别?一文详细了解 12-25

SolidWorks工程图如何保存高清png/jpg图片呢? 12-25