matlab批量讀取一個文件夾里類似命名的mat文件


參考網址:

Matlab讀取同一路徑下多個txt或mat文件總結

matlab 批量讀取數據文件.mat .dat

整理:matlab批量讀入數據文件的方法

 首先命名方式體現在只是名字里數字有變化,其他部分是一樣的,一共有1227個。

思路:通過循環,利用num2str將名字中變化的部分表示,然后讀取mat文件,最后合並起來。

我的每個mat里面是一個1000*1的cell----> 

代碼:

filepath='E:\My-AMG-Paper\stayPointTry2\';  %文件夾名字
for k = 1: 1227  % 一共的個數
temp = load([filepath,'stayPointFile_',num2str(k),'.mat']);   % 利用num2str表示1,2,3,4.。。[ ]里面的內容,用逗號或者空格連接都可以,最后就是一個字符串,就是mat的路徑名,temp讀出來是一個structure
matname = char(fieldnames(temp));% 獲取結構成員名稱
data{k} = getfield(temp,matname);% 獲取該名稱下的成員內容,用  temp.usertrj_stay 也可以獲得structure的值
end

data是一個cell,里面有1227個cell,每個cell是之前的1000*1的cell,,,,聽起來很復雜,,就是連起來了而已,,但是這樣不行,我不要這么多層,然后cat連接補充一句:

all_staypoint = cat(1,data{:});

save('all_staypoint.mat','all_staypoint');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM