Find values and positions of a matrix referring to another matrix

6 visualizaciones (últimos 30 días)
Ricardo Gutierrez el 1 de Oct. de 2019
Comentada: Ricardo Gutierrez el 1 de Oct. de 2019
Hi !!! Good day.
I hope you can help me
I have two matrices
A = [2 4 7];
B = [3 4 6
1 5 7
2 8 9
9 2 4];
From the first element of matrix A find position and value in the first column of matrix B
From the second element of matrix A find position and value in the second column of matrix B
From the third element of matrix A find position and value in the third column of matrix B
In the end I will have two vectors;
one with the values 2, 4, 7 and the other with the positions 3, 1, 2
In reality, matrix A is 1 X 18 and matrix B has 720 X 18
Thank you very much for your help.
Regards.
0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

David Hill el 1 de Oct. de 2019
for i=1:length(A)
C(i)=find(B(:,i)==A(i),1);%will there always be only one match?
end
1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Ricardo Gutierrez el 1 de Oct. de 2019
Many thanks !!!!
It worked

Iniciar sesión para comentar.

Más respuestas (1)

Stephen23 el 1 de Oct. de 2019
Editada: Stephen23 el 1 de Oct. de 2019
This is MATLAB, so you should learn how to efficiently solve tasks like this without loops:
>> A = [2,4,7];
>> B = [3,4,6;1,5,7;2,8,9;9,2,4];
>> X = bsxfun(@eq,A,B); % or for >=R2016b simply X = A==B;
>> V = B(X)
V =
2
4
7
>> [R,~] = find(X)
R =
3
1
2
1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Ricardo Gutierrez el 1 de Oct. de 2019
Many thanks !!!!
It worked

Iniciar sesión para comentar.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by