Заменить:
slice1[axis] = slice(1, -1)
slice2[axis] = slice(2, None)
slice3[axis] = slice(None, -2)
# 1D equivalent -- out[1:-1] = (f[2:] - f[:-2])/2.0
На:
slice1[axis] = slice(1, -1)
slice2[axis] = slice(1, -1)
slice3[axis] = slice(None, -2)
# 1D equivalent -- out[1:-1] = (f[1:-1] - f[:-2])
для левых различий и на:
slice1[axis] = slice(1, -1)
slice2[axis] = slice(2, None)
slice3[axis] = slice(1, -1)
# 1D equivalent -- out[1:-1] = (f[2:] - f[1:-1])
для правых в функции numpy.gradient()
,И уберите /2.0
в утверждении:
out[slice1] = (f[slice2] - f[slice3])/2.0