[已解决] 求助 matlab如何批量导入mat格式的文件

[复制链接]
日暮途远1 发表于 2021-5-1 13:50:43
如图
求大神回答
mat.png

最佳答案


gywxd 发表于 2021-5-1 14:48:30

本帖最后由 gywxd 于 2021-5-1 14:39 编辑


用 目录查看命令 然后以目录结构中的文件名作为变量  一个一个load

folder = 'D:\work\down'; %   定义工作目录  你的mat 所在目录
files = dir( fullfile(folder,'*.*') ); %   找到目录中所有文件列表  用dir 输出所有文件列表到 files
files = {files.name}'; % list of the files (file names) ;  取 文件名列表
L=length(files) ;  列表长度
for i=3: L+3

str1=files{i};    逐个装数据

load(str1);  
end

6 条回复


gywxd 发表于 2021-5-1 14:33:35
本帖最后由 gywxd 于 2021-5-1 14:39 编辑

用 目录查看命令 然后以目录结构中的文件名作为变量  一个一个load

folder = 'D:\work\down'; %   定义工作目录
files = dir( fullfile(folder,'*.*') ); %   找到目录中所有文件列表
files = {files.name}'; % list of the files (file names)
L=length(files) ;
for i=3: L+3

str1=files{i};

load(str1);  
end

日暮途远1 发表于 2021-5-1 14:43:14
gywxd 发表于 2021-5-1 14:33
用 目录查看命令 然后以目录结构中的文件名作为变量  一个一个load

folder = 'D:\work\down'; %   定义工 ...

没有太看明白代码,大神能细讲一下吗

gywxd 发表于 2021-5-1 14:48:30

本帖最后由 gywxd 于 2021-5-1 14:39 编辑


用 目录查看命令 然后以目录结构中的文件名作为变量  一个一个load

folder = 'D:\work\down'; %   定义工作目录  你的mat 所在目录
files = dir( fullfile(folder,'*.*') ); %   找到目录中所有文件列表  用dir 输出所有文件列表到 files
files = {files.name}'; % list of the files (file names) ;  取 文件名列表
L=length(files) ;  列表长度
for i=3: L+3

str1=files{i};    逐个装数据

load(str1);  
end
回复此楼

日暮途远1 发表于 2021-5-1 15:14:33
gywxd 发表于 2021-5-1 14:48
本帖最后由 gywxd 于 2021-5-1 14:39 编辑

还有就是怎么找每个mat文件所对应的数据呢

gywxd 发表于 2021-5-1 15:23:10
日暮途远1 发表于 2021-5-1 15:14
还有就是怎么找每个mat文件所对应的数据呢

不懂你的意思,  mat 只是一个容器, 里面装了什么要一个一个打开才知道,而且有个问题,如果多个mat 里面装的变量名如果重复, 后面load 的mat内容会覆盖前面的mat 内容。
如果你要知道 mat 和里面变量的对应关系,可以考虑

s = whos('-file','D:\work\cwdata\test.mat')
这样会返回  test.mat  所有变量名列表

日暮途远1 发表于 2021-5-1 15:27:42
gywxd 发表于 2021-5-1 15:23
不懂你的意思,  mat 只是一个容器, 里面装了什么要一个一个打开才知道,而且有个问题,如果多个mat 里 ...

非常感谢,我应该差不多理解你的意思了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表