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