【发布时间】:2014-06-12 20:17:04
【问题描述】:
Matlab 和 textscan 问题,很遗憾。 就我而言,我可以使用以下方法导入我感兴趣的数据:
f = fopen(file,'r'); % Open text file
data=textscan(f, '%f %f %f %f %f %f %f %f', 'Delimiter',',', 'HeaderLines',14);
fclose(f);
但是
在表头的第 12 行和第 13 行我有一些有趣的数据,结构如下:
Calibration Coefficient,0.002501,0.001,0.1294,35.5,200,66.666,1
Offset,0.9,0,0,0,0.7,0,0
所以它们是第一列中的字符串,然后是 7 个双精度数,应该以这种方式编码(?)
param1=textscan(f, '%*s %f %f %f %f %f %f %f','Delimiter',',','HeaderLines',11);
param2=textscan(f, '%*s %f %f %f %f %f %f %f','Delimiter',',','HeaderLines',12);
实际上我想知道为什么参数单元格是空的,是否可以只导入我文件的第 12 行和第 13 行中的数据。
提前致谢。
【问题讨论】:
-
textscan函数有一个 'count' 参数,您应该在第一行使用它:打开文件,以正确的格式读取第 12 行,指定 count=1 和 header line=11,然后使用 count=1 读取第 13 行,没有标题行(如果两行具有相同的格式,您可以使用 count=2 一次性读取它们)。然后读取文件的其余部分(未指定的“计数”将读取到文件末尾),然后关闭文件。 -
谢谢,帮助不清楚这个计数。但是输出单元格是空的。不知道为什么。