Как устранить повторяющиеся данные с помощью MATLAB - PullRequest
0 голосов
/ 22 июля 2011

Я перечислил свои данные примерно так.Я хочу устранить повторяющиеся данные в каждой строке.Как я могу сделать это с помощью MATLAB?

13  13  13  13  38  38  38

13  13  42  0   0   0   0

Ожидаемый результат:

13 38

13 42

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Чтобы выбрать уникальные элементы из вектора, вы можете сделать:

a = unique(b, 'first');

Подробнее об этой функции можно узнать на сайте Mathworks документы .

Обновление

Основываясь на том, что сказал Амро, вы могли бы сделать что-то вроде этого, если верх и низ не гарантированно имеют одинаковую длину (я думаю, что это не так, поскольку это кажетсякак маловероятное событие):

result = {}
for i = 1:size(a, 1)
  result{i} = unique(a(i, :), 'first');
end;
2 голосов
/ 22 июля 2011

Посмотрите на функцию unique.Ознакомьтесь с документацией здесь .

Один из способов работы с каждой из строк матрицы состоит в вызове unique внутри цикла для каждой строки.Очевидно, вы можете получить разное количество уникальных элементов для каждой строки, поэтому вам может потребоваться сохранить результат в массиве cell.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...