如何在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)
见: