[WS] Extrapolation

Neue Frage »

tigerbine Auf diesen Beitrag antworten »
[WS] Extrapolation
Gliederung


  1. Allgemeine Idee (Richardson Extrapolation)

  2. Neville-Schema

  3. Romberg-Integration mit Trapezregel

  4. Differenzieren mit h-Methode - Teil 1

  5. Differenzieren mit der h-Methode - Teil 2

  6. L'Hospital


tigerbine Auf diesen Beitrag antworten »
Allgemeine Idee (Richardson Extrapolation)
Gegeben ist ein zu berechnender Wert einer Funktion. Nennen wir in Allgemein F. Das kann zum Beispiel ein bestimmes Integral sein. In Abhängigkeit von der Schrittweite h haben wir eine Näherungsformel .


Nun treffen wir die Annahme, dass der Fehler eine bestimmte Gestalt hat.



Dabei habe diese Formel die Ordnung k1, d.h. wir können den Approximationsfehler mit beziffern (Erläuterung,). Dabei steht dies verkürzend für eine Summe vonTermen der Ordnung und höher. (Siehe PDF im Anhang.)


Nun nehmen wir eine zweite Formel, mit der halben Schrittweite

(*)


Aus diesen beiden konstruiert man nun eine neue Formel.




Welche Ordnung die neue Formel?



Hier können wir nun den Approximationsfehler mit beziffern, die Formel hat also in obigem Sinne eine höherer Ordnung.


Was bedeutet dies?

Wählen wir als konkretes Beispiel und . Der Approximationsfehler der ersten Formel hat dann die Größenordnung , das bedeutet, halbiert man h, so viertelt sich der maximale Fehler dieses Verfahrens. Die durch den Quotienten gewonne Formel leistet, da ihr Approximationsfehler von der Größe bei der Halbierung von h schon eine Sechzehntelung.



Wie kann man es nutzen?

Da es nicht immer möglich ist, die benötigte Schrittweite h a priori zu bestimmen, wird man sich bei der Umsetzung von Verfahren für ein Abbruch Kriterium entscheiden müssen. Welche Möglichkeiten bieten sich einem? Zunächst einmal könnte man mit einer Schrittweite h begonnen, den Wert der Näherung einer Prüfung unterziehen und falls sie nicht bestanden wird, die Berechnung mit der halbierten Schrittweite wiederholen, so lange bis die Abbruchbedingung erfüllt ist.

Sollte der Algorithmus nicht schon direkt für erst gewähltes h abbrechen, so wird man sicher zunächst einen zweiten Durchlauf starten. Wenn immer noch nicht abgebrochen wird, so bietet uns obige Formel (*) aus den bereits vorhandenen Daten (sofern man sie gespeichert hat) mit geringem Aufwand eine bessere Approximation zu bestimmen.

Diese Idee kann man in einem Dreiecksschema umsetzten und wir werden im folgenden den Bezug zum Neville-Schema, welches im [WS] Polynominterpolation-Theorie vorgestellt wird aufzeigen.
tigerbine Auf diesen Beitrag antworten »
Neville Schema
Wie hängen nun die obige Formel und die im Nevilleschema verwendete Formel zusammen? Zunächst bestimmt man sich die Näherungen der gesuchten Größe bezüglich h und h/2. Da man sich am Ende für den Wert für h=0 interessiert, könnte man durch diese beiden Punkte ein Interpolationspolynom legen und bei 0 auswerten.

Dies soll mit dem "klassischen" Neville-Schema geschehen. ([WS] Polynominterpolation-Beispiele) Wir haben die Daten:



Dadurch legen wir ein Interpolationspolynom wie folgt



Ausgewertet werden soll bei x=0. Also:



Das entspricht also der Formel (**) für
tigerbine Auf diesen Beitrag antworten »
Romberg-Verfahren
Mit der Euler-Maclaurinschen Summenformel kann man zeigen, dass die Trapezsumme T zur Maschenweite h folgende asymptotisch Entwicklung besitzt:




Dabei ist f eine 2m+2-mal stetig differenzierbare Funktion. Es treten hier also nur gerade Potenzen auf. Es ergeben sich also in Anlehnung an obige Notation die Potenzen:




Somit können wir obige Rekursionsformel (**) wiederholen und in ein Schema analog zur Nevilledarstellung eintragen.














Wie kann man das wieder in Bezug zu den Interpolationspolynomen stellen?

Wir ersetzen x:=h² und erhalten somit



Dann kann man auch wieder das klassische Neville-Schema anwenden, die interpolierenden Polynome sind gerade in h. Zu beachten ist, dass man die summierte Trapezregel jedoch für die Schrittweiten 1, 1/2, 1/4, 1/8 berechnet!



Beispielrechnung für

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
Es wird ein Integral durch Romberg-Extrapolation approximiert.
 
Funktion in rombergf.m anlegen
Intergralanfang eingeben. a = 1
Intergralende eingeben.   b = 2
Genauigkeit           eps = 0.01
 
--------------------------------------------------------------------------------------------
 
I_Matlab=3.059117e+000 
 
Neville-Romberg Schema  - Funktionswerte bei h=0
===============================================
 
IR =
    1.0000    3.2064    3.0607    3.0591    3.0591
    0.5000    3.0971    3.0592    3.0591         0
    0.2500    3.0687    3.0591         0         0
    0.1250    3.0615         0         0         0
 
Fehler = 0.000000 
tigerbine Auf diesen Beitrag antworten »
Differenzieren mit der h-Methode - Teil 1
Sei die Funktion im Punkt differenzierbar, so existiert der Grenzwert:



Dabei ist der Bruch der Differenzenquotient und man kann ihn als Steigung der Sekanten durch die Punkte auffassen. Diese können wir also als Funktion in h auffassen und interessieren uns für den Wert an der Stelle h=0.



Schnell ist also die Idee formuliert. Man bestimmt für verschiedene Werte von h den Funktionswert von S und legt durch die Daten das Interpolationspolynom und wertet es an der Stelle 0 aus. Dabei ist es sinnvoll die Werte durch eine Nullfolge zu bestimmen, zum Beispiel wieder durch die Rombergfolge:




Als Beispiel wollen wir uns die Funktion anschauen und die Ableitung im Punkt approximieren. Theoretisch würden wir erhalten . Dann lautet die Funktion S:




Wählen wir die Knoten (bzgl. h), so erhalten wir den Startdatensatz:






code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Neville Schema  - Funktionswerte bei 0 
=====================================
 
NW =
    0.1250    0.9974    1.0013    1.0004
    0.0625    0.9993    1.0007         0
    0.0313    1.0000         0         0
 
 


[attach]8737[/attach]
tigerbine Auf diesen Beitrag antworten »
Differenzieren mit der h-Methode - Teil 2
Ein alternativer Weg wäre die Verwendung des zentralen Differenzenquotienten. Wieder erkennen wir die zugehörige Sekantensteigung und im Grenzwertfall die Ableitung.




Was sind die Vorteile dieser Darstellung?

Untersuchen wir die Funktion Z ein wenig. Es ist:



D.h. Z ist eine Gerade Funktion in h. Daher macht es Sinn, auch nur gerade Polynome (nur gerade Potenzen) zur Interpolation zu verwenden.
(Die entspricht dem Vorgehen, welches wir schon bei der Romberg-Integration gesehen haben)


Wenden wir uns wieder dem Beispiel zu. Der Sinus ist eine ungerade Funktion, daher lautet die Funktion:



(Dass sich S und Z hier gleichen liegt daran, dass die Funktion f hier ungerade ist)


Die Interpolationspolynome haben dann bezüglich der Variablen h die Gestalt:



Um das Neville-Schema übernehmen zu können, schreiben wir mit der Substitution




Wieder wählen wir die Knoten (bzgl. h), so erhalten wir den Startdatensatz:





Das ergibt bzgl. x (beachte, die Funktionswerte werden beibehalten!)




Das Neville Schema liefert bzgl. x:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Neville Schema  - Funktionwerte bei 0 
=====================================
 
NW =
    0.0156    0.9974    1.0000    1.0000
    0.0039    0.9993    1.0000         0
    0.0010    0.9998         0         0
 



Über die Wahl einer Abbruchbedingung kann man sich im anhängenden PDF informieren. Sprich wann liefern kleine h Werte praktisch aufgrund von Rechenungenauigkeiten (Maschinenzahlen) keine besseren Ergebnisse mehr.
 
 
tigerbine Auf diesen Beitrag antworten »
L'Hospital
Gesucht ist:




Man setzt:




Und bestimmt einen Startdatensatz:








Das Neville-Schema liefert:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
Neville Schema  - Funktionswerte bei 0 
=====================================
 
NW =
    0.1250   -0.0626    0.0001   -0.0000
    0.0625   -0.0313    0.0000         0
    0.0313   -0.0156         0         0
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »