python多项式拟合和导数

时间:2016-03-17 23:01:10

标签: python polynomial-math differentiation

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

我的输入数据如下:

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绘制它。

ffit给我回复:

           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中做到这一点。

1 个答案:

答案 0 :(得分:1)

您可以使用fderiv = ffit.deriv()。这将返回poly1d类型的衍生物。