Проверяйте или уравнение, или неравенство содержит для всех значений его переменных
isAlways
выдает предупреждение при возвращении false для неразрешимых входных параметров. Чтобы подавить предупреждение, установите опцию Unknown
на false
как isAlways(cond,'Unknown','false')
. Для получения дополнительной информации смотрите Указатель Вывод для Неразрешимых Условий.
isAlways(cond)
isAlways(cond,Name,Value)
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
можно также задать error
, чтобы возвратить ошибку и true
, чтобы возвратить логический 1
(true
).
Проверяйте это неравенство под предположением, что x
отрицателен. Когда isAlways
тестирует уравнение или неравенство, он учитывает предположения на переменных в том уравнении или неравенстве.
syms x assume(x < 0) isAlways(2*x < x)
ans = logical 1
Для дальнейших вычислений очистите предположение на x
путем воссоздания его с помощью syms
.
syms x
assume
| assumeAlso
| assumptions
| in
| isequal
| isequaln
| isfinite
| isinf
| isnan
| piecewise
| sym
| syms