logical

Проверяйте валидность уравнения или неравенства

Синтаксис

Описание

пример

logical(cond) проверки, ли условие cond isvalid. К условиям испытания, которые требуют предположений или упрощений, используйте isAlways вместо logical.

Примеры

Условие испытания Используя logical

Используйте logical проверять если 3/5 меньше 2/3:

logical(sym(3)/5 < sym(2)/3)
ans =
  logical
   1

Протестируйте уравнение Используя logical

Проверяйте валидность этого уравнения с помощью logical. Без дополнительного предположения, что x является неотрицательным, это уравнение недопустимо.

syms x
logical(x == sqrt(x^2))ans =
  logical
   0

Используйте assume установить предположение что x является неотрицательным. Теперь выражение sqrt(x^2) оценивает к x, и logical возвращает 1:

assume(x >= 0)
logical(x == sqrt(x^2))
ans =
  logical
   1

Обратите внимание на то, что logical обычно игнорирует предположения на переменных.

syms x
assume(x == 5)
logical(x == 5)
ans =
  logical
   0

Чтобы сравнить выражения, учитывающие предположения на их переменных, используйте isAlways:

isAlways(x == 5)
ans =
  logical
   1

Для дальнейших расчетов очистите предположение на x путем воссоздания его с помощью syms:

syms x

Протестируйте несколько условий Используя logical

Проверяйте, допустимы ли следующие два условия оба. Чтобы проверять, допустимы ли несколько условий одновременно, объедините эти условия при помощи логического оператора and или его ярлык &.

syms x
logical(1 < 2 & x == x)
ans =
  logical
   1

Протестируйте неравенство Используя logical

Проверяйте это неравенство. Обратите внимание на то, что logical оценивает левую часть неравенства.

logical(sym(11)/4 - sym(1)/2 > 2)
ans =
  logical
   1

logical также выполняет более сложные символьные выражения с обеих сторон уравнений и неравенств. Например, это оценивает интеграл на левой стороне этого уравнения:

syms x
logical(int(x, x, 0, 2) - 1 == 1)
ans =
  logical
   1

Сравните logical и isAlways

Не используйте logical проверять уравнения и неравенства, которые требуют упрощения или математических преобразований. Для таких уравнений и неравенств, logical может возвратить неожиданные результаты. Например, logical не распознает математической эквивалентности этих выражений:

syms x
logical(sin(x)/cos(x) == tan(x))
ans =
  logical
   0

logical также не понимает, что это неравенство недопустимо:

logical(sin(x)/cos(x) ~= tan(x))
ans =
  logical
   1

Чтобы протестировать валидность уравнений и неравенств, которые требуют упрощения или математических преобразований, используйте isAlways:

isAlways(sin(x)/cos(x) == tan(x))
ans =
  logical
     1
isAlways(sin(x)/cos(x) ~= tan(x))
Warning: Unable to prove 'sin(x)/cos(x) ~= tan(x)'.
ans =
  logical
   0

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

свернуть все

Введите, заданный как символьное уравнение, неравенство или символьный массив уравнений или неравенств. Также можно объединить несколько условий при помощи логических операторов and, orxor, not, или их ярлыки.

Советы

  • Для символьных уравнений, logical возвращает логический 1 TRUE) только если левые и правые стороны идентичны. В противном случае это возвращает логический 0 ложь).

  • Для символьных неравенств, созданных с ~=логический возвращает логический 0 ложь) только если левые и правые стороны идентичны. В противном случае это возвращает логический 1 TRUE).

  • Для всех других неравенств (созданный с <, <=, >, или >=логический возвращает логический 1 если может оказаться, что неравенством является допустимый и логический 0 если может оказаться, что неравенство недопустимо. Если logical не может определить, допустимо ли такое неравенство или нет, оно выдает ошибку.

  • logical выполняет выражения с обеих сторон уравнения или неравенства, но не упрощает или математически преобразовывает их. Чтобы сравнить два выражения, применяющие математические преобразования и упрощения, используйте isAlways.

  • logical обычно игнорирует предположения на переменных.

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

Для просмотра документации необходимо авторизоваться на сайте