# intersect

возвращает вектор значений, общих для двух векторов/матриц

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

    [v [,ka,kb]]=intersect(a,b)

    [v [,ka,kb]]=intersect(a,b,orient)

## Аргументы

a

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

b

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

orient

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

v

  вектор-строка чисел или строковых значений

ka

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

kb

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

## Описание

`intersect(a,b)` возвращает отсортированный вектор-строку значений, общих для двух векторов (матриц) `a` и `b`.

`[v,ka,kb]=intersect(a,b)` также возвращает векторы индексов `ka` и `kb` такие, что `v=a(ka)` и `v=b(kb)`.

`intersect(a,b,"r")` или `intersect(a,b,1)` возвращает матрицу, сформированную пересечением уникальных строк `a` и `b`, отсортированную в лексикографическом порядке возрастания. В этом случае матрицы `a` и `b` должны иметь одинаковое количество столбцов.

`[v,ka,kb]=intersect(a,b,"r")` также возвращает векторы индексов `ka` и `kb` такие, что `v=a(ka,:)` и `v=b(kb,:)`.

`intersect(a,b,"c")` или `intersect(a,b,2)` возвращает матрицу, сформированную пересечением уникальных столбцов `a` и `b`, отсортированную в лексикографическом порядке возрастания. В этом случае матрицы `a` и `b` должны иметь одинаковое количество строк.

`[v,ka,kb]=intersect(a,b,"c")` также возвращает векторы индексов `ka` и `kb` такие, что `v=a(:,ka)` и `v=b(:,kb)`.

## Примечание

Значения NaN рассматриваются как отличные друг от друга, так что они исключаются из пересечения в случае пересечения двух векторов.

## Примеры

    A=round(5*rand(10,1));
    B=round(5*rand(7,1));

    intersect(A,B)
    [N,ka,kb]=intersect(A,B)

    intersect('a'+string(A),'a'+string(B))

    intersect(int16(A),int16(B))

    //с матрицами
     A = [0,0,1,1 1;
          0,1,1,1,1;
          2,0,1,1,1;
          0,2,2,2,2;
          2,0,1,1,1;
          0,0,1,1,%nan];
    B = [1,0,1;
         1,0,2;
         1,2,3;
         2,0,4;
         1,2,5;
         %nan,0,6];

    [v,ka,kb] = intersect(A,B,'c')
    A(:,ka)

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

- unique
- gsort
- union