Iterating through each element in a matrix

Hello,
Below is my code i want check if elements in vector/matrix match the other vector/matrix/scalar and popullate a empty matrix with the common elements. Attaching my code. In the attached code i have two Row Vectors of same size but want to know if it any different if one of them is scalar or (mxn) matrix and other is Row or Column Vector.
A = [1 2 3 2 5 2 5];
B = [3 3 3 3 39 9 9];
s = zeros(size(A));
for i = 1:size(A)
if any(A(i)==B(i))
s = s(i);
end
end

 Respuesta aceptada

Walter Roberson
Walter Roberson el 22 de Mayo de 2020
s = intersect(A, B);

5 comentarios

Sai Gudlur
Sai Gudlur el 22 de Mayo de 2020
intersect tells me how many common elements in both the vectors but does not tell what element is that and location of the elements in each vector.
Walter Roberson
Walter Roberson el 22 de Mayo de 2020
intersect tells you the value of the common elements, not the number. With your particular data, the only value in common is 3.
Your original question only asks to find the common values, which is what intersect() does.
What is your desired output? A list of common elements, and for each one the row and column indices for each of the two matrices?
Sai Gudlur
Sai Gudlur el 22 de Mayo de 2020
Yes.
Sai Gudlur
Sai Gudlur el 22 de Mayo de 2020
Thanks for help.
Hello Walter,
You had previously answered this question so i looked at the old post and found a solution to what i need.
Thanks for pointing me in the right direction.
Sai
c = find(ismember(a,b,'rows'))
d = [];
for i=1:numel(c)
d(i,:) = a(c(i),:)
end
Option #2
c = intersect(a, b, 'rows', 'stable');

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2020a

Etiquetas

Preguntada:

el 22 de Mayo de 2020

Comentada:

el 22 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by