• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab获取文件夹下所有文件名并将数据按矩阵赋值给变量

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、获取一个文件夹下所有文件名:

fileFolder=fullfile(\'D:\MATLAB\bin\trc\');

dirOutput=dir(fullfile(fileFolder,\'*.trc\'));

fileNames={dirOutput.name};

解释:

1、第一行

fileFolder=fullfile(\'D:\MATLAB\bin\trc\');

引号内是需要遍历的路径,填绝对路径,然后保存在fileFolder

2、第二行

dirOutput=dir(fullfile(fileFolder,\'*.trc\'));

引号内是文件的后缀,写\'.trc\'则读取后缀为\'.trc\'的文件

3、第三行

fileNames={dirOutput.name};

将所有文件名,以矩阵形式按行排列,保存到fileNames中

 

二、将数据按矩阵赋值给变量

n = 1;
for i=fileNames
i_trace = strcat(\'D:\MATLAB\bin\trc\\',i);
eval([\'T\',num2str(n),\'=\',\'load(i_trace{1,1})\',\';\']);
n = n+1;
end

1、strcat(\'D:\MATLAB\bin\trc\\',i);获取详细路径,如得到:

i_trace = D:\MATLAB\bin\trc\baiyulin_g9.trc

 

2、eval([\'T\',num2str(n),\'=\',\'load(i_trace{1,1})\',\';\']);

①eval()是将内容赋值给Tn

②load(i_trace{1,1})是读取文件

③i_trace{1,1}中的{1,1}是读取cell格式的文件,方便load加载,不加{1,1}会报错!!!

 

3、最终得到

变量名为T1至TN的n个储存着该目录下所有对应文件内容的变量

 

4、亦可以将变量名命名为你想要的名字

方法使用matlab的正则表达式:

name = regexprep(i,\'(_)(g)(\d)+(.)(trc)$\',\'\');

这个式子可将字符串为‘baiyulin_g9.trc’的转换为‘baiyulin’。

 

三、最终形式

fileFolder=fullfile(\'D:\MATLAB\bin\trc\');
 
dirOutput=dir(fullfile(fileFolder,\'*.trc\'));
 
fileNames={dirOutput.name};

n = 1;

for i=fileNames

    i_trace = strcat(\'D:\MATLAB\bin\trc\\',i);

    eval([\'T\',num2str(n),\'=\',\'load(i_trace{1,1})\',\';\']);

    n = n+1;

end

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap