Проверяйте или уравнение, или неравенство содержит для всех значений его переменных
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
assume
| assumeAlso
| assumptions
| in
| isequal
| isequaln
| isfinite
| isinf
| isnan
| piecewise
| sym
| syms