我正在努力计算numpy中数组的二阶梯度。numpy中的二阶梯度
a = np.sin(np.arange(0, 10, .01))
da = np.gradient(a)
dda = np.gradient(da)
这就是我想到的。它应该怎样完成?
我在问这个问题,因为在numpy中没有选项说np.gradient(a,order = 2)。我担心这种用法是否是错误的,这就是numpy没有实现的原因。
PS1:我知道有np.diff(a,2)。但这只是单方面的估计,所以我很好奇np.gradient为什么没有类似的关键字。
PS2:np.sin()是玩具数据 - 真实数据没有分析形式。
谢谢!
您可以使用卷积与高斯内核的二阶导数:http://stackoverflow.com/a/18993405/1730674 – askewchan