首页 文章

python多项式拟合和导数

提问于
浏览
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中做到这一点 .

1 回答

  • 1

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

相关问题