Sie sind hier: Numerik > Interpolationsaufgaben > Newtonsche Interpolationsformel

Newtonsche Interpolationsformel

Donnerstag 13. Dezember 2007 von
Simon Praetorius
In einem anderen Artikel habe ich die Interpolation nach dem Verfahren von Neville-Aitken betrachtet. Es wird verwendet, wenn man das Interpolations-Polynom nur an wenigen Stellen auswerten will. Benötigt man allerdings die Auswertung an vielen Stellen, empfiehlt es sich einen anderen Ansatz zu wählen.
Ein Polynom, das in der Newtonschen Darstellung gegeben ist, kann schnell mittels modifiziertem Hornerschema ausgewertet werden. Die Newtonschen Darstellung sieht folgendermaßen aus:
p(x) = c0 + c1(x - x0) + c2(x - x0)(x - x1) + ... + cn(x - x0)(x - x1)...(x - xn-1) =
n
i=0
(ci
i-1
j=0
(x - xj))
Zur Berechnung der ci werden sogenannte Dividiert Differenzen benutzt:
f[xk] := fk
f[xk,xk+j] :=
f[xk+1,xk+j] - f[xk,xk+j-1]
xk+j - xk
Die ci ergeben sich dann als c0 = f[x0], ci = f[x0, xi]. Diese Koeffizienten kann man sehr gut in einem Tabellenschema darstellen und damit auch berechnen:

Die Methode der Dividierten Differenzen zur Berechnung der ci wird auch als Steigungsschema bezeichnet. In Matlab sieht der Algorithmus dann wie folgt aus:
matlab Code
  • function c = koeffizienten(f,s)
  • % Steigungsschema zur Berechnung der Koeffizienten c_i
  • c = f(s);
  • n = length(s);
  • for(i=2:n)
  • for(k=n:-1:i)
  • c(k) = (c(k)-c(k-1)) / (s(k)-s(k-i+1));
  • end
  • end
  • end
  •  
  • function y = polynom(x,s,c)
  • % Auswertung des Polynoms mit den Koeffizienten c_i durch modifiziertes Hornerschema
  • y = c(n);
  • for(k=n-1:-1:1)
  • y = c(k)+(x-s(k)).*y;
  • end
  • end
Besucher: 21295 | Permalink | Kategorie: Numerik
Tags: , ,

Kommentar hinzufügen

Dieses Feld bitten nicht ausfüllen: