How to check if a symbolic function is positive or negative?

21 次查看(过去 30 天)
Hi everyone,
I've defined a square function this way:
sym x
y = x^2
Running the command ' isAlways(y>=0) ' I get:
Warning: Unable to prove '0 <= x^2'.
> In symengine
In sym/isAlways (line 42)
Why Matlab is displaying the warning?
Thanks in advance for who will help me!

采纳的回答

Steven Lord
Steven Lord 2021-9-29
MATLAB is unable to prove that y is always greater than or equal to 0 because y is not always greater than or equal to 0. Here is a case where it is:
x = 1;
y = x^2
y = 1
y >= 0 % true
ans = logical
1
Here is a case where it is not.
x = 1i;
y = x^2
y = -1
y >= 0 % false
ans = logical
0
If you told MATLAB that x was real, it would help.
syms x real
y = x^2
y = 
isAlways(y >= 0)
ans = logical
1

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by