開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
NO
問題(Question):
在使用高斯消去求反矩陣時,如果遇到很多無窮小數的加減,
那算出來整個數值就會跟正確的差很多
餵入的資料(Input):
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
例如上述矩陣,利用高斯消去從左邊往下消,再從右邊往上消
第一行跟第二行因做太多次計算所以數值會差很多,
但是第五行跟第四行誤差就會很小,
有什麼比較好的方法可以減少誤差呢??
作者: yeebon 2016-07-22 16:41:00
chx64的1/2悖論真的很經典呢
作者: hsnuyi (羊咩咩~) 2017-12-07 19:02:00
CS開的數值方法會討論 或是數學系的數值線代 網路上有講義
資工的numerical analysis 中文是數值分析
作者: caras 2017-12-07 20:21:00
讀數值方法 Numerical Method 會講這個或是把你的程式貼出來讓大家吐槽
作者:
LPH66 (-6.2598534e+18f)
2017-12-07 20:26:00你應該聽過每次 pivot 時找絕對值最大的列 pivot這就是為了數值穩定度的考慮的選擇
作者:
Lipraxde (Lipraxde)
2017-12-07 23:15:00挑大的出來當pivot不會讓你越算數字越大吧?
作者:
LPH66 (-6.2598534e+18f)
2017-12-07 23:29:00作者:
Lipraxde (Lipraxde)
2017-12-08 09:57:00挑最大做,順便把順序記下來,應該是可以不用排序吧?
作者:
Lipraxde (Lipraxde)
2017-12-08 12:39:00那你把大的那行跟你準備要做的那行交換不就好了
作者:
LPH66 (-6.2598534e+18f)
2017-12-08 13:44:00LU/LUP 分解跟高斯消去法其實是一體兩面可以說 LU/LUP 就是把高斯消去法給紀錄下來的分解
但是這兩種方法在計算反矩陣我看資料好像都是分開講然後會說LU分解是算反矩陣的首選
作者:
Lipraxde (Lipraxde)
2017-12-08 14:01:00想要0誤差可以用分數做啊
作者:
DJWS (...)
2017-12-09 12:33:00什麼資料這樣寫 可以提供一下嗎?
作者: hsnuyi (羊咩咩~) 2017-12-09 16:10:00
... 出現一堆上古神獸...
作者:
rex0707 (我就是我)
2017-12-13 01:08:00partial-pivoting