Numerical Methods Using MATLAB(4版)-03-Linear Systems

引自Numerical Methods Using MATLAB(4版)書籍,如有侵權(quán)請聯(lián)系刪除

前言

這一章主要講求解Ax=b的方法。

學(xué)習(xí)過程

其中前面的內(nèi)容都是在講向量和矩陣,學(xué)過線代即可跳過。

方法一 高斯消除 Gauss Elimination

高斯消除主要分為兩個步驟,一個為前向消除,一般指將矩陣化簡為上三角矩陣,另一個為后向替代,指從最后一行開始替代求解。
其中,如果遇到對角線元素為0時,我們無法除0消除,這時候我們可以交換行使得對角線為0。
在運算過程中,我們可能會遇到計算誤差,然后在逐步計算中傳播誤差,因此我們可以通過局部比例交換來解決這個問題。就是行交換,如何判斷哪行交換可以更小的減少誤差這點沒看懂。好像是選出每行的最大絕對值,再讓每列除最大絕對值,將權(quán)重最大的交換到前面?

病態(tài)矩陣:有一種矩陣它會因為微小的干擾而對結(jié)果產(chǎn)生較大的相對誤差,比如近似于奇異矩陣,行列式近似于0,等式幾乎都是平行等等這些情況。

方法二 LU分解 LU Factorization

非奇異矩陣A可以分解為A=LU。其中L為下三角矩陣,其對角線都為1,U為上三角矩陣,其對角線不為0。
也有可能A不能分解為LU,這時候可以通過排列矩陣P使得PA=LU

方法三 Jacobi迭代

使用直接法會使得產(chǎn)生錯誤后這個錯誤就一直存在了,但是迭代法可以在之后將錯誤調(diào)整回來。
該迭代原理舉例:
-2x+y+5z=15

4x-8y+z=-21

4x-y+z=7.

則迭代式可以為:
x_{k+1}=\frac{-15+y_k+5z_k}{3}

y_{k+1}=\frac{21+4x_k+z_k}{8}

z_{k+1}=7-4x_k+y_k

如果對角線元素大于其行上所有元素絕對值之和,則稱是嚴格對角的。即如果A是嚴格對角的,那么AX=B有唯一解X=P。迭代式迭代的過程數(shù)列\{P_k\}最后會收斂到P。同理,Gauss-Seidel迭代也是如此。

方法四 Gauss-Seidel迭代

我們可以加速Jacobi迭代的收斂速度,于是提出了該方法。
對Jacobi迭代中的例子,Gauss-Seidel迭代的迭代式可以為:
x_{k+1}=\frac{-15+y_k+5z_k}{3}

y_{k+1}=\frac{21+4x_{k+1}+z_k}{8}

z_{k+1}=7-4x_{k+1}+y_{k+1}

Jacobi迭代和Gauss-Seidel迭代很相似,但在某些情況下,會出現(xiàn)Gauss-Seidel迭代不收斂而Jacobi迭代收斂的情況。

方法五 牛頓法拓展

對于多個方程式求解,牛頓法迭代也是一種方法,但是怎樣的迭代式收斂,我們需要判斷其前提條件。
Jacobi矩陣可以表示為J(x,y)=\begin{bmatrix} \frac{\partial f_1}{\partial x} \ \ \frac{\partial f_1}{\partial y} \\ \frac{\partial f_2}{\partial x} \ \ \frac{\partial f_2}{\partial y} \\ \end{bmatrix}

那么函數(shù)變化可以表示為\begin{bmatrix}\partial u \\ \partial v \\ \partial w \end{bmatrix}=J(x_0,y_0,z_0)\begin{bmatrix}\partial x \\ \partial y \\ \partial z \end{bmatrix}

定理:對于三維的不動點迭代來說,如果初始值(p_0,q_0,r_0)近似于不動點(p,q,r),且滿足
|\frac{\partial g_1}{\partial x}(p,q,r)|+|\frac{\partial g_1}{\partial y}(p,q,r)|+|\frac{\partial g_1}{\partial z}(p,q,r)|<1,

|\frac{\partial g_2}{\partial x}(p,q,r)|+|\frac{\partial g_2}{\partial y}(p,q,r)|+|\frac{\partial g_2}{\partial z}(p,q,r)|<1,

|\frac{\partial g_3}{\partial x}(p,q,r)|+|\frac{\partial g_3}{\partial y}(p,q,r)|+|\frac{\partial g_3}{\partial z}(p,q,r)|<1,

那么這個迭代可以收斂到(p,q,r)。
其迭代公式為:
p_{k+1}=g1(p_k,q_k,r_k)

q_{k+1}=g2(p_k,q_k,r_k)

r_{k+1}=g3(p_k,q_k,r_k)

方法六 Seidel迭代

針對牛頓法改進。
p_{k+1}=g1(p_k,q_k,r_k)

q_{k+1}=g2(p_{k+1},q_k,r_k)

r_{k+1}=g3(p_{k+1},q_{k+1},r_k)

對于非線性方程組的牛頓迭代

\begin{bmatrix} u-u_0 \\ v-v_0 \\ \end{bmatrix}=\begin{bmatrix} \frac{\partial}{\partial x}f_1(x_0,y_0) \ \ \frac{\partial }{\partial y}f_1(x_0,y_0) \\ \frac{\partial}{\partial x}f_2(x_0,y_0) \ \ \frac{\partial}{\partial y}f_2(x_0,y_0) \\ \end{bmatrix}\begin{bmatrix} x-x_0 \\ y-y_0 \\ \end{bmatrix}.
=>J(p_0,q_0)·\Delta P=-F(p_0,q_0)
=>\Delta P \approx -J(p_0,q_0)^{-1}F(p_0,q_0)
=>P1=P_0+\Delta P=P0 -J(p_0,q_0)^{-1}F(p_0,q_0)

詞匯學(xué)習(xí)

octant 八分圓
orthogonal 正交的
determinant 行列式
scalar 標量
tractable 易處理的
cofactor 輔因子
invertible 可逆的
pivoting 交換
pivotal 關(guān)鍵的
equilibrate 平衡
perturbation 干擾
prone 俯臥
permutation 排列

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容