作者j0958322080 (Tidus)
看板C_and_CPP
標題[問題] 解最小平方法的問題 Ax~b
時間Sun Dec 24 20:26:10 2017
※ 引述《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
--
!!!!!!!!!!!!!簽名檔破530000點擊率啦!!!!!!!!!!!!!!!
Fw: [問卦] 電影:決勝21點的機率問題
https://goo.gl/2BpbB7 #1MfN3FgZ (joke)
1F:→ yeebon: chx64的1/2悖論真的很經典呢07/22 16:41
!!!!!!!!!!!!!!簽名檔破530000點擊率啦!!!!!!!!!!!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.12.106.151
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1514118374.A.D1E.html
※ j0958322080:轉錄至看板 Prob_Solve 12/24 20:26
2F:推 Ommm5566: 你可以參考c++ library "Eigen" 12/24 20:30
3F:→ Ommm5566: opencv的數學工具底層是用這個 12/24 20:31
4F:→ j0958322080: 樓上說的那個LIBRARY是獨立出來的嗎??我找不到耶 12/24 20:40
5F:→ j0958322080: 有找到了,可是好像沒有我可以用的 12/24 20:46
6F:推 Ommm5566: 不好意思我記錯了 cv::Mat::inv()是用SVD實作的 12/24 21:07
8F:推 mike0227: 精度問題 用U^-1(L^-1*y)去解 不要算反矩陣 12/24 21:32
9F:→ mike0227: 還有記得用double 12/24 21:32
10F:→ j0958322080: 樓上這樣不就要算反矩陣了? 12/24 21:41
11F:推 s4300026: 我知道線性代數至少有三種對這個的解法 12/25 07:30
13F:→ s4300026: 說錯了,是三種方式解QR 12/25 07:36
14F:推 johnjohnlin: Normalize + 正交多項式 + Househould QR 12/26 13:35