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