函数返回的数组numpy.gradient
取决于数据点的数量/数据点的间距。这是预期的行为吗?例如:
y = lambda x: x
x1 = np.arange(0,10,1)
x2 = np.arange(0,10,0.1)
x3 = np.arange(0,10,0.01)
plt.plot(x1,np.gradient(y(x1)),'r--o')
plt.plot(x2,np.gradient(y(x2)),'b--o')
plt.plot(x3,np.gradient(y(x3)),'g--o')
返回情节。
只有 y(x1) 的梯度返回正确的结果。这里发生了什么?有没有更好的方法来使用 numpy 计算数值导数?
干杯