使用第一列中的值查找矩阵中的行

时间:2018-04-25 15:10:22

标签: matlab matrix find rows

我有矩阵A

A=[ 1 2 3;
    3 4 5;
    1 6 7; 
    2 2 1 ]

我需要矩阵B,其中A的行在第一列中有1个:

B=[ 1 2 3;
    1 6 7 ]

2 个答案:

答案 0 :(得分:5)

您可以使用逻辑索引

B = A( A(:,1) == 1, : )

这意味着“A所有行的所有列,其中1的{​​{1}}列等于A”。

答案 1 :(得分:2)

您可以使用find功能执行此操作。

clc;

A=[ 1 2 3;
    3 4 5;
    1 6 7; 
    2 2 1 ];

idx = find(A(:,1) == 1)    
B = A(idx,:)

输出:

idx =

   1
   3

B =

   1   2   3
   1   6   7