isAlways

Проверяйте или уравнение, или неравенство содержит для всех значений его переменных

isAlways выдает предупреждение при возвращении false для неразрешимых входных параметров. Чтобы подавить предупреждение, установите Unknown опция к false как isAlways(cond,'Unknown','false'). Для получения дополнительной информации смотрите Указатель Выход для Неразрешимых Условий.

Описание

пример

isAlways(cond) проверки, если условие cond допустимо для всех возможных значений символьных переменных в cond. При проверке cond, isAlways функция рассматривает все предположения на переменных в cond. Если условие содержит, isAlways возвращает логический 1 TRUE). В противном случае это возвращает логический 0 ложь).

пример

isAlways(cond,Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы.

Примеры

Условия испытания

Проверяйте, допустимо ли это неравенство для всех значений x.

syms x
isAlways(abs(x) >= 0)
ans =
  logical
   1

isAlways возвращает логический 1 TRUE) указание, что неравенство abs(x) >= 0 допустимо для всех значений x.

Проверяйте, допустимо ли это уравнение для всех значений x.

isAlways(sin(x)^2 + cos(x)^2 == 1)
ans =
  logical
   1

isAlways возвращает логический 1 TRUE) указание, что уравнение допустимо для всех значений x.

Протестируйте, если Одно из Нескольких Условий Допустимо

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

syms x
isAlways(sin(x)^2 + cos(x)^2 == 1 | x^2 > 0)
ans =
  logical
   1

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

isAlways(sin(x)^2 + cos(x)^2 == 1 & abs(x) > 2*abs(x))
ans =
  logical
   0

Указатель Выход для неразрешимых условий

Протестируйте это условие. Когда isAlways не может определить, допустимо ли условие, оно возвращает логический 0 ложь) и выдает предупреждение по умолчанию.

syms x
isAlways(2*x >= x)
Warning: Unable to prove 'x <= 2*x'.
ans =
  logical
   0

Чтобы изменить это поведение по умолчанию, используйте Unknown. Например, задайте Unknown как false подавить предупреждение и сделать isAlways возвратите логический 0 ложь) если это не может определить валидность условия.

isAlways(2*x >= x,'Unknown','false')
ans =
  logical
   0

Вместо false, можно также задать Unknown как error возвратить ошибку, и как true возвратить логический 1 TRUE).

Условия испытания с предположениями

Проверяйте это неравенство под предположением что x отрицательно. Когда isAlways тестирует уравнение или неравенство, это учитывает предположения на переменных в том уравнении или неравенстве.

syms x
assume(x < 0)
isAlways(2*x < x)
ans =
  logical
   1

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

syms x

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

свернуть все

Условие проверять в виде символьного условия, или вектора, матрицы или многомерного массива символьных условий.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: isAlways(cond,'Unknown',true) делает isAlways возвратите логический 1 TRUE) когда заданное условие не может быть решено.

Возвращаемое значение для неразрешимого условия в виде разделенной запятой пары 'Unknown' и одно из этих значений.

falseWithWarning (значение по умолчанию)На неразрешимых входных параметрах возвратите логический 0 ложь) и предупреждение, что условие не может быть доказано.
falseНа неразрешимых входных параметрах возвратите логический 0 ложь).
trueНа неразрешимых входных параметрах возвратите логический 1 TRUE).
errorНа неразрешимых входных параметрах возвратите ошибку.
Представленный в R2012a