Найти строки в матрице со значением в первом столбце - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть матрица 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 голосов
/ 25 апреля 2018

Вы можете использовать функцию поиска для этого.

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
0 голосов
/ 25 апреля 2018

Вы можете использовать логическое индексирование

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

Это означает «все столбцы всех строк A, где столбец 1 из A равен 1».

...