Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語
Справка Scilab >> Основные функции > Операции с множествами > intersect

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 — выделяет объединение компонентов векторов
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:21 CET 2017