是什么导致matlab从CSV文件中读取一个数字作为-INF



我正在尝试将CSV文件读入Matlab。出于某种原因,Matlab正在将一些数字转换为-INF。

我尝试过使用readmatrixtextscan函数。Textscan迫使我使用str2double将其转换为双精度,并且它会产生与使用readmatrix函数导入数据相同的-INF值。有没有更好的函数可以在CSV文件中读取到MATLAB中?

示例:-1.79769313486235E308正在转换为-INF。

CSV文件的格式如下:(行之间没有空格(

Header 1, Header 2,           Header 3
190,      -1.47457265853882,  0.0837953791871611
191,      -1.1680064201355,   0.126324314114211
192,      -1.64672422409058,  0.254686301760985
193,      -1.84958028793335,  0.172680441425988

在机器精度内,-1.79769313486235E308就是-Inf

来自文档:

MATLAB根据IEEE®标准754构造双精度的双数据类型类型为double的负数的范围在-1.79769 x 10^308和-2.22507 x 10^-308之间

所以这里的值是MATLAB中双精度可能的最大负值。Excel很可能使用了相同的IEEE标准,因此也在-Inf处触底,只是没有对其进行相应的格式化。

相关内容

  • 没有找到相关文章

最新更新