导入带有MATLAB注释的文本文件[英] Importing text files with comments in MATLAB

问题描述

从文本文件导入数据时,MATLAB是否有任何字符或字符组合将其解释为注释?当它在一条线的开头检测到它时,所有的行都会忽略吗?

我在一个看起来像这样的文件中有一组点:  alt text 如您所见,他似乎并没有很好地了解它们.除了////我可以使用Matlab知道要忽略的其他东西吗?

谢谢!

推荐答案

如果使用函数html" ,您可以将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)

除此之外,使用'%'作为评论将由 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

matlab

data = importdata('file.dat')

2)

否则使用 textscan 指定任意注释符号:

file2.dat

//12 31
12 32
32 22
//abc
13 33
31 33
//ldddd
77 7
66 6
//33 33
12 31
31 23

matlab

fid = fopen('file2.dat');
data = textscan(fid, '%f %f', 'CommentStyle','//', 'CollectOutput',true);
data = cell2mat(data);
fclose(fid);

其他推荐答案

您是否尝试过%,MATLAB中的默认注释字符?

正如Amro所指出的,如果您使用importdata这将起作用.

本文地址:https://www.itbaoku.cn/post/537381.html