解决matlab中的不等式问题

时间:2016-09-26 20:10:44

标签: matlab

我正在尝试使用matlab解决简单的不等式并陷入困境。

solve(x^2>0,x)


ans = 
-1
1

solve(x^2>5,x)


ans = 
5^(1/2)+1
-5^(1/2)-1

这是完全错误的。问题是什么?我的matlab版本是R2014b。

1 个答案:

答案 0 :(得分:0)

如果要解决方程,例如x^2 == 1,然后您正在寻找特定的积分,即积分x=1x=-1。幸运的是,MATLAB完全回复了这个:

>> syms x
>> solve(x^2 == 1, x)
ans =
 -1
  1

现在,您正在寻找不平等的解决方案。你真的不想找到不等式所有的,因为在你的情况下这是无限多的。正如solve的文档中所述,'ReturnConditions'标记将使solve返回相等的条件

>> syms x
>> S = solve(x^2>0,x, 'ReturnConditions', true)
>> S.conditions
ans =
 x < 0
 0 < x

或第二个例子

>> syms x
>> S = solve(x^2 > 5, x,'ReturnConditions',true)
>> S.conditions
ans = 
  5^(1/2) < x
 x < -5^(1/2)