1. 程式人生 > 其它 >Matlab用saveas函式自動編號儲存圖片

Matlab用saveas函式自動編號儲存圖片

技術標籤:matlab使用小技巧matlab

常用的儲存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))