minus, _minus

Difference 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 minus set2
_minus(set1, set2)


minus computes the difference between sets and intervals.

set1 minus set2 is equivalent to _minus(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 _minus are returned. On the screen, they are represented via the operator notation set1 minus set2.


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

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


Example 1

minus operates on finite sets:

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

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

{1, 2} minus A minus {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} minus {1, x}

Example 2

minus is overloaded by the domain Dom::Interval:

Dom::Interval(1, PI) minus {2, 3}

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

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

assume(x > 2):
Dom::Interval(-1, 1) minus {x}



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 "_minus".

Overloaded By

set1, set2

See Also

MuPAD Functions