嗨我有两个阵列,
A = [23 Nan 45 Nan Nan 67 50 100 110] and B = [24 49 70 71 72 90 100 120 109]
NaN
表示存在一些差距。我想将矩阵B的元素放在A中的相同位置NaN
。例如,在阵列A的第二个位置有一个间隙,我想把矩阵B的值49放到数组A中的那个位置。所以得到的A矩阵变为
A = [23 49 45 71 72 67 50 100 110]
让我知道如何在MATLAB中编写代码。谢谢,
答案 0 :(得分:2)
使用数组索引可以非常轻松地完成此操作。
A = [23 NaN 45 NaN NaN 67 50 100 110]
B = [24 49 70 71 72 90 100 120 109]
all_nans = isnan(A)
A(all_nans) = B(all_nans)
,并提供:
A =
23 49 45 71 72 67 50 100 110
all_nans
包含所有NaNs
的索引,下一步基本上执行所需的替换。