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

时间:2015-12-19 22:11:31

标签: matlab matrix elementwise-operations

我有一个我希望从Matrix中采样的坐标列表。 有没有优雅的方法呢?

理想情况下,看起来像:

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

我确信有人问过这个问题,但我无法在任何地方找到它。

1 个答案:

答案 0 :(得分:2)

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

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