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

60 views (last 30 days)
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!

Accepted Answer

Steven Lord
Steven Lord on 29 Sep 2021
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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!