【发布时间】:2015-09-26 08:26:24
【问题描述】:
我很难将一堆 .dat 文件读入 MatLab。我试图用谷歌搜索这个问题,但一小时后我仍然无法让我的代码工作。我总共有 141 个 .dat 文件。每个文件包含三行标题信息(我不想包含),然后是一堆行,每行包含三列数字。我想将所有 .dat 文件中的行合并到一个包含所有行和三列的大矩阵中(因为所有 .dat 文件中的每一行都包含三个数字)。这是我尝试使用的代码:
d = dir('C:\Users\Kristian\Documents\MATLAB\polygoner1\');
out = [];
N_files = numel(d);
for i = 3:N_files
fid = fopen(d(i).name,'r');
data = textscan(fid,'%f%f%f','HeaderLines',3);
out = [out; data];
end
但是,当我尝试运行代码时,我收到了错误消息
??? Error using ==> textscan
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in ==> readpoly at 6
data = textscan(fid,'%f%f%f','HeaderLines',3);
如果有人知道我如何让它工作,那么我将非常感激!
【问题讨论】:
-
谢谢,我去看看!
-
这不是问题的一部分,但您应该确保在完成后关闭文件,方法是将语句
fclose(fid);作为for循环的最后一行。 -
非常感谢!我会将其添加到代码中。我在大学课程中做过很多 MatLab,但是现在当我需要在工作中使用它时,在各种软件之间传输文件时会遇到所有这些挑战!那不是教的:)