8
給定一個矩陣工作: -爲什麼更換矩陣NaN的不包括K(K == NAN)= SomeNumber,其中k爲矩陣操作
k = [1 2 3 ;
4 5 6 ;
7 8 NaN];
如果我想更換號碼,說2,用0,我可以用這個:k(k==2) = 0
。它工作正常,並給出了以下預期的答案: -
k =
1 0 3
4 5 6
7 8 NaN
但爲什麼這個不是,如果我試圖取代NaN
工作,即k(k==NaN) = 0
給出了這樣的:
k =
1 2 3
4 5 6
7 8 NaN
雖然我能夠實現預期結果使用:k(isnan(k))=0
。但爲什麼第一種方法不起作用?
另外,作爲由所提到的鏈路,'的NaN〜= NaN'給出'1'這似乎乍一看怪異!!但現在它是有道理的。謝謝! –
請參閱'NaN'文檔的[更多關於](http://www.mathworks.com/help/matlab/ref/nan.html#moreabout)部分。 – excaza
經驗教訓。 'NaN == NaN'實現未定義。總是使用'isnan'來檢查'NaN'。 – rayryeng