Newtoninterpolation
-
Moin
Kann mir jemand einen tipp geben oder einen quelltext zur Newtoninterpolation, da ich diese in c++ programmieren muss und leider nicht weis wie ich dies machen soll bzw wo ich anfangen soll
-
Du wirst doch sicher ne Aufgabenanleitung dazu bekommen haben, oder!? Wie sieht die aus?
Das einzige, was ich dazu gefunden habe ist:
http://hal.iwr.uni-heidelberg.de/lehre/inf1-ws02/html/node88.html
http://hal.iwr.uni-heidelberg.de/lehre/inf1-ws02/uebungen/node11.html#SECTION000111000000000000000edit:
Und das:
http://www.mathe-online.at/materialien/Andreas.Pester/files/applets/Interpolation/
-
Suche unter google nach "Newton Interpolation" und Du wirst reichlich fündig - z.B. hier oder hier
In C++ würde ich Dir empfehlen eine Klasse NewtonPolynom zu definieren, die eine Methode add( double xi, double f_von_xi ) zum Hinzufügen der Stützpunkte hat und eine Methode double operator()( double x ) zum Abfragen von f(x).Die Steigung - also den ci-Wert für den letzten Stützpunkt - kannst Du nach jedem add neu berechnen. Das geht ja sehr schön rekursiv - mache Die eine Methode steigung( int i0, int in ), die bei Gleichheit von i0 und in den Funktionswert f[i0] zurückgibt und sonst den Wert nach der Rekursions-Formel
( steigung( i0 + 1, in ) - steigung( i0, in - 1 ) ) / ( x[ in ] - x[ i0 ] )bestimmt und sich selbst wieder aufruft.
Bei der Berechnung des Funktions-Wertes solltest Du das Horner-Schema benutzen, indem Du mit den zuletzt berechneten ci-Wert beginnst.
Dann ist das ganze mit ziemlich wenig Code zu machen.
Gruß
Werner
-
wie kann ich dieses polynom in c++ schreiben bekomme es enfach net hin
P
n(x)=f[x0] + (x - x0)f[x0, x1] + (x - x0)(x -x1)f[x0, x1, x2] + ...
+(x -x0)(x - x1) ...(x - xn-1)f[x0, x1, ..., xn]
wäre net wenn mir jemadn helfen könnte
-
bitte ich hoffe auf schnelle hilfe
-
Du kannst ja mal hier reinschauen. Da wird das Thema Newton für Polynome auch behandelt.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-143116-and-start-is-50.html
-
bla45 schrieb:
wie kann ich dieses polynom in c++ schreiben bekomme es enfach net hin
Was hast Du denn schon? Kannst Du eine Klasse anlegen; erstmal mit zwei Methoden, so wie ich es oben beschrieben habe. Die Methoden können ja zunächst leer sein.
Hast Du das Verfahren 'Newton Interpolation' an sich verstanden?Braunstein schrieb:
Du kannst ja mal hier reinschauen. Da wird das Thema Newton für Polynome auch behandelt.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-143116-and-start-is-50.htmlDort geht es um das Newton-Verfahren. Die Newton-Interpolation, die bla45 meint, ist etwas anderes - (siehe die Links in meinem ersten Posting)
bla45 schrieb:
bitte ich hoffe auf schnelle hilfe
.. ich kann normal nur am Abend. Es würde die Sache beschleunigen, wenn Du konkreter mit Deiner Fragestellung wirst; siehe meine Fragen an Dich oben.
Gruß
Werner
-
Das hab ich dann wohl verwechselt. Mir war der Begriff NewtonInterpolation nicht geläufig. Bei mir hieß sowas immer nur Polynominterpolation weswegen ich an die Iteration dachte.