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.