Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.1 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Основные функции > Операции с множествами > 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 — выделяет объединение компонентов векторов
Report an issue
<< Операции с множествами Операции с множествами setdiff >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Apr 02 17:37:54 CEST 2013