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