C9 Gauss Elimination (高斯消去法)
- 用來解聯立方程式的方法
- 小於 3 個方程式時,可以使用用圖形法、Cramer’s rule (克拉默法則)等方法求解。
- 無解、無限多解、斜率非常接近時,可能會有問題。
9.1.2 Determinants and Cramer’s rule
- Cramer’s rule (克拉瑪法則):
- 對於一聯立方程式:
,其中: (係數矩陣): (未知數矩陣): (常數矩陣):
- 則,行列式值
為: - 此時:
- 依此類推:
。
- 對於一聯立方程式:
9.1.3 The Elimination Method (消去法)
- 透過消去法,將方程式轉化為上三角矩陣,再進行回代求解。
- 步驟:
- 將方程式轉化為增廣矩陣。
- 進行消去法,將矩陣轉化為上三角矩陣。
- 進行回代,求解
。 - 重複步驟 3,直至求得所有
。
9.2 Naive Gauss Elimination (高斯消去法)
-
方法:
- 已知題目:
- 將方程式轉化為增廣矩陣:
- 進行消去法,將矩陣轉化為上三角矩陣:
- 進行回代,求解
:
- 已知題目:
-
舉例:
- 已知增廣矩陣:
- 進行消去法,將矩陣轉化為上三角矩陣:
- 消去:
- 消去:
- 消去:
- 進行回代求解:
- 已知增廣矩陣:
9.3 Pitfalls of Elimination Methods (消去法的問題)
- 除零問題 (Division by Zero):當
時,將無法進行消去法。- 可使用 Pivotting (樞軸化) 解決此問題。
- 先找出最大的係數,將其設為主對角線 (樞紐)。
- 進行消去法。
- 可使用 Pivotting (樞軸化) 解決此問題。
- 捨位誤差 (Round-Off Error):多次運算後,誤差會傳播放大。(次數大於 100 時影響很大)
- 可使用 Scaling (縮放) 解決此問題。
- 將每一行的係數縮放到最大係數為 1。
- 進行消去法。
- 可使用 Scaling (縮放) 解決此問題。
- 病態矩陣 (III-Conditioing):當矩陣的條件數 (Condition number) 過大時,將導致誤差放大。
- Well-Conditioing System (良態系統)
- III-Conditioing System (病態系統)
- 假設有聯立方程式:
- 因此:
- 而,當
接近 0 時,容易導致誤差放大 (III-Conditioing)。 - 由於接近 0 難以判斷,在實務上,會讓每一行的係數縮放到最大係數為 1,藉此標準化後以利評估。
- 假設有聯立方程式:
9.7 Gauss-Jordan Method (高斯-喬登消去法)
- 原理:透過消去法,將增廣矩陣轉化為單位矩陣。
- 當增廣矩陣為:
- 轉化為:
- 則:
- 當增廣矩陣為: