Returns the vector of common values of two vectors (original) (raw)
Please note that the recommended version of Scilab is 2026.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 andb.
[v,ka,kb]=intersect(a,b) also returns index vectors ka and kb such thatv=a(ka) and v=b(kb).
intersect(a,b,"r") orintersect(a,b,1)returns the matrix formed by the intersection of the unique rows of a andb 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 thatv=a(ka,:) and v=b(kb,:).
intersect(a,b,"c") orintersect(a,b,2)returns the matrix formed by the intersection of the unique columns of a andb 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 thatv=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))
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