union, _union

Union of sets or intervals or both

MuPAD® notebooks will be removed in a future release. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.


set1 union set2
_union(set1, set2, …)


union computes the union of sets and intervals.

set1 union set2 is equivalent to _union(set1, set2).

The precedences of intersect, minus, union are as follows. If in doubt, use parentheses to ensure that the expression is parsed as desired.

  • The operator intersect is stronger binding than minus, that is, set1 intersect set2 minus set3 = (set 1 intersect set2) minus set3.

  • The operator minus is stronger binding than union, that is, set1 minus set2 union set3 = (set1 minus set2) union set3.

  • set1 minus set2 minus set3 = (set 1 minus set2) minus set3

If sets or intervals are specified by symbolic expressions involving identifiers or indexed identifiers, then symbolic calls of _union are returned. On the screen, they are represented via the operator notation set1 union set2.


On finite sets of type DOM_SET, union acts in a purely syntactical way. For eaxmple, {1} union {x} simplifies to {1,x}. Mathematically, this result can be incorrect in general, because x can represent the value 1.

On intervals of type Dom::Interval, union acts in a semantical way. In particular, properties of identifiers are taken into account.

_union() returns the empty set {}.


Example 1

union operates on finite sets:

{x, 1, 5} union {x, 1, 3, 4}

For symbolic sets, specified as identifiers or indexed identifiers, symbolic calls are returned:

{1, 2} union A union {2, 3}

Note that the set operations act on finite sets in a purely syntactical way. In the following call, x does not match any of the numbers 1, 2, 3 syntactically:

{1, 2, 3} union {1, x}

Example 2

union is overloaded by the domain Dom::Interval:

Dom::Interval([0, 1]) union Dom::Interval(1, 4)

Dom::Interval([0, 1]) union Dom::Interval(4, infinity)

In contrast to finite sets of type DOM_SET, the interval domain works semantically. It takes properties into account:

Dom::Interval(-1, 1) union {x}

assume(0 < x < 1):
Dom::Interval(-1, 1) union {x}


Example 3

The following list provides a collection of sets:

L := [{a, b}, {1, 2, a, c}, {3, a, b}, {a, c}]:

The functional equivalent _union of the union operator accepts an arbitrary number of arguments. Thus, the union of all sets in L can be computed as follows:


delete L:


set1, set2, …

Finite sets of type DOM_SET, or intervals of type Dom::Interval, or arithmetical expressions

Return Values

Set, an interval, a symbolic expression of type "_union".

Overloaded By

set1, set2

See Also

MuPAD Functions