python 多项式拟合和导数

python polynomial fitting and derivatives

我正在尝试重新实现我在论文中读到的方法,但不确定如何执行它的某些方面。它基于最小二乘多项式拟合及其导数。

我的输入数据是这样的:

x = [ 421.25571634  426.25279224  431.24986815  436.24694405  441.24401995
      446.24109586  451.23817176 .............. 621.13875245  626.13582836  
      631.13290426  636.12998016  641.12705606 646.12413197]

y = [ 0.02931459  0.03093554  0.03563261  0.03440331  0.03535223  0.03594375
      0.03639583  ..........  0.0525954   0.05118096  0.05143359  0.05036936    
      0.04952418  0.04774826]

我可以使用以下方法拟合 5 阶最小二乘多项式:

coeffs = numpy.polyfit(x, y, 5)
ffit = numpy.poly1d(coeffs)

并且可以使用 matplotlib 绘制它。

适合 returns 我:

           5             4             3            2
6.267e-12 x - 1.642e-08 x + 1.709e-05 x - 0.008833 x + 2.266 x - 231.1

但是,我想找到它的一阶导数并绘制这条线。有没有 pythonic 方法可以做到这一点?我有很多数据,因此需要尽可能自动化。我了解差异化,但不确定如何在 python.

中做到这一点

您可以使用 fderiv = ffit.deriv()。这将 return 类型 poly1d 的导数。