Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.0.0 - English

Change language to:
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 >> Elementary Functions > Set operations > intersect

intersect

returns the vector of common values of two vectors

Syntax

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

Arguments

a

vector of numbers or strings

b

vector of numbers or strings

orient

flag with possible values : 1 or "r", 2 or "c"

v

row vector of numbers or strings

ka

row vector of integers

kb

row vector of integers

Description

intersect(a,b) returns a sorted row vector of common values of two vectors of a and b.

[v,ka,kb]=intersect(a,b) also returns index vectors ka and kb such that v=a(ka) and v=b(kb).

intersect(a,b,"r") or intersect(a,b,1)returns the matrix formed by the intersection of the unique rows of a and b sorted in lexicographic ascending order. In this case matrices a and b must have the same number of columns.

[v,ka,kb]=intersect(a,b,"r") also returns index vectors ka and kb such that v=a(ka,:) and v=b(kb,:).

intersect(a,b,"c") or intersect(a,b,2)returns the matrix formed by the intersection of the unique columns of a and b sorted in lexicographic ascending order. In this case matrices a and b must have the same number of rows.

[v,ka,kb]=intersect(a,b,"c") also returns index vectors ka and kb such that v=a(:,ka) and v=b(:,kb).

Remark

NaN are considered as different from themselves so they are excluded out of intersection in case of vector intersection.

Examples

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))

//with matrices
 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)

See also

  • members — count (and locate) in an array each element or row or column of another array
  • unique — remove all duplicate components of a vector or a matrix
  • gsort — sorting by quick sort algorithm
  • union — extract union components of a vector
Report an issue
<< Set operations Set operations 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 Feb 14 15:02:43 CET 2017