Матрица фильтра по значению столбца
У меня есть эта матрица:
02, 04, 06, 08, 10, 2
07, 14, 21, 28, 35, 2
11, 22, 33, 44, 55, 0
15, 14, 21, 28, 35, 2
Я хотел бы иметь одну и ту же матрицу, но только с строками с последним column = 2
. Поэтому я хочу эту матрицу:
02, 04, 06, 08, 10, 2
07, 14, 21, 28, 35, 2
15, 14, 21, 28, 35, 2
Я мог бы анализировать всю матрицу, но есть ли другой способ?
Изменить
Чтобы быть более точным, у меня есть массив ячеек со строками:
02, 04, Some String, 08, 10, 2
07, 14, Some String1, 28, 35, 2
11, 22, Some String1, 44, 55, 0
15, 14, Some String, 28, 35, 2
Ответы
Ответ 1
Просто используйте логическую индексацию в строках вашей матрицы:
row_idx = (A(:, end) == 2);
Теперь row_idx
содержит логический массив 1
и 0
s, с 1
, где последний элемент строки равен 2.
Теперь отфильтруйте эти строки с помощью
A_filtered = A(row_idx, :);
Все эти шаги обычно выполняются в одном слое:
A_filtered = A(A(:, end) == 2, :);