LabVIEWForum.de - Probleme mit nichtlinearem fit

LabVIEWForum.de

Normale Version: Probleme mit nichtlinearem fit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo kirsch,

ich habe mir mal angeschaut, mit welcher Formel du da fitten willst: Mit etwas elementarer Mathematik (bei der mir hoffentlich kein Fehler unterlaufen ist) läßt sich das Ganze auf einen einfachen PolynomFit 2.Ordnung reduzieren. Vergleiche den mal mit GnuPlot - bzw. gebe uns mal diese Vergleichswerte...
Nein, das funktioniert auch nicht. Labview fittet da totalen Unsinn. Ich habe mal zum vergleich den Gnuplot-Fit beigefügt. Den außerdem in das Bild geplotteten Labview-Fit kann man hier nicht sehen, weil er so katastrophal danabenen liegt, dass er nicht mal ansatzweise einen ähnlichen Verlauf wie m(x) aufweist. Davon mal abgesehen sind die Fitparameter so schlecht, dass man sie nichtmal sinnvoll in a,b zurückrechnen kann, weil die Werte dann nicht konsistent sind (man hat ja drei Gleichungen für a,b).
Zum Vergleich die Fitparameter wie sie Gnuplot und wie sie der nichtlineare Fit (also nicht der von GerdW sondern der aus meinem vi) ausgibt:

Gnuplot: a=1179, b=221
labview: a=128, b=129

Ich habe außerdem mal meine aktuelle Version des vis angehängt.
Hallo kirsch,

so sehen die Werte aus, die du uns bisher genannt hast:
[attachment=35153]
So gut wie linear - kein Wunder, dass ein so kleiner quadratischer Term ermittelt wird.

Jetzt zeigst du uns noch den GnuPlot - und offenbarst eine bisher ungenannte Nebenbedingung: dein Fit soll durch 0/0 gehen!
Das sieht dann so aus:
[attachment=35154]
Und du beschwerst dich über "schlechte" Fits bei den Daten?

Edit: Ups: X- und Y waren wohl schon bei deinem VI vertauscht...
(09.08.2011 12:17 )kirsch schrieb: [ -> ]Nein, das funktioniert auch nicht. Labview fittet da totalen Unsinn.

Das liegt aber doch nicht an Labview, sondern daran, daß die Formel, die Du den Daten aufzwingst, in Bezug auf Deine Daten der "totale Unsinn" ist.

Gerd hat die Daten mit einem Polynom gefittet, das gefittetes Polynom lautet:
Y = 3100 + 110*x - 0.2234*x²

Bei Deiner Gleichung Y = ((x-b)/a)²

gibt es nur 2 Parameter, und eine negative zweite Ableitung (negative Krümmung), wie sie Deine Daten tatsächlich haben, ist damit gar nicht darstellbar.

Wie kommt Du bloß auf diese Formel, die doch gar nicht zu den Daten passt.
Gerd hat schlauerweise die Umrechnung der Parameter p1,p2,p3 in die eigentlich interessierenden Parameter a,b gar nicht gemacht - das ist nämlich wegen negativer Quadratwurzel überhaupt nicht möglich.
Das ist keine Nebenbedingung, sondern kommt bei Gnuplot automatisch so raus. Ich habe nur die 7 Punkte für den Fit verwendet, die in dem VI auch vorkommen. Ist jetzt aber auch egal, denn mittlerweile (ich habe die Startwerte für a,b ganz nah an denen von Gnuplot gewählt) liefert mein nichtlinearer Fit die gleichen Ergebnisse wie Gnuplot (undzwar ohne die Nebenbendingung).
Danke für die Mühe!

Edit: Gerdw hat vor allem x und y-Werte vertauscht. In diesem Fall müsste die Formel ja a*sqrt(x)+b lauten. Sieht man im Übrigen auch an meinem Gnuplotfit und war in meinem VI auch so einsehbar (und eigentlich auch in Gerdws, denn mit "Stellen" sind immer die x-Werte gemeint).
Hallo kirsch,

dann vergleiche jetzt mal bitte die GNU- und die LV-Werte lt. Anhang...
Ja, passt wunderbar, tut es bei mir mit dem nichtlinearen Fit aber jetzt ja auch Wink

Aber gut, dass ich in dem VI auch gleich mal einsehen konnte, wie man in Labview am besten nen Graphen plottet. Das hat mich nämlich auch interessiert. Danke dafür! Smile
Seiten: 1 2
Referenz-URLs