我有两个向量,“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