Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
混合数据类型的Matlab文本扫描_Matlab_Textscan - Fatal编程技术网

混合数据类型的Matlab文本扫描

混合数据类型的Matlab文本扫描,matlab,textscan,Matlab,Textscan,我有一个“.ismr”文件,我可以用fopen打开它。该文件有几列(但我对前9列感兴趣)和几行。行的上一行是: 1655,60.00,120000A00000,184.25,21.92,42.02,0.099385,0.079280 打开文件后,我使用tline一次读取一行,然后使用textscan,如下所示: xyz=textscan(t行、%f、%f、%f、%s%f、%f、%f、%f、) 当我运行脚本时,它只正确地给出行的前三个读数(即1655、60.00和12),但从第四个开始,我没有得到

我有一个“.ismr”文件,我可以用fopen打开它。该文件有几列(但我对前9列感兴趣)和几行。行的上一行是:

1655,60.00,120000A00000,184.25,21.92,42.02,0.099385,0.079280

打开文件后,我使用tline一次读取一行,然后使用textscan,如下所示:

xyz=textscan(t行、%f、%f、%f、%s%f、%f、%f、%f、)

当我运行脚本时,它只正确地给出行的前三个读数(即1655、60.00和12),但从第四个开始,我没有得到任何东西或只是垃圾

请帮我更正我的脚本。
谢谢

为什么不直接使用逗号作为分隔符,而不是将其转换为格式

xyz = textscan(tline,'%f%f%f%s%f%f%f%f%f','Delimiter',',');

请注意,您可以直接在文件上使用
textscan
来读取具有相同格式的多行,您不需要在处理它之前读入该行。

这就是我得到的结果(将三个值合并为一组):[1655;0.0662170000000000;115.224609000000][60;0.071213000000000000;0.274199000000000][12;0.0761330000000000;115.127876000000] [184.250000000000;0.0764090000000000;115.347588000000] [21.9200000000000;-29.9933040000000;0.276983000000000] [42.0200000000000;0.0490000000000000;17544.8700000000] [0.0993850000000000;115.338326000000;8109] [0.0792800000000000;-0.0549600000000000]另外,请告诉我如何将文本扫描限制为只读取前9列,而忽略其余列。编辑您的问题以提供有关格式的更多信息。
textscan
将自动读取多行,如果可以的话,它看起来像是读取三行(3x单元格中有三行字符串)另一方面,请查看标有“跳过行的其余部分”的
textscan
帮助部分当我打开文件时,它看起来与我在问题中发布的文件一样。我不知道应该进一步解释文件的格式。无论如何,感谢跳过部分。您已经显示了一行。如果所有行都相同,则可以。如果某些行不同,则这是isuse。