selecting elements in matrix based on a vector
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Champ
el 8 de Feb. de 2012
suppose I have a matrix [1,2,3,4; 5,6,7,8; 1,2,3,4; 5,6,7,8] and a select vector that will pick an element from each row of the matrix [1;2;2;3] (so it will pick first column element from the first row, second column element from the second row, second column element from the third row and third column element from the fourth row)
How do I code so that the vector "pick" elements from the matrix and the result becomes [1;6;2;7]
0 comentarios
Respuesta aceptada
Sean de Wolski
el 8 de Feb. de 2012
A(sub2ind(size(A),(1:numel(idx))',idx(:)))
where A is your matrix above and idx is your vector.
Or you could go this route:
diag(A(1:numel(idx),idx))
Más respuestas (0)
Ver también
Categorías
Más información sobre Operators and Elementary Operations 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!