How to extract matrix elements using index pairs?

11 vues (au cours des 30 derniers jours)
Wendy Song
Wendy Song le 5 Avr 2018
Commenté : Wendy Song le 5 Avr 2018
Might be a really basic question: Suppose I have a matrix:
>> A = magic(3)
A =
8 1 6
3 5 7
4 9 2
I want to extract the elements A(1,1) and A(2,2). Is there a command to call the elements all at once by specifying a list of index pairs? Something like:
A((1,1);(2,2))
so that the output would be
ans =
8
5
I tried
A([1;2],[1;2])
A([1 1; 2 2])
but they both returned a matrix instead of a vector.

Réponse acceptée

Birdman
Birdman le 5 Avr 2018
r=[1 2];
c=[1 2];
A(sub2ind(size(A),r,c))

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by