我正在尝试将CSV文件读入Matlab。出于某种原因,Matlab正在将一些数字转换为-INF。
我尝试过使用readmatrix
和textscan
函数。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处触底,只是没有对其进行相应的格式化。