读取带有标题和注释文本的文件

时间:2012-03-27 08:20:30

标签: matlab input

我有一个看起来像这样的文件:

(floor 12)
(          x           y            z            u            v            w     diameter            t    mass-flow         mass    frequency         time         name)
(( 4.0331e-01   0.0000e+00   1.3201e+00  -3.1926e-03  -2.9862e-02   2.5690e-02   2.5000e-06   3.0000e+02   0.0000e+00   8.1665e-15   0.0000e+00   5.8257e+02) injection-0:8)

我只喜欢x y z值。我正在使用文本扫描失败,但我愿意接受建议:

[x y z] = textscan (fid, '%n %n %f %f %f %*[^\n]', 'HeaderLines', 2); 

我不确定如何对待((。有什么选择?

此致

2 个答案:

答案 0 :(得分:2)

如果它始终是((,那么以下内容应该有效,它将把你的3个值放入一个单元格中,因此myCell {1}可以在单独的变量中分配值。

myCell = textscan (fid, '(( %f %f %f %*[^\n]', 'HeaderLines', 2);
x=myCell{1};
y=myCell{2};
z=myCell{3};

答案 1 :(得分:0)

您可以拨打fgets()两次,然后致电textscan()跳过标题。