Так что я хочу удалить строки матрицы, содержащие ноль, но только для определенных столбцов. Например:Удалить строки с 0 для определенных столбцов в Matlab
A = [[0 0 0 0; 1 2 0 4; 2 0 1 1; 0 0 0 0; 1 2 3 4; 0 1 2 3];
Я хочу, чтобы матрица A проверяла, содержит ли второй и/или четвертый столбцы нулевые значения. Если это так: тогда удалите всю строку. Таким образом, результат должен быть:
A = [1 2 0 4; 1 2 3 4; 0 1 2 3];
Я использовал эту функцию:
new_a = A(all(A,2),:)
Но я удалил все строки, содержащие нули.
Спасибо за ваш ответ, теперь у меня есть вопрос по моему вопросу. Например, теперь я хочу, чтобы столбец 2 И столбец 4 были нулевыми, я хочу, чтобы эти строки вышли из матрицы. Итак, новая матрица должна быть: A = [1 2 0 4; 2 0 1 1; 1 2 3 4; 0 1 2 3]; Можете ли вы мне помочь с кодом? Спасибо alot – user5424264
Тогда столбцы, которые вы хотите сохранить, все, где хотя бы один из col2 или col4 отличен от нуля. Это можно выразить как: keep = any (A (:, [2 4]) ~ = 0, 2) – Derek