Проверяйте, сохранено ли уравнение или неравенство для всех значений его переменных
isAlways
выдает предупреждение при возвращении false для неопределяемых входов. Чтобы подавить предупреждение, установите Unknown
опция для false
как isAlways(cond,'Unknown','false')
. Для получения дополнительной информации см. Handle Output for Undecidable Conditions.
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
assume
| assumeAlso
| assumptions
| in
| isequal
| isequaln
| isfinite
| isinf
| isnan
| piecewise
| sym
| syms