Finding the elements in two matrices with different sizes?

19 visualizaciones (últimos 30 días)
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 comentario
Cladio Andrea
Cladio Andrea el 24 de Feb. de 2015
and in matrix A there is no possiblity to have repeating elements, all different.

Iniciar sesión para comentar.

Respuesta aceptada

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

Más respuestas (2)

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

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by