Das Array, das die numpy.gradient
-Funktion zurückgibt, hängt von der Anzahl der Datenpunkte/Abstände der Datenpunkte ab. Ist das erwartetes Verhalten? Zum Beispiel:numpy Gradientenfunktion und numerische Ableitungen
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')
gibt die Handlung zurück.
Nur der Gradient von y (x1) gibt das korrekte Ergebnis zurück. Was geht hier vor sich? Gibt es eine bessere Möglichkeit, die numerische Ableitung mit numpy zu berechnen?
Prost
Ehrfürchtig, danke pabaldonedo. Ich habe gesehen, dass im Handbuch, aber "Probenabstand" mir eine ungewohnte Terminologie war. Eine letzte Frage - was ist, wenn die Probenentfernung nicht gleichmäßig ist? Es gibt nichts im Handbuch. – user1654183
Wenn die Entfernung nicht gleich ist, müssen Sie sie manuell berechnen. – pabaldonedo
@ user1654183 Ich habe meine Antwort bearbeitet, um eine mögliche Lösung für den Fall aufzunehmen, wenn die Probenentfernung nicht gleichmäßig ist. – pabaldonedo