受约束的np.polyfit

gan*_*ddy 5 numpy constraints

我试图将二次方拟合到一些实验数据并在numpy中使用polyfit.我希望得到一个凹曲线,因此想要确保二次项的系数是负的,而且拟合本身也是加权的,因为在点上有一些权重.有一个简单的方法吗?谢谢.

jka*_*den 3

此处描述了权重的使用(numpy.polyfit)。基本上,您需要一个与 x 和 y 长度相同的权重向量。

为了避免系数中的错误符号,您可以使用拟合函数定义,例如

def fitfunc(x,a,b,c):
    return -1 * abs(a) * x**2 + b * x + c 
Run Code Online (Sandbox Code Playgroud)

这将始终为您提供 x**2 的负系数。