2010-02-11 3 views

Antwort

19

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() 
+0

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

+0

Können Sie bitte etwas mehr Details über die Funktion geben. – Bruce

+3

@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

Verwandte Themen