如何在MATLAB中获取矩阵的值,其中索引在nx2数组中给出

时间:2012-10-27 09:47:16

标签: matlab matrix

我有一个大小为nRows x nCols的矩阵A

我有一个nx2矩阵B,其中包含矩阵A的索引。 我想在A中给出的索引处获得B的值。

让我们说,

B = [1, 2;
     2, 3;
     3, 4]

A(1,2) = 1
A(2,3) = 2
A(3,4) = 1

我想知道任何给出以下内容的Matlab命令,给定AB(我不想使用循环):

[1 2 1] 

2 个答案:

答案 0 :(得分:6)

我想这就是你要找的东西:

A(sub2ind(size(A),B(:,1),B(:,2)))

答案 1 :(得分:2)

这就是你想要的:

A = [1,2; 3, 4; 5, 6; 7,8; 9,0]; % this is your N by 2 matrix
B = [1,1; 1,2; 2,1; 3, 1; 4,2]; % these are your indexes
A(sub2ind(size(A), B(:,1), B(:,2)))

A =

 1     2
 3     4
 5     6
 7     8
 9     0



B =

 1     1
 1     2
 2     1
 3     1
 4     2

ans =

 1
 2
 3
 5
 8