2016-09-26 26 views
1

我正在嘗試使用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。

回答

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)