Vector Indexing into 2D array

3 次查看(过去 30 天)
I have a 2D array and I want to pick out a different row value for each column.
Here is an example:
A = magic(3)
ans =
8 1 6
3 5 7
4 9 2
Pick out rows r=[2 3 2] from columns c=[1 2 3] Of course A(r,c) won't work, I just get the A reordered. What I want is the row vector
[A(r(1),c(1)) A(r(2),c(2)) A(r(3),c(3))]
which gives [3 9 7] .

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-3-5
编辑:Azzi Abdelmalek 2013-3-5
r=[2 3 2]
c=[1 2 3]
A=magic(3)
idx=sub2ind(size(A),r,c)
out=A(idx)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by