Hallo Herr Dolhaine,
die Genauigkeit der Interpolation hängt von der Anzahl der Stützstellen
ab, als Interpolations Variante würde ich Ihnen die Lagrange
Interpolation oder die Spline Interpolation vorschlagen. Die Lagrange
Interpolation kann auch auf Stützstellen aufgebaut werden, die nicht im
gleichen Abstand zueinander liegen... folgendermaßen kann man es
Implementieren und erreicht dabei sogar eine sehr schnelle
Interpolation. Die Ableitungsstellen befinden sich dabei in der Mitte
von zwei Stützstellen.
1) Aufstellen des Lagrange Interpolations Polynoms, z.b. 4 Stützstellen
(Numerische Mathematik 1, Stoer)
2) Ableiten des Polynoms
3) Einsetzen der X-Abtastpunkte
4) Separieren nach y1, dann nach y2 usw.
5) Einsetzen von x=0
Ergebnis sind Koeffizienten für die gegebenen Y-Werte, die
Multipliziert mit Ihnen und Aufaddiert miteinander, den abgeleiteten
Y-Wert an der Stelle x=0 ergibt. Diese Vorgehensweise funktioniert
selbst dann, wenn die Abstände nicht äquidistant zueinander sind,
allerdings erweitert jede Unregelmäßigkeit die Anzahl der Stencils
(Benennung aller Koeffizienten für eine bestimmte Ableitungsstelle).
Die Vorgehensweise bei der Spline Interpolation ist ähnlich, allerdings
erhalten sie ein kubisches Polynom (pro Ableitungsstelle, wenn die
Abstände nicht wieder äquidistant zueinander sind), wenn sie als Ansatz
ein Polynom vierter Ordnung wählen, der Verlauf der Interpolation ist
aufgrund der Definition des Splines glatt und ist an der Stelle stetig
und differenzierbar. Schwierigkeiten bei der Interpolation (Ordnung
höher als 2) wird es stets am Anfang bzw. am Ende geben, weil dann die
Ordnung der Interpolation stets nicht größer als zwei sein kann, da ja
nur zwei Stützstellen zu Verfügung stehen... abhilfe schafft hier, wenn
man die Liste entsprechend erweitert.
Mit freundlichen Grüßen
Winfried Bilgic
On Montag, September 1, 2003, at 10:03 Uhr, Hans.Dolhaine@XXX wrote:
Guten Morgen allerseits,
wer kennt sich aus mit Interpolation?
Ich habe eine Reihe experimenteller Daten data und kann mit
f1= Interpolation[ data]
wunderbar eine Funktion kreieren, die durch die Punkte geht.
Das ist aber nicht das, was ich will. Ich suche eine Funktion, die die
Ableitung der durch die Messwerte beschriebenen Funktion (die ist
unbekannt) möglichst gut approximiert.
Das ist siche nicht die Ableitung von f1.
f2= Derivative[1][f1]
weist Sprünge und Zacken auf und ist somit alles andere als glatt, was
von
der gesuchten Ableitung aber erwartet wird.
Weiss jemand Rat?
Hans Dolhaine