如何在matlab中采样矩阵元素

How to sample matrix elements in matlab

我有一个坐标列表,我想从矩阵中采样。 有什么优雅的方法吗?

理想情况下,看起来像:

A = magic(5)

A =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

r = 1:5; % row coordinates
c = 5:-1:1; % column coordinates

A(r,c)

ans = 

    15 14 13 12 11

相当于

for k=1:length(r)
    A(r(k), c(k))
end

我确定有人问过这个问题,但我在任何地方都找不到。

应用@excaza 评论我能够解决这个问题:

rc_ids = sub2ind(size(A), r,c);
A(rc_ids)