1

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

我的输入数据是这样的:

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

4

1 回答 1

2

您可以使用fderiv = ffit.deriv(). 这将返回 type 的导数poly1d

于 2016-03-17T23:11:50.033 回答