Frage zu polyfit

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
fk08
User
Beiträge: 37
Registriert: Donnerstag 20. März 2008, 13:46

Hallo,

mit polyfit kann man seine daten mit einem polynom n-ten grades anfitten. das klappt auch sehr gut. nun möchte ich aber meine daten z.b nur mit der dritten ordnung fitten. wie geht das mit polyfit? in der funktion polyfit gibt man an: polyfit(x_data,y_data,N), wobei N den grad des polynoms darstellt.

danke und grüße
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Was meinst du mit "dritter Ordnung"? Ist bei mir schon was länger her (mag sein, dass ich im Laufe der Jahre was vergessen habe ...), aber ich verstehe darunter den Grad des Polynoms und wie man den angibt, beschreibst du ja selbst.

Vielleicht kannst du nochmal klarer darstellen, was funktioniert und was du gerne hättest, was aber nicht funktioniert.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Code: Alles auswählen

polyfit(x, y, 3)
siehe auch docstring der Funktion.

HTH
Christian

edit: PS Bei Funktionen, die nicht aus Standardmodulen stammen, solltest Du angeben, aus welchem Paket sie kommen - hier kann es ja nur scipy und mpl sein und da sind die Funktionen identisch, aber so etwas kann auch zu Verwirrung führen.

PPS @numerix: 3. Ordnung eines Polynoms? siehe auch http://de.wikipedia.org/wiki/Polynom
Zuletzt geändert von CM am Freitag 19. September 2008, 15:26, insgesamt 1-mal geändert.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

@CM: So habe ich das auch verstanden, aber wo ist dann das Problem?
fk08 beschreibt die Lösung doch selbst in seinem Post :roll:
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

numerix hat geschrieben:@CM: So habe ich das auch verstanden, aber wo ist dann das Problem?
fk08 beschreibt die Lösung doch selbst in seinem Post :roll:
Stimmt - deswegen war ich ja vor dem edit so kurz. Sorry, wenn der Link jetzt Eulen nach Athen tragen war.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Also jetzt hast du mich völlig verwirrt:

Gestolpert bin ich über die Bezeichnung "dritter Ordnung" im OP. Nach meinem Kenntnisstand haben Polynome einen Grad, aber keine Ordnung (im Wikipedia-Artikel haben Polynome auch keine Ordnung). Ich konnte es nur so deuten, dass "Ordnung" und "Grad" hier synonym verwendet werden, weil sich mir nicht erschließen wollte (und immer noch nicht will), um was für eine "Ordnung" es sich handeln soll, wenn damit NICHT der Grad des Polynoms gemeint sein sollte.

Auch wenn es kein pythonisches Problem ist, wäre nett, wenn du meiner Verwirrung abhelfen könntest.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Oh, da habe ich noch gar nicht drüber nachgedacht, aber ja: Ordnung == Grad. Tut mir leid, ich hänge mit einem Blick über meine Arbeit und gucke ins Forum, wenn meine Software wieder streikt. Sollte man nicht machen ...
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Danke, jetzt ist meine kleine Welt wieder in Ordnung. 8)
fk08
User
Beiträge: 37
Registriert: Donnerstag 20. März 2008, 13:46

Hallo,

dankeschon mal für eure antworten.
1. mit ordnung meine ich grad, sicherlich ist grad der bessere ausdruck
2. mit

Code: Alles auswählen

polyfit(x, y, 3)
werden die daten mit einem polynom gefittet: der form a_0+a_1*x+a_2*x^2
ich möchte aber z.b meine daten nur mit a*x^2 fitten also nur mit dem 3. grad und nicht zusätzlich mit grad 1 und 2.

danke
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Oh, ja das hat wohl niemand aus der Anfrage gelesen. Also da geht scipy.optimize.leastsq. Eine Beispielanwendung findest Du im Cookbook, etwas besser in den online Beispielen und es gibt noch einige weitere Beispiele in den PDFs der Doku. Ggf. geht auch eine andere optimize-Routine.

HTH
Christian
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

fk08 hat geschrieben:werden die daten mit einem polynom gefittet: der form a_0+a_1*x+a_2*x^2
ich möchte aber z.b meine daten nur mit a*x^2 fitten also nur mit dem 3. grad und nicht zusätzlich mit grad 1 und 2.
In deinem Beispiel ist es ein Polynom 2. Grades - der Exponent der höchsten Potenz von x gibt den Grad an.
Was du meinst ist ein Polynom 2. Grades, bei dem alle weiteren Koeffizienten Null sind.
fk08
User
Beiträge: 37
Registriert: Donnerstag 20. März 2008, 13:46

ja, stimmt....

danke für die Hilfe, werde mir die Cookbook Sachen anschauen.
Antworten