Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Fonctions Elémentaires > Ensembles > union

union

Ensemble de tous les éléments, lignes ou colonnes de deux matrices, sans doublons

Séquence d'appel

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

Paramètres

a, b
tableaux de booléens, de nombres, ou de texte. Matrices creuses booléennes ou numériques acceptées. Les types de a et de b peuvent être distincts mais compatibles pour la concaténation.

orient Orientation du traitement :
  • 1 or "r": union des lignes de a et de b.
  • 2 or "c": union des colonnes de a et de b.

v
vecteur ligne, ou matrice. Le type de v est celui de [a(:) ; b(:)].

ka
vecteur ligne d'entiers : rangs dans a des éléments/lignes/colonnes de v présents dans a.

kb
vecteur ligne d'entiers : rangs dans b des éléments/lignes/colonnes de v restants issus de b.

Description

union(a,b) renvoie un vecteur ligne contenant les valeurs distinctes (classées par ordre croissant) contenues dans les éléments de [a(:);b(:)].

union(a,b,"r") ou union(a,b,1)renvoie la matrice formée de l'union des lignes distinctes de 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.

union(a,b,"c") ou union(a,b,2)renvoie la matrice formée de l'union des colonnes distinctes de 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]=union(a,b) renvoie aussi les vecteurs d'indices ka et kb tels que v est une combinaison triée des termes de a(ka) et b(kb).

Exemples

A = [6  7  6 ; 5  8  3 ];
B = [1  7  1  0  6 ];

union(A, B)
[u, ka, kb] = union(A, B)
--> union(A, B)
 ans  =
   0.   1.   3.   5.   6.   7.   8.

--> [u, ka, kb] = union(A, B)
 u  =
   0.   1.   3.   5.   6.   7.   8.
 ka  =
   6.   2.   1.   3.   4.
 kb  =
   4.   1.

A = ["a" "b" "a" "c" "c" "b"
     "b" "c" "a" "b" "c" "c" ];
B = ["b" "a" "c" "c" "b" "a"
     "a" "c" "b" "b" "b" "b" ];

[U, ka, kb] = union(A, B, "c")
--> [U, ka, kb] = union(A, B, "c")
 U  =
  "a"  "a"  "a"  "b"  "b"  "b"  "c"  "c"
  "a"  "b"  "c"  "a"  "b"  "c"  "b"  "c"

 ka  =
   3.   1.   2.   4.   5.

 kb  =
   2.   1.   5.

[F, T] = (%f, %t);
A = sparse([T T F T F T ; F F F F T T ; T F F F F T ]); full(A)
B = sparse([F F T T F F ; T T T T T T ; T F T T T F ]); full(B)

[U, ka, kb] = union(A, B, "c");
issparse(U)
full(U), ka, kb
--> A = sparse([T T F T F T ; F F F F T T ; T F F F F T ]); full(A)
 ans  =
  T T F T F T
  F F F F T T
  T F F F F T

--> B = sparse([F F T T F F ; T T T T T T ; T F T T T F ]); full(B)
 ans  =
  F F T T F F
  T T T T T T
  T F T T T F

--> [U, ka, kb] = union(A, B, "c");
--> issparse(U)
 ans  =
  T

--> full(U), ka, kb
 ans  =
  F F F T T T
  F T T F F T
  F F T F T T

 ka  =
   3.   5.   2.   1.   6.
 kb  =
   1.

Voir aussi

  • brackets — Concaténation. Récipients d'une affectation. Résultats d'une function
  • unique — extrait (et trie) les éléments distincts d'un vecteur, matrice, hypermatrice

Historique

VersionDescription
6.1.0 Extension aux matrices booléennes.
6.1.1 Extension aux matrices creuses booléennes, réelles, ou complexes.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Jul 20 11:19:18 CEST 2021