exponenta event banner

isAlways

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

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

Описание

пример

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

пример

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 (false) и выдает предупреждение по умолчанию.

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

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

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) и предупреждение о том, что состояние не может быть доказано.
falseНа неопределившихся входах возвращайте логические 0 (false).
trueНа неопределившихся входах возвращайте логические 1 (true).
errorНа неопределившихся входах возвращайте ошибку.
Представлен в R2012a