Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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
<< Set operations | Set operations | setdiff >> |