Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Français


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.
Report an issue
<< setdiff Ensembles unique >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:15:58 CEST 2024