Readmatrix返回nan,直到文本文件中达到一定的行数。

12次浏览(过去30天)
你好,
我试图从一个文本文件导入数据,我意识到,当我的文本文件“太短”时,readmatrix函数只返回nan。
在下面的示例中,两个文本文件之间的唯一区别是我重复了文件中的最后一行以使其正常工作。
你知道为什么原来的文件不能用吗?
先谢谢你,
问候,
RB
编辑:基于 Stephen23 注释,通过分解和提前知道我的文件的结构,我可以通过更精确的范围定义来解决我的问题。谢谢你的支持。万博1manbetx
坏= readmatrix(“readmatrix_TEST_bad.txt”“范围”[1]);
disp(坏(2,1))
Good = readmatrix(“readmatrix_TEST_good.txt”“范围”[1]);
disp(好(2,1))
299741
%的解决方案
坏= readmatrix(“readmatrix_TEST_bad.txt”“范围”,[2 1 7 6]);
disp(坏的(1,1))
299741
Good = readmatrix(“readmatrix_TEST_good.txt”“范围”,[2 1 7 6]);
disp(好(1,1))
299741
坏= readmatrix(“readmatrix_TEST_bad.txt”“范围”[1] 27日);
disp(坏的(1,1))
-4.3862 e-04
Good = readmatrix(“readmatrix_TEST_good.txt”“范围”[1] 27日);
disp(好(1,1))
-4.3862 e-04
1评论
Stephen23
Stephen23 2022年7月12日
“你知道为什么原始文件不起作用吗?”
因为文本文件包含多个不同大小的数字数组,其中穿插着多个标题,任何试图检测标题、列、数据类型等的自动算法都很容易被这样的文件混淆。您没有为READMATRIX提供帮助或提示(数据范围、类型等),它可以使用这些帮助或提示从该文件中选择“合理的”数据集。
也许READCELL更适合您的需求。
但您实际需要的是用于该文件格式的文件解析器(不是尽力使用的通用工具)。

登录评论。

接受的答案

雷米Bretin
雷米Bretin 2022年7月12日
编辑:雷米Bretin 2022年7月12日
编辑:基于 Stephen23 注释,通过分解和提前知道我的文件的结构,我可以通过更精确的范围定义来解决我的问题。谢谢你的支持。万博1manbetx
%的解决方案
坏= readmatrix( “readmatrix_TEST_bad.txt” “范围” ,[2 1 7 6]);
disp(坏的(1,1))
299741
Good = readmatrix( “readmatrix_TEST_good.txt” “范围” ,[2 1 7 6]);
disp(好(1,1))
299741
坏= readmatrix( “readmatrix_TEST_bad.txt” “范围” [1] 27日);
disp(坏的(1,1))
-4.3862 e-04
Good = readmatrix( “readmatrix_TEST_good.txt” “范围” [1] 27日);
disp(好(1,1))
-4.3862 e-04

更多答案(0)

s manbetx 845


释放

R2021b

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的