Finding the elements in two matrices with different sizes?

19 views (last 30 days)
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 Comment
Cladio Andrea
Cladio Andrea on 24 Feb 2015
and in matrix A there is no possiblity to have repeating elements, all different.

Sign in to comment.

Accepted Answer

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

More Answers (2)

Image Analyst
Image Analyst on 24 Feb 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 on 24 Feb 2015
2 amazing answers thank you so much for your help guys!!!!!

Community Treasure Hunt

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

Start Hunting!