2010-11-11 270 views
15

我正在用Matlab寫一個函數。應該有什麼問題。我的函數的輸出是一個向量。當我看到我的矢量的每個元素時,我都看到NaN(不是數字)和NaNi,那我真的不知道?NaNi是什麼,它與NaN有什麼不同?

有誰知道什麼是NaNi?

回答

26

NaNi是一個虛構的Not-A-Number

>>NaN*i 
ans = 
      0 +  NaNi 
+11

+ 1:有史以來最好的答案'一個虛構的非數字':-) – 2010-11-11 15:23:49

+5

@高性能標記:我想知道是否有可能比這更少。 – Jonas 2010-11-11 18:03:14

+0

我不同意這種解釋。 _NaNi_本身不會退出。 @Dennis Jaheruddin給出了正確的解釋,其中NaNi是_NaN_和_i_(matlab想象符號)的控制檯連接。 – marsei 2013-07-23 10:10:21

4

其實納尼並沒有在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 
相關問題