我想知道numpy还是scipy在他们的库中是否有一种方法来查找具有不均匀间距的值列表的数值导数。想法是输入与值对应的时间戳,然后使用时间戳查找数字导数。
您可以使用numpy创建自己的函数。对于使用正向差异的导数(感谢@EOL,但请注意,NumPydiff()
不是微分函数):
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)
其中y
包含函数求值和x
相应的“时间”,以便您可以使用任意间隔。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句