File 在MATLAB中导入带注释的文本文件
从文本文件导入数据时,是否有任何字符或字符组合被MATLAB解释为注释?当它在一行的开头检测到它时,会知道所有的行都要忽略吗 我在文件中有一组点,如下所示: 正如你所看到的,他似乎不太理解他们。除了//我还有什么可以用的,MATLAB知道可以忽略的吗File 在MATLAB中导入带注释的文本文件,file,matlab,file-io,import,comments,File,Matlab,File Io,Import,Comments,从文本文件导入数据时,是否有任何字符或字符组合被MATLAB解释为注释?当它在一行的开头检测到它时,会知道所有的行都要忽略吗 我在文件中有一组点,如下所示: 正如你所看到的,他似乎不太理解他们。除了//我还有什么可以用的,MATLAB知道可以忽略的吗 谢谢 您是否尝试过MATLAB中的默认注释字符% 正如Amro所指出的,如果使用importdata,这将起作用。如果使用该函数,可以将CommentStyle参数设置为/或%。试着这样做: fid = fopen('myfile.txt'); i
谢谢 您是否尝试过MATLAB中的默认注释字符
%
正如Amro所指出的,如果使用importdata
,这将起作用。如果使用该函数,可以将CommentStyle
参数设置为/
或%
。试着这样做:
fid = fopen('myfile.txt');
iRow = 1;
while (~feof(fid))
myData(iRow,:) = textscan(fid,'%f %f\n','CommentStyle','//');
iRow = iRow + 1;
end
fclose(fid);
如果每行有两个数字,那就行了。我注意到在你们的例子中,每行的数字数量是不同的。有些行只有一个数字。这代表你的数据吗?如果每行中没有统一的列数,则必须以不同的方式处理此问题。实际上,您的数据不一致,因为每行必须具有相同的列数 1) 除此之外,使用“%”作为注释将被导入数据正确识别: file.dat matlab 2) 否则,使用textscan指定任意注释符号: 文件2.dat matlab
我把它们放在每行2个数字上(它们总是这样),但仍然不起作用。它一次只能读一行。我修改了我的响应以读取到文件的末尾。
%12 31
12 32
32 22
%abc
13 33
31 33
%ldddd
77 7
66 6
%33 33
12 31
31 23
data = importdata('file.dat')
//12 31
12 32
32 22
//abc
13 33
31 33
//ldddd
77 7
66 6
//33 33
12 31
31 23
fid = fopen('file2.dat');
data = textscan(fid, '%f %f', 'CommentStyle','//', 'CollectOutput',true);
data = cell2mat(data);
fclose(fid);