【Matlab】存儲變量,存儲中間過程矩陣,動態進行生成銷燬變量 保存成.txt,.exl,.dat,mat都可以了,今天實現了這些操作


今天通過天使一個程序,學習了許多關於matlab的使用的技巧,記錄一下,希望以後後可以用得到,好的,
使用matlab存儲變量,存儲中間過程矩陣,動態進行生成銷燬變量
保存成.txt,.exl,.dat,mat都可以了,今天實現了這些操作
FrontNo
save(‘D:\opencv\example.mat’,‘FrontNo’);
‘-append’

在這裏插入圖片描述

Matlab實現數字1到字符串0001的轉換

問題描述:最近在批量修改文件名的時候需要確保文件名格式爲0001.jpg、0002.jpg、…、1345.jpg。所以需要將數字1轉換爲字符串0001,對於這種批量處理的方法,記錄一下實現代碼,備忘。

   方法一:imagename=num2str(1,'%04d');imagename=strcat(imagename,'.jpg')

   輸出結果爲:imagename =0001.jpg。

   方法二:imagename=sprintf('%04d',1);imagename=strcat(imagename,'.jpg')

   輸出結果爲:imagename =0001.jpg。

   注意:'%04d'中的0不能漏,可以將4改爲你想要的字符串長度。

   之前還用for循環和if判斷來實現,很麻煩,最後上面兩種方法很簡單實現了。

Matlab中通過循環for來對變量命名。

b=zeros(100,40,50);

for n=1:10

    eval(['a',num2str(n),'=','b(n:10:100,:,:)',';']);

end

matlab例子,把變量存入到一系列有規律文件名的文件中

for n=1:10
save([‘D:\A\kchange’,num2str(n),’.mat’],[‘k’,num2str(n)]);
end

matlab 如何以動態的變量名保存變量

%%% 方法一 用sprintf與eval組合
%%% 可以邊生成代碼邊執行,及其靈活
%%% 但在次數很多的循環體內部儘量不要使用
%%% 因爲eval需運行時編譯,速度不快
for i=3:5
s=sprintf(‘m%d=magic(%d);save hujia.mat m%d;’,i,i,i); % 對i的每個取值生成一行不同的代碼
eval(s); % 執行生成的代碼
end
%%% =============== hujia2.m ========================
%%% 方法二 用函數的方式使用save就行了
%%% 在matlab裏,像save,print等都有兩種使用方式:
%%% 函數形式: save(filename,varname)
%%% 例:x1=rand(3,3);save(‘hujia.mat’,‘x1’);
%%%
%%% 命令形式: save filenam varname
%%% 例:x1=rand(3,3);save ‘hujia.mat’ x1
m=[];
for i=3:5
m(i)=magic(i);
s=sprintf(‘m(%d)’,i);%生成變量名
save(‘hujia.mat’,s);
end
eval([‘a’,num2str(n),’=’,‘b(n:10:100,:😅’,’;’]);

matlab如何刪除變量

清除當前工作空間全部變量:clear;
清除當前工作空間某些變量:clear 變量名1 變量名2
…;
清除當前工作空間除某些變量之外所有變量:clearvars
-except 變量名1 變量名2 …;
可按照一定的命名規則清除變量,如清除以字母a開頭的全部變量:clear
a* 。

matlab中字符串用單引號使用

當以函數的形式使用時,要用括號並加引號,比如:load( ’ data.mat ’ )
如果你想在單引號中嵌套單引號,被嵌套的單引號要用連續兩個單引號表示
例如:要賦值It’s a black cat給a,就要寫成這樣的:a=‘It’‘s a black cat’

end

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章