Finding the elements in two matrices with different sizes?

18 vues (au cours des 30 derniers jours)
Cladio Andrea
Cladio Andrea le 24 Fév 2015
Hello eveeryone, i have 2 matrices lets say A=[1,2,3,4,5,6,7,8] B = [1,11,12,3,3,5] what i want is to have such a result C=[1,3,3,5] what i want is compare two matrices ok that we can do that with intersect(), but in intersect function i only have [1,3,5], that is not what i want. what i want is even if it is repeated in matrix B compare with A and then have a matrix of C. The A and B sizes changing for each simulation. Can you help me please?
  1 commentaire
Cladio Andrea
Cladio Andrea le 24 Fév 2015
and in matrix A there is no possiblity to have repeating elements, all different.

Connectez-vous pour commenter.

Réponse acceptée

Roger Stafford
Roger Stafford le 24 Fév 2015
You can also use 'ismember':
C = B(ismember(B,A));

Plus de réponses (2)

Image Analyst
Image Analyst le 24 Fév 2015
Try setdiff():
A=[1,2,3,4,5,6,7,8]
B = [1,11,12,3,3,5]
[~, ia]=setdiff(B, A)
C = B; % Initialize to B
C(ia) = [] % Remove different elements.

Cladio Andrea
Cladio Andrea le 24 Fév 2015
2 amazing answers thank you so much for your help guys!!!!!

Catégories

En savoir plus sur Logical 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!

Translated by