2013-05-18 29 views
0

我有一個有點複雜的算法,需要將二次曲線擬合成一組點。該二次曲線由其參數化(u, v, f(u,v))給出,其中f(u,v) = au^2+bv^2+cuv+du+ev+ff(u,v)函數的係數需要被找到,因爲我有一套正好6個約束這個函數應該服從。問題是,這套限制雖然產生了一個問題,如A*x = b,但並不完全適合保證獨特的解決方案。因此,爲了簡化它,我想使用alglib的設施來確定A的僞逆或者直接找到最適合於x向量的設備。Alglib:在最小二乘意義上求解A * x = b

除了計算SVD,還有一個更直接的算法實現在這個庫中,可以解決一個系統在最小二乘意義(再次,除了SVD或使用天真的inv(transpose(A)*A)*transpose(A)*b公式的一般最小二乘問題A不是一個方陣

回答

1

發現通過一些細緻的文檔瀏覽答案:

rmatrixsolvels(A, noRows, noCols, b, singularValueThreshold, info, solverReport, x) 

的文檔指出奇異值閾值是鉗位閾值從SVD分解S矩陣設置任何奇異值到0如果這個價值e低於它。因此它應該是0和1之間的標量。

希望它也能幫助其他人。