2015-04-22 62 views

回答

3

你想象得那么输出什么是运行时np.diff你会得到什么,但随后一个元素短:

np.diff(arr) 
>>> array([ 1., 2., 3., 4., 5.]) 

np.gradient容貌取第i个元素,并着眼于为(i+1)的差异之间的平均'th与i'元素以及(i-1)'元素与i'元素。对于边缘值,它只能使用一个点。所以第二个数值1.5来自平均值(2-1)(4-2)

3

Numpy-gradient在适当的地方使用向前,向后和中心差异。

> > > X = np.array([1,2,4,7,11,16],D型细胞= np.float)

> > > np.gradient(x)的#用途默认距离= 1门

阵列([1,1.5,2.5,3.5,4.5,5.])


对于第一项,它使用前向差分:对于最后一个项目,它使用后向差异:
(16 - 11)/ 1 = 5.
而且,对于中间的项目,应用中心差异:
(4 - 1)/ 2 = 1.5
(7 - 2)/ 2 = 2.5
(11 - 4)/ 2 = 3.5
(16 - 7)/ 2 = 4.5
的差别是除以前向和后向差异的样本距离,而是中心差异的两倍距离以获得适当的梯度。

+1

为什么没有人像你这样解释这个 –