matrix unions
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
0 commentaires
Réponse acceptée
Geoff
le 27 Mar 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);
0 commentaires
Plus de réponses (1)
Andrei Bobrov
le 27 Mar 2012
C = A
C(~ismember(A,B)) = nan
OR
C = A
C(setdiff(A,B)) = nan
0 commentaires
Voir également
Catégories
En savoir plus sur Numeric Types dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!