我有一个.txt文件,如下所示:
******text*******
(30 lines containing text and *)
******text*******
a b c
a b c
a b c
a b c
a b c
a b c
a b c
(我正在创建一个带有as和b,c为y1和y2的图表)
如何使用textscan跳过这30行?我有这个,但它不起作用:
[x y1 y2] = textscan('file_name.txt', '%f %f %f', 30);
还有更多:如何制作第三列值的平均值?
答案 0 :(得分:5)
您有一些关于线路跳过的选项:
如果行数始终是静态的,并且始终位于文件的开头:
传递HeaderLines
的值为N,其中N是您不想处理的数字。
[x y1 y2] = textscan ('file_name.txt', '%f %f %f', 'HeaderLines', 30 + 2);
如果所有行都以相同的字符串开头
*传递CommentStyle
,其值为ABC,其中ABC
是评论样式。
如果要跳过的所有行都以*
开头,请将'*'
传递给textscan
。
[x y1 y2] = textscan ('file_name.txt', '%f %f %f', 'CommentStyle', '*');
要获得某些数组的平均值,请使用mean
:
y1_average = mean (y1);
textscan
的文档:
mean
答案 1 :(得分:0)