Matlab中NaN的值似乎是错误的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab中NaN的值似乎是错误的相关的知识,希望对你有一定的参考价值。

我的MATLAB版本是:9.3.0.713579(R2017b)

根据IEEE 754-2008,在MATLAB中NaN的值不正确:

>> format hex
>> single(+NaN)

ans =

  single

   ffc00000

>> single(-NaN)

ans =

  single

   7fc00000

由于二进制值的MSB表示单精度浮点数的符号,因此single(+NaN)的值应为7fc00000,而single(-NaN)的值应为ffc00000

MATLAB错了吗?它是在最新版本中修复的吗?

答案

MATLAB错了吗?

没有。

multiple representations of NaN in IEEE-754。特别地,Sign位可以是0或1。程序可以使用它们中的任何一个,并且Matlab并不声称特别使用任何一个。 7fc00000就是其中之一; ffc00000是另一个。

以上是关于Matlab中NaN的值似乎是错误的的主要内容,如果未能解决你的问题,请参考以下文章

matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊

用相同的值替换特定行中的所有 NaN - Matlab

matlab怎么计算出来的数很多都是NaN的值呢?怎么回事啊

Matlab:0 < NaN = 0

用 NaN 替换 'UN' 表示的值

matlab 如何用插值给NAN赋值