Nom

intersect — recherche de valeurs communes à deux vecteurs.

Séquence d'appel

      [v [,ka,kb]]=intersect(a,b)
      [v [,ka,kb]]=intersect(a,b,orient)
    

Paramètres

a

vecteur de nombres ou de chaînes de caractères

b

vecteur de nombres ou de chaînes de caractères

v

vecteur ligne ou matrice de nombres ou de chaînes de caractères

ka

vecteur ligne d'entiers

kb

vecteur ligne d'entiers

Description

intersect(a,b) renvoie un vecteur trié des valeurs communes à a et b. A noter que 2 NaN sont toujours considéré comme différents.

[v,ka,kb]=intersect(a,b) renvoie aussi deux vecteurs d'indices ka et kb tels que v=a(ka) et v=b(kb).

intersect(a,b,"r") ou intersect(a,b,1) retourne la matrice formée de l'intersection des lignes distinctes des matrices a et b triées dans l'ordre lexicographique croissant. Dans ce cas les matrices a et b doivent avoir le même nombre de colonnes.

[v,ka,kb]=intersect(a,b,"r") retourne aussi les vecteurs d'indices ka et kb tels que v=a(ka,:) et v=b(kb,:).

intersect(a,b,"c") ou intersect(a,b,2) retourne la matrice formée de l'intersection des colonnes distinctes des matrices a et b triées dans l'ordre lexicographique croissant. Dans ce cas les matrices a et b doivent avoir le même nombre de lignes.

[v,ka,kb]=intersect(a,b,"r") retourne aussi les vecteurs d'indices ka et kb tels que v=a(:,ka) et v=b(:,kb).

Exemples

 
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)
 

Voir Aussi

unique, gsort, union