Вы можете использовать logical
типы данных для индексации .Например,
M =
1 2 0
4 5 1
7 8 0
M = [1 2 0;4 5 1;7 8 0];
v = (M(:,n) == 1);
M(v,2) = 1;
M =
1 2 0
4 1 1
7 8 0
Теперь вы установиливсе элементы в столбце со 2 по 1, если соответствующий элемент в столбце n
имеет значение true.
Обратите внимание, что v = (M(:,n) == 1)
преобразует n
-й столбец в логический вектор.Вы можете сделать то же самое с v = logical(M(:,n));
Я бы порекомендовал эту запись в блоге для подробного изучения логической индексации.
Обновление:
ЕслиВы хотите стереть строки, а затем использовать:
M(v,:) = [];