我爱编程

NumPy的梯度函数

2017-11-06  本文已影响0人  夏天才爱睡觉
函数 说明
np.gradient(f) 计算数组f中元素的梯度,当f为多维时,返回每个维度梯度

梯度:连续值之间的变化率,即斜率
XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是: (c‐a)/2

In [144]: a=np.random.randint(0,20,(5))

In [145]: a
Out[145]: array([ 2,  8, 15, 13, 15])

In [146]: np.gradient(a)
Out[146]: array([ 6. ,  6.5,  2.5,  0. ,  2. ]) #有两侧值,两边值相减/2;只有一侧值,后面的减前面的/1
In [147]: c=np.random.randint(0,50,(3,5))

In [148]: c
Out[148]: 
array([[ 6, 21, 42, 22, 11],
       [48, 12, 28, 32, 49],
       [15, 44, 40, 42, 45]])

In [149]: np.gradient(c)
Out[149]: 
[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. ]])]  #第二层维度的梯度
上一篇 下一篇

猜你喜欢

热点阅读