MATLAB获取一个目录中的所有文件

问题:在一个目录中,有一系列需要分析的文件,这些文件的名字都是数值,如距离值(0.1, 0.2, ... , 10.0),再加上一个后缀(.txt, .dat等)。 在分析数据的时候需要这些文件按文件名的数值排序,方便找规律。

代码

 1 % 文件目录名, 里面必须全部是数据文件, 且文件名字必须是距离数值
 2 file_dirname = 'E:\data\';
 3 
 4 % 文件目录
 5 file_dir = dir(file_dirname);
 6 file_dir(1:2) = []; % 去掉目录"."".."
 7 
 8 % 文件数量
 9 file_nums = length(file_dir);
10 
11 % 文件序列
12 %   第1列 - file_dir
13 %   第2列 - 距离数值
14 %   第3列 - 文件名(无后缀)
15 % 注意: 此时文件序列可能并非按距离大小排列
16 for i = 1 : file_nums
17     [path, name, ext] = fileparts(file_dir(i).name);
18     file_seq{i, 1} = file_dir(i);
19     file_seq{i, 2} = str2double(name);
20     file_seq{i, 3} = name;
21 end
22 
23 % 将文件序列按距离大小排序
24 file_seq = sortrows(file_seq, 2);
25 
26 % 读取数据
27 for i = 1 : file_nums
28     data{i} = importdata([file_dirname, file_seq{i, 1}.name], 'r');
29 end

 结果

目录"E:\data\"下的文件如下图:

程序执行后,变量file_seq为:

其中,file_seq{1, 1}的内容为:

转载于:https://www.cnblogs.com/Brook-L/p/matlab_file.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值