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)
Comments
Add a comment:
Please login to comment this page.