是否可以在相距多个元素的两个点之间获取梯度?
一个简单的数组:
f = np.array([4,5,8,1,5,3,2,5])
我想编程以下内容:
在边界处:
np.gradient
使用的一侧
边界值旁边的值:
np.gradient
用于内部点的中心差异
对于内点
((i-2)-(i+2))/4
生成的数组:
f_res = np.array([1,2,0.25,-0.5,-1.5,1,1,3])
np.gradient 的文档:numpy.gradient
您可以轻松地手动计算:
N = 2
out = np.gradient(f)
out[N:-N] = (f[2*N:]-f[:-2*N])/4
输出:
array([ 1. , 2. , 0.25, -0.5 , -1.5 , 1. , 1. , 3. ])