我想知道 numpy 或 scipy 的库中是否有一种方法可以查找具有非均匀间距的值列表的数值导数。这个想法是输入与值相对应的时间戳,然后使用时间戳来查找数值导数。
您可以使用 numpy 创建自己的函数。对于使用前向差异的导数(感谢@EOL进行编辑,但请注意NumPy's diff()
不是微分函数):
def diff_fwd(x, y):
return np.diff(y)/np.diff(x)
“中心”差异(不一定是中心,取决于您的数据间距):
def diff_central(x, y):
x0 = x[:-2]
x1 = x[1:-1]
x2 = x[2:]
y0 = y[:-2]
y1 = y[1:-1]
y2 = y[2:]
f = (x2 - x1)/(x2 - x0)
return (1-f)*(y2 - y1)/(x2 - x1) + f*(y1 - y0)/(x1 - x0)
where y
包含函数评估和x
相应的“时间”,这样您就可以使用任意间隔。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)