Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - 日本語

Please note that the recommended version of Scilab is 6.0.1. 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

Calling Sequence

[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

  • unique — extract unique components of a vector or matrices
  • gsort — sorting by quick sort agorithm
  • union — extract union components of a vector
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu May 12 11:44:14 CEST 2011