Matlab: 0 < NaN = 0
Matlab: 0 < NaN = 0
我真的被这个错误绊倒了。
这真的是 MATLAB 所期望的还是一个错误?
为什么 0 < NaN 不会产生错误?
根据MathWorks' documentation on NaN,唯一不return false
和NaN
的逻辑运算符是~=
(不等于)。
不过,这在逻辑上是有道理的:如果某物是 "not a number",则它不能(不应该)与数字进行比较。 NaN
不等于任何东西。
此外,这是一个 IEEE 标准:NaN
是无序的,因此无法比较。它不适用于任何符合 IEEE 754 的语言。
简而言之,这不是错误。
NaN 具有特殊的性质。使用 NaN 执行的数学运算结果为 NaN (x+NaN = NaN)。与 NaN 的比较 return false.
http://blogs.mathworks.com/seth/2009/02/04/how-do-i-test-for-nan-in-my-model/
我真的被这个错误绊倒了。
这真的是 MATLAB 所期望的还是一个错误?
为什么 0 < NaN 不会产生错误?
根据MathWorks' documentation on NaN,唯一不return false
和NaN
的逻辑运算符是~=
(不等于)。
不过,这在逻辑上是有道理的:如果某物是 "not a number",则它不能(不应该)与数字进行比较。 NaN
不等于任何东西。
此外,这是一个 IEEE 标准:NaN
是无序的,因此无法比较。它不适用于任何符合 IEEE 754 的语言。
简而言之,这不是错误。
NaN 具有特殊的性质。使用 NaN 执行的数学运算结果为 NaN (x+NaN = NaN)。与 NaN 的比较 return false.
http://blogs.mathworks.com/seth/2009/02/04/how-do-i-test-for-nan-in-my-model/