Я бы создал копию A
и исключил бы любые значения, которые не являются членами B
. Это проще, чем вставлять NaN в правильные места B ...
C = A;
C( ~ismember( A, B ) ) = NaN;
При желании вы можете назначить B = C
в конце.
В качестве альтернативы вы можете избежать копирования всего A
и просто присвоить индекс переменной, это просто предпочтение ...
idx = ~ismember( A, B );
B = A;
B( idx ) = NaN;