1

Please consider this example. I would like to solve x^3 - 2x > 0. I try the following commands:

syms x;
f = @(x) x^3-2*x;
solve(f(x)>0,x)

and Matlab returns this

ans = solve([0.0 < x^3 - 2.0*x], [x])

which is not what I expect. Therefore I use

solve(f(x)+x>x,x)

which returns

ans = Dom::Interval(2^(1/2), Inf) Dom::Interval(-2^(1/2), 0)

Can someone explain that why solve works successfully only in the second case?

4

1 回答 1

2

尝试将Real选项添加到solve

solve(f(x)>0,x,'Real',1)

ans =

 Dom::Interval(2^(1/2), Inf)
 Dom::Interval(-2^(1/2), 0)
于 2014-05-22T15:50:30.383 回答