譚晶磊
【摘要】 為熟練運用MATLAB語言求解線性方程組,并學會在不同情況下調(diào)用合適的函數(shù)。我通過列舉六種解法解題的實例來分析比較他們之間的不同與優(yōu)劣。最終使大家在遇到各種不同情況時能正確選擇調(diào)用函數(shù)。
【關(guān)鍵詞】 MATLAB語言 線性方程組 求解方法一、問題的提出
MATLAB中求解線性方程組的方法種類繁多,有左除運算符解法、LU分解法、QR分解法、Jacobi迭代法等。面對各類線性方程組求解問題,我們該如何選擇一種適合當前方程組解法的函數(shù)?下面通過各解法求解實例進行分析比較。
二、MATLAB語言環(huán)境下求解線性方程組
三、結(jié)論
傳統(tǒng)解法需對矩陣進行初等行變換,將增廣矩陣變成階梯陣,而后由下至上依次代入求解,計算量大,而且在變換過程中和求解時極易出錯。對于簡單的小型方程組,我們采用矩陣求逆解法或者左除運算符法,編程簡單,求解快捷,左除運算符求解更簡便,可用于一般矩陣,逆矩陣解法只能用于非奇異矩陣;對于中型線性方程組,我們采用LU分解法,編程不會過于復雜,占用的存儲空間也不大,但 LU分解要求方陣必須為非奇異方陣;對于大型復雜的線性方程組,我們采用Gauss-Serdel迭代法,其求解方法更先進,使用范圍更廣,用Gauss-Serdel迭代法比jacobi迭代法收斂更快。但是對于一些方程,用jacobi迭代收斂,而Gauss-Serdel迭代法不收斂。因此,在使用迭代法的時候要考慮算法的收斂性。