Setting non-repeated elements from two related matrices to NaN

1 次查看(过去 30 天)
For the matrices A and B,
A = [1 2 1; 3 5 1; 2 3 6]
B = [1 2 3; 4 5 6; 7 8 9]
set the non-repeated elements of A to NaN, setting also to NaN the related elements of B. By non-repeated elements I refer to elements that only occur once through the whole matrix. Generate the two new matrices from those:
A_nan = [1 2 1; 3 NaN 1; 2 3 NaN]
B_nan = [1 2 3; 4 NaN 6; 7 8 NaN]
Thank so much in advance, just trying to manipulate the matrix before a Regression between A and B.

采纳的回答

the cyclist
the cyclist 2015-9-12
A = [1 2 1; 3 5 1; 2 3 6];
B = [1 2 3; 4 5 6; 7 8 9];
uniqueA = unique(A);
counts = histcounts(A,[uniqueA;Inf]);
nanIndex = ismember(A,uniqueA(counts==1));
A(nanIndex) = NaN;
B(nanIndex) = NaN;
  1 个评论
Victor Francisco Pajuelo Madrigal
Thank you very much, this is precisely what I was looking for! Clear and beautiful code, helps me to speed up the learning process. Thanks!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 NaNs 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by