returns the vector of common values of two vectors
: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 :
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).
NaN are considered as different from themselves so they are excluded out of intersection in case of vector intersection.
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)