How to extract matrix elements using index pairs?

12 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by