[问题] 解最小平方法的问题 Ax~b

楼主: j0958322080 (Tidus)   2017-12-24 20:26:10
※ 引述《j0958322080 (Tidus)》之铭言:
开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
NO
问题(Question):
我想要去FIT一条四次方的曲线,其中 x 的值为50000左右,
依照理论我会用到x^4,这样整个矩阵A*A^T的最大值与最小值会差到40次方,
我自己写了一个程式用 LU 分解去计算反矩阵,求得的反矩阵跟 EXCEL 的结果完全一样,
可是我发现那两个矩阵(A*A^T)和(A*A^T)^-1在 EXCEL 里面乘起来不是单位矩阵,
而且有些非对角线元素甚至达到10^8,这样的结果不知道是否会与我想要的解差很多??
因为目前只有想到用反矩阵解,不知道有没有什么比较好的算法可以解的比较精确??
喂入的资料(Input):
[ 1 x x^2 x^3 x^4] = A
作者: yeebon   2016-07-22 16:41:00
chx64的1/2悖论真的很经典呢
作者: Ommm5566 (56天團)   2017-12-24 20:30:00
你可以参考c++ library "Eigen"opencv的数学工具底层是用这个
楼主: j0958322080 (Tidus)   2017-12-24 20:40:00
楼上说的那个LIBRARY是独立出来的吗??我找不到耶有找到了,可是好像没有我可以用的
作者: Ommm5566 (56天團)   2017-12-24 21:07:00
不好意思我记错了 cv::Mat::inv()是用SVD实作的831行 https://goo.gl/Sf5hiF
作者: mike0227 (我又小看了那复杂的世界)   2017-12-24 21:32:00
精度问题 用U^-1(L^-1*y)去解 不要算反矩阵还有记得用double
楼主: j0958322080 (Tidus)   2017-12-24 21:41:00
楼上这样不就要算反矩阵了?
作者: s4300026 (s4300026)   2017-12-25 07:30:00
我知道线性代数至少有三种对这个的解法https://tinyurl.com/y9t56pch说错了,是三种方式解QR
作者: johnjohnlin (嗯?)   2017-12-26 13:35:00
Normalize + 正交多项式 + Househould QR

Links booklink

Contact Us: admin [ a t ] ucptt.com