Как удалить определенные строки в матрице Matlab? - PullRequest
2 голосов
/ 23 марта 2011

У меня есть матрица парных чисел с 4892 строками и 4 столбцами.

Скажем, у меня есть N строк с одинаковыми значениями в 3-м и 4-м столбцах (но не обязательно в 1-м и 2-м столбцах), яхотел бы оставить только один ряд из группы.

Пример:

1738 1738 8611 8611

1739 1738 8611 8611

1739 1739 86118611

Я бы хотел оставить из этой связки только один ряд (неважно, какой).

Как мне это сделать?

Спасибо!

1 Ответ

5 голосов
/ 23 марта 2011

Используйте УНИКАЛЬНО . По умолчанию это сохранит последний ряд.

%# array is your 4892-by-4 array
%# call 'unique(array(:,3:4),'rows','first') if you want to keep the first row
[~,idx] = unique(array(:,3:4),'rows');

%# use sort if you want to preserve the original order of rows
trimmedArray = array(sort(idx),:);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...