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
答案 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