我正在尝试重新实现我在论文中读过的一种方法,但不确定如何执行它的某些方面。它基于最小二乘多项式拟合及其导数。
我的输入数据是这样的:
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 中做到这一点。