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. ]])]  #第二层维度的梯度

results matching ""

    No results matching ""