Set of all elements, rows, or columns of two arrays, without duplicates
[v, ka, kb] = union(a, b) [v, ka, kb] = union(a, b, orient)
a
and of b can be distinct but compatible for concatenation.a and b must have the same variable names.a and b:
v's data type
is the type of [a(:) ; b(:)]'s result.a of v
elements/rows/columns coming from a.
b of v
remaining elements/rows/columns coming from b.
union(a,b), with a and b vectors or matrices,
returns a sorted row vector or matrix which
retains the unique entries of [a(:) ; b(:)].
If a and b
are table or timeseries, union(a, b) returns the sorted unique rows contained
in a and b.
union(a,b,"r") or
union(a,b,1)returns the matrix formed by the union 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.
union(a,b,"c") or
union(a,b,2)returns the matrix formed by the union 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.
The orient option is not managed for table and timeseries.
[v,ka,kb]=union(a,b) also returns index vectors
ka and kb such that
v is a sorted combination of the entries
a(ka) and b(kb).
--> 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() for duration and 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() for 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() for 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) | ![]() | ![]() |
| Version | Description |
| 6.1.0 | Extension to boolean matrices. |
| 6.1.1 | Extension to sparse boolean, sparse real, and sparse complex matrices. |
| 2026.0.0 | Support for duration, datetime, table and timeseries types added. |