gpt4 book ai didi

python - numpy.gradient 有什么作用?

转载 作者:IT老高 更新时间:2023-10-28 22:23:58 30 4
gpt4 key购买 nike

所以我知道(数学)函数的梯度是什么,所以我觉得我应该知道 numpy.gradient 做了什么。但我没有。 documentation也不是很有帮助:

Return the gradient of an N-dimensional array.

什么是数组的梯度? numpy.gradient 什么时候有用?

最佳答案

也在文档中1:

>>> y = np.array([1, 2, 4, 7, 11, 16], dtype=np.float)
>>> j = np.gradient(y)
>>> j
array([ 1. , 1.5, 2.5, 3.5, 4.5, 5. ])
  • 梯度定义为(y 的变化)/(x 的变化)。

  • x,这里是列表索引,所以相邻值的差为1。

  • 在边界处,计算第一个差值。这意味着在数组的每一端,给出的梯度很简单,就是最后两个值之间的差值(除以 1)

  • 在远离边界的地方,特定索引的梯度是通过取两边值之间的差值除以 2 得出的。

所以,上面 y 的梯度是这样计算的:

j[0] = (y[1]-y[0])/1 = (2-1)/1  = 1
j[1] = (y[2]-y[0])/2 = (4-1)/2 = 1.5
j[2] = (y[3]-y[1])/2 = (7-2)/2 = 2.5
j[3] = (y[4]-y[2])/2 = (11-4)/2 = 3.5
j[4] = (y[5]-y[3])/2 = (16-7)/2 = 4.5
j[5] = (y[5]-y[4])/1 = (16-11)/1 = 5

例如,您可以在结果数组中找到所有绝对值的最小值,以找到曲线的转折点。


1在文档中的示例中,该数组实际上称为 x,我已将其更改为 y 以避免混淆。

关于python - numpy.gradient 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24633618/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com