使用matlab选择矩阵中的元素

时间:2014-05-14 17:47:16

标签: matlab matrix selected

我的问题是:我有一个矩阵,例如

1   2   3 
4   2   6
6   1   8
4   5   4
7   1   5
8   2   0

我希望从矩阵中提取选定的值,例如,像这样的矢量

B = [3 6 0]

当第二列中的值为2时,选择第三列值。 我尝试过不同的方式,但这些都没有。

3 个答案:

答案 0 :(得分:2)

使用此 -

B = A(A(:,2)==2,3)' %// Assuming A is your input matrix

答案 1 :(得分:2)

如果M是您的Matrix,您可以使用

选择第二列
M(:,2)

将它与两个进行比较以得到包含2

的行
M(:,2)==2

并使用此逻辑向量从第三列中选择元素。

M(M(:,2)==2,3)

答案 2 :(得分:1)

更一般地说:如果您想根据一组值进行选择,请使用ismember生成逻辑索引:

>> A(ismember(A(:,2), [2 5]) , 3) %// [2 5]: values you want to find in 2nd col

ans =

     3
     4
     6
     0