码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-06-22 11:00:06      阅读:114      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!