xor

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

Синтаксис

Описание

пример

xor(A,B) представляет логическую эксклюзивную дизъюнкцию. xor(A,B) верно, когда или A или B является true. Если оба A и B true или false, 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

Входные параметры

свернуть все

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

Совет

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

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

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

расширить все

Поведение изменено в R2016b

См. также

| | | | |

Введенный в R2012a