批量讀取一個資料夾裡類似命名的mat檔案
阿新 • • 發佈:2018-12-25
參考網址:
首先命名方式體現在只是名字裡數字有變化,其他部分是一樣的,一共有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');