numpy gradient de la fonction numérique et de produits dérivés

La matrice de la numpy.gradient fonction renvoie dépend du nombre de points de mesure/de l'espacement des points de mesure. Est-ce un comportement attendu? Par exemple:

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')

renvoie la numpy gradient de la fonction numérique et de produits dérivés de la parcelle.

Seulement le gradient de y(x1) renvoie le résultat correct. Ce qui se passe ici? Est-il une meilleure façon de calculer le nombre dérivé à l'aide de numpy?

Acclamations

OriginalL'auteur user1654183 | 2013-08-28