Проверяйте или уравнение, или неравенство содержит для всех значений его переменных
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