How to extract matrix elements using index pairs?

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일

4 개 추천

r=[1 2];
c=[1 2];
A(sub2ind(size(A),r,c))

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

질문:

2018년 4월 5일

댓글:

2018년 4월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by