1.說明
有一些方程由于實際問題的需要,需要設置一些限制約束條件,例如x>0等,若使用Matlab編程求解,首先嘗試使用符號運算求解(符號運算可參考文章54:Matlab自學筆記五十四:符號數學工具箱和符號運算、符號求解、繪圖),簡單的約束條件可以在聲明sym變量的時候直接寫出,復雜的約束條件可能需要使用assume設置假設條件(符號變量假設條件的用法請參考文章56:Matlab快速上手五十六:詳解符號運算里假設的用法,通過假設可以設置符號變量的取值范圍,也可以通過假設設置變量屬于集合:整數、正數和實數等),然后進行求解運算,本示例演示簡單應用,若大家的問題復雜可留言交流。
2.編程示例
求方程x2 + x - 2 = 0在x>0的條件下,方程的解。
程序:
>> syms x
>> eq2=x^2+x-2==0;
>> solve(eq2,x) %沒有約束條件的解
運行結果:
ans =
-2
?1
>> syms x positive %添加x>0的約束
>> eq2=x^2+x-2==0;
>> solve(eq2,x) %有約束條件的解
運行結果:
ans =
1
相關視頻內容推薦
13.4 Matlab編程求導:雅可比矩陣
23.16 最小二乘法的概念:線性、加權、魯棒、非線性最小二乘法及Matlab編程實例
25.2.1 樸素貝葉斯算法|原理篇:連續型數據分類識別
35.10 鄭重其事的講下:局部函數
44.6 非線性自回歸神經網絡narnet時序數據預測編程代碼實例
37.31 AppDesigner案例:數據庫讀取、查詢和計算軟件
31.3 Matlab繪圖之圖像上添加標題、標簽和圖例,那些希臘的羅馬的特殊字符應該都涵蓋了哈
14.6 Matlab微分方程數值解法 經典ode45 龍格庫塔 數學建模
22.3/Matlab/fmincon/帶約束多元函數最小值/解優化問題數學建模
End