網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好

怎麼用Matlab解方程?

欄目: IT技術 / 發佈於: / 人氣:1.16W

工具/材料

matlab 2016a

操作方法

打開matlab,首先定義變量x:
syms x;

怎麼用Matlab解方程?

matlab中solve函數的格式是solve(f(x), x),求解的是f(x) = 0的解。
第一個例子,求解最常見的一元二次方程x^2-3*x+1=0:
solve(x^2-3*x+1,x),解出的結果用精確的根式表示。

怎麼用Matlab解方程? 第2張

matlab解出的根不僅包含實根,也包含復根,例如求解三次方程x^3+1=0:
solve(x^3+1,x)
我們知道該方程有一對共軛復根,matlab也可以解出它的解。

怎麼用Matlab解方程? 第3張

對於超出5次(含)以上的一元函數,有時無法用solve指令求的對應的根,如下圖所示。這時可以使用roots命令求解。roots命令的參數是方程的各個係數按高次冪到低次冪排列成的向量,例如x^5+3*x^4-5*x^3+4*x^2-6*x+2=0,如果用solve指令得到的結果不能令人滿意,而用roots就可以得到滿意的結果。

怎麼用Matlab解方程? 第4張

對於非多項式方程,只能使用solve求解。例如求解exp(-x)-x^2+3=0的解如下。通過黃色的警告可以看出,這樣的方程沒有解析解,與我們已知的知識相同。

怎麼用Matlab解方程? 第5張

最後一類方程,是一元一次方程組。這是matlab最擅長的運算,可以使用矩陣進行求解。對於齊次線性方程來講,使用null(A,'r')。其中'r'表示使用簡化階梯型行列式求解。對於如下的方程,可以解得線性無關的一組解。這樣,我們還可以引入常量k1與k2表達通解。

怎麼用Matlab解方程? 第6張
怎麼用Matlab解方程? 第7張

對於線性非齊次的解,可以使用linsolve(A,b)。其中A是係數矩陣,b是非齊次項(如果b是多列矩陣,意味着解多個砼係數不同齊次項的方程組)。對於圖中的方程組,可已這樣求解。

怎麼用Matlab解方程? 第8張
怎麼用Matlab解方程? 第9張

特別提示

matlab求解方程的方法有很多,要找到適合自己需要的方法,需要多加練習。

Tags:MATLAB 解方程