Grad-Kurve mit numpy / scipy

8

Ich habe eine sehr spezifische Anforderung für die Interpolation nichtlinearer Daten unter Verwendung eines Polynoms 6. Grades. Ich habe numpy / scipy Routinen (scipy.interpolate.InterpolatedUnivariateSpline) gesehen, die Interpolation nur bis zu Grad 5 erlauben.

Auch wenn es keine direkte Funktion dafür gibt, gibt es eine Möglichkeit, den linearen Regressions-Algorithmus von LEGEST in Python zu replizieren? RGP erlaubt Kurvenanpassung 6. Grades, aber ich möchte NICHT Excel für irgendetwas verwenden, da diese Berechnung Teil eines viel größeren Python-Skripts ist.

Jede Hilfe wäre willkommen!

    
prrao 13.04.2012, 14:54
quelle

2 Antworten

7

Verwenden Sie die numpys-Polyfit-Routine.

Ссылка

    
tillsten 13.04.2012, 15:24
quelle
17

Sie können scipy.optimize.curve_fit verwenden, um zu jeder Funktion zu passen möchte (im Rahmen des Zumutbaren) auf Ihre Daten zugreifen. Die Signatur dieser Funktion ist

%Vor%

und verwendet nichtlineare Kleinste-Quadrate-Anpassung, um eine Funktion f an die Daten ydata(xdata) anzupassen. In deinem Fall würde ich etwas versuchen wie:

%Vor%

was Ihnen etwas geben sollte wie:

    
Chris 13.04.2012 15:16
quelle