引自Numerical Methods Using MATLAB(4版)書籍烘跺,如有侵權(quán)請聯(lián)系刪除
前言
這一章主要講求解的方法湘纵。
學(xué)習(xí)過程
其中前面的內(nèi)容都是在講向量和矩陣,學(xué)過線代即可跳過滤淳。
方法一 高斯消除 Gauss Elimination
高斯消除主要分為兩個步驟瞻佛,一個為前向消除,一般指將矩陣化簡為上三角矩陣娇钱,另一個為后向替代伤柄,指從最后一行開始替代求解。
其中文搂,如果遇到對角線元素為0時适刀,我們無法除0消除,這時候我們可以交換行使得對角線為0煤蹭。
在運算過程中笔喉,我們可能會遇到計算誤差,然后在逐步計算中傳播誤差硝皂,因此我們可以通過局部比例交換來解決這個問題常挚。就是行交換,如何判斷哪行交換可以更小的減少誤差這點沒看懂稽物。好像是選出每行的最大絕對值奄毡,再讓每列除最大絕對值,將權(quán)重最大的交換到前面贝或?
病態(tài)矩陣:有一種矩陣它會因為微小的干擾而對結(jié)果產(chǎn)生較大的相對誤差吼过,比如近似于奇異矩陣,行列式近似于0咪奖,等式幾乎都是平行等等這些情況盗忱。
方法二 LU分解 LU Factorization
非奇異矩陣可以分解為
。其中
為下三角矩陣羊赵,其對角線都為1趟佃,
為上三角矩陣,其對角線不為0。
也有可能不能分解為
闲昭,這時候可以通過排列矩陣
使得
罐寨。
方法三 Jacobi迭代
使用直接法會使得產(chǎn)生錯誤后這個錯誤就一直存在了,但是迭代法可以在之后將錯誤調(diào)整回來汤纸。
該迭代原理舉例:
則迭代式可以為:
如果對角線元素大于其行上所有元素絕對值之和,則稱是嚴(yán)格對角的芹血。即如果是嚴(yán)格對角的,那么
有唯一解
幔烛。迭代式迭代的過程數(shù)列
最后會收斂到
饿悬。同理,Gauss-Seidel迭代也是如此珠叔。
方法四 Gauss-Seidel迭代
我們可以加速Jacobi迭代的收斂速度弟劲,于是提出了該方法。
對Jacobi迭代中的例子汇鞭,Gauss-Seidel迭代的迭代式可以為:
Jacobi迭代和Gauss-Seidel迭代很相似霍骄,但在某些情況下淡溯,會出現(xiàn)Gauss-Seidel迭代不收斂而Jacobi迭代收斂的情況。
方法五 牛頓法拓展
對于多個方程式求解绘沉,牛頓法迭代也是一種方法车伞,但是怎樣的迭代式收斂喻喳,我們需要判斷其前提條件。
Jacobi矩陣可以表示為
那么函數(shù)變化可以表示為
定理:對于三維的不動點迭代來說慷丽,如果初始值近似于不動點
鳄哭,且滿足
那么這個迭代可以收斂到锄俄。
其迭代公式為:
方法六 Seidel迭代
針對牛頓法改進(jìn)奶赠。
對于非線性方程組的牛頓迭代
詞匯學(xué)習(xí)
octant 八分圓
orthogonal 正交的
determinant 行列式
scalar 標(biāo)量
tractable 易處理的
cofactor 輔因子
invertible 可逆的
pivoting 交換
pivotal 關(guān)鍵的
equilibrate 平衡
perturbation 干擾
prone 俯臥
permutation 排列