MuPAD® notebooks are not recommended. 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.
b1 xor b2 _xor(
b1, b2, …)
b1 xor b2 represents the exclusive logical
the Boolean expressions
xor is defined as follows:
b is equivalent to
(a or b) and not (a and b).
Boolean expressions can be composed of these constants as well
as of arbitrary arithmetical expressions. Typically, equations, such
x = y, and inequalities, such as
x < y,
y, are used to construct Boolean expressions.
_xor(b1, b2, ...) is equivalent to
xor b2 xor .... This expression represents
TRUE if an odd number
of operands evaluate to
TRUE and the others evaluate to
an even number of operands evaluate to
TRUE and the others
UNKNOWN if at least one operand evaluates
Combinations of the constants
UNKNOWN inside a Boolean
expression are simplified automatically. However, symbolic Boolean
subexpressions, equalities, and inequalities are not evaluated and
simplified by logical operators. Use
bool to evaluate such expressions to
one of the Boolean constants. Note, however, that
bool can evaluate inequalities
x <= y, and so on only if
they are composed of numbers of type
Type::Real. See Example 2.
The precedences of the logical operators are as follows. If in doubt, use parentheses to ensure that the expression is parsed as desired.
not is stronger binding
and, that is,
not b1 and b2 =
b1) and b2.
and is stronger binding
xor, that is,
b1 and b2 or b3 =
and b2) xor b3.
xor is stronger binding
or, that is,
b1 xor b2 or b3 =
xor b2) or b3.
or is stronger binding
==>, that is,
b1 or b2 ==>
(b1 or b2) ==> b3.
==> is stronger
<=>, that is,
b2 <=> b3 =
(b1 ==> b2) <=> b3.
Combinations of the Boolean constants
UNKNOWN are simplified automatically to one
of these constants:
TRUE and (FALSE xor TRUE)
FALSE xor UNKNOWN, TRUE xor FALSE
b1 xor b2 and TRUE
FALSE xor ((not b1) and TRUE)
b1 and (b2 xor FALSE) and UNKNOWN
FALSE or (b1 and UNKNOWN) xor x < 1
TRUE xor ((b1 and FALSE) or (b1 and TRUE))
However, equalities and inequalities are not evaluated:
(x = x) and (1 < 2) and (2 < 3) xor (3 < 4)
Boolean evaluation is enforced via
(b1 and b2) xor (b1 and (not b2)) and (1 < 2)