高斯消元法(二) 高斯消元法原理

2021-08-13 04:49:19 字數 1804 閱讀 3757

高斯消去法是一種常用的求解線性方程組的方法,通過逐次消元後,在回代求解,實際計算中常用的一種方法。

順序消去法

將ax=b按照從上至下、從左至右的順序化為上三角方程組,中間過程不對矩陣進行交換,主要步驟如下。

step1:

將第2行至第n行,每行分別與第一行做運算,消掉每行第乙個引數。公式如:

形成如下圖所示新矩陣:

從新矩陣的a22開始(a22不能為0),以第二行為基準,將第三行至第n行分別與第二行做運算,消掉每行第二個引數。

公式如:

按照上述方法,當第k步運算時,公式為:

運算前後的矩陣為:

經過 n-1 步,方程組也就轉化為了我們希望得到的上三角方程組,如下:

再通過回代過程即可求解 x1至 xn 的值。

順序消去法計算量

消去過程:

回代過程:

總運算量:

順序消去法雖然程式設計操作簡單,但是存在以下兩方面限制:

(1)每次運算時,必須保證對角線上的元素不為0(即運算中的分母不為0),否則演算法無法繼續進行。

(2)即使a(kk)的值不為零,但如果絕對值很小,由於第k次運算中a(kk)在分母位置,因此作除數會引起很大的誤差,從而影響演算法的穩定性。

正是由於順序消去法會因為 a(kk) 的值過小而引入計算誤差,為了減少計算過程中捨入誤差對方程組求解的影星,因此是否可以選擇絕對值盡可能大的 a(kk) 主元作為除數,基於這種思想就有了高斯消去法的改進型:列主元消去法 和 全主元消去法。

列(全)主元消去法

基本思想:

在第k步消元錢,找出k行下所有第k列元素最大的非零元素 a(pk), 將第 p 行與第 k行進行整行交換,這樣既不影響原方程的解,也可以將絕對值最大的a(pk)作為主元,放在處暑的位置上,盡可能減小引入誤差。

全主元消除法與列主元消除法類似,只不過列主元消除法是從第k列中選取乙個最大的元素,與第k行進行交換。 而全主元消除法釋從第k行第k列開始的右下角矩陣中所有元素中選取乙個最大的元素作為主元,同時交換p行與q列,從而保證穩定性。

如下面這個列主元消去法的例子:

高斯消元法

寒假前,小導師給我們布置了三道程式設計題,其中有一道是利用高斯消元法解線性方程組的。在網上搜了些資料,自己照葫蘆畫瓢編出乙個簡單的高斯消元法 利用矩陣的初等行變換 高斯消元法解線性方程組 include include include define dim 10 double a dim 1 dim...

高斯消元法

學過至少一元二次方程解法的同學們肯定知道,最常用的求根方法是加減消元法。所謂加減消元法,就是通過方程的等式性質,將某一未知數的係數同一化,再通過兩個等式的加減消去乙個元,從而將多元方程不斷降元,從而解出乙個未知數,不斷代回,從而求出所有根。此加減消元法就是高斯消元法。所以程式思路也盡可知。以下直接附...

高斯消元法

高斯消元法。直接附 了,這個 沒有回帶的。1 writer hsz wjmzbmr tourist hzwer 2 include3 include4 include5 include6 include7 include8 include 9 include10 include11 include1...