exponenta event banner

xor

Логическое исключающее ИЛИ для символьных выражений

Синтаксис

Описание

пример

xor(A,B) представляет логическую исключительную дизъюнкцию. xor(A,B) true, если A или B является правдой. Если оба A и B true или false, xor(A,B) имеет значение false.

Примеры

Установка и оценка условия

Объединение двух символьных неравенств в логическое выражение с помощью 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

Входные аргументы

свернуть все

Операнды, определяемые как символические уравнения, неравенства, выражения или массивы. Исходные данные A и B должны иметь одинаковый размер или совместимые размеры (например, A является Mоколо-N матрица и B является скаляром или 1около-N вектор строки). Дополнительные сведения см. в разделе Совместимые размеры массивов для основных операций.

Совет

  • При звонке simplify для логического выражения, содержащего символьные подчиненные выражения, можно получить символьные константы symtrue и symfalse. Эти две константы не совпадают с логическими 1 (true) и логический 0 (false). Преобразование символов symtrue и symfalse для логических значений, используйте logical.

  • assume и assumeAlso не принимать предположения, которые содержат xor.

Вопросы совместимости

развернуть все

В R2016b изменилось поведение

См. также

| | | | |

Представлен в R2012a