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向量的方法。

除了计算 SVD 之外,在这个库中是否有更直接的算法可以解决最小二乘意义上的系统(同样,除了 SVD 或使用朴素公inv(transpose(A)*A)*transpose(A)*b式解决 A 不是平方的一般最小二乘问题矩阵?

4

1 回答 1

1

通过一些仔细的文档浏览找到了答案:

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

该文档指出奇异值阈值是一个钳位阈值,它将 SVD 分解 S 矩阵中的任何奇异值设置0为该值是否低于它。因此它应该是 0 到 1 之间的标量。

希望它也会对其他人有所帮助。

于 2013-05-18T14:05:01.807 回答