удалить все повторяющиеся компоненты из вектора или матрицы
N = unique(M) N = unique(M, orient) [N, k] = unique(..)
вектор или матрица чисел или строк
флаг с возможными значениями: 1 или "r", 2 или "c".
Не может использоваться, если M является гиперматрицей.
orient не используется: вектор извлечённых
M компонентов, сортированных в полядке возрастания.orient используется: матрица извлечённых
M строк или столбцов, сортированных в лексикографическом порядке возрастания.Вектор индексов первых встреченных значений, таких что
N(i) = M(k(i)) или N(i,:) = M(k(i),:)
или N(:,i) = M(:,k(i)).
unique(M) возвращает вектор, который содержит уникальные элементы
M в порядке возрастания.
unique(M,"r") или unique(M,1) возвращает
уникальные строки M в лексикографическом порядке возрастания.
unique(M,"c") или unique(M,2) возвращает
уникальные столбцы M в лексикографическом порядке возрастания.
![]() | Извлечённые компоненты, строки или столбцы могут быть пересортированны в их исходном порядке через
сортировку с помощью k. См. первый пример. |
With some numbers:
M = int8([2 0 2 2 1 1 1 2 1 1 0 1 1 0 1 1 0 1 2 0 1 2 2 0 1 1 2 0 1 0 0 0 ]) [u, k] = unique(M) [uc, kc] = unique(M, "c") // Получим недублированные столбцы в исходном порядке: M(:, gsort(kc,"g","i")) | ![]() | ![]() |
--> M M = 2 0 2 2 1 1 1 2 1 1 0 1 1 0 1 1 0 1 2 0 1 2 2 0 1 1 2 0 1 0 0 0 --> [u, k] = unique(M) u = 0 1 2 k = 2. 4. 1. --> [uc, kc] = unique(M, "c") uc = 0 0 0 1 1 1 2 2 0 1 2 0 1 2 0 2 kc = 14. 2. 11. 12. 5. 6. 1. 3. --> // Получим недублированные столбцы в исходном порядке: --> M(:, gsort(kc,"g","i")) ans = 2 0 2 1 1 0 1 0 0 1 2 1 2 2 0 0
С комплексными числами:
--> c = [1+i, 1-i, -i, i, -i, 1+i] c = 1. + i 1. - i -i i -i 1. + i --> [u, k] = unique(c) u = -i i 1. - i 1. + i k = 3. 4. 2. 1.
С текстом:
t = !AB BA BA BA AB BA AB AB BB AA AB BA BA BA AA ! !AA AA AB AA BB BB BB BA AB AB BB BB AB AB AA ! --> [u, k] = unique(t); u = !AA ! !AB ! !BA ! !BB ! k = 2. 1. 3. 10. --> [uc, kc] = unique(t, "c") uc = !AA AA AB AB AB BA BA BA BB ! !AA AB AA BA BB AA AB BB AB ! kc = 15. 10. 1. 8. 5. 2. 3. 6. 9.
| Версия | Описание |
| 6.0.2 | unique() теперь может использоваться для удаления дубликатов комплексных чисел. |