当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy gradient方法用法及代码示例


Numpy 的 gradient(~) 方法计算给定数据点的梯度,其中梯度定义为 y 的变化相对于 x 的变化。

参数

1. f | array-like

函数输出(y-values)。

2. varargs | scalararray | optional

f 中点对之间的间距。默认情况下,varargs=1

3. edge_order | int | optional

用于边计算的精度顺序。允许的值为 1 和 2。默认情况下为 edge_order=2

4. axis | Noneinttupleint | optional

计算梯度的轴。

返回值

保存数据点梯度的 Numpy 数组。

例子

基本用法

要使用默认值 1 的 step-size 计算梯度:

y = [1,2,4,9,16]
np.gradient(y)



array([1. , 1.5, 3.5, 6. , 7. ])

在幕后,数字的计算方式如下:

(y[1] - y[0]) / 1 = 1.0
(y[2] - y[0]) / 2 = 1.5
(y[3] - y[1]) / 2 = 3.5
(y[4] - y[2]) / 2 = 6.0
(y[4] - y[3]) / 1 = 7.0

请注意,在边界处,仅计算第一个差值。

指定 data-points 之间的间距

我们可以指定自己的 x-values,而不是默认的 step-size 1:

x = [5,10,20,30]
y = [1,2,4,9]
np.gradient(y, x)



array([0.2 , 0.2 , 0.35, 0.5 ])

在幕后,数字的计算方式如下:

(y[1] - y[0]) / (x[1] - x[0]) = 0.2
(y[2] - y[0]) / (x[2] - x[0]) = 0.2
(y[3] - y[1]) / (x[3] - x[1]) = 0.35
(y[3] - y[2]) / (x[3] - x[2]) = 0.5

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | gradient method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。