Используйте уникальное с аргументом 'rows' вместо 'first', чтобы удалить дубликат 'on'. Чтобы убрать «выкл», простое решение - сначала установить «все», а затем использовать уникальный.
A = [50 1 70; 50 0 70; 50 1 70]
A =
50 1 70
50 0 70
50 1 70
A(:,2) = 1 %Set all on/off values to 'on'
A =
50 1 70
50 1 70
50 1 70
R = unique(A,'rows')
R =
50 1 70
РЕДАКТИРОВАТЬ: Чтобы удалить отключенную строку только тогда, когда две соседние строки равны, необходимо сравнить соседние строки. Есть много способов сделать это, но вот один для общей Nx3 матрицы, которую я сделал быстро
rows = 2:length(A)-1;
p=find(all(A(rows+1,:)==A(rows-1,:),2)); %Get index of where rows are equal
A(rows(p),2) = 1; Set those rows to be 'on', so they can be removed by unique