1. 程式人生 > >批量讀取一個資料夾裡類似命名的mat檔案

批量讀取一個資料夾裡類似命名的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');