高斯 約旦消元法 理解

2022-05-19 04:45:10 字數 1075 閱讀 8657

高斯消元是一種解方程的很巧妙的方法,核心是把方程轉換成矩陣形式,然後再通過加減消元,求出值後再回帶,就解出了這個方程,這裡我就不贅述了。

我一般用高斯-約旦消元法,這種方法是直接轉換成單位矩陣求解,減少回帶次數,提高精確度,實現方式如下:

下方是乙個方程

把它轉換成矩陣形式就是:

我們可以這樣對其進行變換:

在第一行找到第乙個元素,向下尋找有沒有絕對值更大的,如果有就交換。

對於之後的如法炮製即可。

最後,我們就可以得到這樣乙個矩陣:很顯然,在左邊是單位矩陣的情況下,右邊即為原方程的解。

需要注意的是,如果在轉換的時候主元係數為0,這種就是無解(右邊為非零數)或無窮多解(右邊為零),如下為無窮多解:

可以發現,消元已經已經無法進行了。

所以,演算法的思路已經出來了,接下來根據思路模擬就行了。

核心**如下:

const double eps=1e-6;

void guass-jordan()

for(int j=1;j<=n;++j)

if(j!=i)

}for(int i=1;i<=n;++i)a[i][n+1]/=a[i][i];

return

;}

恩,這就是我學了幾天沒學懂的東西

高斯 約旦消元法

高斯 約旦消元法 此演算法是基於高斯消元的基礎上改進而成的,唯一不同之處是多進行了幾次矩陣變換使得化為行最簡型矩陣。相比於高斯消元法此方法效率較低,但是不需要回帶求解 此演算法的過程大概為 首先確定每個a i i a i i a i i 不為0 00 如果為0 00就和下面的行替換 接著將每個a i...

高斯 約旦消元法

學了將近兩個晚上。突然看懂時感覺自己是個 寫個部落格記一下吧。模板 洛谷p3389 模板 高斯消元法 有 n 個形如 a 1x 1 a 2x 2 cdots a nx n b 的方程。解方程組。有唯一解則將其求出,否則輸出no solution。把方程組用矩陣形式寫出來 left begin a a...

數學 高斯 約旦消元法

給定 n 元一次方程組 begin a x 1 a x 2 cdots a x n b 1 a x 1 a x 2 cdots a x n b 2 cdots a x 1 a x 2 cdots a x n b n end 請求出方程組的解的情況 對於這樣的問題,我們可以使用高斯消元法進行求解,當然...