NumPy的梯度函数
感谢作者的原创内容:ttps://www.jianshu.com/p/0b7ae131ed29
np.gradient(f)
:计算数组f中元素的梯度,当f为多维时,返回每个维度的梯度。
梯度:连续值之间的变化率,即斜率。例如:XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是(c-a)/2。
示例1:
import numpy as np
a=np.array([ 2, 8, 15, 13, 15])
#有两侧值,两边值相减/2;只有一侧值,后面的减前面的/1
print(np.gradient(a) )
[ 6. 6.5 2.5 0. 2. ]
示例2:
c=np.random.randint(0,50,(3,5))
np.gradient(c)
[array([[ 42. , -9. , -14. , 10. , 38. ],
[ 4.5, 11.5, -1. , 10. , 17. ],
[-33. , 32. , 12. , 10. , -4. ]]), #最外层维度的梯度
array([[ 15. , 18. , 0.5, -15.5, -11. ],
[-36. , -10. , 10. , 10.5, 17. ],
[ 29. , 12.5, -1. , 2.5, 3. ]])] #第二层维度的梯度