我正在用Matlab写一个函数。应该有什么问题。我的函数的输出是一个向量。当我看到我的矢量的每个元素时,我都看到NaN
(不是数字)和NaNi
,那我真的不知道?NaNi是什么,它与NaN有什么不同?
有谁知道什么是NaNi?
我正在用Matlab写一个函数。应该有什么问题。我的函数的输出是一个向量。当我看到我的矢量的每个元素时,我都看到NaN
(不是数字)和NaNi
,那我真的不知道?NaNi是什么,它与NaN有什么不同?
有谁知道什么是NaNi?
NaNi
是一个虚构的Not-A-Number:
>>NaN*i
ans =
0 + NaNi
其实纳尼并没有在Matlab中存在。
当你有一个复杂的数字时,显示的值是'真实部分'+'复杂部分'+'我'。这是在不第i之前的空间中示出,尝试:
(-1)^0.5 %This will give 0.0000 + 1.0000i
这意味着,如果所述数目的复杂的部分是NaN,则与I一起打印,似乎是一个字纳尼。例如:
NaN*(1+i) % This will give NaN + NaNi
x = NaN*i % This will give 0 + NaNi
你会发现,这是不可能单独评估纳尼或具有1
此外检查结果,当预期的产出生产相乘:
real(x) % This will give 0
imag(x) % This will give NaN
+ 1:有史以来最好的答案'一个虚构的非数字':-) – 2010-11-11 15:23:49
@高性能标记:我想知道是否有可能比这更少。 – Jonas 2010-11-11 18:03:14
我不同意这种解释。 _NaNi_本身不会退出。 @Dennis Jaheruddin给出了正确的解释,其中NaNi是_NaN_和_i_(matlab想象符号)的控制台连接。 – marsei 2013-07-23 10:10:21