如何平滑函数的导数?

How to Smooth out a derivative of a function?

我有一个由 x 和 y 数组组成的数据集,绘制为 f(x)=y 当我计算 f(x) 的导数时,我得到了一个有噪声的导数,如附图所示。 如何使用 python?

使其平滑

一般来说,它们似乎是平滑数据的不同方法。这个 post 看起来有类似的问题:Gradient in noisy data, python

其中一个答案使用 scipy 中的函数 splev 和 splerp 来平滑曲线。这是回复: 以下是看起来相关的代码行:

from scipy.interpolate import splrep, splev
f = splrep(x, noisy_data, k=5, s=3)
plt.plot(x, splev(x,f), label="fitted")

x 似乎是域的范围,noisy_data 输出 (y) 和 k 和 s 是影响平滑的可选参数。这是相关文档:https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.splrep.html