Setting non-repeated elements from two related matrices to NaN

1 visualización (últimos 30 días)
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.

Respuesta aceptada

the cyclist
the cyclist el 12 de Sept. de 2015
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 comentario
Victor Francisco Pajuelo Madrigal
Victor Francisco Pajuelo Madrigal el 12 de Sept. de 2015
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!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre NaNs en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by