开发平台(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