Matlab:0<;NaN=0
我真的被这个错误弄糊涂了 这真的是MATLAB所期望的,还是一个bug 为什么0Matlab:0<;NaN=0,matlab,nan,Matlab,Nan,我真的被这个错误弄糊涂了 这真的是MATLAB所期望的,还是一个bug 为什么0谢谢大家,我也在java中测试过,这里MATLAB使用java来做UI和其他用途,但是要清楚的是,MATLAB中的核心数字算法都是C++代码或标准数字库的基础。为什么这么说?“NaN上唯一定义良好的逻辑运算符是~="? 文档说明,涉及NaNs的逻辑操作总是返回false,除了~=。所以=和~=在NaN@LuisMendo编辑了我糟糕的单词选择。现在+1。不过,我不会说“因此不能对NaN使用任何比较运算符”。你可以。你
NaN
返回false
的逻辑运算符是~=
(不等于)
不过,这在逻辑上是有道理的:如果某事物“不是数字”,那么它就不能(不应该)与数字相比较NaN
不等于任何东西
此外,这是IEEE标准:NaN
无序,因此无法进行比较。它不适用于任何符合IEEE 754标准的语言
简而言之,它不是一个bug NaN具有特殊的性质。使用NaN执行的数学运算产生NaN(x+NaN=NaN)。与NaN的比较返回false
< /P>谢谢大家,我也在java中测试过,这里MATLAB使用java来做UI和其他用途,但是要清楚的是,MATLAB中的核心数字算法都是C++代码或标准数字库的基础。为什么这么说?“NaN上唯一定义良好的逻辑运算符是
~=
"? 文档说明,涉及NaN
s的逻辑操作总是返回false
,除了~=
。所以=
和~=
在NaN
@LuisMendo编辑了我糟糕的单词选择。现在+1。不过,我不会说“因此不能对NaN使用任何比较运算符”。你可以。你只需要理解结果,可以用“aNaN
不等于任何东西”来表达