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 - Fatal编程技术网

如何使用matlab将一行文本文件中的读取值正确地读入矩阵

如何使用matlab将一行文本文件中的读取值正确地读入矩阵,matlab,Matlab,x=cell2mat(文本扫描(行,%%s%f%f%f%f%f%f%f%f','CollectOutput',1,'EmptyValue',0)) 给定值为 R17 19311104.430 8 103337621.26208 19311107.476 7 我应该得到输出 19311104.4300000 8 103337621.262080 0 19311107.4760000 7 但是 19311104.4300000 8 103337621.262080 19311107.4760000

x=cell2mat(文本扫描(行,%%s%f%f%f%f%f%f%f%f','CollectOutput',1,'EmptyValue',0))

给定值为 R17 19311104.430 8 103337621.26208 19311107.476 7

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

但是
19311104.4300000 8 103337621.262080 19311107.4760000 700

为什么假设输出

19311104.4300000 8 103337621.262080 0 0 0 0 19311107.4760000 7
从输入

R17 19311104.430 8 103337621.26208 19311107.476 7
?

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

因此,一切都按预期进行

但是,如果您想要达到预期的结果,您需要使用一些更“奇特”的算法,例如:

x = zeros(1,9);
tmp=cell2mat(textscan(line,'%*s%f%f%f%f%f%f%f%f%f','CollectOutput',1));
x(1:3)=tmp(1:3);
x(end-1:end) = tmp(4:5)