How do I index into a matrix with a vector to extract the jth column for each row?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Richard
el 3 de Mayo de 2016
Respondida: Star Strider
el 3 de Mayo de 2016
Is there an easy way to index into a matrix with a vector to extract the jth column of the matrix for each row? As an example, lets take the 4 x 4 matrix created by
A = magic(4);
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
I have a vector which describes which columns I'd like to extract:
ii = [1; 2; 1; 2]
ii =
1
2
1
2
Is there a straightforward way of indexing into the matrix to return the vector:
result =
16
11
9
14
0 comentarios
Respuesta aceptada
Star Strider
el 3 de Mayo de 2016
There is. Use the sub2ind function:
A = magic(4);
ii = [1; 2; 1; 2];
ix = sub2ind(size(A), [1:4]', ii);
result = A(ix)
result =
16
11
9
14
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Matrix Indexing 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!