Finding the elements in two matrices with different sizes?

18 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Roger Stafford
Roger Stafford il 24 Feb 2015
You can also use 'ismember':
C = B(ismember(B,A));

Più risposte (2)

Image Analyst
Image Analyst il 24 Feb 2015
Try setdiff():
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 il 24 Feb 2015
2 amazing answers thank you so much for your help guys!!!!!


Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by