如何使用Matlab将一行文本文件中的读取值正确读取到矩阵中

时间:2020-01-27 07:00:22

标签: matlab

x = cell2mat(textscan(line,'%* s%f%f%f%f%f%f%f%f%f%f','CollectOutput',1,'EmptyValue',0)); < / p>

给出的值为 R17 19311104.430 8 103337621.26208 19311107.476 7

我应该得到输出 19311104.4300000 8 103337621.262080 0 0 0 0 19311107.4760000 7

但成为 19311104.4300000 8 103337621.262080 19311107.4760000 7 0 0 0 0

1 个答案:

答案 0 :(得分:0)

为什么要假设输出

19311104.4300000 8 103337621.262080 0 0 0 0 19311107.4760000 7

来自输入

R17 19311104.430 8 103337621.26208 19311107.476 7

您的操作textscan(line,'%*s%f%f%f%f%f%f%f%f%f','CollectOutput',1,'EmptyValue',0)从输入字符串中收集9个浮点数。 您的输入字符串仅列出5个浮点数,这意味着前5个%f将获得一个值,而其余4个将变为NaN(或者在您的情况下,0由于您的{ {1}}参数)。

因此,一切正常。

但是,如果您想获得理想的结果,则需要使用更多的“花式”算法,例如:

'EmptyValue',0
相关问题