如果NaN缺少另一个数组中存在的值,如何在数组中插入NaN?

假设我有两个数组:

A = [850;950;1000;1050;1100];
B = [850;950;1000;1100];

此处B缺少数组1050中存在的值A。正如我后来想在逻辑上比较AB一样,我想用NaN填补这个缺失的地方,从而给我

B = [850;950;1000;NaN;1100];

在Matlab中最快的方法是什么?

chaomi87 回答:如果NaN缺少另一个数组中存在的值,如何在数组中插入NaN?

我将创建一个A的副本,并将所有不属于B的值都排除掉。这比在B的正确位置插入NaN更容易。

C = A;
C( ~ismember( A,B ) ) = NaN;

(可选)您可以在末尾分配B = C

或者,您可以避免复制所有A,而只需将索引分配给变量,这纯粹是一种优先选择...

idx = ~ismember( A,B );
B = A;
B( idx ) = NaN;
本文链接:https://www.f2er.com/3153834.html

大家都在问