如何使用numpy.gradient工作左右差异?

时间:2011-09-09 10:44:28

标签: python numpy

如何使用numpy.gradient左右工作。它默认用于中央差异。

非常感谢。

1 个答案:

答案 0 :(得分:2)

替换:

    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