cupy.gradient#

cupy.gradient(f, *varargs, axis=None, edge_order=1)[source]#

返回 N 维数组的梯度。

梯度使用内点处的二阶中心差分以及边界处的一阶或二阶单边(前向或后向)差分计算。因此,返回的梯度与输入数组具有相同的形状。

参数:
  • f (cupy.ndarray) – 一个包含标量函数样本的 N 维数组。

  • varargs (list of scalar or array, optional) –

    f 值之间的间距。所有维度默认为单位间距。可以使用以下方式指定间距

    1. 单个标量,用于指定所有维度的采样距离。

    2. N 个标量,用于指定每个维度的常数采样距离。即 dx, dy, dz, …

    3. N 个数组,用于指定 F 沿每个维度的值的坐标。数组的长度必须与对应维度的大小匹配

    4. N 个标量/数组的任意组合,其含义如 2 和 3 所述。

    如果指定了 axisvarargs 的数量必须等于轴的数量。默认值: 1。

  • edge_order ({1, 2}, optional) – 梯度使用边界处的 N 阶精确差分计算。默认值: 1。

  • axis (None or int or tuple of ints, optional) – 梯度仅沿给定的轴或多个轴计算。默认值 (axis = None) 是计算输入数组所有轴的梯度。axis 可以是负数,在这种情况下它从最后一个轴到第一个轴计数。

返回值:

一组 ndarrays(如果只有一个维度,则为单个 ndarray),对应于 f 相对于每个维度的导数。每个导数与 f 具有相同的形状。

返回类型:

gradient (cupy.ndarray or list of cupy.ndarray)

另请参阅

numpy.gradient()