我必须在文件夹中读取很多文本文件,其中只有一个矩阵。所以当我写一个文件的名字时,我发现并测试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>
我怎样才能做到最好?
答案 0 :(得分:3)
你需要:
for k=1:numel(files)
fname = fullfile('C:\Users\ABC\Desktop\a', files(k).name);
M = dlmread(fname);
% ...
end
两件事:
fname
是一个变量,而不是文字字符串