什么是NaNi,它与NaN有什么不同?

时间:2010-11-11 15:07:06

标签: matlab

我在Matlab中编写一个函数。应该有些不对劲。我的函数的输出是一个向量。当我看到向量的每个元素时,我看到NaN(非数字)和NaNi,我真的不知道?

有人知道什么是NaNi?

2 个答案:

答案 0 :(得分:26)

NaNi是一个虚构的Not-A-Number

>>NaN*i
ans =
            0 +        NaNi

答案 1 :(得分:4)

实际上在Matlab中不存在NaNi。

当你有一个复数时,显示的值是'真实部分'+'复杂部分'+'i'。这显示在i之前没有空格,请尝试:

(-1)^0.5   %This will give 0.0000 + 1.0000i

这意味着如果数字的复杂部分是NaN,则它与i一起打印并且看起来是单个单词NaNi。例如:

NaN*(1+i)   % This will give NaN +    NaNi
x = NaN*i   % This will give 0 +    NaNi

您会发现无法单独评估NaNi或将其乘以1.

此外,在检查结果时会产生预期的输出:

real(x) % This will give 0
imag(x) % This will give NaN