我有兩個向量,「A」和「B」。兩者都可以包含NaN元素。如果A中的等價元素是非NaN,我只想用「0」替換B中的「NaN」元素。我可以很容易地用For和If循環來做到這一點,但是因爲我想更好地理解使用索引,並且我的假設是使用大數據集索引會更快(?),所以我嘗試了以下方法:根據NaN是否在第二個向量中使用索引來替換NaN
A = [1,2,3,NaN,5,6,NaN,8,9,10];
B = [NaN,2,3,NaN,5,6,NaN,NaN,9,10];
[Bindex] = isnan(B);
B(~isnan(A(Bindex))) = 0;
這隻替換了B(1),而不是B(8)。我錯過了有關使用索引的問題?
這就產生了給定的輸入了正確的結果,但對於失敗'地方A'包含'NaN的情況下, '在'B'沒有的索引處。 XORing將把'B'中相應的元素設置爲零。 – Praetorian