matrix unions

4 visualizaciones (últimos 30 días)
Trader
Trader el 26 de Mzo. de 2012
if array A = 10 x 1 with numbers in it and array B = 4 x 1 with numbers in it. How would you create an array C which equals the size of A and is filled with NaN except for the points where A and B equal the same value.
A = [ 1 2 3 4 5 6 7 8 9 10]
B = [ 1 3 5 7]
I would like:
C = [1 NaN 3 NaN 5 NaN 7 NaN NaN NaN]
thanks for the help

Respuesta aceptada

Geoff
Geoff el 27 de Mzo. de 2012
You can use a real handy function called ismember() to test elements of A against elements of B. Then it's just a matter of indexing:
in = ismember(A,B);
C = nan(size(A));
C(in) = A(in);

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 27 de Mzo. de 2012
C = A
C(~ismember(A,B)) = nan
OR
C = A
C(setdiff(A,B)) = nan

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by