Логическое исключающее ИЛИ для символьных выражений
xor (A, B)Объединение двух символьных неравенств в логическое выражение с помощью xor.
syms x range = xor(x > -10, x < 10);
Заменить переменную x с 11 и 0. При замене x с 11, то неравенство x > -10 является действительным и x < 10 недопустим. При замене x при 0 оба неравенства являются действительными. Обратите внимание, что subs подставляет только числовые значения в неравенства. Он не оценивает неравенство до логического 1 или 0.
x1 = subs(range,x,11) x2 = subs(range,x,0)
x1 = -10 < 11 xor 11 < 10 x2 = -10 < 0 xor 0 < 10
Чтобы оценить эти неравенства до логического 1 или 0, использовать isAlways. Если допустимо только одно неравенство, выражение с xor вычисляется как логический 1. Если оба неравенства действительны, выражение с xor вычисляется как логический 0.
isAlways(x1) isAlways(x2)
ans =
logical
1
ans =
logical
0Обратите внимание, что simplify не упрощает эти логические выражения до логических 1 или 0. Вместо этого упрощение возвращает символьные константы symtrue или symfalse.
s1 = simplify(x1) s2 = simplify(x2)
s1 = symtrue s2 = symfalse
Преобразовать символическое symtrue или symfalse логическим значениям с использованием logical.
logical(s1) logical(s2)
ans =
logical
1
ans =
logical
0При звонке simplify для логического выражения, содержащего символьные подчиненные выражения, можно получить символьные константы symtrue и symfalse. Эти две константы не совпадают с логическими 1 (true) и логический 0 (false). Преобразование символов symtrue и symfalse для логических значений, используйте logical.
assume и assumeAlso не принимать предположения, которые содержат xor.