首页 > 其他 > 详细

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

时间:2015-06-22 10:57:54      阅读:234      评论:0      收藏:0      [点我收藏+]

问题:在一个目录中,有一系列需要分析的文件,这些文件的名字都是数值,如距离值(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}的内容为:

技术分享

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

原文:http://www.cnblogs.com/Brook-L/p/matlab_file.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!