Finding the elements in two matrices with different sizes?

20 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!!!!!

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!