[問題] 解最小平方法的問題 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