Проверка наличия уравнения или неравенства для всех значений его переменных
isAlways выдает предупреждение при возврате значения false для неопределившихся входных данных. Для подавления предупреждения установите Unknown опция для false как isAlways(cond,'Unknown','false'). Дополнительные сведения см. в разделе Обработка выходных данных для неопределяемых условий.
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