如何在matlab中对矩阵元素进行采样

如何在matlab中对矩阵元素进行采样,matlab,matrix,elementwise-operations,Matlab,Matrix,Elementwise Operations,我有一个坐标列表,我想从矩阵中取样。 有什么优雅的方法吗 理想情况下,类似于: 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

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

理想情况下,类似于:

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 comment,我可以用以下方法解决这个问题:

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