批量读取一个文件夹里类似命名的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');

猜你喜欢

转载自www.cnblogs.com/Roxy121314/p/10176364.html