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
peuvent être :
tableaux de booléens, de nombres, de texte, de duration ou de datetime. Matrices creuses booléennes ou numériques acceptées. Les types de
aet debpeuvent être distincts mais compatibles pour la concaténation.table et timeseries:
aetbdoivent avoir les mêmes noms de variable.
- orient
Orientation du traitement :
1 or "r": union des lignes de
aet deb.2 or "c": union des colonnes de
aet deb.
- v
dépend du type de
aetb:vecteur ligne, ou matrice. Le type de
vest celui de[a(:) ; b(:)].table ou timeseries
- ka
vecteur ligne d'entiers : rangs dans
ades éléments/lignes/colonnes devprésents dansa.- kb
vecteur ligne d'entiers : rangs dans
bdes éléments/lignes/colonnes devrestants issus deb.
Description
union(a,b), avec a et b
vecteurs ou matrices, renvoie un vecteur ligne contenant les
valeurs distinctes (classées par ordre croissant) contenues dans les
éléments de [a(:);b(:)]. Si a et
b sont des tables ou timeseries, union(a, b)
renvoient les lignes uniques contenues dans a et 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.
L'option orient n'est pas supportée pour les objets de type table et timeseries.
[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.
union() pour duration et datetime:
A = hours([1 7 7 4 3 6 6]); B = hours([7 5 3 0]); [u, ka, kb] = union(A, B) A = datetime("today") + A; B = datetime("today") + B; [u, ka, kb] = union(A, B)
union() pour table:
A = table([1 7 7 4 3 6 6]', [1:7]'); B = table([7 5 3 0]', [2;2;5;5]); [u, ka, kb] = union(A, B) A = table([1;3;4;2], ["d";"c";"f";"h"], [%f;%t;%t; %f], "VariableNames", ["double", "string", "boolean"]); B = table([2;3;4;1], [%t;%t;%t;%t], ["d";"c";"f";"h"], "VariableNames", ["double", "boolean", "string"]); [u, ka, kb] = union(A, B)
union() pour timeseries:
A = timeseries(hours([1:10])', floor(rand(10,1)*10)); B = timeseries(hours(1:2:15)', floor(rand(8,1)*15)); [u, ka, kb] = union(A, B)
Voir aussi
Historique
| Version | Description |
| 6.1.0 | Extension aux matrices booléennes. |
| 6.1.1 | Extension aux matrices creuses booléennes, réelles, ou complexes. |
| 2026.0.0 | Gestion des types duration, datetime, table et timeseries ajoutée. |
| Report an issue | ||
| << setdiff | Ensembles | unique >> |