在Matlab符号计算中解决一些不等式的意外结果

时间:2014-05-22 15:30:55

标签: matlab solver symbolic-math symbolic-computation

请考虑这个例子。我想解决x ^ 3 - 2x>我尝试以下命令:

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

和Matlab返回此

  

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

这不是我的期望。因此我使用

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

返回

  

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

有人可以解释为什么solve只能在第二种情况下成功运作吗?

1 个答案:

答案 0 :(得分:2)

尝试将Real选项添加到solve

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

ans =

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