怎么用Matlab解方程?
工具/材料
matlab 2016a
操作方法
- 01
打開matlab,首先定義變量x:
syms x; - 02
matlab中solve函數的格式是solve(f(x), x),求解的是f(x) = 0的解。
第一個例子,求解最常見的一元二次方程x^2-3*x+1=0:
solve(x^2-3*x+1,x),解出的結果用精確的根式表示。 - 03
matlab解出的根不僅包含實根,也包含復根,例如求解三次方程x^3+1=0:
solve(x^3+1,x)
我們知道該方程有一對共軛復根,matlab也可以解出它的解。 - 04
對于超出5次(含)以上的一元函數,有時無法用solve指令求的對應的根,如下圖所示。這時可以使用roots命令求解。roots命令的參數是方程的各個系數按高次冪到低次冪排列成的向量,例如x^5+3*x^4-5*x^3+4*x^2-6*x+2=0,如果用solve指令得到的結果不能令人滿意,而用roots就可以得到滿意的結果。
- 05
對于非多項式方程,只能使用solve求解。例如求解exp(-x)-x^2+3=0的解如下。通過黃色的警告可以看出,這樣的方程沒有解析解,與我們已知的知識相同。
- 06
最后一類方程,是一元一次方程組。這是matlab最擅長的運算,可以使用矩陣進行求解。對于齊次線性方程來講,使用null(A,'r')。其中'r'表示使用簡化階梯型行列式求解。對于如下的方程,可以解得線性無關的一組解。這樣,我們還可以引入常量k1與k2表達通解。
- 07
對于線性非齊次的解,可以使用linsolve(A,b)。其中A是系數矩陣,b是非齊次項(如果b是多列矩陣,意味著解多個砼系數不同齊次項的方程組)。對于圖中的方程組,可已這樣求解。
特別提示
matlab求解方程的方法有很多,要找到適合自己需要的方法,需要多加練習。
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。