Hier ist mein Code:Python: Wie finde ich die Steigung eines mit Matplotlib gezeichneten Graphen?
import matplotlib.pyplot as plt
plt.loglog(length,time,'--')
wo Längen- und Zeitlisten sind.
Wie finde ich die Steigung dieses Graphen?
Hier ist mein Code:Python: Wie finde ich die Steigung eines mit Matplotlib gezeichneten Graphen?
import matplotlib.pyplot as plt
plt.loglog(length,time,'--')
wo Längen- und Zeitlisten sind.
Wie finde ich die Steigung dieses Graphen?
Wenn Sie matplotlib haben, müssen Sie auch numpy installiert haben, da es sich um eine Abhängigkeit handelt. Daher können Sie numpy.polyfit verwenden, um die Steigung zu finden:
import matplotlib.pyplot as plt
import numpy as np
length = np.random.random(10)
length.sort()
time = np.random.random(10)
time.sort()
slope, intercept = np.polyfit(np.log(length), np.log(time), 1)
print(slope)
plt.loglog(length, time, '--')
plt.show()
Das wäre wahr, wenn der Graph eine Linie ist. Falls es sich um eine Kurve handelt und die Steigung sich an verschiedenen Punkten ändert, wird ein Diffrential benötigt. Probieren Sie die Diff-Funktion aus. – whatnick
Können Sie bitte etwas mehr Details über die Funktion geben. – Bruce
@Peter: 'polyfit' (in seiner einfachsten Inkarnation) nimmt 3 Argumente: die' x'-Daten, 'y'-Daten und der Grad des Polynoms. Da Sie nach einer linearen Anpassung suchen, wird der 3. arg auf 1 gesetzt. "Polyfit" gibt dann die Koeffizienten des am besten angepassten Polynoms zurück, was in diesem Fall die Steigung und den y-Achsenabschnitt bedeutet. HTH. – unutbu
Sind Sie an einer linearen Anpassung interessiert? oder in der Steigung an jedem Punkt des Graphen? – EOL
Ich bin an einer linearen Anpassung interessiert. – Bruce