Numpy 的 gradient(~)
方法计算给定数据点的梯度,其中梯度定义为 y 的变化相对于 x 的变化。
参数
1. f
| array-like
函数输出(y-values)。
2. varargs
| scalar
的array
| optional
f 中点对之间的间距。默认情况下,varargs=1
。
3. edge_order
| int
| optional
用于边计算的精度顺序。允许的值为 1 和 2。默认情况下为 edge_order=2
。
4. axis
| None
或int
或tuple
或int
| 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
相关用法
- Python graphlib.TopologicalSorter用法及代码示例
- Python graphlib.TopologicalSorter.static_order用法及代码示例
- Python graphlib.TopologicalSorter.is_active用法及代码示例
- Python Tableau groups.update用法及代码示例
- Python Tableau groups.delete用法及代码示例
- Python Tableau groups.create用法及代码示例
- Python numpy string greater_equal()用法及代码示例
- Python Tableau groups.remove_user用法及代码示例
- Python Tableau groups.populate_users用法及代码示例
- Python Tableau groups.get用法及代码示例
- Python Tableau groups.create_AD_group用法及代码示例
- Python NumPy greater方法用法及代码示例
- Python Tkinter grid()用法及代码示例
- Python NumPy greater_equal方法用法及代码示例
- Python Tableau groups.add_user用法及代码示例
- Python Django get_language_info用法及代码示例
- Python Pandas get_dummies方法用法及代码示例
- Python PIL getbands() and getextrema()用法及代码示例
- Python PIL getpixel()用法及代码示例
- Python NumPy genfromtxt方法用法及代码示例
- Python getattr()用法及代码示例
- Python OpenCV getTrackbarPos()用法及代码示例
- Python Django get用法及代码示例
- Python NumPy get_printoptions方法用法及代码示例
- Python OpenCV getgaussiankernel()用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | gradient method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。