How do I index into a matrix with a vector to extract the jth column for each row?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Star Strider
il 3 Mag 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 Commenti
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!