如何使用dlmread读取文件夹中的所有文件?

时间:2016-03-31 19:59:04

标签: matlab

我必须在文件夹中读取很多文本文件,其中只有一个矩阵。所以当我写一个文件的名字时,我发现并测试dlmread是好的。但我无法让MATLAB全部阅读。

如何更正这个小代码,如果有更好的方法,请写。

files = dir('C:\Users\ABC\Desktop\a\*.txt')
for k = 1:length(files)
    fname= files(k).name
    M = dlmread('fname')   % This part is wrong
    % REST OF CODE for each Matrix M
end

fname确实读取了文件的名称,例如1.txt。如果我自己写M = dlmread('1.txt'),它会将矩阵读取到M,但如果我写M = dlmread('fname')则不会。{/ p>

我怎样才能做到最好?

1 个答案:

答案 0 :(得分:3)

你需要:

for k=1:numel(files)
    fname = fullfile('C:\Users\ABC\Desktop\a', files(k).name);
    M = dlmread(fname);
    % ...
end

两件事:

  1. fname是一个变量,而不是文字字符串
  2. 由于文件不在当前目录中,您必须指定完整路径