0

可悲的是,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 行中的数据。

提前致谢。

4

1 回答 1

0

看起来你的一切都刚刚好。这是一个小的更改,应该可以解决您需要的问题(希望如此)

param1=textscan(f, '%s %f %f %f %f %f %f %f',1,'Delimiter',',','HeaderLines',11);
param2=textscan(f, '%s %f %f %f %f %f %f %f',1,'Delimiter',',','HeaderLines',12);

注意在分隔符之前插入“1”。我很确定这意味着在停止之前只需阅读一组 '%s %f %f %f %f %f %f %f'。这样,您只需要读取第 12 行和第 13 行并将它们分别保存到 param1 和 param2。我也没有得到任何空单元格。

希望这可以帮助!

于 2014-06-12T22:07:17.790 回答