我有 n 个点 (x0,y0),(x1,y1)...(xn,yn)。n 很小 (10-20)。我想用一个低阶 (3-4) 多项式拟合这些点:P(x)=a0+a1*x+a2*x^2+a3*x^3。
我已经使用最小二乘法作为误差度量来实现这一点,即最小化 f=(p0-y0)^2+(p1-y1)^2+...+(pn-yn)^2。我的解决方案是利用奇异值分解 (SVD)。
现在我想使用 L1 范数(绝对值距离)作为误差度量,即最小化 f=|p0-y0|+|p1-y1|+...+|pn-yn|。
是否有任何库(最好是开源的)可以做到这一点,并且可以从 C++ 调用?是否有任何可用的源代码可以快速修改以满足我的需要?