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

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

技术教程gslnedu2025-07-25 18:33:155A+A-

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

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);    % x有4列数据
y = rand(10,4);    % y有4列数据
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

作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8