xor
Logical XOR for symbolic expressions
Syntax
Description
Examples
Set and Evaluate Condition
Combine two symbolic inequalities into a logical expression using
xor
.
syms x range = xor(x > -10, x < 10);
Replace variable x
with 11 and 0. If you replace x
with 11, then inequality x > -10
is valid and x <
10
is invalid. If you replace x
with 0, both inequalities are
valid. Note that subs
only substitutes the numeric values into
the inequalities. It does not evaluate the inequalities to logical 1
or
0
.
x1 = subs(range,x,11) x2 = subs(range,x,0)
x1 = -10 < 11 xor 11 < 10 x2 = -10 < 0 xor 0 < 10
To evaluate these inequalities to logical 1
or 0
,
use isAlways
. If only one inequality is valid,
the expression with xor
evaluates to logical 1
. If
both inequalities are valid, the expression with xor
evaluates to logical
0
.
isAlways(x1) isAlways(x2)
ans = logical 1 ans = logical 0
Note that simplify
does not simplify these logical
expressions to logical 1
or 0
. Instead, simplify
returns symbolic constants symtrue
or
symfalse
.
s1 = simplify(x1) s2 = simplify(x2)
s1 = symtrue s2 = symfalse
Convert symbolic symtrue
or symfalse
to logical
values using logical
.
logical(s1) logical(s2)
ans = logical 1 ans = logical 0
Input Arguments
Tips
If you call
simplify
for a logical expression containing symbolic subexpressions, you can get the symbolic constantssymtrue
andsymfalse
. These two constants are not the same as logical1
(true
) and logical0
(false
). To convert symbolicsymtrue
andsymfalse
to logical values, uselogical
.assume
andassumeAlso
do not accept assumptions that containxor
.