numpy - 如何解释 numpy.gradient?

标签 numpy

在文档的第一个示例中
http://docs.scipy.org/doc/numpy/reference/generated/numpy.gradient.html

x = np.array([1, 2, 4, 7, 11, 16], dtype=np.float)
np.gradient(x)
array([ 1. ,  1.5,  2.5,  3.5,  4.5,  5. ])

输出不应该是:
array([ 1. ,  1.,  2.,  3.,  4.,  5. ])

???

最佳答案

Numpy-gradient 使用 forward , backward , 和 central适当的差异。

输入:

x = np.array([1, 2, 4, 7, 11, 16], dtype=np.float)
np.gradient(x)      # this uses default distance=1

输出:

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



对于第一项,它使用前向差异:
(2 - 1)/1 = 1。
对于最后一项,它使用向后差异:
(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),但两倍于中心差异的距离以获得适当的梯度。

关于numpy - 如何解释 numpy.gradient?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29785840/

相关文章:

python - Numpy 将整数数组保存为 float 组

python - 迭代存储索引的嵌套数组

python - 计算 pandas 中的高低

python - 全局数组——不需要 "global"语句

python - 加速numpy中的数组分析

python - 尝试使用 scipy 拟合学生 t 分布时出现异常

python - 在 numpy 数组中传播最大值

Python-np.random.choice

python - matplotlib.scatter() 不能在 Python 3.6 上使用 Numpy

Python Numpy Matplotlib 设置 Y 标签内联