解决Matlab符号计算中一些不等式的意外结果 [英] Unexpected result on solving some inequality in Matlab symbolic computation

查看:294
本文介绍了解决Matlab符号计算中一些不等式的意外结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请考虑此示例.我想解决x ^ 3-2x>0.我尝试以下命令:

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)

Matlab返回此

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

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)

返回

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

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

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

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

推荐答案

尝试将Real选项添加到solve:

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

ans =

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

这篇关于解决Matlab符号计算中一些不等式的意外结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆