# unique

выделяет уникальные компоненты вектора или матрицы

## Последовательность вызова

                [N [,k]]=unique(M)
                [N [,k]]=unique(M ,orient)

## Аргументы

M

  вектор или матрица чисел или строк

orient

  флаг с возможными значениями: 1 или "r", 2 или "c"

N

  вектор или матрица чисел или строк

k

  вектор целых чисел

## Описание

`unique(M)` возвращает вектор, который содержит уникальные элементы `M` в порядке возрастания.

`unique(M,"r")` или `unique(M,1)` возвращает уникальные строки `M` в лексикографическом порядке возрастания.

`unique(M,"c")` или `unique(M,2)` возвращает уникальные столбцы `M` в лексикографическом порядке возрастания.

Если нужно, выходной аргумент `k` содержит положение первых из насчитанных уникальных элементов.

## Примеры

    M=round(2*rand(20,1));

    unique(M)
    [N,k]=unique(M)

    unique(string(M))
    [N,k]=unique(string(M))

    A = [0,0,1,1;
         0,1,1,1;
         2,0,1,1;
         0,2,2,2;
         2,0,1,1;
         0,0,1,1];
    T='x'+string(A);

    //уникальные строки

    [m,k]=unique(A,'r')
    unique(T,'r')

    //уникальные столбцы
    [m,k]=unique(T,'c')
    unique(A,'c')

## Смотрите также

- union
- intersect
- gsort
- lex_sort