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

  • unique extract unique components of a vector or matrices
  • gsort sorting by quick sort agorithm
  • union extract union components of a vector

Table Of Contents

This Page