Xpert.press
Die Reihe Xpert.press vermittelt Professionals in den Bereichen Softwareentwicklung, Internettechnologie und IT-Management aktuell und kompetent relevantes Fachwissen über Technologien und Produkte zur Entwicklung und Anwendung moderner Informationstechnologien.
Gisela Engeln-M¨ullges · Klaus Niederdrenk · Reinhard Wodicka
Numerik-Algorithmen Verfahren, Beispiele, Anwendungen
Zehnte, überarbeitete und erweiterte Auflage
123
Prof. Dr. Gisela Engeln-M¨ullges FH Aachen FB Maschinenbau Inst. Num. Mathematik + DV Kesselstr. 88 52076 Aachen Deutschland
[email protected]
Dr. Reinhard Wodicka Am Kupferofen 34 52066 Aachen Deutschland
Prof. Dr. Klaus Niederdrenk FH M¨unster FB Chemieingenieurwesen Stegerwaldstr. 39 48565 Steinfurt Deutschland
Additional material to this book can be downloaded from http://extra.springer.com. Password: 978-3-642-13472-2
ISSN 1439-5428 ISBN 978-3-642-13472-2 e-ISBN 978-3-642-13473-9 DOI 10.1007/978-3-642-13473-9 Springer Heidelberg Dordrecht London New York Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. c Springer-Verlag Berlin Heidelberg 2011 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und MarkenschutzGesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Einbandentwurf: KuenkelLopka Gedruckt auf säurefreiem Papier Springer ist Teil der Fachverlagsgruppe Springer Science+Business Media (www.springer.com)
Im Gedenken an unseren akademischen Lehrer Prof. Dr. rer. techn. Fritz Reutter (1911 – 1990) Rheinisch-Westf¨alische Technische Hochschule Aachen
Vorwort zur 10. korrigierten und erweiterten Auflage Auf vielfach ge¨außerten Wunsch der Leser des Buches haben wir f¨ ur diese 10. Auflage den Inhalt der 9. Auflage um das Kapitel 16 Anfangswertprobleme bei gew¨ohnlichen ” Differentialgleichungen“ erweitert. Der angek¨ undigte weitere Band wird dann Randwertprobleme gew¨ohnlicher Differentialgleichungen, eine kurze Einf¨ uhrung in die Numerik partieller Differentialgleichungen sowie, ausf¨ uhrlich und praxisnah, wichtige stochastische Methoden, insbesondere statistische Sch¨ atz- und Pr¨ ufverfahren, enthalten. Neben der Erweiterung um das Kapitel 16 wurden f¨ ur die vorliegende 10. Auflage in den Kapiteln 1 bis 15 entdeckte Fehler korrigiert sowie Erg¨anzungen vorgenommen. Zum Beispiel wurde das Romberg-Verfahren zur numerischen Differentiation durch eine geeignete Wahl der Anfangsschrittweite optimiert und durch zus¨atzliche Beispiele erl¨autert. Bei der numerischen Quadratur wurden die Beispiele zu den Newton-Cotes-Formeln besser dargestellt und erkl¨ art. In diesem Buch werden zu fast allen Verfahren praxisnah formulierte Algorithmen angegeben. Viele durchgerechnete Beispiele dienen dem Verst¨andnis der numerischen Verfahren und der Erl¨auterung der Algorithmen. Der Leser findet insgesamt 99 Algorithmen zu den behandelten Verfahren, 233 durchgerechnete Beispiele, viele erl¨auternde Skizzen und zahlreiche Anwendungsbeispiele aus der Praxis. In diesem Buch werden viele numerische Verfahren, die f¨ ur den praktischen Einsatz n¨ utzlich sind, zus¨atzlich zu den g¨ angigen Verfahren behandelt. So werden zum Beispiel in Kapitel 2 auch Einschlussverfahren h¨ oherer Konvergenzordnung und Verfahren f¨ ur mehrfache Nullstellen dargestellt. In Kapitel 3 findet man ausf¨ uhrlich Verfahren zur Bestimmung aller reellen und komplexen L¨ osungen einer algebraischen Gleichung. F¨ ur Kapitel 4 wurden 32 Algorithmen zu Verfahren f¨ ur spezielle Matrizen entwickelt, wie sie beispielsweise bei den unterschiedlichen Spline-Verfahren auftreten. Dazu geh¨oren 49 Beispiele. In Kapitel 10 werden Polynom-Splines (15 Algorithmen, 16 Beispiele) mit verschiedenen Randbedingungen sowie Hermite-Splines und Ausgleichssplines behandelt. Eine Besonderheit bei den parametrischen, kubischen Splines ist eine Verallgemeinerung der chordalen Parametrisierung, die zus¨ atzliche Gestaltungsm¨oglichkeiten bietet. In Kapitel 11 werden die praktisch sehr n¨ utzlichen nichtparametrischen und parametrischen Subsplines behandelt, die in anderen B¨ uchern in dieser Ausf¨ uhrlichkeit nicht zu finden sind. Mit ihnen k¨ onnen die L¨ ange einer Kurve und der Fl¨acheninhalt einer einfach geschlossenen Kurve ermittelt werden. Schließlich findet man in Kapitel 14 viele spezielle Quadraturformeln einschließlich der Gaußschen Formeln.
VIII
Vorwort
Ganz herzlich danken wir den Autoren der C-Programme J¨ urgen Dietel, Uli Eggermann und anderen, die diese Programme bereits f¨ ur die 9. Auflage und fr¨ uhere Auflagen entwickelt haben. Inzwischen wurde auch die Entwicklung einer C++-Version begonnen, die im DV-Labor des Fachbereiches Maschinenbau und Mechatronik der FH Aachen unter der Leitung von Prof. Dr. Wilhelm Hanrath, dem Nachfolger von Prof. Dr. Gisela Engeln-M¨ ullges, fortgesetzt und dort gepflegt wird; sie kann auch von dort bezogen werden. Herzlichen Dank an Wilhelm Hanrath. Doris Eggermann danken wir sehr herzlich daf¨ ur, dass sie das reproduktionsreife Manuskript mit allen f¨ ur diese Auflage erforderlichen Erg¨anzungen und Korrekturen mit dem Satzprogramm LaTex in altbew¨ ahrter Zuverl¨ assigkeit, mit gr¨oßter Pr¨azision und hervorragender Qualit¨at fertig gestellt hat; Uli Eggermann hat sie dabei stark unterst¨ utzt. Er hat auch die Zeichnungen f¨ ur die Darstellung der Richtungsfelder zu den Beispielen in Kapitel 16 angefertigt, herzlichen Dank auch an ihn f¨ ur die ¨außerst wertvolle Arbeit. Gisela Engeln-M¨ ullges Klaus Niederdrenk Reinhard Wodicka
Informationen zu Quelltexten fu ¨ r die beschriebenen Algorithmen Inhalt der aktuellen Distribution (Version 9.1) der Numerik-Bibliothek in C CNum/src: Ansi-C-Quelltexte von Unterprogrammen zu den meisten der im Buch angegebenen Algorithmen (nach Kapiteln der Bibliothek in weitere Unterverzeichnisse aufgeteilt). CNum/build: Makefile-Dateien zur Generierung einer Programmbibliothek aus allen Unterprogrammen f¨ ur unterschiedliche Betriebssysteme: • CNum/build/Linux/static: Makefile-Datei zur Erstellung einer statischen Version der Programmbibliothek f¨ ur das Betriebssystem Linux mit Linux-Standard-Werkzeugen. Mit dieser MakefileDatei wird eine Headerdatei CNum.h“ und die (statische) Programmbibliothek ” libCNum.a“ erzeugt. ” • CNum/build/Linux/dynamic: Makefile-Datei zur Erstellung einer dynamischen Version der Programmbibliothek f¨ ur das Betriebssystem Linux mit Linux-Standard-Werkzeugen. Mit dieser MakefileDatei wird eine Headerdatei CNum.h“ und die (dynamische) Programmbibliothek ” libCNum.so.9.1“ erzeugt. ” • CNum/build/Windows/static: Makefile-Datei zur Erstellung einer statischen Version der Programmbibliothek f¨ ur das Betriebssystem Windows mit Hilfe des frei verf¨ ugbaren Gnu-C-Compilers aus dem Paket MinGW und der Linux-¨ ahnlichen Programmierumgebung Msys. Mit dieser Makefile-Datei wird eine Headerdatei CNum.h“ und die (statische) ” Programmbibliothek libCNum.a“ erzeugt. ” Die statische Programmbibliothek kann auch in anderen Entwicklungsumgebungen (etwa in Microsoft-Visual-Studio) verwendet werden. • CNum/build/Windows/dynamic: Makefile-Datei zur Erstellung einer dynamischen Version der Programmbibliothek f¨ ur das Betriebssystem Windows mit Hilfe des frei verf¨ ugbaren Gnu-C-Compilers aus dem Paket MinGW und der Linux-¨ ahnlichen Programmierumgebung Msys. Mit dieser Makefile-Datei wird eine Headerdatei CNum.h“ und die (dynamische) ” Programmbibliothek CNum.dll“ erzeugt. ” Zur Verwendung der dynamischen Bibliothek CNum.dll unter Microsoft-VisualStudio wird zus¨ atzlich die Linkbibliothek CNum.lib“ ben¨otigt, die ebenfalls mit ” dieser Makefile-Datei unter Verwendung der zur Microsoft-Visual-Studio-Umgebung geh¨orenden Programme Lib.exe“ und Link.exe“ erzeugt werden kann. ” ”
X
Informationen zur Programmbibliothek
Cnum/built: fertig erzeugte Programmbibliotheken f¨ ur unterschiedliche Betriebssysteme:
• CNum/built/Linux/static: Dateien CNum.h“ und libCNum.a“ der statischen Version der Programmbiblio” ” thek f¨ ur das Betriebssystem Linux. • CNum/built/Linux/dynamic: Dateien CNum.h“ und libCNum.so.9.1“ der dynamischen Version der Programm” ” bibliothek f¨ ur das Betriebssystem Linux. • CNum/built/Windows/static: Dateien CNum.h“ und libCNum.a“ der statischen Version der Programmbiblio” ” thek f¨ ur das Betriebssystem Windows. • CNum/built/Windows/dynamic: Dateien CNum.h“ und CNum.dll“ sowie die Linkbibliothek CNum.lib“ der dy” ” ” namischen Version der Programmbibliothek f¨ ur das Betriebssystem Windows.
Examples/src: Quelltexte zu Demonstrationsbeispielen zu den meisten Algorithmen aus der Programmbibliothek (nach Kapiteln der Bibliothek in weitere Unterverzeichnisse aufgeteilt). Examples/build:Makefile-Dateien zur Erzeugung von Beispielen zur Demonstration der Verwendung der Programmbibliothek:
• Examples/build/Linux/static/general: Makefile-Datei zur Erzeugung des Demonstrationsbeispiels pegasus1“ zur Verwen” dung der statischen Version der Bibliothek unter Linux. • Examples/build/Linux/static/docexamples: Makefile-Datei zur Erzeugung aller Demonstrationsbeispiele aus der Dokumentation und deren Ausgaben unter Verwendung der statischen Version der Bibliothek unter Linux. • Examples/build/Linux/dynamic/general: Makefile-Datei zur Erzeugung des Demonstrationsbeispiels pegasus1“ zur Verwen” dung der dynamischen Version der Bibliothek unter Linux. • Examples/build/Windows/MinGW/static/general: Makefile-Datei zur Erzeugung des Demonstrationsbeispiels pegasus1“ zur Verwen” dung der statischen Version der Bibliothek unter Windows/MinGW. • Examples/build/Windows/MinGW/dynamic/general: Makefile-Datei zur Erzeugung des Demonstrationsbeispiels pegasus1“ zur Verwen” dung der dynamischen Version der Bibliothek unter Windows/MinGW.
Informationen zur Programmbibliothek
XI
• Examples/build/Windows/VC98/static/general: Projektdatei zur Erzeugung des Demonstrationsbeispiels pegasus1“ zur Verwen” dung der statischen Version der Bibliothek unter Windows/Microsoft-Visual-Studio6.0. • Examples/build/Windows/VC98/dynamic/general: Projektdatei zur Erzeugung des Demonstrationsbeispiels pegasus1“ zur Verwen” dung der dynamischen Version der Bibliothek unter Windows/Microsoft-VisualStudio-6.0.
Doc: Dokumentation zur Verwendung der Programmbibliothek und Schnittstellenbeschreibung der einzelnen Unterprogramme aus der Programmbibliothek (inklusive der LaTeX-Quelltexte). • Doc/CNum.pdf: Dokumentation als PDF-Datei. • Doc/CNum.html: Startdatei zur HTML-Dokumentation (weitere Dateien zur HTML-Dokumentation im Unterverzeichnis Doc/CNum“). ”
Bemerkungen zur vorliegenden C-Version Die Version 9.1 der Numerik-Bibliothek in Ansi-C beruht auf der Vorg¨angerversion 9.0, ¨ wobei inhaltlich nur einige kleinere Anderungen und Korrekturen vorgenommen wurden (Einzelheiten hierzu in der zur Distribution geh¨ orenden Datei README.txt“), im We” senlichen aber der Generierungsprozess u ¨berarbeitet wurde. ¨ Hauptziel der Uberarbeitung des Generierungsprozesses war es, f¨ ur Linux und Windows jeweils auch eine dynamische Programmbibliothek zu erzeugen (und das m¨oglichst unter Verwendung von Standard-Werkzeugen) und somit f¨ ur unerfahrene Programmierer (hoffentlich) die Nutzerfreundlichkeit der Bibliothek zu erh¨ohen. Ein erfahrener Programmentwickler mag Einzelheiten der Generierung der unterschiedlichen Versionen der Bibliothek aus den Makefile-Dateien entnehmen - hier findet er ggf. auch Anhaltspunkte dar¨ uber, wie einzelne Teile der Bibliothek separat u ¨bersetzt werden k¨onnen. ¨ Die Uberarbeitung des Generierungsprozesses erfolgte im Datenverarbeitungslabor des Fachbereichs f¨ ur Maschinenbau und Mechatronik der Fachhochschule Aachen unter der Leitung von Prof. Dr. Wilhelm Hanrath.
XII
Informationen zur Programmbibliothek
Weitere Software im Umfeld der Numerik-Bibliothek Excel-Interface zur C-Numerik-Bibliothek Die als DLL vorliegende Windows-Version CNum.dll“ der C-Numerik-Bibliothek kann ” jetzt auch u ¨ ber Visual-Basic (VBA) von Microsoft-Excel aus genutzt werden. Durch entsprechende (ebenfalls im Datenverarbeitungslabor des Fachbereiches 8 der Fachhochschule Aachen entwickelte) C-seitige und VBA-seitige Interfacese sind hierbei u ¨ ber VBA-Makros die Algorithmen aus CNum.dll“ von Excel aus aufrufbar und die ” innerhalb der DLL berechneten Ergebnisse k¨ onnen dann anschließend in Excel weiterverwendet werden. Weitere Informationen zum Excel-Interface zur C-Bibliothek (insbesondere zu Lizensierung, Bezugsm¨oglichkeiten und Kosten) finden Sie unter www.fh-aachen.de/AcNumBib.html“ ” und dort unter dem Unterpunkt Excel-Interface zur C-Version“. ” C++-Version der Numerik-Bibliothek Im Datenverarbeitungslabor des Fachbereichs 8 der Fachhochschule Aachen wird zur Zeit eine C++-Version der Numerik-Bibliothek entwickelt. In dieser C++-Version werden die prozeduralen Algorithmen aus den Vorg¨anger-Versionen der Numerik-Bibliothek unter Verwendung von objektorientierten Techniken nach C++ portiert. Die Entwicklung der C++-Version ist nahezu abgeschlossen. Aktuelle Informationen zur C++-Version der Numerik-Bibliothek (insbesondere zu Lizensierung, Bezugsm¨ oglichkeiten und Kosten) finden Sie unter www.fh-aachen.de/AcNumBib.html“ ” und dort unter dem Unterpunkt C++-Version“. ”
Bezeichnungen
⇒ ⇔ a := b !
= < ≤ > ≥ a << b ≈ ≡ ∼ {a1 , a2 , . . .} {x| . . .} ∈ ∈ / ⊆ ⊂ 6 ⊂ N N0 Z Q R C R+ , R− (a, b) [a, b] [a, b) (a, b] n! n k n Q i=1 n P i=1
wenn – dann bzw. hat zur Folge dann und nur dann a wird definiert durch b geforderte Gleichheit kleiner, kleiner oder gleich gr¨ oßer, gr¨ oßer oder gleich a ist wesentlich kleiner als b ungef¨ ahr gleich identisch proportional bzw. gleichm¨aßig zu Menge aus den Elementen a1 , a2 , . . . Menge aller x f¨ ur die gilt . . . Element von nicht Element von enthalten in oder Teilmenge von echt enthalten in oder echte Teilmenge von nicht Teilmenge von Menge der nat¨ urlichen Zahlen Menge der nat¨ urlichen Zahlen mit Null Menge der ganzen Zahlen Menge der rationalen Zahlen Menge der reellen Zahlen Menge der komplexen Zahlen Menge der positiven bzw. negativen reellen Zahlen offenes Intervall von a bis b, a < b abgeschlossenes Intervall von a bis b, a < b halboffenes Intervall von a bis b (rechts offen), a < b halboffenes Intervall von a bis b (links offen), a < b n Fakult¨ at mit n! = 1 · 2 · 3 · · · n, n ∈ N, 0! := 1 n! nu , k ∈ N0 , k ≤ n, n ∈ N ¨ber k mit nk := k!(n−k)!
ai
a1 · a2 · a3 . . . an
ai
a1 + a2 + . . . + an
XIV Rb
Bezeichnungen
k·k {ak } lim ak
Integral in den Grenzen a und b √ imagin¨ are Einheit i := −1 Eulersche Zahl = 2.718 281 828 459 . . . a f¨ ur a ≥ 0 Betrag von a mit |a| := −a f¨ ur a < 0 Norm von · Folge von ak Limes von ak f¨ ur k → ∞
max {f (x)|x ∈ [a, b]} min {|Mi | i = 1, 2, . . . , m} (x, y) (x1 , x2 , . . . , xn ) f :I →R x 7→ f (x), x ∈ D
Maximum aller Funktionswerte f (x) f¨ ur x ∈ [a, b] Minimum aller |Mi | f¨ ur i = 1, 2, . . . , m geordnetes Paar geordnetes n-Tupel Abbildung f von I nach R x wird f (x) zugeordnet f¨ ur x ∈ D
f 0 , f 00 , f 000 , f (4) , . . . , f (n)
erste, zweite, dritte, vierte, . . . , n-te Ableitung von f die Menge der auf [a, b] stetigen Funktionen die Menge der auf [a, b] n-mal stetig differenzierbaren Funktionen n-dimensionaler euklidischer Raum |A/hq | ≤ C f¨ ur h → 0, C = const. m, n ∈ Z, m ≤ n, i = m, m + 1, . . . , n ur a > 0 1 f¨ 0 f¨ ur a = 0 −1 f¨ ur a < 0 Vektoren Matrizen Nullmatrix bzw. Nullvektor Vektorprodukt bzw. Kreuzprodukt Einheitsmatrix transponierte Matrix von A x1 . transponierter Vektor zu x = .. xn inverse Matrix von A Determinante von A s. im Literaturverzeichnis unter [Verweis] ohne Beschr¨ ankung der Allgemeinheit Ende eines Beispiels oder eines Beweises
a
i e |a|
k→∞
C[a, b] C n [a, b] Rn A = O(hq ) i = m(1)n sign (a), sgn (a) x, y, z, . . . A, B, C , . . . 0 x ×y E AT x T = (x1 , x2 , . . . , xn ) A−1 |A|, det(A) [Verweis] o. B. d. A.
Inhaltsverzeichnis
VII
Vorwort zur 10. Auflage
IX
Informationen zur Programmbibliothek
XI I I
Bezeichnungen 1 Darstellung von Zahlen und Fehleranalyse 1.1 Definition von Fehlergr¨ oßen . . . . . . . . . . . . . 1.2 Zahlensysteme . . . . . . . . . . . . . . . . . . . . 1.2.1 Darstellung ganzer Zahlen . . . . . . . . . . 1.2.2 Darstellung reeller Zahlen . . . . . . . . . . 1.3 Rechnung mit endlicher Stellenzahl . . . . . . . . 1.4 Fehlerquellen . . . . . . . . . . . . . . . . . . . . . 1.4.1 Eingabefehler . . . . . . . . . . . . . . . . . 1.4.2 Verfahrensfehler . . . . . . . . . . . . . . . 1.4.3 Fehlerfortpflanzung und die Kondition eines 1.4.4 Rechnungsfehler und numerische Stabilit¨at
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . .
. . . . . . . . . .
. . . . . . . . . .
2 L¨ osung nichtlinearer Gleichungen 2.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . 2.2 Definitionen und S¨ atze u ¨ber Nullstellen . . . . . . . . . . . . . . 2.3 Allgemeines Iterationsverfahren . . . . . . . . . . . . . . . . . . 2.3.1 Konstruktionsmethode und Definition . . . . . . . . . . . 2.3.2 Existenz einer L¨ osung und Eindeutigkeit der L¨osung . . . 2.3.3 Konvergenz eines Iterationsverfahrens . . . . . . . . . . . 2.3.3.1 Heuristische Betrachtungen . . . . . . . . . . . . 2.3.3.2 Analytische Betrachtung . . . . . . . . . . . . . . 2.3.4 Fehlerabsch¨ atzungen und Rechnungsfehler . . . . . . . . . 2.3.5 Praktische Durchf¨ uhrung . . . . . . . . . . . . . . . . . . 2.4 Konvergenzordnung eines Iterationsverfahrens . . . . . . . . . . 2.5 Newtonsche Verfahren . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Das Newtonsche Verfahren f¨ ur einfache Nullstellen . . . . 2.5.2 Ged¨ ampftes Newton-Verfahren . . . . . . . . . . . . . . . 2.5.3 Das Newtonsche Verfahren f¨ ur mehrfache Nullstellen. Das zierte Newtonsche Verfahren . . . . . . . . . . . . . . . . 2.6 Das Sekantenverfahren . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . modifi. . . . . . . . . .
1 1 3 3 6 11 17 17 18 19 24 27 27 29 31 31 34 37 37 39 40 46 49 51 51 57 57 63
XVI
2.7
2.8 2.9
Inhaltsverzeichnis 2.6.1 Das Sekantenverfahren f¨ ur einfache Nullstellen . . . . . . . . . . . 2.6.2 Das modifizierte Sekantenverfahren f¨ ur mehrfache Nullstellen . . . Einschlussverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.1 Das Prinzip der Einschlussverfahren . . . . . . . . . . . . . . . . . 2.7.2 Das Bisektionsverfahren . . . . . . . . . . . . . . . . . . . . . . . 2.7.3 Die Regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.4 Das Pegasus-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 2.7.5 Das Verfahren von Anderson-Bj¨ orck . . . . . . . . . . . . . . . . . 2.7.6 Die Verfahren von King und Anderson-Bj¨orck-King. Das IllinoisVerfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.7 Ein kombiniertes Einschlussverfahren . . . . . . . . . . . . . . . . 2.7.8 Das Zeroin-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Effizienz der Verfahren und Entscheidungshilfen . . . . . . . . . . . . . .
3 Verfahren zur L¨ osung algebraischer Gleichungen 3.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Das Horner-Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Das einfache Horner-Schema f¨ ur reelle Argumentwerte . . . 3.2.2 Das einfache Horner-Schema f¨ ur komplexe Argumentwerte . 3.2.3 Das vollst¨ andige Horner-Schema f¨ ur reelle Argumentwerte . 3.2.4 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Bestimmung von L¨ osungen algebraischer Gleichungen . . . . . . . ¨ 3.3.1 Vorbemerkungen und Uberblick . . . . . . . . . . . . . . . 3.3.2 Das Verfahren von Muller . . . . . . . . . . . . . . . . . . . 3.3.3 Das Verfahren von Bauhuber . . . . . . . . . . . . . . . . . 3.3.4 Das Verfahren von Jenkins und Traub . . . . . . . . . . . . 3.4 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
4 L¨ osung linearer Gleichungssysteme 4.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . . . . 4.2 Definitionen und S¨ atze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 L¨osbarkeitsbedingungen f¨ ur ein lineares Gleichungssystem . . . . . . . . . 4.4 Prinzip der direkten Methoden zur L¨ osung linearer Gleichungssysteme . . 4.5 Der Gauß-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Gauß-Algorithmus mit Spaltenpivotsuche als Rechenschema . . . . 4.5.2 Spaltenpivotsuche . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.3 Gauß-Algorithmus als Dreieckszerlegung . . . . . . . . . . . . . . . 4.5.4 Gauß-Algorithmus f¨ ur Systeme mit mehreren rechten Seiten . . . . 4.6 Matrizeninversion mit dem Gauß-Algorithmus . . . . . . . . . . . . . . . 4.7 Verfahren f¨ ur Systeme mit symmetrischen Matrizen . . . . . . . . . . . . 4.7.1 Systeme mit symmetrischer, streng regul¨arer Matrix . . . . . . . . 4.7.2 Systeme mit symmetrischer, positiv definiter Matrix. CholeskyVerfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63 66 66 67 69 71 74 77 80 81 83 85 89 91 91 92 93 95 97 100 101 101 102 109 111 112 113 115 115 120 132 133 136 136 141 145 149 151 153 154 155
Inhaltsverzeichnis
XVII
4.7.3 Systeme mit symmetrischer, positiv definiter Matrix. Verfahren der konjugierten Gradienten (CG-Verfahren) . . . . . . . . . . . . . . Das Gauß-Jordan-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . Gleichungssysteme mit tridiagonaler Matrix . . . . . . . . . . . . . . . . . 4.9.1 Systeme mit tridiagonaler Matrix . . . . . . . . . . . . . . . . . . . 4.9.2 Systeme mit symmetrischer, tridiagonaler, positiv definiter Matrix Gleichungssysteme mit zyklisch tridiagonaler Matrix . . . . . . . . . . . . 4.10.1 Systeme mit zyklisch tridiagonaler Matrix . . . . . . . . . . . . . . 4.10.2 Systeme mit symmetrischer, zyklisch tridiagonaler Matrix . . . . . Gleichungssysteme mit f¨ unfdiagonaler Matrix . . . . . . . . . . . . . . . . 4.11.1 Systeme mit f¨ unfdiagonaler Matrix . . . . . . . . . . . . . . . . . . 4.11.2 Systeme mit symmetrischer, f¨ unfdiagonaler, positiv definiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matrix Gleichungssysteme mit Bandmatrix . . . . . . . . . . . . . . . . . . . . . Householdertransformation . . . . . . . . . . . . . . . . . . . . . . . . . . Fehler, Kondition und Nachiteration . . . . . . . . . . . . . . . . . . . . . 4.14.1 Fehler und Kondition . . . . . . . . . . . . . . . . . . . . . . . . . 4.14.2 Konditionssch¨ atzung . . . . . . . . . . . . . . . . . . . . . . . . . . 4.14.3 M¨oglichkeiten zur Konditionsverbesserung . . . . . . . . . . . . . . 4.14.4 Nachiteration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gleichungssysteme mit Blockmatrix . . . . . . . . . . . . . . . . . . . . . 4.15.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15.2 Gauß-Algorithmus f¨ ur Blocksysteme . . . . . . . . . . . . . . . . . 4.15.3 Gauß-Algorithmus f¨ ur tridiagonale Blocksysteme . . . . . . . . . . 4.15.4 Weitere Block-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . Algorithmus von Cuthill-McKee . . . . . . . . . . . . . . . . . . . . . . . Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
180 183 194 199 199 203 208 208 210 210 211 213 214 215 219
5 Iterationsverfahren zur L¨ osung linearer Gleichungssysteme 5.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Vektor- und Matrizennormen . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Das Iterationsverfahren in Gesamtschritten . . . . . . . . . . . . . . . . 5.4 Das Gauß-Seidelsche Iterationsverfahren . . . . . . . . . . . . . . . . . . . 5.5 Relaxation beim Gesamtschrittverfahren . . . . . . . . . . . . . . . . . . 5.6 Relaxation beim Einzelschrittverfahren. SOR-Verfahren . . . . . . . . . . 5.6.1 Sch¨ atzung des Relaxationskoeffizienten. Adaptives SOR-Verfahren
223 223 223 225 234 236 236 237
6 Systeme nichtlinearer Gleichungen 6.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . 6.2 Allgemeines Iterationsverfahren f¨ ur Systeme . . . . . . . . . . 6.3 Spezielle Iterationsverfahren . . . . . . . . . . . . . . . . . . . 6.3.1 Newtonsche Verfahren f¨ ur nichtlineare Systeme . . . . . 6.3.1.1 Das quadratisch konvergente Newton-Verfahren 6.3.1.2 Ged¨ ampftes Newton-Verfahren f¨ ur Systeme . . 6.3.2 Sekantenverfahren f¨ ur nichtlineare Systeme . . . . . . .
241 241 244 250 250 250 253 254
4.8 4.9
4.10
4.11
4.12 4.13 4.14
4.15
4.16 4.17
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
160 164 165 165 169 172 172 175 177 177
XVIII
6.4
Inhaltsverzeichnis 6.3.3 Das Verfahren des st¨ arksten Abstiegs nichtlineare Systeme . . . . . . . . . . 6.3.4 Das Verfahren von Brown f¨ ur Systeme Entscheidungshilfen . . . . . . . . . . . . . .
(Gradientenverfahren) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
f¨ ur . . . 255 . . . 257 . . . 258
7 Eigenwerte und Eigenvektoren von Matrizen 7.1 Definitionen und Aufgabenstellungen . . . . . . . . . . . . . . . . . . . . 7.2 Diagonal¨ahnliche Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Das Iterationsverfahren nach v. Mises . . . . . . . . . . . . . . . . . . . . 7.3.1 Bestimmung des betragsgr¨ oßten Eigenwertes und des zugeh¨origen Eigenvektors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.2 Bestimmung des betragskleinsten Eigenwertes . . . . . . . . . . . . 7.3.3 Bestimmung weiterer Eigenwerte und Eigenvektoren . . . . . . . . 7.4 Konvergenzverbesserung . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Das Verfahren von Krylov . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5.1 Bestimmung der Eigenwerte . . . . . . . . . . . . . . . . . . . . . . 7.5.2 Bestimmung der Eigenvektoren . . . . . . . . . . . . . . . . . . . . 7.6 QD-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7 Transformationen auf Hessenbergform . . . . . . . . . . . . . . . . . . . . 7.7.1 Transformation einer Matrix auf obere Hessenbergform . . . . . . 7.7.2 LR - Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.3 QR - Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8 Verfahren von Martin, Parlett, Peters, Reinsch und Wilkinson . . . . . . 7.9 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.10 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
259 259 260 262
8 Lineare und nichtlineare Approximation 8.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . . . . 8.2 Lineare Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Approximationsaufgabe und beste Approximation . . . . . . . . . 8.2.2 Kontinuierliche lineare Approximation im quadratischen Mittel . . 8.2.3 Diskrete lineare Approximation im quadratischen Mittel . . . . . 8.2.3.1 Normalgleichungen f¨ ur den diskreten linearen Ausgleich . 8.2.3.2 Diskreter Ausgleich durch algebraische Polynome unter Verwendung orthogonaler Polynome . . . . . . . . . . . . 8.2.3.3 Lineare Regression. Ausgleich durch lineare algebraische Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.3.4 Householder-Transformation zur L¨osung des linearen Ausgleichsproblems . . . . . . . . . . . . . . . . . . . . . . . . 8.2.4 Approximation von Polynomen durch Tschebyscheff-Polynome . . 8.2.4.1 Beste gleichm¨ aßige Approximation, Definition . . . . . . 8.2.4.2 Approximation durch Tschebyscheff-Polynome . . . . . . 8.2.5 Approximation periodischer Funktionen . . . . . . . . . . . . . . . 8.2.5.1 Kontinuierliche Approximation periodischer Funktionen im quadratischen Mittel . . . . . . . . . . . . . . . . . . .
291 291 294 294 296 302 302
262 269 269 271 272 272 274 275 276 276 280 282 283 284 285
308 310 313 316 316 317 323 324
Inhaltsverzeichnis
8.3
8.4
XIX
8.2.5.2 Diskrete Approximation periodischer Funktionen im quadratischen Mittel . . . . . . . . . . . . . . . . . . . . . . . 8.2.5.3 Fourier-Transformation und FFT . . . . . . . . . . . . . . 8.2.6 Fehlerabsch¨ atzungen f¨ ur lineare Approximationen . . . . . . . . . 8.2.6.1 Gleichm¨ aßige Approximation durch algebraische Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.6.2 Gleichm¨ aßige Approximation durch trigonometrische Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . Diskrete nichtlineare Approximation . . . . . . . . . . . . . . . . . . . . 8.3.1 Transformationsmethode beim nichtlinearen Ausgleich . . . . . . 8.3.2 Nichtlinearer Ausgleich im quadratischen Mittel . . . . . . . . . . Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 Polynomiale Interpolation sowie Shepard-Interpolation 9.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . 9.2 Interpolationsformeln von Lagrange . . . . . . . . . . . . . 9.2.1 Lagrangesche Formel f¨ ur beliebige St¨ utzstellen . . . 9.2.2 Lagrangesche Formel f¨ ur a quidistante St¨ utzstellen . ¨ 9.3 Aitken-Interpolationsschema f¨ ur beliebige St¨ utzstellen . . . 9.4 Inverse Interpolation nach Aitken . . . . . . . . . . . . . . 9.5 Interpolationsformeln von Newton . . . . . . . . . . . . . . 9.5.1 Newtonsche Formel f¨ ur beliebige St¨ utzstellen . . . . 9.5.2 Newtonsche Formel f¨ ur ¨ aquidistante St¨ utzstellen . . 9.6 Absch¨atzung und Sch¨ atzung des Interpolationsfehlers . . . 9.7 Zweidimensionale Interpolation . . . . . . . . . . . . . . . . 9.7.1 Zweidimensionale Interpolationsformel von Lagrange 9.7.2 Shepard-Interpolation . . . . . . . . . . . . . . . . . 9.8 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
10 Interpolierende Polynom-Splines zur Konstruktion glatter Kurven 10.1 Polynom-Splines dritten Grades . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.2 Woher kommen Splines? Mathematische Analyse . . . . . . . . . . 10.1.3 Anwendungsbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.4 Definition verschiedener Arten nichtparametrischer kubischer Splinefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.5 Berechnung der nichtparametrischen kubischen Splines . . . . . . . 10.1.6 Berechnung der parametrischen kubischen Splines . . . . . . . . . 10.1.7 Kombinierte interpolierende Polynom-Splines . . . . . . . . . . . . 10.1.8 N¨aherungsweise Ermittlung von Randableitungen durch Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.9 Konvergenz und Fehlerabsch¨ atzungen interpolierender kubischer Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Hermite-Splines f¨ unften Grades . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Definition der nichtparametrischen und parametrischen HermiteSplines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
326 329 336 337 340 342 342 348 348 351 351 353 353 355 356 360 362 362 365 368 373 374 376 385 387 387 390 395 397 402 408 425 433 438 440 442 442
XX
Inhaltsverzeichnis 10.2.2 Berechnung der nichtparametrischen Hermite-Splines . . . . 10.2.3 Berechnung der parametrischen Hermite-Splines . . . . . . . 10.3 Polynomiale kubische Ausgleichssplines . . . . . . . . . . . . . . . . 10.3.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . 10.3.2 Konstruktion der nichtparametrischen Ausgleichssplines . . . 10.3.3 Parametrische kubische Ausgleichssplines . . . . . . . . . . . 10.4 Entscheidungshilfen f¨ ur die Auswahl einer geeigneten Splinemethode
11 Akima- und Renner-Subsplines 11.1 Akima-Subsplines . . . . . . . . . . . . . . . . . . . . . 11.2 Renner-Subsplines . . . . . . . . . . . . . . . . . . . . . 11.3 Abrundung von Ecken bei Akima- und Renner-Kurven 11.4 Berechnung der L¨ ange einer Kurve . . . . . . . . . . . . 11.5 Fl¨acheninhalt einer geschlossenen ebenen Kurve . . . . 11.6 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
443 447 452 452 456 464 465
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
469 469 476 486 490 493 496
12 Spezielle Splines 12.1 Interpolierende zweidimensionale Polynom-Splines . . . . . . 12.2 Zweidimensionale interpolierende Oberfl¨achensplines . . . . . 12.3 B´ezier-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3.1 B´ezier-Spline-Kurven . . . . . . . . . . . . . . . . . . 12.3.2 B´ezier-Spline-Fl¨ achen . . . . . . . . . . . . . . . . . . 12.3.3 Modifizierte (interpolierende) kubische B´ezier-Splines 12.4 B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.4.1 B-Spline-Kurven . . . . . . . . . . . . . . . . . . . . . 12.4.2 B-Spline-Fl¨ achen . . . . . . . . . . . . . . . . . . . . . 12.5 Anwendungsbeispiel . . . . . . . . . . . . . . . . . . . . . . . 12.6 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
497 497 511 514 515 519 527 528 528 534 539 544
13 Numerische Differentiation 13.1 Aufgabenstellung und Motivation . . . . . . . . . . . . . . . . . . . 13.2 Differentiation mit Hilfe eines Interpolationspolynoms . . . . . . . . 13.3 Differentiation mit Hilfe interpolierender kubischer Polynom-Splines 13.4 Differentiation mit dem Romberg-Verfahren . . . . . . . . . . . . . 13.5 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
547 547 548 551 553 559
14 Numerische Quadratur 14.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.2 Konstruktion von Interpolationsquadraturformeln . . . . . . . . . . . . 14.3 Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.1 Die Sehnentrapezformel . . . . . . . . . . . . . . . . . . . . . . . 14.3.2 Die Simpsonsche Formel . . . . . . . . . . . . . . . . . . . . . . . 14.3.3 Die 3/8-Formel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.3.4 Weitere Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . 14.3.5 Zusammenfassung zur Fehlerordnung von Newton-Cotes-Formeln
. . . . . . . .
561 561 564 567 569 575 579 583 587
. . . . . .
. . . . . .
Inhaltsverzeichnis 14.4 Quadraturformeln von Maclaurin . . . . 14.4.1 Die Tangententrapezformel . . . . 14.4.2 Weitere Maclaurin-Formeln . . . . 14.5 Die Euler-Maclaurin-Formeln . . . . . . . 14.6 Tschebyscheffsche Quadraturformeln . . . 14.7 Quadraturformeln von Gauß . . . . . . . 14.8 Verallgemeinerte Gauß-Quadraturformeln 14.9 Quadraturformeln von Clenshaw-Curtis . 14.10 Das Verfahren von Romberg . . . . . . . 14.11 Fehlersch¨ atzung und Rechnungsfehler . . 14.12 Adaptive Quadraturverfahren . . . . . . 14.13 Konvergenz der Quadraturformeln . . . . 14.14 Anwendungsbeispiel . . . . . . . . . . . . 14.15 Entscheidungshilfen . . . . . . . . . . . .
XXI . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
588 588 591 592 595 597 601 604 605 612 614 615 617 618
15 Numerische Kubatur 15.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Konstruktion von Interpolationskubaturformeln . . . . . . . . . . . . . . 15.3 Newton-Cotes-Kubaturformeln f¨ ur Rechteckbereiche . . . . . . . . . . . . 15.4 Das Romberg-Kubaturverfahren . . . . . . . . . . . . . . . . . . . . . . . 15.5 Gauß-Kubaturformeln f¨ ur Rechteckbereiche . . . . . . . . . . . . . . . . . 15.6 Riemannsche Fl¨ achenintegrale . . . . . . . . . . . . . . . . . . . . . . . . 15.7 Vergleich der Verfahren anhand von Beispielen . . . . . . . . . . . . . . . 15.8 Kubaturformeln f¨ ur Dreieckbereiche . . . . . . . . . . . . . . . . . . . . . 15.8.1 Kubaturformeln f¨ ur Dreieckbereiche mit achsenparallelen Katheten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8.1.1 Newton-Cotes-Kubaturformeln f¨ ur Dreieckbereiche . . . . 15.8.1.2 Gauß-Kubaturformeln f¨ ur Dreieckbereiche . . . . . . . . . 15.8.2 Kubaturformeln f¨ ur Dreieckbereiche allgemeiner Lage . . . . . . . 15.8.2.1 Newton-Cotes-Kubaturformeln f¨ ur Dreieckbereiche allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8.2.2 Gauß-Kubaturformeln f¨ ur Dreieckbereiche allgemeiner Lage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.9 Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
619 619 621 624 632 635 638 638 643
16 Anfangswertprobleme bei gew¨ ohnlichen Differentialgleichungen 16.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.2 Prinzip der numerischen Verfahren . . . . . . . . . . . . . . . . . . 16.3 Einschrittverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 16.3.1 Das Polygonzugverfahren von Euler-Cauchy . . . . . . . . . 16.3.2 Das verbesserte Euler-Cauchy-Verfahren . . . . . . . . . . . 16.3.3 Praediktor-Korrektor-Verfahren von Heun . . . . . . . . . . 16.3.4 Explizite Runge-Kutta-Verfahren . . . . . . . . . . . . . . . 16.3.4.1 Konstruktion von Runge-Kutta-Verfahren . . . . . 16.3.4.2 Klassisches Runge-Kutta-Verfahren . . . . . . . . . 16.3.4.3 Zusammenstellung expliziter Runge-Kutta-Formeln
659 659 660 661 661 664 669 673 673 673 679
. . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
643 643 646 650 651 654 657
XXII
16.4
16.5 16.6
16.7
16.8
Inhaltsverzeichnis 16.3.4.4 Einbettungsformeln . . . . . . . . . . . . . . . . . . . . . 16.3.5 Implizite Runge-Kutta-Verfahren vom Gauß-Typ . . . . . . . . . . 16.3.6 Gemeinsame Darstellung aller Einschrittverfahren. Verfahrensfunktion eines Einschrittverfahrens. Konsistenz . . . . . . . . . . . 16.3.7 Fehlersch¨ atzung und automatische Schrittweitensteuerung . . . . . 16.3.7.1 Fehlersch¨ atzung . . . . . . . . . . . . . . . . . . . . . . . 16.3.7.2 Methoden zur automatischen Schrittweitensteuerung. Adaptive Anfangswertprobleml¨oser . . . . . . . . . . . . . Mehrschrittverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.4.1 Prinzip der Mehrschrittverfahren . . . . . . . . . . . . . . . . . . . 16.4.2 Das explizite Verfahren von Adams-Bashforth . . . . . . . . . . . . 16.4.3 Das Praediktor-Korrektor-Verfahren von Adams-Moulton . . . . . 16.4.4 Verfahren von Adams-St¨ ormer . . . . . . . . . . . . . . . . . . . . 16.4.5 Fehlersch¨ atzungsformeln f¨ ur Mehrschrittverfahren . . . . . . . . . Extrapolationsverfahren von Bulirsch-Stoer-Gragg . . . . . . . . . . . . . Stabilit¨at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.6.1 Vorbemerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.6.2 Stabilit¨ at der Differentialgleichung . . . . . . . . . . . . . . . . . . 16.6.3 Stabilit¨ at des numerischen Verfahrens . . . . . . . . . . . . . . . . Steife Differentialgleichungssysteme . . . . . . . . . . . . . . . . . . . . . 16.7.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16.7.2 Kriterien f¨ ur Steifheit eines Systems . . . . . . . . . . . . . . . . . 16.7.3 Das Verfahren von Gear zur Integration steifer Systeme . . . . . . Entscheidungshilfen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
684 696 698 700 700 701 704 704 705 707 713 714 715 717 717 718 718 723 723 723 724 728
Literaturverzeichnis
733
Sachwortverzeichnis
745
Kapitel 1
Darstellung von Zahlen und Fehleranalyse, Kondition und Stabilit¨ at
1.1
Definition von Fehlergr¨ oßen
Ein numerisches Verfahren liefert im Allgemeinen anstelle einer gesuchten Zahl a nur einen N¨aherungswert A f¨ ur diese Zahl a. Zur Beschreibung dieser Abweichung werden Fehlergr¨oßen eingef¨ uhrt.
Definition 1.1. (Wahrer und absoluter Fehler ) Ist A ein N¨aherungswert f¨ ur die Zahl a, so heißt die Differenz ∆a = a − A der wahre Fehler von A und deren Betrag |∆a | = |a − A| der absolute Fehler von A. Sehr oft wird in der mathematischen Literatur ∆a bereits als absoluter Fehler und |∆a | als Absolutbetrag des Fehlers bezeichnet. In ingenieurwissenschaftlichen Anwendungen ist allerdings die Schreibweise in Definition 1.1 h¨ aufiger anzutreffen. In den meisten F¨allen ist die Zahl a nicht bekannt, so dass weder der wahre noch der absolute Fehler eines N¨ aherungswertes A angegeben werden k¨onnen. Daher versucht man, f¨ ur den absoluten Fehler |∆a | von A eine m¨ oglichst kleine obere Schranke εa > 0 anzugeben, so dass |∆a | ≤ εa gilt.
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_1, © Springer-Verlag Berlin Heidelberg 2011
2
1. Darstellung von Zahlen und Fehleranalyse
Definition 1.2. (Fehlerschranke f¨ ur den absoluten Fehler, absoluter H¨ ochstfehler ) Ist |∆a | der absolute Fehler eines N¨ aherungswertes A und ist εa > 0 eine obere Schranke f¨ ur |∆a |, so dass |∆a | ≤ εa gilt, dann heißt εa eine Fehlerschranke f¨ ur den absoluten Fehler von A oder absoluter H¨ ochstfehler von A.
Bei bekanntem εa ist wegen |∆a | = |a − A| ≤ εa A − εa ≤ a ≤ A + εa ,
a ∈ [A − εa , A + εa ] .
also
(1.1)
Um einen N¨aherungswert A unabh¨ angig von der Gr¨oßenordnung von a beurteilen zu k¨onnen, wird der relative Fehler eingef¨ uhrt.
Definition 1.3. (Relativer Fehler ) Ist |∆a | der absolute Fehler eines N¨ aherungswertes A f¨ ur die Zahl a, so heißt der Quotient |∆a | |δa | = f¨ ur a 6= 0 |a| der relative Fehler von A.
Streng genommen m¨ usste man δa = ∆a /a als relativen Fehler von A bezeichnen. Das Vorzeichen von δa gibt dann eine zus¨ atzliche Information u ¨ber die Richtung des Fehlers, d. h. f¨ ur eine positive Zahl a hat δa = (a − A)/a < 0 demnach a < A, also einen zu großen N¨aherungswert A f¨ ur a zur Folge. Da in der Regel a unbekannt ist, wird h¨ aufig auch |δa | =
|∆a | |A|
f¨ ur A 6= 0
relativer Fehler von A genannt. Da dann auch ∆a nicht exakt angebbar ist, wird man sich wieder mit der Angabe einer m¨ oglichst guten oberen Schranke f¨ ur den relativen Fehler behelfen m¨ ussen.
Definition 1.4. (Fehlerschranke f¨ ur den relativen Fehler, relativer H¨ ochstfehler) Ist |δa | der relative Fehler eines N¨ aherungswertes A und gilt mit einem %a > 0 |δa | ≤ %a , dann heißt %a eine Fehlerschranke f¨ ur den relativen Fehler |δa | oder relativer H¨ ochstfehler von |δa |.
1.2 Zahlensysteme
3
Ist εa ein absoluter H¨ ochstfehler von A, so ist %a = εa /|a| bzw.
%a = εa /|A|
ein relativer H¨ochstfehler von A.
Definition 1.5. (Prozentualer Fehler, Fehlerschranke f¨ ur den prozentualen Fehler ) Ist |δa | der relative Fehler des N¨ aherungswertes A, so heißt |δa | · 100 der prozentuale Fehler von A (relativer Fehler in Prozent), und σ a mit |δa | · 100 ≤ 100 · %a = σa heißt eine Fehlerschranke f¨ ur den prozentualen Fehler.
Beispiel 1.6. F¨ ur die Zahl x = π sind X = 3.14 ein N¨ aherungswert und εx = 0.0016 eine Schranke f¨ ur den absoluten Fehler |∆x |. Also gilt nach (1.1) 3.1384 = 3.14 − 0.0016 ≤ π ≤ 3.14 + 0.0016 = 3.1416 , und der relative H¨ ochstfehler ergibt sich zu |δx | ≤ %x =
0.0016 ≈ 0.00051 . 3.14
F¨ ur den prozentualen Fehler folgt nach Definition 1.5 100 · |δx | = 0.051% .
1.2 1.2.1
Zahlensysteme Darstellung ganzer Zahlen
F¨ ur jede ganze Zahl a gibt es genau eine Potenzentwicklung zur Basis 10 (Zehnerpotenzen) der Gestalt n X a = v · (an 10n + an−1 10n−1 + . . . + a1 101 + a0 100 ) = v · ak 10k k=0
mit dem Vorzeichen v ∈ {−1, 1}, den Koeffizienten ak ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} und einer nicht negativen ganzen Zahl n (n ∈ N0 ). Diese Dezimaldarstellung von a erh¨alt man, indem man die Ziffern, die zur Bezeichnung der Zahlen ak dienen, in absteigender Reihenfolge aufschreibt: a = v · an an−1 . . . a1 a0 (1.2) Die Ziffern ak in der Dezimaldarstellung (1.2) werden auch Stellen von a genannt; die Stellung einer Ziffer in der Zahl gibt ihren Wert (Einer – Zehner – Hunderter usw.) wieder.
4
1. Darstellung von Zahlen und Fehleranalyse
Es gibt keinen triftigen Grund, nur das uns gewohnte und vertraute Dezimalsystem zu benutzen. Wegen der einfachen technischen Realisierbarkeit benutzen digitale Rechenanlagen durchweg das Dualsystem, das auf den zwei verschiedenen Ziffern 0 und 1 beruht. Jede ganze Zahl a kann damit in eindeutiger Weise als Potenzentwicklung zur Basis 2 (Zweierpotenzen) n X a=v· ak · 2k mit ak ∈ {0, 1} k=0
und einem Vorzeichen v ∈ {−1, 1} geschrieben werden. Und wiederum gibt nur die Stellung einer Ziffer ak Auskunft u ¨ber ihren Stellenwert, so dass die Angabe der dualen Ziffern in der richtigen Reihenfolge zur Charakterisierung ausreicht: a = v · (an an−1 . . . a1 a0 )2 Der Index 2 soll hierbei auf die Darstellung als Dualzahl verweisen; weggelassen wird nur der Index 10 f¨ ur die u ¨ blichen Dezimalzahlen. So hat man beispielsweise 2004
= (+1) · (2004)10 = (+1) · (1 · 210 + 1 · 29 + 1 · 28 + 1 · 27 + 1 · 26 + 1 · 24 + 1 · 22 ) =
(+1) · (11111010100)2 .
Definition 1.7. (Stellenwertsystem zur Basis β) Sei β ∈ N, β ≥ 2. Das System der β verschiedenen Ziffern 0, 1, . . . , β−1 bildet ein Stellenwertsystem zur Basis β, und jede ganze Zahl a l¨asst sich darin in der Form n X a=v· ak · β k = v · (an an−1 . . . a1 a0 )β k=0
mit eindeutig bestimmten Ziffern ak ∈ {0, 1, . . . , β−1} und einem Vorzeichen v ∈ {−1, 1} darstellen. Die Wahl β = 10 f¨ uhrt auf das gel¨ aufige Dezimalsystem und β = 2 auf das Dualsystem. Anwendungen finden immer wieder auch die Basiswahlen β = 8 (Oktalsystem) und β = 16 (Hexadezimalsystem mit den Ziffern 0, 1, . . . , 9, A, B, C, D, E, F) Die gegenseitige Konvertierung von Zahlen in unterschiedlichen Stellenwertsystemen l¨asst sich einfach bewerkstelligen, wobei es reicht, als ein Bezugssystem das Dezimalsystem anzunehmen. Die Umwandlung einer β-Zahl in die zugeh¨orige Dezimalzahl erfolgt ¨okonomisch mit dem Horner-Schema (s. Abschnitt 3.2) f¨ ur Polynome: a = v · (an β n + an−1 β n−1 + an−2 β n−2 + . . . + a1 β + a0 ) n o = v· . . . (an β + an−1 ) β + an−2 β + . . . + a1 β + a0 | {z } sn−1
| | |
{z
sn−2
} ..
. {z
}
s1
{z s0
}
1.2 Zahlensysteme
5
Algorithmus 1.8. (Umwandlung einer β-Zahl in eine Dezimalzahl) Berechnet man f¨ ur eine im Stellenwertsystem zur Basis β gegebene ganze Zahl a = v · (an an−1 . . . a1 a0 )β , v ∈ {+1, −1}, ausgehend von sn = an , nacheinander die Gr¨oßen sk = β · sk+1 + ak , k = n−1, n−2, . . . , 1, 0 , dann ist a = v · s0 im Dezimalsystem. Umgekehrt folgt aus dem letzten Zwischenergebnis a = v · s0 = v · (s1 · β + a0 ) , dass a0 als der Rest der Division der ganzen Zahl s0 durch β angesehen werden kann: s0 a0 s0 = s1 + oder = s1 Rest a0 β β β Geht man schrittweise weiter zur¨ uck, so folgen die n¨achsten β-Ziffern a1 , a2 und so weiter. Algorithmus 1.9. (Umwandlung einer Dezimalzahl in eine β-Zahl) Berechnet man f¨ ur eine im Dezimalsystem gegebene ganze Zahl a, ausgehend von s0 = |a|, aus der Gleichung sk = sk+1 Rest ak β nacheinander f¨ ur k = 0, 1, 2, . . . die Gr¨ oßen s1 und a0 , s2 und a1 usw., bis f¨ ur ein k = n der Wert sn+1 = 0 ist, dann ist mit den auf diese Weise gewonnenen Ziffern a0 , a1 , . . . , an ∈ {0, 1, . . . , β−1} die β-Darstellung von a gegeben durch a = v · (an an−1 . . . a1 a0 )β , wobei v ∈ {−1, 1} das Vorzeichen von a bezeichnet. Die Zahl 2004 besitzt demnach wegen 2004 2 1002 2 501 2 250 2 125 2 62 2 31 2 15 2 7 2 3 2 1 2
=
1002
Rest 0
(= a0 )
=
501
Rest 0
(= a1 )
=
250
Rest 1
(= a2 )
= =
125 62
Rest 0 Rest 1
(= a3 ) (= a4 )
=
31
Rest 0
(= a5 )
=
15
Rest 1
(= a6 )
=
7
Rest 1 (= a7 )
= =
3 1
Rest 1 (= a8 ) Rest 1 (= a9 )
=
0
Rest 1 (= a10 )
die Dualdarstellung 2004 = (+1) · (11111010100)2 .
6
6
1. Darstellung von Zahlen und Fehleranalyse
Rechnerintern wird eine ganze Zahl a = v · |a| als Dualzahl durch eine Reihe von Bits (”binary digits”) abgespeichert, gew¨ ohnlich in zwei oder vier Bytes (1 Byte = 8 Bits). Bei einer 2-Byte-Hinterlegung bedeutet das: 1. Byte 2. Byte µ ... α14 α13 α12 α11 α10 α9 α8 α7 α6 α5 α4 α3 α2 α1 α0 Das Vorzeichen wird dann u ¨ ber µ=
0, 1,
falls v = +1 falls v = −1
gew¨ahlt, und im Fall einer positiven Zahl entsprechen α14 bis α0 den Dualziffern von a: a = (+1) · (α14 α13 . . . α1 α0 )2 Als gr¨oßte darstellbare positive Zahl ergibt sich dann 14 X 215 − 1 a = (+1) · (111111111111111)2 = 1 · 2k = = 32 767 . 2−1 k=0
Damit eine Subtraktion auf eine Addition u uckgef¨ uhrt werden ¨ber a − b = a + (−b) zur¨ kann, werden negative Zahlen rechnerintern durch ein Komplement dargestellt, d. h. im Fall µ = 1 bzw. v = −1 stimmen die Hinterlegungen αk nicht mehr mit den Dualziffern ak der Zahl a = (−1) · (a14 a13 . . . a1 a0 )2 u ¨berein. Vorsicht ist geboten, wenn bei einer Addition oder Subtraktion das Ergebnis nicht mehr im darstellbaren Bereich liegt: Addiert man beispielsweise bei einer 1-Byte-Zahl [gr¨oßte darstellbare positive Zahl: 27 −1 = 127] 97 = (+1)·(1100001)2 und 43 = (+1)·(0101011)2 , so folgt . 0 .. 1 1 0 0 0 0 1 . + 0 .. 0 1 0 1 0 1 1 . 1 .. 0 0 0 1 1 0 0 ¨ d. h. ein Ubertrag beeinflusst letztendlich das Vorzeichenbit und f¨ uhrt auf ein v¨ollig inplausibles negatives Resultat! Solche Effekte treten leider h¨aufiger auf, ohne dass vom Rechnersystem eine Fehlermeldung oder zumindest eine Warnung ausgesprochen wird. Deshalb ist bei Rechnerergebnissen stets eine Pr¨ ufung auf Plausibilit¨ at erforderlich!
1.2.2
Darstellung reeller Zahlen
Jede nicht ganze, reelle Zahl a besitzt eine Entwicklung der Form ! n ∞ X X a=v· ak 10k + bk 10−k k=0
k=1
1.2 Zahlensysteme
7
mit einem Vorzeichen v ∈ {−1, 1} und Ziffern ak , bk ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, wobei mindestens ein Term bk 10−k 6= 0 auftritt. Die Dezimaldarstellung einer nicht ganzen Zahl heißt Dezimalbruch. Im Dezimalbruch einer Zahl a wird zwischen a0 und b1 ein Punkt, der sog. Dezimalpunkt, gesetzt: a = v · an an−1 an−2 . . . a1 a0 . b1 b2 . . . bt . . .
(1.3)
Die rechts vom Punkt notierten Stellen heißen Dezimalstellen oder Dezimalen. Gibt es in einem Dezimalbruch eine Dezimale bj 6= 0, so dass alle folgenden Dezimalen bj+1 = bj+2 = ... = 0 sind, dann heißt der Dezimalbruch endlich, andernfalls unendlich. Eine Darstellung (1.3) mit endlich vielen Dezimalstellen heißt Festpunktdarstellung. Demnach vergegenw¨ artigt 2 18 = 2.125 einen endlichen Dezimalbruch und 13 = 0.3333 . . . nicht. Dezimalbruchdarstellungen sind, abgesehen vom Sonderfall der Neunerperiode (z. B. ist −1.29999 . . . = −1.29 = −1.3), eindeutig. In einem Stellenwertsystem zur Basis β gilt analog die allgemeine Darstellung ! n ∞ X X k −k a = v· ak β + bk β k=0
k=1
= v · (an an−1 . . . a1 a0 . b1 b2 . . .)β mit v ∈ {+1, −1} und ak , bk ∈ {0, 1, . . . , β−1}; der Index β verweist wieder auf das zugrunde liegende Stellenwertsystem und entf¨ allt nur im vertrauten Fall β = 10. Der zwischen den Ziffern a0 und b1 gesetzte Punkt heißt nun β-Punkt, und man nennt (an an−1 . . . a1 a0 )β – manchmal auch unter Ber¨ ucksichtigung des Vorzeichens v – den ganzzahligen Anteil und (. b1 b2 b3 . . .)β den gebrochenen oder fraktionierten Anteil von a. Der Sonderfall β = 2 f¨ uhrt nun zur Dualbruchdarstellung einer reellen Zahl. Gibt es nur endliche viele Nachkomma“-Stellen, so spricht man von einem endlichen β-Bruch, ” andernfalls von einem unendlichen β-Bruch. Es gilt der Hilfssatz 1.10. Jede rationale Zahl p/q mit teilerfremden p ∈ Z und q ∈ N wird durch einen endlichen oder durch einen unendlichen periodischen Dezimal- oder Dualbruch dargestellt, jede irrationale Zahl durch einen unendlichen nicht periodischen Dezimal- oder Dualbruch. Zur Umwandlung reeller Zahlen in ein β-System reicht es, den ganzzahligen Anteil – siehe Abschnitt 1.2.1 – und den gebrochenen Anteil unabh¨angig voneinander zu konvertieren. Beispielsweise folgt mit β = 2 aus 0.625
= =
(+1) · (. b1 b2 b3 . . .)2 −1
b1 2
+ b2 2
−2
+ b3 2
mit bk ∈ {0, 1} −3
+...
durch Multiplikation mit β = 2 1.25
=
b1 + b2 2−1 + b3 2−2 + . . .
=
(b1 . b2 b3 . . .)2 .
8
1. Darstellung von Zahlen und Fehleranalyse
Somit entspricht b1 dem ganzzahligen Anteil 1 von 1.25 und weiter 0.25 = (. b2 b3 . . .)2 = b2 2−1 + b3 2−2 + . . . F¨ahrt man nun mit einer erneuten Multiplikation mit β = 2 fort 0.5 = (b2 . b3 . . .)2 = b2 + b3 2−1 + . . . , so f¨ uhrt der Vergleich der ganzzahligen und der gebrochenen Anteile in dieser Gleichung auf b2 = 0 und 0.5 = (. b3 b4 . . .)2 . Der n¨ achste gleichartige Schritt ergibt u ¨ber 1.0 = (b3 . b4 . . .)2 = b3 + b4 2−1 + . . . schließlich b3 = 1 und bk = 0 f¨ ur k ≥ 4. Mithin gilt 0.625 = (+1) · (. 101)2 , was auch plausibel ist, denn 0.625 ist die Summe von
1 2
= 2−1 und
1 8
= 2−3 .
Allgemein formuliert heißt das:
Algorithmus 1.11. (Umwandlung einer echt gebrochenen Zahl in einen β-Bruch) Gegeben sei eine echt gebrochene Zahl a, −1 < a < 1. Berechnet man, ausgehend von c0 = |a|, f¨ ur k = 1, 2, 3, . . . nacheinander die Gr¨oßen bk = int (β · ck−1 ) ck = β · ck−1 − bk
ganzzahliger Anteil von β · ck−1“, ” echt gebrochener Anteil von β · ck−1“, ”
dann ist a = v · (. b1 b2 b3 . . .)β , wobei v ∈ {−1, 1} das Vorzeichen von a wiedergibt. Die Berechnung wird abgebrochen, wenn hinreichend viele Nachkomma“-Stellen ” ermittelt wurden.
Beispiel 1.12. Algorithmus 1.11 f¨ uhrt mit a = 0.1 auf die folgenden Gr¨oßen f¨ ur das Dualsystem: b1 b2 b3 b4 b5 b6
= int = int = int = int = int = int ...
(0.2) = 0 , (0.4) = 0 , (0.8) = 0 , (1.6) = 1 , (1.2) = 1 , (0.4) = 0 ,
c1 c2 c3 c4 c5 c6
= 0.2 = 0.4 = 0.8 = 0.6 = 0.2 = 0.4 ...
Man erkennt, dass sich die Dualziffernfolge periodisch wiederholt: 0.1
=
(+1) · (. 00011001100110011 . . .)2
=
(+1) · (. 00011)2 .
Mithin entspricht 0.1 einem unendlichen periodischen Dualbruch.
1.2 Zahlensysteme
9
Definition 1.13. (Tragende Ziffern) Alle Ziffern in der β-Darstellung einer Zahl a = v · (an an−1 . . . a0 . b1 b2 . . .)β mit v ∈ {+1, −1} und ak , bk ∈ {0, 1, . . . , β −1}, beginnend mit der ersten von Null verschiedenen Ziffer (an 6= 0), heißen tragende Ziffern.
Beispiel 1.14. a = 0.0024060 a = 1573800 a = 47.110 a = 0.1
besitzt besitzt besitzt besitzt
7 Dezimalen keine Dezimalen 3 Dezimalen 1 Dezimale
und und und und
5 7 5 1
tragende tragende tragende tragende
Ziffern, Ziffern. Ziffern. Ziffer.
F¨ ur die letzte Zahl ergibt sich im Dualsystem a = (0.00011)2 , eine Zahl mit unendlich vielen Dualstellen und somit unendlich vielen tragenden Ziffern.
Definition 1.15. (Normalisierte Gleitpunktdarstellung) Jede reelle Zahl a 6= 0 kann als β-Zahl in der Form a = v · (. d1 d2 d3 . . . ds ds+1 . . .)β · β k
(1.4)
f¨ ur ein k ∈ Z dargestellt werden, wobei v ∈ {+1, −1} das Vorzeichen von a angibt und d1 6= 0 gilt. (1.4) heißt normalisierte β-Gleitpunktdarstellung von a, m = (. d1 d2 d3 . . .)β ihre β-Mantisse, und k ihr β-Exponent. Besitzt die Mantisse s tragende Ziffern, s ∈ N, so heißt sie s-stellig. So besitzen a = 346.5201 und b = −0.005386 im Dezimalsystem die normalisierten Gleitpunktdarstellungen a = 0.3465201 · 103 b = −0.5386 · 10−2
(7-stellige Mantisse), (4-stellige Mantisse).
Einem Computer stehen f¨ ur Berechnungen nur endlich viele in ihm darstellbare Zahlen, die Maschinenzahlen, zur Verf¨ ugung. Die Mantissen m dieser Maschinenzahlen haben gew¨ohnlich eine feste Anzahl von Ziffern. Ferner ist der Exponent k ∈ Z durch −k1 ≤ k ≤ k2 mit k1 , k2 ∈ N begrenzt. Eine weltweit g¨ ultige Norm nach ANSI (American National Standards Institute) und IEEE (Institute of Electrical and Electronics Engineers) schreibt f¨ ur reelle Zahlen, als Dualbruch mit 4 Bytes (= 32 Bits) im Rechner hinterlegt, das Format µ ... e1 . . . e8 ... d2 d3 . . . . . . . . . . . . . . . . . . . . . d24
10
1. Darstellung von Zahlen und Fehleranalyse
vor, wobei →µ
das Vorzeichen der Zahl wiedergibt,
→ e1 . . . e8
zur Darstellung des Exponenten k in (1.4) geh¨ort; als nicht negative ganze Zahl, auch Charakteristik genannt, wird hiervon stets die Konstante 127 abgezogen, d. h. k = (e1 . . . e8 )2 − 127,
→ d2 . . . d24
die Mantisse (bei negativen Zahlen wieder komplement¨ar genommen) der Zahl darstellt, wobei d1 = 1 zu erg¨anzen ist (als normalisierte Gleitpunktdarstellung bleibt f¨ ur d1 6= 0 im Dualsystem nur d1 = 1 u ¨brig!).
Hinzu kommen zus¨ atzliche Kennungen f¨ ur Fehlerf¨alle wie ”Overflow” (etwa bei Division durch 0) und anderes mehr. F¨ ur die Darstellung von 0.1 = (+1) · (. 00011)2 = (+1) · (. 1100)2 · 2−3 bedeutet das . . 0 .. 01111100 .. 100 1100 1100 1100 1100 1100 1100 11 . . . | | {z } | d23 = 124 d2 Als 2-Exponent ergibt sich 124−127 = −3, und d1 = 1 ist unterdr¨ uckt worden. Mithin ist klar, dass 0.1 im Rechner nicht exakt wiedergegeben werden kann! Rundet die Rechnerarithmetik auf, so wird d24 zu 1 gew¨ ahlt, und die interne Maschinenzahl ist gr¨oßer als 0.1 (genauer: 0.1000000015 . . .); wird abgerundet, also d24 = 0 gesetzt, dann hat die interne Maschinenzahl einen Wert unterhalb von 0.1 (genauer: 0.09999999404 . . .). Deshalb wird ein Rechner – u angig vom Speicherformat – f¨ ur das Produkt 10 · 0.1 nie ¨brigens unabh¨ genau den Wert 1 ermitteln. Dass mit Gleitpunktzahlen auf Rechenanlagen u ¨berhaupt gearbeitet wird, liegt daran, dass man damit bei gleicher Speichergr¨ oße einen enorm viel gr¨oßeren Zahlenbereich u ¨berstreicht. Beispiel 1.16. Nimmt man – abgesehen vom Vorzeichen – an, dass 8 dezimale Speichereinheiten zur Verf¨ ugung stehen, so ließen sich damit in den einzelnen Systemen die folgenden positiven Zahlen darstellen: 1) Ganzzahlsystem − kleinste darstellbare positive Zahl − gr¨oßte darstellbare positive Zahl
0000 0001 9999 9999
2) Festpunktsystem mit 4 Dezimalen − kleinste darstellbare positive Zahl − gr¨oßte darstellbare positive Zahl
0000.0001 9999.9999
3) Normalisiertes Gleitpunktsystem mit 6 Mantissen- und 2 Exponentenziffern (Exponent = Charakteristik−50) − kleinste darstellbare positive Zahl .100 000 · 10−50 − gr¨oßte darstellbare positive Zahl .999 999 · 1049
1.3 Rechnung mit endlicher Stellenzahl
11
Da alle Versionen von demselben Speicheraufwand ausgehen, lassen sich jeweils gleich viele verschiedene Maschinenzahlen darstellen. Die zugeh¨origen Zahlenwerte sind allerdings auf dem reellen Zahlenstrahl ungleich verteilt: • Bei dem Ganzzahlsystem lassen sich im positiven Bereich alle ganzen Zahlen zwischen 1 und 99 999 999 (=100 Mio. −1) hinterlegen. • Bei dem angegebenen Festpunktsystem lassen sich positive Zahlen zwischen 0.0001 (= 1 Zehntausendstel) und 9999.9999 (= 1 Zehntausendstel unter 10 000) wiederum gleichabst¨andig, diesmal im Abstand von 1 Zehntausendstel, als Maschinenzahlen abspeichern. • In dem betrachteten normaliserten Gleitpunktsystem liegen zwischen jeder zul¨assigen Zehnerpotenz – also zwischen 10−50 und 10−49 genauso wie zwischen 10−49 und 10−48 usw. – gleich viele Maschinenzahlen (genauer: jeweils 899 999). Das heißt das Intervall zwischen 0.1 und 1 enth¨ alt genauso viele darstellbare Zahlen wie das Intervall zwischen 1 und 10 oder das Intervall zwischen 10 und 100. Mithin sind diese Zahlen h¨ochst uneinheitlich dicht und unregelm¨aßig verteilt: Grob gesprochen liegen zwischen 0 und 1 genauso viele Gleitpunktzahlen wie oberhalb von 1.
1.3
Rechnung mit endlicher Stellenzahl
Den Vorteil der Gleitpunktzahlen, riesige Zahlenbereiche zu erfassen, steht allerdings ein erh¨ohter Aufwand f¨ ur die Anwendung der Grundrechenarten gegen¨ uber. Eine Rechnung mit s-stelliger Gleitpunktarithmetik bedeutet, dass alle Zwischenergebnisse und das Endresultat ebenfalls eine s-stellige Mantisse besitzen. Dadurch geht Genauigkeit verloren. Um derartige Einfl¨ usse einsch¨ atzen zu k¨ onnen, sollen im Folgenden vorwiegend anhand des vertrauten Dezimalsystems besondere Betrachtungen angestellt werden. Die erste Schwierigkeit tritt bereits bei der Hinterlegung einer reellen Zahl im Rechner auf, wenn der Speicherplatz nicht gen¨ ugend Ziffern aufnehmen kann; dies entspricht der folgenden Situation:
Definition 1.17. (Korrekte Rundung, g¨ ultige oder sichere Dezimalen) Einer Zahl a in der Darstellung (1.3) mit mehr als t Dezimalstellen wird die N¨aherungszahl A mit t Dezimalstellen durch korrekte Rundung zugeordnet, wenn 1 |a − A| ≤ 10−t = εa 2 gilt (vgl. Definition 1.2). A besitzt dann t g¨ ultige (sichere) Dezimalen. Daraus folgt: Der absolute Fehler |a −A| gibt Auskunft u ultiger Dezimalen. ¨ber die Anzahl g¨
12
1. Darstellung von Zahlen und Fehleranalyse
Beispiel 1.18. Sei a = 180.1234567. Gerundet auf 4 Dezimalen erh¨alt man A = 180.1235, so dass gilt |a − A| = 0.0000433 ≤ 0.5 · 10−4 ; damit besitzt A also 4 g¨ ultige Dezimalen.
Beispiel 1.19. Jede der folgenden Zahlen ist auf vier tragende Ziffern (d. h. auf eine dezimale Gleitpunktzahl mit 4-stelliger Mantisse) nach Definition 1.17 zu runden und als normalisierte dezimale Gleitpunktzahl (Definition 1.15) darzustellen. 0.012358 4.2354 4.235499 4.2698 4.2998 3.2355 3.2345 42354 42698
⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒
0.01236 = 0.1236 · 10−1 4.235 = 0.4235 · 101 4.235 = 0.4235 · 101 4.270 = 0.4270 · 101 4.300 = 0.4300 · 101 3.236 = 0.3236 · 101 3.235 = 0.3235 · 101 0.4235 · 105 0.4270 · 105
Definition 1.20. (Statistisch korrekte Rundung) Gilt exakt 1 | a − A |= 10−t , 2 so wird abgerundet, falls in (1.3) bt gerade ist, und aufgerundet, falls bt ungerade ist.
Beispiel 1.21. Jede der folgenden Zahlen ist nach Definition 1.20 auf vier tragende Ziffern (4-stellige Mantisse) zu runden: 3.2355 3.2345 3.234500 3.234501
⇒ ⇒ ⇒ ⇒
3.236 3.234 3.234 3.235
, , , .
Definition 1.22. (G¨ ultige oder sichere Ziffern) Ist A aus a durch korrekte Rundung auf t Dezimalen entstanden, so heißen die Ziffern in A, die in der Position 10−t und davor stehen, g¨ ultige bzw. sichere Ziffern; f¨ uhrende Nullen werden ignoriert. Die letzte Ziffer einer N¨ aherungszahl sollte immer eine g¨ ultige (sichere) Ziffer sein.
1.3 Rechnung mit endlicher Stellenzahl
13
Beispiel 1.23. 1. Sei X eine N¨ aherungszahl von x. Wird keine Angabe u ¨ ber den absoluten Fehler |∆x | von X gemacht, so sollte die letzte tragende Ziffer der Zahl eine sichere Ziffer sein. Die Schreibweise X = 3.14 sollte bedeuten, dass f¨ ur den absoluten Fehler von X gilt |∆x | ≤ 0.5 · 10−2 , d. h. dass X zwei sichere Dezimalen bzw. drei sichere Ziffern besitzt. 2. Die Angabe X = 0.004534 ± 0.000004 bedeutet, dass X wegen |x − X| ≤ 0.5 · 10−5 5 sichere Dezimalen und 3 sichere Ziffern besitzt. Dagegen heißt X = 0.004534 ± 0.000006, dass X wegen |∆x | > 0.5 · 10−5 , aber |∆x | ≤ 0.5 · 10−4 nur vier sichere Dezimalen und zwei sichere Ziffern hat. Die Anzahl sicherer Dezimalen liefert somit eine Absch¨atzung des absoluten Fehlers. Die Anzahl der sicheren Ziffern hingegen liefert eine grobe Sch¨atzung des relativen Fehlers. Es gilt der Satz 1.24. a habe die Darstellung (1.4) im Dezimalsystem (β = 10). A sei eine s-stellige dezimale Gleitpunktzahl, die aus a durch Rundung auf eine s-stellige Mantisse entstanden ist. Dann gelten folgende Absch¨ atzungen: 1. F¨ ur den absoluten Fehler von A gilt |∆a | = |a − A| ≤
1 k−s 10 , 2
2. F¨ ur den relativen Fehler von A, a 6= 0, gilt ∆a ≤ 5 · 10−s . |δa | = a
Beweis. Sei a in der normalisierten Darstellung (1.4) gegeben a = v · (. d1 d2 . . . ds ds+1 . . .) · 10k ,
v ∈ {+1, −1}
und werde auf s Mantissenstellen gerundet A = v · (. d1 d2 . . . Ds ) · 10k . Dann gilt |A − a| ≤
1 1 · 10−s · 10k = 10k−s 2 2
und weiter A − a 0.5 · 10k−s 0.5 · 10−s 0.5 · 10−s = 5 · 10−s . a ≤ (0.d1 d2 . . .) 10k = .d1 d2 . . . ≤ 0.1 Daraus folgt: Der relative Fehler gibt Auskunft u ultiger Ziffern einer Zahl. ¨ ber die Anzahl g¨
14
1. Darstellung von Zahlen und Fehleranalyse
Beispiel 1.25. Gegeben ist die Zahl a = 180.1234567, die in normalisierter dezimaler Gleitpunktdarstellung lautet a = .1801234567 · 103 (also k = 3) . Bei Rundung auf 6-stellige Mantisse (s = 6) erh¨ alt man A = .180123 · 103 . F¨ ur den absoluten Fehler gilt somit |A − a| = .000 000 4567 · 103 = .4567 · 10−6 · 103 ≤ 0.5 · 10−3 ; A besitzt deshalb 3 g¨ ultige Dezimalen. F¨ ur den relativen Fehler gilt A − a 0.5 · 10−3 −6 ≤ a 0.1801234567 · 103 ≤ 5 · 10 ; zu A geh¨oren demnach 6 g¨ ultige Ziffern.
Addition von Gleitpunktzahlen Um zwei Gleitpunktzahlen addieren zu k¨ onnen, m¨ ussen zun¨achst die Exponenten verglichen und wom¨oglich angepasst werden, wobei dann die Mantisse der Zahl mit dem kleineren Exponenten so weit nach rechts verschoben wird, bis die Exponenten u ¨bereinstimmen. Dann k¨onnen die Mantissen addiert werden. In einem letzten Schritt ist unter Umst¨anden die Darstellung zu normalisieren. Beispiel 1.26. Es sollen die Zahlen a = 0.054 320 69 und b = 999.964 88 in einer 5-stelligen dezimalen Gleitpunktarithmetik addiert werden. Die Zahlen a und b werden zun¨achst im g¨ ultigen Format dargestellt: A = gl (a) = 0.54321 · 10−1 B = gl (b) = 0.99996 · 103 gl (·) bezeichne hierbei die zul¨ assige Gleitpunkthinterlegung und -rechnung. Damit ergibt sich . A 0.00005 ... 4321 ·103 + B 0.99996 .. ·103 .. 1.00001 .. ·103 = 0.10000 .. 1 ·104 (normalisiert) also gl (A + B) = 0.10000 · 104 = 1000.0. Exakt w¨aren a + b = 1 000.019 200 69 und A + B = 1 000.014 321. Nach Satz 1.24 liegen die absoluten und relativen Fehler zu Beginn bei |∆a | = |a − A| ≤ 0.5 · 10−6 , |δa | = ∆aa ≤ 5 · 10−5 , |∆b | = |b − B| ≤ 0.5 · 10−2 , |δb | = ∆bb ≤ 5 · 10−5 .
1.3 Rechnung mit endlicher Stellenzahl
15
Bezeichnet x = a + b die exakte Summe und X deren N¨aherung in der benutzten Arithmetik, so erh¨alt man entsprechend: ∆x = 1.92 · 10−5 . |∆x | = |x − X| = 1.92 . . . · 10−2 , |δx | = x Obwohl das Resultat X dem auf die benutzte Gleitpunktarithmetik gerundeten exakten Ergebnis gl (x) entspricht, hat sich der absolute Fehler in Relation zu den Eingangsfehlern doch merklich vergr¨ oßert. Multiplikation von Gleitpunktzahlen Um zwei Gleitpunktzahlen zu multiplizieren, gen¨ ugt es, die jeweiligen Mantissen zu multiplizieren und die zugeh¨ origen Exponenten zu addieren. Zum Schluss muss unter Umst¨anden das Ergebnis der normalisierten Darstellung wieder angepasst werden. Beispiel 1.27. Soll das Produkt der Zahlen a = 0.030 121 48 und b = 109.9761 in einer 5-stelligen dezimalen Gleitpunktarithmetik berechnet werden, so ergibt sich mit den gerundeten Werten A =gl (a) und B =gl (b) u ¨ ber A · B
. 0.30121 ... ·10−1 . 0.10998 . ·103 .. 0.03312 .. 707 . . . ·102 = 0.33127 .. 07 . . . ·101
(normalisiert)
schließlich gl (A · B) = 0.33127 · 101 = 3.3127. Exakt h¨atten sich a · b = 3.312 707 58 . . . und A · B = 3.312 707 58 . . . ergeben; wiederum entspricht das Resultat X = gl (A · B) dem exakten Ergebnis x = a · b, gerundet auf die verwendete Arithmetik: X = gl (x). Die absoluten und relativen Eingangsfehler nach Satz 1.24 |∆a | = |a − A|
≤
0.5 · 10−6 ,
|δa | = ∆aa
|∆b |
≤
0.5 · 10−2 ,
|δb |
=
|b − B|
=
∆ b b
≤ 5 · 10−5 , ≤
5 · 10−5
f¨ uhren in der benutzten Arithmetik zu den entsprechenden Ergebnisfehlern ∆x = 0.2288 . . . · 10−5 ; |∆x | = |x − X| = 7.58 . . . · 10−6 , |δx | = x die Gleitpunkt-Multiplikation scheint keinesfalls Eingangsfehler zu vergr¨oßern.
Man muss beachten, dass mathematische Gesetze wie das Assoziativ- und das Distributivgesetz bei einer Rechnung in einer Gleitpunktarithmetik ihre Allgemeing¨ ultigkeit verlieren. Beispielsweise ist mit 5-stelliger Mantissenrechnung
16
1. Darstellung von Zahlen und Fehleranalyse
gl (0.12345 · 10−2 + 0.22232 · 102 ) − 0.22223 · 102 = 0.10000 · 10−1 , hingegen gl 0.12345 · 10−2 + (0.22232 · 102 − 0.22223 · 102 ) = 0.10235 · 10−1 . Definition 1.28. (Maschinengenauigkeit oder elementarer Rundungsfehler ) Die Maschinengenauigkeit bzw. der elementare Rundungsfehler % ist die kleinste positive Maschinenzahl A, die auf 1 addiert eine Maschinenzahl ungleich 1 liefert: % = min { A > 0 | gl (1 + A) 6= 1 } . gl (a) ist wieder die normalisierte Gleitpunktdarstellung (1.4) der Zahl a. Beispiel 1.29. Es sei a = 1, die Darstellung erfolge mit 6-stelliger dezimaler Mantisse. Dann gilt gl (1) = .100 000 · 101 , % = 5 · 10−6 . Denn: Bei der Addition 1 + % in 6-stelliger Gleitpunktarithmetik ergibt sich 1 +5 · 10
−6
1 + 5 · 10−6
= =
.100 000 · 101 .000 0005 · 101
=
.100 001 · 101 6= 1 .
Jede positive Zahl, die kleiner als 5 · 10−6 ist, w¨are bei der Addition unber¨ ucksichtigt geblieben. F¨ ur einen Rechner, der reelle Zahlen a auf Gleitpunktzahlen A = gl (a) mit s-stelliger Mantisse zur Basis β rundet, gilt A − a β −s a ≤ 2 · β = %, wobei % die Maschinengenauigkeit nach Definition 1.28 bedeutet. Im gewohnten Dezimalsystem f¨ uhrt das auf % = 5 · 10−s . F¨ ur Rechner mit Dualzahlarithmetik ergibt sich demnach % = 2−s , also f¨ ur den zuvor angegebenen ANSI- bzw. IEEE-Standard mit s = 24 dann % = 2−24 ≈ 5.96 · 10−8 , was nach Satz 1.24 u ¨ ber den relativen Fehler mit einer etwa 7-stelligen dezimalen Genauigkeit gleichzusetzen ist. Kombinierter Test AbsErr und RelErr seien Schranken f¨ ur den absoluten bzw. relativen Fehler. F¨ ur den Einsatz in Programmen ist der folgende kombinierte Test zweckm¨aßig, der wahlweise eine Abfrage auf den absoluten oder den relativen Fehler erlaubt: a) RelErr = 0 und AbsErr > 0 |a − A| ≤ |A| RelErr + AbsErr mit (1.5) b) RelErr > 0 und AbsErr = 0
1.4 Fehlerquellen
17
(1.5) ist mit a) eine Abfrage auf den absoluten Fehler und mit b) eine Abfrage auf den relativen Fehler. Die Abfrage b) mit RelErr = 5 · 10−s sichert s g¨ ultige Ziffern der Mantisse von A f¨ ur die Darstellung (1.4) mit β = 10. Die Abfrage a) mit AbsErr = 5 · 10−t bewirkt, dass t g¨ ultige Dezimalen f¨ ur die Darstellung (1.3) bestimmt werden. Die Entscheidung f¨ ur a) oder b) muss im Allgemeinen außerhalb eines Algorithmus getroffen werden. Der Algorithmus 13.3 zeigt, dass eine solche Entscheidung auch innerhalb eines Algorithmus erfolgen kann.
1.4
Fehlerquellen
Bei der numerischen Behandlung eines Problems treten verschiedene Fehlerquellen auf. Der gesamte Fehler einer Berechnung von der Eingabe bis zur Ausgabe setzt sich im Allgemeinen zusammen aus: • Eingabefehlern (Eingangsfehlern) • Verfahrensfehlern (Abbruchfehlern, Diskretisierungsfehlern) • Fortpflanzungsfehlern • Rechnungsfehlern
1.4.1
Eingabefehler
Eingabefehler sind die Fehler, mit denen die Eingabedaten behaftet sind, z. B. wegen fehlerhafter Messungen oder Rundung. Diese unvermeidbaren Fehler wirken sich auf die Ausgabedaten eines Algorithmus aus. Daher m¨ ussen numerische Algorithmen so konzipiert werden, dass der Einfluss von Eingabefehlern m¨oglichst begrenzt wird (siehe auch Abschnitt 1.4.4).
Beispiel 1.30. F¨ ur das Integral
Z1 In =
(1 − x)n · sin x dx
0
l¨asst sich mit Hilfe zweimaliger partieller Integration die Rekursionsformel In = 1 − n (n − 1) In−2 gewinnen, die f¨ ur gerades n ≥ 2, ausgehend von I0 =
R1 0
der auf die Werte I2 , I4 , I6 usw. f¨ uhrt.
sin x dx = 1 − cos(1), nacheinan-
18
1. Darstellung von Zahlen und Fehleranalyse
In keinem Rechner wird der Wert cos(1) = 0.540 302 3 . . . exakt darstellbar sein. Verschiedene Genauigkeiten bei diesem Eingabedatum haben schon nach wenigen Schritten erstaunliche Konsequenzen: Eingabewert f¨ ur cos (1)
Eingabeungenauigkeit
exakt 10-stellige dezimale Genauigkeit 0.54030 0.540
0
0.011 027 . . .
0
9.3 · 10−10
0.011 0261 . . .
1.3 · 10−6
2.3 · 10−6 3 · 10−4
resultierender Integralwert I8
0.104 12.2
Fehler
9.3 · 10−2 12.2
Man erkennt deutlich, welch verheerende Auswirkungen durch Eingabefehler entstehen k¨onnen.
1.4.2
Verfahrensfehler
Verfahrensfehler sind solche, die durch die verwendete numerische Methode verursacht werden. Das Ersatzproblem f¨ ur eine zu l¨ osende Aufgabe muss so formuliert werden, dass • es numerisch gel¨ ost werden kann und • seine L¨osung nicht wesentlich von derjenigen des gegebenen Problems abweicht. Bei einem geeignet formulierten Ersatzproblem wird dessen L¨osung eine N¨aherungsl¨osung f¨ ur das gegebene Problem sein. Die Differenz zwischen diesen beiden L¨osungen heißt der Verfahrensfehler. Dieser Verfahrensfehler h¨ angt in hohem Maße vom gegebenen Problem und von dem ausgew¨ ahlten Ersatzproblem ab. Der Verfahrensfehler ber¨ ucksichtigt weder Eingabe- noch Rechnungsfehler im Verfahren selbst. Beispiele: 1. Die Berechnung eines bestimmten Integrals wird ersetzt durch die Berechnung einer endlichen Summe. Dann ist der Verfahrensfehler die Differenz b Z n X f (x) dx − Ak f (xk ) . k=0 a
2. Die Berechnung der 1. Ableitung einer Funktion f wird ersetzt durch die Berechnung des vorderen Differenzenquotienten. Dann ist der Verfahrensfehler 0 f (x) − f (x + h) − f (x) . h
1.4 Fehlerquellen
1.4.3
19
Fehlerfortpflanzung und die Kondition eines Problems
Fehler der Ausgabedaten eines Problems, die durch Fehler der Eingabedaten erzeugt werden, heißen Fortpflanzungsfehler. So lassen sich die Ergebnisse in Beispiel 1.30 dadurch erkl¨aren, dass sich ein Eingabefehler ε0 , wenn statt I0 ein Wert Ie0 mit | I0 − Ie0 | ≤ ε0 genommen wird, fortlaufend vervielfacht: Statt I2 = 1 − 2 · 1 · I0 berechnet man dann Ie2 = I2 −2 ε0 , anstelle von I4 = 1−4·3·I2 dann Ie4 = 1−4·3· Ie2 = I4 +24 ε0 , und entsprechend folgt Ie6 = I6 −720 ε0 sowie schließlich Ie8 = I8 +40 320 ε0 f¨ ur die berechneten Werte. Um die Auswirkungen von Fortpflanzungsfehlern allgemein zu untersuchen, nimmt man an, dass das Resultat y eine reellwertige Funktion f sei, die sich aus den Argumenten x1 ,x2 ,...,xn berechnen l¨ asst: y = f (x1 , x2 , . . . , xn ) =: f (x )
mit x = (x1 , x2 , . . . , xn )T .
Sind nun statt der Eingabedaten xi nur N¨ aherungswerte Xi bekannt, so erh¨alt man anstelle des gesuchten Funktionswertes y einen N¨ aherungswert Y = f (X1 , X2 , . . . , Xn ) =: f (X ) mit X = (X1 , X2 , . . . , Xn )T . Im Folgenden wird eine obere Schranke f¨ ur den Fortpflanzungsfehler ∆y = y − Y bei gegebenen Eingabefehlern ∆xi = xi − Xi der Eingabedaten xi angegeben.
Satz 1.31. Es sei f : G ⊂ Rn → R eine auf einem Gebiet G stetig differenzierbare Funktion, ferner seien x = (x1 , . . . , xn )T ∈ G und X = (X1 , . . . , Xn )T ∈ G. Dann gibt es ein x = (x1 , . . . , xn )T ∈ G mit xi zwischen xi und Xi f¨ ur i = 1(1)n, so dass f¨ ur den Fortpflanzungsfehler gilt: n X ∂f (x ) ∆y = y − Y = f (x ) − f (X ) = ∆xi , ∂xi i=1 wobei ∆xi = xi − Xi der Eingabefehler von xi ist.
Praktisch werden die Eingabefehler nicht exakt bekannt sein, sondern nur obere Schranken εxi mit | xi − Xi | ≤ εxi daf¨ ur. Ebenso l¨ asst sich, abgesehen von Ausnahmef¨allen, die Zwischenstelle“ x nicht genau angeben. Deshalb wendet man die Formel aus Satz 1.31 ” gew¨ohnlich wie folgt an: n X ∂f (X ) | ∆y | ≤ (1.6) ∂xi · εxi i=1 F¨ ur kleine Eingabefehler εxi liegt auch x nahe bei X , und wegen der Stetigkeit der partiellen Ableitungen von f bleibt dann die in (1.6) auf der rechten Seite erfolgte Inkorrektheit in u ¨berschaubaren Grenzen. Das Ergebnis aus Satz 1.31 l¨ asst sich leicht auf den relativen Fehler u ¨bertragen: n X ∆y xi ∂f(x ) δy = = · · δxi , y f (x ) ∂xi i=1
(1.7)
20
1. Darstellung von Zahlen und Fehleranalyse
∆xi xi − X i = der relative Eingabefehler von xi ist. xi xi F¨ ur die praktische Anwendung heißt das wiederum n ∆y X Xi ∂f (X ) ≤ · y f (X ) ∂xi · %xi i=1 xi − X i ≤ %x f¨ mit den oberen Schranken ur die relativen Eingabefehler. i xi wobei δxi =
Beispiel 1.32. Man gebe eine Absch¨ atzung des Eingangsfehlers an, der bei der Bestimmung des spezifischen Gewichtes γ eines Zylinders vom Gewicht G, dem Radius r und der H¨ohe h entsteht, wenn ∆G, ∆r die wahren Messfehler von G, r sind und ∆π der wahre Rundungsfehler f¨ ur π ist; h sei genau gemessen. L¨osung: Es gilt γ=
G G = 2 = γ(G, r, π, h) . V πr h
Da h genau angenommen wird, setzt man γ(G, r, π, h) = γ ∗ (G, r, π) . Mit
f (x1 , x2 , x3 ) = γ ∗ , x1 = G, x2 = r, x3 = π, |∆G| ≤ εG , |∆r| ≤ εr , |∆π| ≤ επ , ∂γ ∗ 1 ∂γ ∗ 2G ∂γ ∗ G = 2 , =− 3 , =− 2 2 ∂G πr h ∂r πr h ∂π π r h
erh¨alt man nach (1.6) |∆γ ∗ | ≤
1 2(G + εG ) εG + εr 2 (π − επ )(r − εr ) h (π − επ )(r − εr )3 h +
G + εG επ . (π − επ )2 (r − εr )2 h
Bei kleinen Radien wirken sich also alle Messfehler st¨arker aus als bei großen Radien. Die Bestimmung des durch Eingabefehler verursachten Fortpflanzungsfehlers ist Aufgabe der Fehleranalysis. F¨ ur eine Eingabe x h¨ angt der relative Fortpflanzungsfehler stark von x und f (x ) ab, d. h. von dem Problem selbst. Dabei sind die Faktoren Ki =
xi ∂f (x ) f (x ) ∂xi
als Verst¨arkungsfaktoren der relativen Eingabefehler δxi anzusehen. Man erkennt, dass sich Funktionen f mit betragsm¨ aßig kleinen partiellen Ableitungen fxi bez¨ uglich der
1.4 Fehlerquellen
21
Fehlerfortpflanzung g¨ unstig verhalten. Man nennt das Problem, f (x ) aus x zu berechnen, ein gut konditioniertes Problem f¨ ur die Funktion f , wenn alle Verst¨arkungsfaktoren nicht wirklich die Eingabefehler vergr¨ oßern, also betragsm¨aßig in der Gr¨oßenordnung von 1 liegen. Die Zahlen Ki heißen die Konditionszahlen des Problems. Im Idealfall, wenn |Ki | ≤ 1 ist f¨ ur alle i, wird keine Verschlechterung der Genauigkeit eintreten. Tats¨achlich w¨are man schon mit |Ki | ≤ 102 sehr zufrieden, da in diesem Fall der Output“ ” f (x ) nur etwa 2 Ziffern an Genauigkeit gegen¨ uber der vorliegenden Eingabegenauigkeit verlieren w¨ urde. Der Bezug der Konditionszahl auf die relativen Fehler macht die Betrachtung u angig von der Skalierung der Ein- und Ausgabegr¨oßen. ¨brigens unabh¨ F¨ ur große Probleme ist eine Absch¨ atzung von Fortpflanzungsfehlern und Konditionszahlen sehr kompliziert und selten m¨ oglich. In solchen F¨allen ist der Einsatz statistischer Fehlerabsch¨atzungen sinnvoll, siehe [HENR1972], Bd.2, S.381. Im Folgenden werden die relativen Fortpflanzungsfehler f¨ ur die elementaren arithmetischen Operationen zusammengestellt: 1. Fortpflanzungsfehler einer Summe Es sei
y = f (x1 , x2 ) = x1 + x2 .
Dann sind fx1 = fx2 = 1 und nach (1.7) 2 X x1 x2 δy = δx1 + δx2 = Ki δxi . x1 + x2 x1 + x2 i=1 Wenn die Eingabedaten x1 und x2 dasselbe Vorzeichen haben, ist die Addition eine gut konditionierte Operation (wegen |Ki | = |xi /(x1 + x2 )| < 1). Wenn jedoch x1 und x2 verschiedene Vorzeichen haben und dem Betrage nach nahezu gleich sind, ist |x1 + x2 | sehr klein und somit |Ki | = |xi |/|x1 + x2 | sehr groß; die Addition ist dann schlecht konditioniert. In diesem Fall gehen bei der Addition tragende Ziffern verloren, ein Effekt, den man Ausl¨oschung nennt.
Beispiel 1.33. Gegeben seien die drei Werte x1 = 123.454 Mrd. C, x2 = 123.446 Mrd. C und x3 = 123.435 Mrd. C. Legt man eine 5-stellige dezimale Gleitpunktarithmetik zugrunde, so wird mit X1 = gl (x1 ) = 0.12345 · 1012 , X2 = gl (x2 ) = 0.12345 · 1012 und X3 = gl (x3 ) = 0.12344 · 1012 weiter gerechnet. Man erh¨ alt so anstelle von x1 − x2 = x1 + (−x2 ) = 8 Mio. C den Wert 0 und anstelle von x1 − x3 = x1 + (−x3 ) = 19 Mio. C den Wert 0.10000 · 108 , also 10 Mio.
22
1. Darstellung von Zahlen und Fehleranalyse Die jeweils in der f¨ unften tragenden Stelle liegenden Rundefehler nehmen schon nach einer Rechenoperation Einfluss auf die Gr¨oßenordnung des Ergebnisses! Bei der ersten Rechnung x1 − x2 lauten die Konditionszahlen K1 =
123.454 Mrd. 123.446 Mrd. = 15431.75 und K2 = = 15430.75 , 8 Mio. 8 Mio.
und diese gr¨ oßeren Werte sollten dazu anhalten, die mit der Rechnerarithmetik erhaltenen Ergebnisse ¨ außerst kritisch zu u ufen. ¨berpr¨ Der Ausdruck x − (x − y) entspricht korrekt dem Wert y. Mit x = 1030 und y = 106 w¨ urde allerdings ein Rechner stattdessen das Ergebnis 0 produzieren, da in der vorgegebenen Auswertungsreihenfolge die Gleitpunktarithmetik den Klammerausdruck zu x werden l¨ asst. In bestimmten F¨ allen lassen sich durch geschickte Umformungen derartige Gegebenheiten vermeiden.
Beispiel 1.34. x Es soll der Ausdruck sin (1+x)−sin ur x nahe 0 auswertet werden. Setzt man in (1) f¨ (Taschen-)Rechnern f¨ ur x Werte wie 10−5 , 10−10 , 10−15 , 10−20 usw. ein, so wird man schon bald eine Fehlermeldung erhalten ( Division durch Null“). Dies liegt ” nat¨ urlich daran, dass die beiden Werte im Nenner rechnerintern nicht mehr unterschieden werden k¨ onnen und deshalb die Differenz auf eine 0 f¨ uhrt.
Nutzt man das Additionstheorem sin (a) − sin (b) = 2 cos
a+b 2
sin
a−b 2
mit a = 1 + x und b = 1, so folgt daraus x x sin (1 + x) − sin (1) = 2 cos 1 + sin . 2 2 Damit gilt die Identit¨ at x x = sin (1 + x) − sin (1) 2 cos 1 + x2 sin
x 2
.
Die Auswertung des umgeformten Ausdrucks erweist sich als numerisch stabil: F¨ ur auf 0 zugehende Werte von x liefert auch ein (Taschen-)Rechner Werte in der korrekten Gr¨oßenordnung von x 1 lim = = 1.850 815 7 . . . x→0 sin (1 + x) − sin (1) cos (1)
1.4 Fehlerquellen Beispiel 1.35. Die Funktion
23
f (x, y) = 9 x4 − y 4 + 2 y 2
besitzt an der Stelle (x, y) = (10864, 18817) den Wert 1. Eine rechnerische Auswertung in der Reihenfolge (9 x4 − y 4 ) + 2 y 2 schließt Ausl¨oschungseffekte bei der Differenzbildung ein und f¨ uhrt so auf ein Ergebnis in der Gr¨oßenordnung von 2 y 2 . Auch die Auswertungsreihenfolge (9 x4 + 2 y 2 ) − y 4 vermeidet keine Ausl¨ oschung und liefert wiederum ein fehlerhaftes Resultat, u. U. eine zuf¨allige“ 0. Erst die Umformung ” f (x, y) = (3 x2 + y 2 ) (3 x2 − y 2 ) + 2 y 2 l¨asst unangenehme rechnerinterne Verf¨ alschungen außen vor und reproduziert den exakten Wert 1. Die letzten Beispiele lassen evident erscheinen, dass man sich keinesfalls auf jedes Rechnerergebnis verlassen darf; man sollte stets eine Plausibilit¨ atspr¨ ufung vornehmen! Selbst wenn das Resultat vertrauensw¨ urdig ist, kann man nie allen angegebenen Stellen Glauben schenken. Einige Rechnersysteme bieten die M¨ oglichkeit, mit unterschiedlicher Mantissenstellenzahl s zu rechnen. Ausl¨ oschungseffekte lassen sich umso weiter nach hinten dr¨angen, je gr¨ oßer die Anzahl der mitgef¨ uhrten Stellen ist, so dass man eine diesbez¨ ugliche Einflussnahme zumindest in zweifelhaften F¨allen vorteilhaft nutzen kann. 2. Fortpflanzungsfehler eines Produktes Es sei
y = f (x1 , x2 ) = x1 x2 .
Hier sind fx1 = x2 und fx2 = x1 , und somit gilt (wegen Ki ≈ 1) x1 x2 δy = · x2 · δx1 + · x1 · δx2 ≈ δx1 + δx2 . x1 x2 x1 x2 Also ist die Multiplikation gut konditioniert. 3. Fortpflanzungsfehler eines Quotienten Es sei
y = f (x1 , x2 ) =
x1 . x2
Hier sind fx1 = 1/x2 und fx2 = −x1 /x22 , und somit gilt (wegen K1 ≈ 1 und K2 ≈ −1) x1 1 x2 −x1 δy = · · δx1 + · · δx2 ≈ δx1 − δx2 . x1 /x2 x2 x1 /x2 x22 Also ist auch die Division gut konditioniert.
24
1. Darstellung von Zahlen und Fehleranalyse 4. Fortpflanzungsfehler von Potenzen Es sei
y = f (x1 ) = xp1
f¨ ur p > 0 , x1 > 0 .
Hier ist fx1 = pxp−1 und (wegen K1 ≈ p) δy ≈ pδx1 ; damit sind Wurzeln im 1 Allgemeinen gut konditioniert und Potenzen m¨aßig schlecht konditioniert f¨ ur große p. Dies ist einer der Gr¨ unde daf¨ ur, dass man keine vern¨ unftigen Resultate erwarten kann, wenn versucht wird, ein Polynom Pn (x) = a0 + a1 x + a2 x2 + . . . + an xn auszuwerten, indem Terme der Form ak xk summiert werden; man sollte stattdessen immer das besser konditionierte Horner-Schema benutzen, in dem abwechselnd multipliziert und addiert, aber nicht potenziert wird (vgl. Abschnitt 3.2).
1.4.4
Rechnungsfehler und numerische Stabilit¨ at
Zur Durchf¨ uhrung eines numerischen Verfahrens muss ein Algorithmus formuliert werden. Definition 1.36. (Algorithmus) Ein Algorithmus ist eine endliche Menge genau beschriebener Anweisungen (arithmetische und logische Operationen und Ausf¨ uhrungshinweise), die in einer bestimmten Reihenfolge auszuf¨ uhren sind, um mit Hilfe der eingegebenen Daten die gesuchten Ausgabedaten zu ermitteln. In diesem Sinne wurden bereits zuvor die Algorithmen“ 1.8, 1.9 und 1.11 formuliert. ” W¨ahrend der Ausf¨ uhrung der Rechenoperationen ergibt sich durch Anh¨aufung lokaler Rechnungsfehler ein akkumulierter Rechnungsfehler. Die √ lokalen Rechnungsfehler entstehen z. B. dadurch, dass irrationale Zahlen wie π, e, 2 durch endliche Dezimalbr¨ uche (Maschinenzahlen) ersetzt werden; dadurch werden Abbruch- oder Rundungsfehler erzeugt. Hinreichend kleine Gr¨ oßen, die durch Unterlauf entstehen, werden vernachl¨assigt. F¨ uhrende genaue Stellen k¨ onnen bei der Subtraktion fast gleich großer Zahlen ausgel¨oscht werden. Mit der Anzahl der Operationen in einem Algorithmus w¨achst somit die Gefahr, dass v¨ollig falsche Ergebnisse entstehen. Algorithmen, die eine Verst¨ arkung und Anh¨ aufung von Rundungsfehlern vermeiden, werden numerisch stabil genannt. Es gibt unterschiedliche Definitionen f¨ ur den Begriff der numerischen Stabilit¨ at: 1. Sind s¨amtliche Rundungsfehler eines Algorithmus von derselben Gr¨oßenordnung wie der Fehler fx · ∆x f¨ ur den Eingabefehler ∆x , so nennt Bauer [BAUE1965] den Algorithmus numerisch stabil.
1.4 Fehlerquellen
25
2. Stewart [STEW1973], S.76, unterscheidet zwischen dem theoretischen Algorithmus f und seiner numerischen Realisation f ∗ . Er nennt den Algorithmus f ∗ numerisch stabil, wenn es f¨ ur jeden Eingabewert x ein benachbartes x∗ gibt, so dass f (x∗ ) dicht bei f ∗ (x) liegt. Mit dieser Definition n¨ahert f¨ ur gut konditionierte Probleme das berechnete Ergebnis eines stabilen Algorithmus die exakte L¨osung auch gut an. Wenn f ∗ numerisch stabil ist im Sinne von Stewart, dann gibt es f¨ ur ein schlecht konditioniertes Problem ein x∗ nahe bei x, f¨ ur welches sich f (x∗ ) und f ∗ (x∗ ) in gleichem Maße von f (x) unterscheiden. 3. Eine sehr h¨aufig benutzte Definition f¨ ur numerische Stabilit¨at fordert die Existenz eines x∗ nahe bei x, so dass f ∗ (x∗ ) = f (x) ist, vgl. [WILK1969].
Beispiel 1.37. Hat man eine Gleichung der Form yn+1 = a yn + b yn−1
(n ∈ N) ,
auch Differenzengleichung genannt, mit reellen Konstanten a, b und n ∈ N, so l¨asst sich jeder Wert yn hier¨ uber nach Angabe von zwei konkreten Startwerten“ y0 und y1 ” berechnen. Eine allgemeine L¨ osung der Differenzengleichung kann mit Hilfe des Ansatzes yn = ξ n
(1.8)
mit einem festen Wert ξ gewonnen werden. Einsetzen ergibt ξ n+1 = a ξ n + b ξ n−1 bzw. nach Division durch ξ n−1 6= 0 ξ2 − a ξ − b = 0 . Die Nullstellen dieser quadratischen Gleichung sind gegeben durch r a a2 ξ1,2 = ± +b, 2 4 und Fehler in der Angabe von ξ werden durch das Potenzieren in (1.8) nur dann nicht verst¨arkt, wenn a r a2 +b ≤1 ± 2 4 erf¨ ullt ist. Dann ist ein u ¨ber obige Differenzengleichung gegebener Algorithmus numerisch stabil. Die Verwendung instabiler Algorithmen ist praktisch sinnlos. Aber selbst dann, wenn ein stabiler Algorithmus verwendet wird, hat es nat¨ urlich keinen Sinn, zwar mit einer exakten Prozedur zu arbeiten, aber die Berechnung mit nur geringer Genauigkeit auszuf¨ uhren; es werden dann nat¨ urlich große Rechnungsfehler auftreten.
26
1. Darstellung von Zahlen und Fehleranalyse
Gew¨ohnlich sind numerisch stabile Algorithmen und gut konditionierte Probleme notwendig, um u ¨berhaupt zufriedenstellende Resultate erreichen zu k¨onnen; diese Bedingung ist jedoch keineswegs hinreichend, da das Instrument Computer“, mit dem das Ergebnis ” erzeugt wird, mit begrenztem Speicherplatz und begrenzter Zeit arbeitet. ComputerOperationen setzen sich zusammen aus dem Schreiben in den Speicher, dem Lesen aus dem Speicher, Overhead (z. B. zus¨ atzlicher Verwaltungsaufwand) und den arithmetischen Operationen. Alle arithmetischen Operationen (Potenzen, Wurzeln, Auswertung trigonometrischer Funktionen u.a.m.) arbeiten mit internen Prozeduren, die wiederum nur Additionen und Multiplikationen benutzen. Deshalb ist das Z¨ ahlen der elementaren Operationen (wie Anzahl ben¨otigter Multiplikationen) eine M¨ oglichkeit f¨ ur den Vergleich unterschiedlicher Algorithmen zur L¨ osung einer und derselben Problemstellung. Additionen bleiben dabei meist unber¨ ucksichtigt, weil sie in der Regel nur einen Bruchteil der Rechenzeit im Vergleich zu den Multiplikationen und Divisionen (also den Punktoperationen) ben¨otigen. Spezialrechner sind heutzutage allerdings schon in der Lage, eine Multiplikation in etwa in der Rechenzeit einer Addition zu erledigen. Bei sehr vielen Algorithmen wird insbesondere auf die Anzahl der erforderlichen Punktoperationen hingewiesen. Erg¨ anzende Literatur zu Kapitel 1 [BART2004]; [BARW2007], Kap.1; [BRON2001]; [DAHM2008], Kap.2; [DEUF2002] Bd.1, 2; [ENGE1996], Kap.1; [HAMM1994], 1.; [OVER2001]; [PREU2001], 1; [RICE1993], Kap.3; [STOE1999] Bd.1, Kap.4; [STOE2002], 1; [STOE2002A], Kap.1; [TORN1990] Bd.1, 1.7, 1.8; [UBER1995], 2; [WERN1993], I §6.
Kapitel 2
Numerische Verfahren zur L¨ osung nichtlinearer Gleichungen
2.1
Aufgabenstellung und Motivation
Ist f eine in einem abgeschlossenen Intervall I = [a, b] stetige und reellwertige Funktion, so heißt eine Zahl ξ ∈ I eine Nullstelle der Funktion f oder eine L¨ osung der Gleichung f (x) = 0 ,
(2.1)
falls f (ξ) = 0 ist. Wenn f ein algebraisches Polynom der Form f (x) ≡ Pn (x) =
n X
a j xj ,
aj ∈ R ,
an 6= 0 ,
n∈N
j=0
ist, heißt die Gleichung (2.1) algebraisch, und die nat¨ urliche Zahl n heißt der Grad des Polynoms bzw. der algebraischen Gleichung. Jede Gleichung (2.1), die nicht algebraisch ist, heißt transzendent (z. B. ln x − 1/x = 0; x − sin x = 0). In diesem Kapitel werden Verfahren zur Bestimmung einfacher und mehrfacher Nullstellen ξ ∈ I von f vorgestellt. Dabei wird zwischen den klassischen Iterationsverfahren (allgemeines Iterationsverfahren, Newton-Verfahren, Sekantenverfahren) und den sogenannten Einschlussverfahren (Bisektion, Pegasus-Verfahren, Verfahren von Anderson-Bj¨orck, Verfahren von King) unterschieden. Die angegebenen Einschlussverfahren ben¨otigen zwei Startwerte, in denen die Funktion f unterschiedliche Vorzeichen hat. Die Startwerte schließen dann (mindestens) eine Nullstelle ungerader Ordnung von f ein. Dieser Einschluss bleibt im Laufe der Rechnung erhalten. Diese Verfahren sind jedoch grunds¨atzlich unter Anwendung von Satz 2.3 auch im Falle von Nullstellen gerader Ordnung anwendbar. Einschlussverfahren h¨ oherer Konvergenzordnung sind im Allgemeinen den klassischen Iterationsverfahren vorzuziehen (vgl. Abschnitt 2.9). Verfahren zur Bestimmung s¨amtlicher Nullstellen algebraischer Polynome ohne Kenntnis von Startwerten werden im Kapitel 3 behandelt. G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_2, © Springer-Verlag Berlin Heidelberg 2011
28
2. L¨osung nichtlinearer Gleichungen
Wo in den Anwendungen treten nichtlineare Gleichungen auf? Die meisten derartigen Probleme f¨ uhren nicht direkt auf eine transzendente Gleichung oder eine Polynomgleichung, sondern diese treten an irgendeiner Stelle des L¨osungsprozesses auf. So st¨oßt man etwa auf Polynomgleichungen bei der L¨ osung von linearen Differentialgleichungen n-ter Ordnung mit konstanten Koeffizienten, bei der Berechnung der Eigenwerte von Matrizen und bei der Bestimmung der Eigenfrequenzen linearer Schwingungssysteme mit n Freiheitsgraden. Transzendente Gleichungen treten beispielsweise bei der Berechnung der kritischen Drehzahl einer Welle in der Gestalt f (x) = cos x cosh x ± 1 = 0
oder
f (x) = tan x − tanh x = 0
auf. Bei der Berechnung des Druckverlustes in einer Rohrstr¨omung muss man den Rohrreibungsbeiwert λ f¨ ur hydraulisch glatte Rohre bei turbulenter Str¨omung nach dem universellen Prandtlschen Widerstandsgesetz bei vorgegebener Reynoldszahl Re aus der transzendenten Gleichung √ 1 f (λ) = √ − 2 lg Re λ + 0.8 = 0 λ ermitteln. Ebenfalls auf eine transzendente Gleichung st¨oßt man bei der Betrachtung der Ausstrahlung eines vollkommenen schwarzen K¨orpers“. Wird ein schwarzer K¨orper ” erhitzt, so sendet er elektromagnetische Wellen verschiedener Wellenl¨ange λ (W¨armestrahlen, Licht usw.) aus.
λ
................. 2 .. ... ...... ................... ... ... .... ...... .................. ..... .. .... ...... ..... .... .......... .......... ......... .............. ............... .............. ....... ...... ...... ......... . . ... 3 .. .. . . . . . . . . . . . . . . . .... .... . ... ................. . ... .. ... 2 .................. ..... . ... ..........
λ
λ
.... .. .. .... ..... .... ... ... ..... ..... ...
λ2
.. ........ ........ ......... . ......... ........ . ..
λ4
... ... .. .. ... ... . .... ... ... ...
λ3
...................... . ........... ....................... ...... .......... .... ... ......... ..... ... . . .......... ............ ... .. ... .... .... ... ... .... ........ ........... . . . . . . . . . . . . . . . . . . . . . . ....................................................
.............. ... .. ............................. 2 .. . ......... .... .... ............... .. .... ....... ....... ........................................................................................
λ
..... .... . ... ..... .... ..... ...... ..... ... . ... ..... .... ..... 2 ...... ... . ... .... ..... .... ....
λ1
λ
Abb. 2.1. Ausstrahlung eines vollkommenen schwarzen K¨orpers Bei einer bestimmten Temperatur T liegt das Maximum der emittierten Strahlung E(λ, T ) bei λmax . Mit steigender Temperatur verschiebt sich die Stelle maximaler Emission nach k¨ urzeren Wellenl¨angen; es gilt (Wiensches Verschiebungsgesetz) α λmax (T ) = z·T mit α = 14.3881 · 10−3 m K. Die Konstante z ist die L¨osung der transzendenten Gleichung 1 1 e−z = 1 − z bzw. f (z) = e−z − 1 + z = 0 , z ∈ R , z 6= 0 . 5 5 Mit dem so ermittelten z ≈ 4.9651 l¨ asst sich die Formel f¨ ur λmax (T ) angeben. Aus dieser Formel kann dann z. B. ein N¨ aherungswert f¨ ur die absolute Temperatur der Sonnenober-
2.2 Definitionen und S¨ atze u ¨ber Nullstellen
29
fl¨ache bestimmt werden, wobei f¨ ur das Sonnenspektrum nach Langley das Maximum der Strahlung bei λmax = 5 · 10−7 m liegt. Weitere Anwendungsbeispiele sind in Abschnitt 2.8 zu finden.
2.2
Definitionen und S¨ atze u ¨ ber Nullstellen
Im Anschluss werden einige Definitionen und S¨ atze u ¨ ber Nullstellen angegeben, die in den folgenden Abschnitten ben¨ otigt werden. Die Beweise findet man in jedem Werk zur Analysis.
Definition 2.1. Eine Nullstelle ξ einer Funktion f ∈ C[a, b] heißt j-fache Nullstelle oder Nullstelle der Ordnung j (j ∈ N), falls f sich auf [a, b] in der Form f (x) = (x − ξ)j h(x) darstellen l¨asst mit einer stetigen Funktion h, f¨ ur die h(ξ) 6= 0 ist. Im Fall j = 1 heißt ξ einfache Nullstelle, f¨ ur j ≥ 2 mehrfache Nullstelle. Ist ξ eine Nullstelle ungerader Ordnung, so hat f in x = ξ einen Vorzeichenwechsel; ist ξ von gerader Ordnung, so ber¨ uhrt der Graph von f die x-Achse, und es gibt keinen Vorzeichenwechsel.
Satz 2.2. Die Funktion f sei im Intervall I j-mal stetig differenzierbar (j ∈ N). Dann ist ξ ∈ I genau dann eine j-fache Nullstelle von f , wenn gilt f (ξ) = f 0 (ξ) = . . . = f (j−1) (ξ) = 0 ,
f (j) (ξ) 6= 0 .
Mit der Aussage des folgenden Satzes 2.3 lassen sich Einschlussverfahren auch zur Berechnung von mehrfachen Nullstellen einsetzen, insbesondere auch von Nullstellen gerader Ordnung (also ohne Vorzeichenwechsel).
Satz 2.3. Ist ξ ∈ I eine j-fache Nullstelle von f , j ≥ 2, und ist f (j+1)-mal stetig differenzierbar, so ist ξ eine einfache Nullstelle von g mit g(x) =
f (x) . f 0 (x)
30
2. L¨osung nichtlinearer Gleichungen
Beweis. Nach Satz 2.2 gelten f¨ ur j ≥ 2 f (ξ) = f 0 (ξ) = . . . = f (j−1) (ξ) = 0 und f (j) (ξ) 6= 0. Zu zeigen ist, dass f¨ ur f (x) f (x) f 00 (x) g(x) = 0 und g 0 (x) = 1 − f (x) f 0 2 (x) nach Satz 2.2 gelten
g(ξ) = 0
und
g 0 (ξ) 6= 0 .
F¨ ur den Nachweis werden die Taylorentwicklungen von f , f 0 und f 00 an der Stelle ξ ben¨otigt (sie finden auch in Abschnitt 2.5.3 Verwendung). f (x)
=
h0 (ξ)
=
f 0 (x)
=
h1 (ξ)
=
f 00 (x)
=
h2 (ξ)
=
(x − ξ)j (j) f (ξ) + O (x − ξ)j+1 = (x − ξ)j h0 (x) j! 1 mit h0 (x) = f (j) (ξ) + O(x − ξ) und j! 1 (j) f (ξ) 6= 0 ; j! (x − ξ)j−1 (j) f (ξ) + O (x − ξ)j = (x − ξ)j−1 h1 (x) (j − 1)! 1 mit h1 (x) = f (j) (ξ) + O(x − ξ) und (j − 1)! 1 f (j) (ξ) 6= 0 ; (j − 1)! (x − ξ)j−2 (j) f (ξ) + O (x − ξ)j−1 = (x − ξ)j−2 h2 (x) (j − 2)! 1 mit h2 (x) = f (j) (ξ) + O(x − ξ) und (j − 2)! 1 f (j) (ξ) 6= 0 . (j − 2)!
(2.2)
(2.3)
(2.4)
(2.5)
(2.6)
(2.7)
Mit (2.2) und (2.4) ergibt sich g(x) = Mit (2.3) und (2.5) ist
f (x) h0 (x) = (x − ξ) . 0 f (x) h1 (x)
h0 (ξ) f (j) (ξ) (j − 1)! 1 = = 6= 0 ; (j) h1 (ξ) j j! f (ξ)
(2.8)
also ist g(ξ) = 0. Weiter ist mit (2.2), (2.4) und (2.6) g 0 (x) = 1 −
f (x) f 00 (x) f 0 2 (x)
=1−
h0 (x) h2 (x) . h21 (x)
F¨ ur g 0 (ξ) ergibt sich mit (2.3), (2.5) und (2.7) g 0 (ξ) = 1 −
h0 (ξ) h2 (ξ) (j − 1)! (j − 1)! j −1 1 =1− =1− = 6= 0 . 2 h1 (ξ) j! (j − 2)! j j
Die j-fache Nullstelle ξ von f ist also einfache Nullstelle von g.
2.3 Allgemeines Iterationsverfahren
31
Satz 2.4. (Satz von Bolzano, Zwischenwertsatz ) Sei f in I = [a, b] stetig mit f (a) · f (b) < 0. Dann besitzt f in (a, b) mindestens eine Nullstelle ξ ungerader Ordnung.
2.3 2.3.1
Allgemeines Iterationsverfahren Konstruktionsmethode und Definition
Anstelle der Gleichung f (x) = 0 wird eine Gleichung der Form x = ϕ(x)
(2.9)
betrachtet. Dabei sei ϕ:I →R
mit
x 7→ ϕ(x)
eine in einem abgeschlossenen Intervall I stetige Funktion, und ξ ∈ I heißt eine L¨osung von (2.9) bzw. ein Fixpunkt der Abbildung ϕ, wenn ϕ(ξ) = ξ ist; darum heißt (2.9) auch Fixpunktgleichung. Die Untersuchung von Gleichungen der Form x = ϕ(x) bedeutet keine Beschr¨ankung der Allgemeinheit, denn es gilt der
Hilfssatz 2.5. Sind f und g stetige Funktionen in einem abgeschlossenen Intervall I und ist g(x) 6= 0 f¨ ur alle x ∈ I, dann besitzen die Gleichungen f (x) = 0 und x = ϕ(x) mit ϕ(x) := x − f (x)g(x)
(2.10)
im Intervall I dieselben L¨ osungen, d. h. die beiden Gleichungen sind ¨aquivalent. Beweis. Ist ξ ∈ I L¨ osung von f (x) = 0, so folgt wegen f (ξ) = 0 aus (2.10) ϕ(ξ) = ξ. Ist umgekehrt ξ ∈ I L¨ osung von x = ϕ(x), so folgt wegen ξ = ϕ(ξ) aus (2.10) f (ξ)g(ξ) = 0; wegen g(ξ) 6= 0 ist also f (ξ) = 0 . Jede geeignete Wahl von g liefert eine zu f (x) = 0 ¨aquivalente Gleichung x = ϕ(x). H¨aufig kann eine Gleichung f (x) = 0 auf die Form x = ϕ(x) gebracht werden, indem irgendeine Aufl¨osung nach x vorgenommen wird.
32
2. L¨osung nichtlinearer Gleichungen
Beispiel 2.6. Gegeben: Die algebraische Gleichung f (x) = x2 + x − 2 = 0 mit den L¨ osungen ξ1 = 1 und ξ2 = −2. Gesucht:
Zur gegebenen Gleichung ¨ aquivalente Gleichungen der Form x = ϕ(x) .
L¨osung:
Durch verschiedenartige Umformung bzw. Aufl¨osung nach x erh¨alt man x = 2 − x2 = ϕ(x) , √ x = 2 − x = ϕ(x) , x ≤ 2 , 2 x = − 1 = ϕ(x) , x= 6 0. x
(I) (II) (III)
Bei der Angabe eines Intervalls I, in dem die Gleichungen ¨aquivalent zur gegebenen sind, m¨ ussen die Einschr¨ ankungen f¨ ur x ber¨ ucksichtigt werden.
Nun sei eine Gleichung der Form x = ϕ(x) mit dem zugeh¨origen Intervall I gegeben. Dann konstruiert man mit Hilfe eines Startwertes x(0) ∈ I eine Zahlenfolge {x(ν) } nach der Vorschrift x(ν+1) := ϕ(x(ν) ) , ν = 0, 1, 2, . . . (2.11) Diese Folge l¨asst sich nur dann sinnvoll konstruieren, wenn f¨ ur ν = 0, 1, 2, . . . x(ν+1) = ϕ(x(ν) ) ∈ I ist, da ϕ nur f¨ ur x ∈ I erkl¨ art ist. Durch ϕ muss also eine Abbildung des Intervalls I in sich gegeben sein, d. h. der Graph von y = ϕ(x) muss im Quadrat Q = {(x, y)|x ∈ I, y ∈ I} liegen; in der Abbildung 2.2 ist I = [a, b]. y6 ............................................. b Q ............................................................................. .......................................................................... ........................................... ...................................... ..................................... . . . . . . . . . .. . . . . . . . . ............................................... .................... ................................. . .................................... .................................... ...................................................... .................................... ..................
y = ϕ(x)
a
b x
a Abb. 2.2.
2.3 Allgemeines Iterationsverfahren
33
Wenn die Folge {x(ν) } konvergiert, d. h. wenn die Zahlen x(1) , x(2) , x(3) , . . . gegen ξ streben, somit lim x(ν) = ξ ν→∞
ist, dann ist ξ eine L¨ osung der Gleichung (2.9). Es gilt wegen der Stetigkeit von ϕ ξ = lim x(ν) = lim x(ν+1) = lim ϕ(x(ν) ) = ϕ( lim x(ν) ) = ϕ(ξ) . ν→∞
ν→∞
ν→∞
ν→∞
Ein solches Verfahren der schrittweisen Ann¨ aherung wird Iterationsverfahren genannt. Die Vorschrift (2.11) heißt Iterationsvorschrift; sie stellt f¨ ur jedes feste ν einen Iterationsschritt dar. Die Funktion ϕ wird Schrittfunktion genannt. Die Folge {x(ν) } heißt Iterationsfolge. Die Iterationsschritte (2.11) f¨ ur ν = 0(1)N bilden zusammen mit dem Startwert x(0) das algorithmische Schema des Iterationsverfahrens: (0) x = Startwert , (1) x = ϕ(x(0) ) , (2) = ϕ(x(1) ) , x (2.12) · · · (N +1) x = ϕ(x(N ) ) . Dabei muss ϕ(x(ν) ) ∈ I gelten f¨ ur ν = 0(1)N .
Beispiel 2.7. (Fortsetzung von Beispiel 2.6) F¨ ur die Umformung (I): x = 2 − x2 der Gleichung x2 + x − 2 = 0 lautet die Iterationsvorschrift (2.11) x(ν+1) = ϕ(x(ν) ) = 2 − (x(ν) )2 ,
ν = 0, 1, 2, . . . ,
und es sei I = [−50, 0]. Das algorithmische Schema (2.12) des Iterationsverfahrens lautet mit dem Startwert x(0) = −3: x(0) = −3 ∈ I , x(1) = ϕ(x(0) ) = 2 − 32 = −7 ∈ I , x(2) = ϕ(x(1) ) = 2 − 72 = −47 ∈ I , x(3) = ϕ(x(2) ) = 2 − 472 = −2207 ∈ / I. Der Verlauf der Rechnung zeigt, dass die so konstruierte Folge {x(ν) } nicht gegen die L¨osung ξ2 = −2 ∈ I konvergiert. 2 Mit der Umformung (III): x = − 1 der Gleichung x2 + x − 2 = 0 und I = [−3, −1] x erh¨alt man dagegen die Iterationsvorschrift 2 x(ν+1) = ϕ(x(ν) ) = (ν) − 1 , ν = 0, 1, 2, . . . , x und mit dem Startwert x(0) = −3 das algorithmische Schema:
34
2. L¨osung nichtlinearer Gleichungen
x(0) x(1) x(2) x(3) x(4)
= = = = =
−3 ∈ I , 2 5 −3 − 1 = − 3 = −1.6666667 ∈ I , −2.2000000 ∈ I , −1.9090909 ∈ I , −2.0476190 ∈ I .
Diese vier Iterationsschritte zeigen bereits, dass sich die so konstruierte Folge der L¨osung ξ2 = −2 immer mehr n¨ ahert, d. h. gegen die gesuchte L¨osung konvergiert. Es stellt sich also die Frage nach Bedingungen f¨ ur die Konvergenz einer Iterationsfolge. Die folgenden Aussagen u ¨ber die Existenz einer L¨osung der Gleichung (2.9) und deren Eindeutigkeit dienen der Beantwortung dieser Frage. Es wird sich zeigen, dass die Bedingungen f¨ ur die Existenz und Eindeutigkeit auch hinreichend f¨ ur die Konvergenz der mit (2.11) konstruierten Iterationsfolge sind.
2.3.2
Existenz einer L¨ osung und Eindeutigkeit der L¨ osung
Zum Nachweis der Existenz einer L¨ osung ξ ∈ I = [a, b] der Gleichung x = ϕ(x) folgen ¨ nun lediglich geometrische Uberlegungen; zum analytischen Nachweis s. [HENR1972] Bd.1, S. 85/87. Man erh¨ alt ξ als Abszisse des Punktes, in dem die Graphen der Gerade y = x und der Funktion y = ϕ(x) sich in dem Quadrat Q schneiden. Es wird also davon ausgegangen, dass f¨ ur x ∈ I auch ϕ(x) ∈ I ist. Wenn a 6= ϕ(a) und b 6= ϕ(b) sind, m¨ ussen ϕ(a) > a und ϕ(b) < b sein. Die Punkte a, ϕ(a) und b, ϕ(b) liegen also auf verschiedenen Seiten der Diagonale y = x im Quadrat Q. Ist ϕ stetig, so garantiert der stetige Verlauf des Graphen von y = ϕ(x) in Q die Existenz von mindestens einem Schnittpunkt mit der Gerade y = x Abb. 2.3(a) . Ist ϕ dagegen nicht stetig, so existiert nicht notwendig ein solcher Schnittpunkt Abb. 2.3(b) . y6
y6 b
r
b
................................................................... . . . . . . . . . . . . . . . . . . . . . . .. ....................................................................... ................................................................. ................................................ .................................. . . . . . . ............................... ................................ . . . . . . . . . . . . . .. . ..................................................................... ............................................... ........................... . . . . . . . . . ............................. ....................................... ............................. . . . ..... . . . . . . . . . . . . . . . . . ........................................................................ ................................................ ...................................................................... .................................................................. ......................
y=x
y =x
r
y = ϕ(x)
a b Abb. 2.3. (a) ϕ stetig
r
PP y = ϕ(x)
r
a
y = ϕ(x) @ @
.. .......................................................................... . . . . . . . . . . .... . . . . . . . . . . .......................................................................... ................................................. ................................................ ............................... . . . . . . . ................................ ............................... . . . . . .. . . . . . . . . . ..................................................................... ............................................. ................................................. ..................................................... . . ..................................................................................... ....................................................................... ................................................. ................................................. .............................................. ............................................... .............................................. . . . . . . . . . . . . . ... . . . . . . . .
a x
x
a b Abb. 2.3. (b) ϕ nicht stetig
2.3 Allgemeines Iterationsverfahren
35
Satz 2.8. (Existenzsatz ) Die in dem endlichen, abgeschlossenen Intervall I definierte Funktion ϕ : I → R erf¨ ulle die folgenden Bedingungen: (i) (ii)
ϕ(x) ∈ I f¨ ur alle x ∈ I, ϕ ist stetig in I.
Dann besitzt die Gleichung x = ϕ(x) in I mindestens eine L¨osung ξ. Anhand eines Beispiels wird gezeigt, dass die Stetigkeit (ii) f¨ ur die Existenz einer L¨osung ξ ∈ I allein nicht hinreicht. Beispiel 2.9. Gegeben: Die Gleichung ex = 0, I = [−a, 0], a > 0, von der bekannt ist, dass sie keine endliche L¨ osung besitzt. Gesucht:
Eine dazu ¨ aquivalente Gleichung der Form x = ϕ(x).
L¨osung:
Mit g(x) = 1 ergibt sich gem¨ aß (2.10) die Gleichung: x = ϕ(x) = x − ex .
Die Funktion ϕ ist stetig in [−a, 0]. Wegen ϕ(−a) = −a − 1/ea < −a ist ϕ(−a) ∈ / I und somit die Bedingung (i) des Satzes 2.8 nicht erf¨ ullt. Die Frage nach der Eindeutigkeit einer L¨ osung der Gleichung x = ϕ(x) kann man beantworten, wenn ϕ in I einer sogenannten Lipschitzbedingung gen¨ ugt. Eine Funktion ϕ heißt lipschitzbeschr¨ ankt, wenn es eine Konstante L mit 0 ≤ L < 1 gibt, so dass |ϕ(x) − ϕ(x0 )| ≤ L|x − x0 |
f¨ ur alle x, x0 ∈ I
(2.13)
gilt. L wird Lipschitzkonstante genannt, und (2.13) heißt eine Lipschitzbedingung f¨ ur die Funktion ϕ. Eine differenzierbare Funktion ϕ ist sicher lipschitzbeschr¨ankt, wenn |ϕ0 (x)| ≤ L < 1
f¨ ur alle x ∈ I
(2.14)
gilt; denn nach dem Mittelwertsatz der Differentialrechnung ist ϕ(x) − ϕ(x0 ) = ϕ0 (η)(x − x0 ),
η ∈ (x, x0 ) ⊂ I,
¨ woraus beim Ubergang zu den Betr¨ agen und mit (2.14) folgt |ϕ(x) − ϕ(x0 )| = |ϕ0 (η)| |x − x0 | ≤ L|x − x0 |. Abbildungen ϕ, f¨ ur die eine Lipschitzbedingung (2.13) bzw. (2.14) gilt, werden auch als kontrahierende Abbildungen bezeichnet, weil der Abstand |ϕ(x)−ϕ(x0 )| der Bilder kleiner ist als der Abstand |x − x0 | der Urbilder.
36
2. L¨osung nichtlinearer Gleichungen
Satz 2.10. (Eindeutigkeitssatz ) Die Funktion ϕ : I → R gen¨ uge im Intervall I einer Lipschitzbedingung (2.13) oder (2.14). Dann besitzt die Gleichung x = ϕ(x) in I h¨ochstens eine L¨osung ξ. Beweis. Angenommen, es gibt zwei L¨ osungen ξ1 , ξ2 im Intervall I, so dass also ξ1 = ϕ(ξ1 )
und ξ2 = ϕ(ξ2 )
(2.15)
gelten. Dann folgt mit (2.13) und (2.15) |ξ1 − ξ2 | = |ϕ(ξ1 ) − ϕ(ξ2 )| ≤ L|ξ1 − ξ2 | und daraus (1 − L) |ξ1 − ξ2 | ≤ 0 . Wegen 1 − L > 0 ist |ξ1 − ξ2 | ≤ 0, also kann nur |ξ1 − ξ2 | = 0 sein und damit ξ1 = ξ2 . Die Gleichung x = ϕ(x) besitzt also h¨ ochstens eine L¨osung ξ ∈ I. Da eine Funktion ϕ, die in I einer Lipschitzbedingung gen¨ ugt, u ¨berall in I stetig ist (die Umkehrung gilt nicht, d. h. nicht jede stetige Funktion gen¨ ugt einer Lipschitzbedingung) und da die Stetigkeit von ϕ zusammen mit der Bedingung (i) des Satzes 2.8 hinreichend ist f¨ ur die Existenz einer L¨ osung ξ in I, gilt mit Satz 2.10 weiter der
Satz 2.11. (Existenz- und Eindeutigkeitssatz ) Die in dem endlichen, abgeschlossenen Intervall I definierte Funktion ϕ : I → R erf¨ ulle die folgenden Bedingungen: (i) ϕ(x) ∈ I f¨ ur alle x ∈ I. (ii) ϕ ist in I lipschitzbeschr¨ ankt, d. h. ϕ gen¨ uge f¨ ur alle x, x0 ∈ I einer Lipschitz0 0 bedingung |ϕ(x)−ϕ(x )| ≤ L|x−x | mit 0 ≤ L < 1 oder, falls ϕ in I differenzierbar ist, einer Bedingung |ϕ0 (x)| ≤ L < 1. Dann besitzt die Gleichung x = ϕ(x) in I genau eine L¨osung ξ.
Beispiel 2.12. (Fortsetzung von Beispiel 2.9) Die Funktion ϕ(x) = x − ex gen¨ ugt in I = [−a, 0] einer Lipschitzbedingung |ϕ0 (x)| ≤ x L < 1, da wegen 0 < e ≤ 1 f¨ ur x ∈ I mit ϕ0 (x) = 1 − ex gilt |ϕ0 (x)| = |1 − ex | < 1. Falls eine L¨osung existieren w¨ urde, w¨ are sie nach Satz 2.10 eindeutig bestimmt. Im vorliegenden Falle existiert aber keine L¨ osung, da die Bedingung (i) in Satz 2.8 bzw. 2.11 nicht erf¨ ullt ist.
2.3 Allgemeines Iterationsverfahren
37
2.3.3
Konvergenz eines Iterationsverfahrens
2.3.3.1
Heuristische Betrachtungen
Die Funktion ϕ : I → R sei in I differenzierbar. Dann ergibt sich anschaulich, dass die durch die Iterationsvorschrift x(ν+1) = ϕ(x(ν) ) definierte Folge {x(ν) } konvergiert, wenn ϕ die Bedingungen des Satzes 2.11 f¨ ur die Existenz und Eindeutigkeit einer L¨osung der Gleichung x = ϕ(x) erf¨ ullt: ϕ(x) ∈ I |ϕ0 (x)| ≤ L < 1
(i) (ii)
f¨ ur alle x ∈ I, f¨ ur alle x ∈ I.
Die Konvergenz ist f¨ ur 0 ≤ ϕ0 (x) < 1 monoton (Abb. 2.4) und f¨ ur −1 < ϕ0 (x) ≤ 0 alternierend (Abb. 2.5). y 6 .
y 6 y =x .. ........... ........... .......... ......... . . . . . . . . . ......... ........ ........ ........ ....... . . . . . . . . ....... .. ...... .............. ... ...... .. ..................... . . . ... . . .... . .. ..... .. ...... .. .... ... ..... . . . . .. . . ........................ . . . . . . . . ... .. . . ... . . . . . . .... .. . . ... . . . .... ... .. .... .... .... . . . .. ... ... ... ... ... . . .. ... .. . . .. .. ... ... .. ... .. .... .. .... .. ... .. .. .. . .. .. ...
r
ϕ(x)
-6 -6 6
x(0) x(1) x(2)
ξ
x
Abb. 2.4. Monotone Konvergenz, 0 ≤ ϕ0 (x) < 1
... ... ... ... ................................................................................................................... ... ........ .. .. ..... .. .. ..... .... .. .. .... .... .. .. ..... .. .. ..... .. ..... .. ..... .. .. ..... .. ............................................. ... .. .. .. ......... .. .. .. .. ... .......................... ..... . .. .. . .. ... ................ .. ... .. .. .. . .. .. .. .. ............................ .. .. .. .. .............. .. .. ................................... .. .. .. . . . .. .. .. ... ... .. ... .................. ............ . . . . .. ... .... .. .. ................................................................................................................................ .. .. . .. .. .. .. . .. .. ... ... .. ..... ... . ..... . . .. . .. . .. .. .. . .. .. .. .. .. ... .. .. .. .. .. . .. . .. .... .. .. .... .... .... . .. . .. .. .. ... .. .. .. . .. .. .. .. .. ..
y =x
-
6
6 r ? 66 ?
x(0) x(2) x(4)
ξ
x(5) x(3)
? ϕ(x)
x(1)
x
Abb. 2.5. Alternierende Konvergenz, −1 < ϕ0 (x) ≤ 0
Je kleiner der Betrag der 1. Ableitung der Schrittfunktion ϕ ist, desto schneller konvergiert die Iterationsfolge gegen ξ.
38
2. L¨osung nichtlinearer Gleichungen
F¨ ur |ϕ0 (x)| > 1 divergiert das Verfahren, wie aus den Abbildungen 2.6 und 2.7 zu erkennen ist. ... ... ... .... .. ... ... .... .. ... ... .. . ... ... .... .... . ... ... ... .. ................... ... .. ..... . .. ... .. .. .. ... .. ... . ... .. ... ..... .. .. .. . .................................. .. .. .. ... . .. . .. ... .. . .. .. ... ... .. . . .. . .. . .. ... .. . .. . .. . . . ... . .. . . .. .. . .. ... .. ..... .. .. .. .... ... .. .... . ... ... .. ... . .. . . .. . ..
y 6
y 6
ϕ(x)
ϕ(x)
y =x
6
r
6
?
6
?
x(2)
x(1)x(0)
y =x
-
r
.. ... ... ... ... ... ... ... ... ... ... .................................................. ....... . .. ... .. .. .. .... .. .. .... .. .. ... .. .. .... ... .. .. ... .. ... .... .. .... .. .. .. ... ..... .. ... .... .. .. ................................ .... .. . .. . .. .. ... ...... ... . . . . . . . . .... . ..... ... .. ... ... . . . . . ..... .. . ... . . . .... .. .. . ........................................................................................ ..... .. .. .... . .. .. ... ... ......... ..... ... .. ... . ..... . . ... . . ..... .. . .... . . . ... ... .. .. ...
x
ξ
?
x(3)
x(1)
ξ
x(0)
x(2)
x
Abb. 2.7. Divergenz, ϕ0 (x) < −1
Abb. 2.6. Divergenz, 1 < ϕ0 (x)
Beispiel 2.13. (Fortsetzung von Beispiel 2.6) Ausgehend von der Umformung (I): x = 2 − x2 = ϕ(x) der Gleichung x2 + x − 2 = 0 wird ϕ0 (x) = −2x untersucht (vgl. Abb. 2.8). F¨ ur den Startwert x(0) = −3 ist ϕ0 (−3) = 6 > 1, 0 d. h. die Bedingung |ϕ (x)| < 1 ist bereits f¨ ur den gew¨ahlten Startwert verletzt. Da die Bedingung |ϕ0 (x)| < 1 nur f¨ ur |x| < 12 erf¨ ullt werden kann, ist die bei der Umformung (I) entstehende Funktion ϕ als Schrittfunktion f¨ ur die Iteration zur Bestimmung beider L¨osungen 1 und −2 ungeeignet. y 6 ...... ............... ...................... ....... ...... ...... ..... ..... ..... . . . .... .. .... .... .... 2 ........ ... . ... .. . ... . .. ... . . ... .. . . ... ... ... . ... .. . ... .. . ... .. . .. .. .. . .. .. . .. .. .. . ... .. . . .. . . ... . . . ... .. . ... . .. ... . . ... ... . ... . . ... . ... ... . ... .. . ... .. . ... .. . ... . . ... . .. ... . .. .. . .. .. . .. . .. ... .. .. ... .. ... .. .. ... .. ... .. . .. . .
y =x
y =2 − x
1
−2
−1
r
1
2
−1
r
−2
Abb. 2.8. (zu Beispiel 2.13)
x
2.3 Allgemeines Iterationsverfahren 2.3.3.2
39
Analytische Betrachtung
Satz 2.14. (Fixpunktsatz ) Die Funktion ϕ : I → R erf¨ ulle die Voraussetzungen (i) und (ii) des Satzes 2.11. Dann konvergiert die mittels der Iterationsvorschrift x(ν+1) = ϕ(x(ν) ),
ν = 0, 1, 2, . . .
erzeugte Folge {x(ν) } mit einem beliebigen Startwert x(0) ∈ I gegen den Fixpunkt ξ der Abbildung ϕ, d. h. es gilt lim x(ν+1) = ξ . ν→∞
Beweis. Nach Satz 2.11 hat die Gleichung x = ϕ(x) in I genau eine L¨osung ξ, also gilt ξ = ϕ(ξ). Mit x(ν+1) = ϕ(x(ν) ) und der Lipschitzbedingung (2.13) erh¨alt man |x(ν+1) − ξ| = |ϕ(x(ν) ) − ϕ(ξ)|
(LBed)
L|x(ν) − ξ|
≤
und in analoger Weise fortfahrend |x(ν+1) − ξ| ≤ L|x(ν) − ξ| ≤ L2 |x(ν−1) − ξ| ≤ . . . ≤ Lν+1 |x(0) − ξ| .
(2.16)
Wegen 0 ≤ L < 1 ist lim Lν+1 = 0, und aus (2.16) folgt ν→∞
lim |x(ν+1) − ξ| ≤ |x(0) − ξ| lim Lν+1 = 0,
ν→∞
ν→∞
d. h. lim x(ν+1) = ξ. ν→∞
Damit folgt wegen der Stetigkeit von ϕ ξ = lim x(ν+1) = lim ϕ(x(ν) ) = ϕ( lim x(ν) ) = ϕ(ξ) . ν→∞
ν→∞
ν→∞
Beispiel 2.15. (Fortsetzung von Beispiel 2.6 und 2.7) 2 Zur Aufl¨osung (III): x = −1 der Gleichung x2 +x−2 = 0 geh¨oren die Schrittfunktion x ϕ(x) =
2 −1 x
f¨ ur x 6= 0
und mit der Fixpunktgleichung x = ϕ(x) die Iterationsvorschrift x(ν+1) = ϕ(x(ν) ) =
2 x(ν)
− 1,
ν = 0, 1, 2, . . .
2 < 0, x 6= 0 , ist ϕ streng monoton fallend (Abb. 2.9). x2 5 Als Intervall wird I = [−3, −1] gew¨ ahlt. Wegen ϕ(−3) = − ∈ I und 3 ϕ(−1) = −3 ∈ I gilt: ϕ erf¨ ullt in I die Bedingung (i) des Satzes 2.11.
a) Wegen ϕ0 (x) = −
40
2. L¨osung nichtlinearer Gleichungen b) Lipschitzbeschr¨ ankung: ϕ0 wird in I = [−3, −1] abgesch¨atzt: 2 x2
|ϕ0 (x)| =
≤
2 2 = =2 2 min(x ) 1
>
1.
x∈I
Also ist ϕ in I nicht lipschitzbeschr¨ ankt. √ 0 2 Damit |ϕ (x)| = 2/x < 1 ist, muss x2 > 2, also |x| > 2 sein. Der rechte Intervallrand muss modifiziert werden, um diese Bedingung zu erf¨ ullen; das neue Intervall sei I = [−3, −1.5]. |ϕ0 (x)| nimmt das Maximum am rechten Rand von I an, also gilt |ϕ0 (x)| ≤ |ϕ0 (−1.5)| = 0.8 < 0.89 = L < 1 ; in I ist die Voraussetzung (ii) des Satzes 2.11 erf¨ ullt. Damit kann die L¨osung ξ2 = −2 iterativ mit der Schrittfunktion aus der Umformung (III) berechnet werden. y6 −4
−3
−2
x
−1 −1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. .. .. ... .. . .. .......................... . .................... ...................... . .. . .. ............... .. . . .................. . .. . ......... 2 .. .. .. . . . . ....... . .. .. . . . x . ...... . .. . . . ... . ..... .. . . . . .. . ... ........ ... ... .. ..... .. .. ... . .. .. .. . ... ... ... ... ... ... ... ... ... ... ....... ... ... ....... ... ... ... ... ... ... ... ... ... ... ..
y=
−1
r
−2 −3
y =x
−4
Abb. 2.9. Intervall [−3, −1] wird verkleinert auf [−3, −1.5] Zur Bestimmung der L¨ osung ξ1 = 1 ist die Umformung (III) ungeeignet. W¨ahlt man n¨amlich z. B. I = [0.5, 1.2], so gilt dort |ϕ0 (x)| > 1, so dass die Bedingung (ii) des Satzes 2.11 verletzt ist.
2.3.4
Fehlerabsch¨ atzungen und Rechnungsfehler
Die nach ν Iterationsschritten erzeugte N¨ aherungsl¨osung x(ν) unterscheidet sich von (ν) der exakten L¨osung ξ um den Fehler ∆ := x(ν) − ξ unter der Annahme, dass keine Rechnungsfehler gemacht wurden. Es wird nun f¨ ur ein festes ν eine Schranke ε f¨ ur den absoluten Fehler |∆(ν) | gesucht. Ferner interessiert bei vorgegebener Schranke ε die Anzahl ν der Iterationsschritte, die erforderlich ist, damit |∆(ν) | ≤ ε gilt.
2.3 Allgemeines Iterationsverfahren
41
(i) Fehlerabsch¨ atzungen mit Verwendung der Lipschitzkonstante L Mit (2.11) und (2.13) folgt (ν+1) |x − x(ν) | ≤ L|x(ν) − x(ν−1) |, |x(ν+2) − x(ν+1) | ≤ L|x(ν+1) − x(ν) | ≤ L2 |x(ν) − x(ν−1) |, .. .. . . (ν+m) |x − x(ν+m−1) | ≤ Lm |x(ν) − x(ν−1) |.
(2.17)
Aus (2.17) erh¨alt man weiter mit der Dreiecksungleichung |x(ν+m) − x(ν) | = |x(ν+m) − x(ν+m−1) + x(ν+m−1) − . . . + x(ν+1) − x(ν) | ≤ |x(ν+m) − x(ν+m−1) | + |x(ν+m−1) − x(ν+m−2) | + . . . + |x(ν+1) − x(ν) | ≤ (Lm + Lm−1 + . . . + L) |x(ν) − x(ν−1) | m−1 P j (ν) = L L |x − x(ν−1) | j=0
= L
1 − Lm (ν) |x − x(ν−1) | . 1−L
Wegen 0 < 1 − Lm ≤ 1 folgt daraus L |x(ν) − x(ν−1) |. 1−L
|x(ν+m) − x(ν) | ≤
(2.18)
Setzt man in der letzten Zeile von (2.17) ν = 1, m = ν − 1 und schreibt anschließend wieder ν statt ν, so erh¨ alt man |x(ν) − x(ν−1) | ≤ Lν−1 |x(1) − x(0) |. Geht man damit in (2.18) ein, so ergibt sich L Lν |x(ν+m) − x(ν) | ≤ |x(ν) − x(ν−1) | ≤ |x(1) − x(0) | . (2.19) 1−L 1−L F¨ ur festes ν und m → ∞ folgen aus (2.19) mit lim x(ν+m) = ξ m→∞
1. die a posteriori-Fehlerabsch¨ atzung |∆(ν) | = |x(ν) − ξ| ≤
L |x(ν) − x(ν−1) | = ε1 1−L
(2.20)
Lν |x(1) − x(0) | = ε2 1−L
(2.21)
und 2. die a priori-Fehlerabsch¨ atzung |∆(ν) | = |x(ν) − ξ| ≤ mit ε1 ≤ ε2 .
42
2. L¨osung nichtlinearer Gleichungen
Die a priori-Fehlerabsch¨ atzung (2.21) kann bereits nach dem ersten Iterationsschritt vorgenommen werden. Sie dient vor allem dazu, bei vorgegebener Fehlerschranke ε die Anzahl ν der h¨ochstens erforderlichen Iterationsschritte abzusch¨atzen, denn aus der Forderung ! Lν |x(ν) − ξ| ≤ |x(1) − x(0) | ≤ ε 1−L ergibt sich mit Lν ≤
ε(1 − L) =: K und mit log L < 0 f¨ ur 0 < L < 1 die Ungleichung |x(1) − x(0) | log K ν≥ . (2.22) log L
Die a posteriori-Fehlerabsch¨ atzung (2.20) kann erst im Verlauf oder nach Abschluss der Rechnung genutzt werden, da sie x(ν) als bekannt voraussetzt; sie liefert eine bessere Schranke als die a priori-Fehlerabsch¨ atzung und wird deshalb vorzugsweise zur Absch¨atzung des Fehlers verwendet. Um rasche Konvergenz zu erreichen, sollten die Schrittfunktion ϕ und das zugeh¨ orige Intervall I so gew¨ahlt werden, dass L < 0.2 gilt. L Wenn 1−L ≤ 1 ist, also L ≤ 1/2, folgt aus (2.20) |x(ν) − ξ| ≤ |x(ν) − x(ν−1) |, d. h. der absolute Fehler von x(ν) ist kleiner ( f¨ ur L < 1/2 ) oder h¨ochstens gleich (f¨ ur L = 1/2) der absoluten Differenz der letzten beiden N¨ aherungen. Jeder Iterationsschritt bringt demnach eine bessere Ann¨ aherung der gesuchten L¨osung. F¨ ur 1/2 < L < 1 kann jedoch der absolute Fehler von x(ν) gr¨ oßer sein als |x(ν) − x(ν−1) |, so dass hier die Iterationsfolge noch nichts u ¨ber den Fehler aussagen kann.
Im Falle monotoner Konvergenz (0 ≤ ϕ0 (x) < 1) folgt aus der Absch¨atzung |x(ν) − ξ| ≤ ε (bzw. x(ν) − ε ≤ ξ ≤ x(ν) + ε) eine sch¨ arfere Eingrenzung der L¨osung: x(ν) ≤ ξ ≤ x(ν) + ε, (ν) falls die x von links gegen ξ streben, x(ν) − ε ≤ ξ ≤ x(ν) , falls die x(ν) von rechts gegen ξ streben. (ii) Praktikable Fehlerabsch¨ atzungen ohne Verwendung der Lipschitzkonstante L (1) Bei alternierender Konvergenz Im Falle alternierender Konvergenz (−1 < ϕ0 (x) ≤ 0) schachteln die iterierten Werte die L¨osung von links und rechts ein. Aus der anschließenden Skizze l¨asst sich deshalb leicht der folgende Zusammenhang erkl¨aren: α
z x(ν)
}|
α
{z
}|
{
x(ν+1) ξ 1 (ν+1) (ν+1) − ξ ≤ − x(ν) = α; x x 2
(2.23)
damit hat man eine M¨ oglichkeit, den Fehler ohne Kenntnis der Lipschitzkonstante abzusch¨atzen.
2.3 Allgemeines Iterationsverfahren
43
(2) Fehlerabsch¨atzung mit dem Satz von Bolzano (Zwischenwertsatz) F¨ ur die Rechenpraxis empfiehlt sich eine in [KIOU1979] angegebene Methode, durch die man im Allgemeinen genauere Schranken erzielen kann als mit der a posteriori-Fehlerabsch¨ atzung. Zudem hat sie den großen Vorteil, ohne Lipschitzkonstante auszukommen und sowohl f¨ ur monotone als auch f¨ ur alternierende Konvergenz anwendbar zu sein; sie bezieht sich auf die gegebene Funktion f und nicht auf die Schrittfunktion ϕ. Sei x(ν) eine iterativ bestimmte N¨ aherung f¨ ur die Nullstelle ξ ungerader Ordnung von f (Abb. 2.10) und gelte f¨ ur ein vorgegebenes ε > 0 f (x(ν) − ε) · f (x(ν) + ε) < 0,
(2.24)
so folgt daraus nach dem Zwischenwertsatz von Bolzano (Satz 2.4), dass im Intervall (x(ν) − ε, x(ν) + ε) eine Nullstelle ξ liegen muss. Damit gilt die Fehlerabsch¨atzung |x(ν) − ξ| < ε. y 6
y = f (x)
............................ ......... ....... ...... ..... . . . . . ..... ..... ....... ..... . ..... ... . . . . (ν) (ν) (ν) .... .. ..... .. ..... .. . .... ..... . .. . . . . .. ..... .... .. ..... .. ..... .... . .. . . . .. .. ..... ..... .. ...... .. ...... .. ................ ..............................
r
x
−ε x | {z }| ε
ξ {z ε
x
}
+ε
x
r
Abb. 2.10. f (x(ν) −ε) · f (x(ν) +ε) < 0 ⇒ |x(ν) −ξ| < ε Praktisch geht man bei der Fehlerabsch¨ atzung mit Bolzano wie folgt vor: Man setzt zun¨achst ein ε fest, welches sich u ur die Iteration sinn¨ber das Abbruchkriterium f¨ voll festlegen l¨ asst (z. B. ε = 10−k , k ∈ N). F¨ ur dieses ε pr¨ uft man die Bedingung (2.24), wobei eine Rechnung mit doppelter Genauigkeit zu empfehlen ist. Ist (2.24) erf¨ ullt, so ist ε eine obere Schranke f¨ ur den absoluten Fehler. Um eine m¨oglichst kleine obere Schranke zu erhalten, f¨ uhrt man die Rechnung noch einmal mit einem kleineren ε durch (z. B. mit ε1 = 10−k−1 ). Ist (2.24) auch f¨ ur ε1 erf¨ ullt, so ist ε1 f¨ ur |x(ν) − ξ| eine kleinere obere Schranke als ε. Analog f¨ahrt man so lange fort, bis sich (2.24) f¨ ur ein εj nicht mehr erf¨ ullen l¨ asst (z. B. εj = 10−k−j ). Dann ist εj−1 (z. B. εj−1 = 10−k−j+1 ) die genaueste Fehlerschranke, die man auf diese Weise erhalten hat. Es wurde bisher vorausgesetzt, dass f¨ ur diese Art der Fehlerabsch¨atzung eine Nullstelle ξ ungerader Ordnung vorliegen muss. Unter Verwendung des Satzes 2.3 kann man sie aber auch f¨ ur Nullstellen ξ gerader Ordnung einsetzen, indem man anstelle der Funktion f die Funktion g = f /f 0 f¨ ur die Fehlerabsch¨atzung verwendet, da ξ dann eine einfache Nullstelle von g ist. Statt (2.24) ergibt sich hier die analoge Bedingung g(x(ν) − ε) · g(x(ν) + ε) < 0.
44
2. L¨osung nichtlinearer Gleichungen
Rechnungsfehler Es sei ε(ν) der lokale Rechnungsfehler des ν-ten Iterationsschrittes, der bei der Berechnung von x(ν) = ϕ(x(ν−1) ) entsteht. Gilt |ε(ν) | ≤ ε f¨ ur ν = 0, 1, 2, . . ., so ergibt sich f¨ ur den akkumulierten Rechnungsfehler des ν-ten Iterationsschrittes ε |r (ν) | ≤ , 0 ≤ L < 1. 1−L Die Fehlerschranke ε/(1 − L) ist also unabh¨ angig von der Anzahl ν der Iterationsschritte; der Algorithmus (2.11) ist somit stabil (vgl. Anmerkung nach Definition 1.36). Da sich der Gesamtfehler aus dem Verfahrensfehler und dem Rechnungsfehler zusammensetzt, sollten Rechnungsfehler und Verfahrensfehler von etwa gleicher Gr¨oßenordnung sein. Dann ergibt sich aus (2.21) bei bekanntem L die Beziehung Lν ε |x(1) − x(0) | ≈ ; 1−L 1−L ε und 0 < L < 1 folgt f¨ ur die Anzahl der h¨ochstens auszuf¨ uhrenden − x(0) | Iterationsschritte ε ν ≥ log (1) / log L . |x − x(0) | mit Lν ≈
|x(1)
Beispiel 2.16. (Fortsetzung von Beispiel 2.15) Mit der Iterationsvorschrift x(ν+1) = −1 + 2/x(ν) und I = [−3, −1.5] erh¨alt man ausgehend vom Startwert x(0) = −3 bei Rechnung mit 14 Stellen die folgenden Werte x(ν) , die mit 8-stelliger Mantisse angegeben sind. Es wird so lange iteriert, bis die Forderung |x(ν) − x(ν−1) | ≤ 0.5e−4 erf¨ ullt ist. ν
x(ν)
|x(ν) − x(ν−1) |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
−3.0000000 −1.6666666 −2.2000000 −1.9090909 −2.0476190 −1.9767442 −2.0117647 −1.9941520 −2.0029326 −1.9985359 −2.0007326 −1.9996338 −2.0001831 −1.9999085 −2.0000458 −1.9999771 −2.0000114
1.3333333 0.5333333 0.2909091 0.1385281 0.0708749 0.0350205 0.0176127 0.0087805 0.0043967 0.0021967 0.0010988 0.0005493 0.0002747 0.0001373 0.0000687 0.0000343
2.3 Allgemeines Iterationsverfahren
45
1. a posteriori-Fehlerabsch¨ atzung: Mit L = 0.89 (vgl. Beispiel 2.15) folgt |x(16) − ξ| ≤
L 0.89 |x(16) − x(15) | ≤ · 0.35e−4 ≤ 0.29e−3 1−L 1 − 0.89
2. Die a priori-Fehlerabsch¨ atzung h¨ atte man benutzen k¨onnen, um im Voraus eine Aussage u ¨ber die maximal notwendige Anzahl ν von Iterationsschritten zu (1) (0) erhalten. Mit |x(ν) − ξ| ≤ ε = 0.5e−3 und |x − x | = 1.33 ergeben sich K = 0.5e−3(1 − 0.89) /1.33 = 4.135e−5 und mit (2.22) ν≥
lg K −4.384 = = 86.6 . lg L −0.051
Es sind also h¨ ochstens ν = 87 Iterationsschritte erforderlich, um die geforderte Genauigkeit zu erreichen. In vielen F¨ allen wird man aber mit weit weniger Schritten auskommen, denn die a priori-Fehlerabsch¨atzung ist sehr grob. Die a posterioriFehlerabsch¨atzung zeigt, dass diese Genauigkeitsforderung bereits nach 16 Iterationsschritten erf¨ ullt ist. Um rasche Konvergenz zu erreichen, sollten die Schrittfunktion ϕ und das zugeh¨ orige Intervall I so gew¨ahlt werden, dass L < 0.2 gilt. Dann sind auch die Fehlerabsch¨ atzungen genauer. 3. Fehlerabsch¨atzung bei alternierender Konvergenz: Wegen ϕ0 (x) = −2/x2 < 0 f¨ ur alle x ∈ I liegt der Fall der alternierenden Konvergenz vor. Mit |x(16) − x(15) | = 0.35e−4 erh¨alt man somit gem¨aß (2.23) |x(16) − ξ| ≤
1 (16) 0.35 |x − x(15) | = e−4 = 0.175e−4 < 0.18e−4, 2 2
also eine sogar pr¨ azisere Absch¨ atzung als die a posteriori-Fehlerabsch¨atzung, weil L > 12 ist. F¨ ur die Praxis ist wichtig, dass diese Fehlerabsch¨atzung ohne Lipschitzkonstante einsetzbar ist. 4. Fehlerabsch¨atzung unter Verwendung des Satzes von Bolzano, also ohne Verwendung einer Lipschitzkonstante. Gegeben ist die Gleichung f (x) = x2 + x − 2 = 0. Untersucht wird der absolute Fehler von x(16) = −2.0000114. 1. Wahl: ε1 = 10−3 . Dann folgt aus f (x(16) − ε1 ) > 0 und f (x(16) + ε1 ) < 0, dass f¨ ur den absoluten Fehler gilt: |x(16) − ξ| < 10−3 . 2. Wahl: ε2 = 10−4 . Hier ergibt sich ebenfalls f (x(16) − ε2 ) > 0, f (x(16) + ε2 ) < 0, also |x(16) − ξ| < 10−4 . 3. Wahl: ε3 = 10−5 . Man erh¨ alt f (x(16) − ε3 ) > 0 und f (x(16) + ε3 ) > 0, also ist ε3 zu klein gew¨ ahlt. Ein weiterer Versuch wird unternommen mit der 4. Wahl: ε4 = 0.5e−4. Man erh¨ alt f (x(16) − ε4 ) > 0 und f (x(16) + ε4 ) < 0; also gilt f¨ ur den absoluten Fehler |x(16) − ξ| < 0.5e−4.
46
2. L¨osung nichtlinearer Gleichungen
Tats¨achlich ist |x(16) − ξ| = 0.0000114. Man sieht, dass diese Fehlerabsch¨atzung nach Bolzano am besten geeignet ist, um den absoluten Fehler m¨oglichst genau anzugeben. Zudem ist nur sie praktikabel, denn meist ist es bedeutend schwieriger als beim vorliegenden Beispiel, eine m¨ oglichst kleine Lipschitzkonstante anzugeben.
2.3.5
Praktische Durchfu ¨hrung
Bei der Ermittlung der L¨ osung einer Gleichung f (x) = 0 mit Hilfe des allgemeinen Iterationsverfahrens geht man wie folgt vor:
Algorithmus 2.17. Gesucht ist eine L¨ osung ξ der Gleichung f (x) = 0. 1. Schritt: Festlegung eines Intervalls I, in welchem mindestens eine Nullstelle von f liegt. ¨ 2. Schritt: Aquivalente Umformung von f (x) = 0 in eine Gleichung der Gestalt x = ϕ(x). 3. Schritt: Pr¨ ufung, ob die Funktion ϕ f¨ ur alle x ∈ I die Voraussetzungen des Satzes 2.11 erf¨ ullt. 4. Schritt: Aufstellung der Iterationsvorschrift x(ν+1) := ϕ(x(ν) ), ν = 0, 1, 2, . . . und Wahl eines beliebigen Startwertes x(0) ∈ I. 5. Schritt: Berechnung der Iterationsfolge {x(ν) }, ν = 1, 2, . . . Die Iteration ist so lange fortzusetzen, bis mit einer Schranke δ1 > 0 f¨ ur den relativen Fehler |x(ν+1) − x(ν) | ≤ δ1 |x(ν+1) |
(2.25)
oder mit einer Schranke δ2 > 0 f¨ ur den absoluten Fehler |x(ν+1) − x(ν) | ≤ δ2
(2.26)
und zus¨ atzlich mit δ3 > 0 |f (x(ν+1) )| ≤ δ3 gilt. Dabei ist (2.25) im Allgemeinen der Abbruchbedingung (2.26) vorzuziehen. Beide Bedingungen sind im kombinierten Fehlertest (1.5) enthalten. 6. Schritt: Fehlerabsch¨ atzung (s. Abschnitt 2.3.4).
Beispiel 2.18. √
Gegeben:
f (x) = cos x + 1 −
Gesucht:
Eine L¨ osung ξ der Gleichung f (x) = 0 mit dem allgemeinen Iterationsverfahren.
x,
x ≥ 0.
2.3 Allgemeines Iterationsverfahren L¨osung:
47
(vgl. Algorithmus 2.17)
¨ 1. Schritt: Uberblick u ¨ber Lage und Anzahl der L¨osungen von f (x) = 0. Mit √ f1 (x) := cos x + 1 , f2 (x) := x gilt f (x) = f1 (x) − f2 (x) = 0
⇐⇒
f1 (x) = f2 (x) .
Daher liefert die Abszisse eines Schnittpunktes der Graphen von f1 und f2 eine N¨aherung f¨ ur eine L¨ osung ξ der Gleichung f (x) = 0 (Abbildung 2.11). y y = f2 (x)
6
2 1
. ................ ............... .............. .............. . . . . . . . . . . . . ................ ... .... ........ .............. ............. ....... ...... ............ ...... ...... ........... ...... ..... ........... ..... ..... ........... . . . . . . . . . . . . . . ..... . .... ..... .................. ..... .. .... ..... ........... ..... ........ ............ ..... ....... . . . . . . . . . . . . . .. .. ........ ..... ...... ..... .... ..... .. ..... ..... ..... . ..... ..... ..... ... ..... ..... . ..... . . . . . . . . . ...... . ...... ....... ... .. ......... ....... .... .. ..............................
y = f1 (x) r
1
r ξπ 2
2
π
x 2π
3π 2
Abb. 2.11. Im Intervall [0, π] sind f1 monoton fallend √ und f2 monoton wachsend. Wegen f1 (0) = 2 > 0 = f2 (0) und f1 (π) = 0 < π = f2 (π) haben die Graphen von f1 und f2 in [0, π] genau einen Schnittpunkt. √ Wegen f1 (x) ≤ 2 und f2 (x) = x ≥ 2 f¨ ur x ≥ 4 gibt es keine weiteren Schnittpunkte. Aus Abbildung 2.11 liest man ab ξ ∈ [1, π2 ]. Mit f (1.3) = 0.127 und f (1.5) = −0.154 ergibt sich I = [1.3, 1.5] als ein engeres Einschlussintervall f¨ ur die L¨osung ξ. ¨ 2. Schritt: Aquivalente Aufl¨ osung von f (x) = 0. Die naheliegende Aufl¨osung x = (cos x + 1)2 =: ϕ(x) mit
ϕ0 (x) = −2 (cos x + 1) sin x
erweist sich wegen |ϕ0 (x)| > 2 f¨ ur x ∈ I als unbrauchbar. Daher wird die Aufl¨osung √ x = arccos( x − 1) =: ϕ(x) gew¨ahlt mit ϕ0 (x) =
−1 , √ p √ 2 x 1 − ( x − 1)2
x > 0.
48
2. L¨osung nichtlinearer Gleichungen
3. Schritt: Gen¨ ugt ϕ f¨ ur x ∈ I den Voraussetzungen (i) und (ii) des Satzes 2.11? zu (i): Wegen ϕ0 (x) < 0 f¨ ur x > 0 ist ϕ streng monoton fallend. Mit ϕ(1.3) = 1.43 ∈ I und ϕ(1.5) = 1.34 ∈ I gilt wegen der Monotonie auch ϕ(x) ∈ I f¨ ur alle x ∈ I = [1.3, 1.5]. Also ist die Bedingung (i) erf¨ ullt. zu (ii): Um eine Lipschitzkonstante L zu ermitteln, wird ϕ0 (x) in I grob abgesch¨atzt: |ϕ0 (x)| = ≤
1 √ p √ 2 x 1 − ( x − 1)2 1 p √ 2 min x · min 1 − ( x − 1)2 √
x∈I
x∈I
1
=
√
2 1.3
q
= 0.450 = L <
√
1 − ( 1.5 − 1)2
1 < 1. 2
ϕ erf¨ ullt also die Voraussetzungen der S¨atze 2.11 und 2.14. 4. Schritt: Iterationsvorschrift x(ν+1) = ϕ(x(ν) ) = arccos(
p
x(ν) − 1) ,
ν = 0, 1, 2, . . .
mit dem Startwert x(0) = 1.3 ∈ I. 5. Schritt: Wegen ϕ0 (x) < 0 in I liegt alternierende Konvergenz vor, so dass mit der zugeh¨origen Fehlerabsch¨ atzung eine Abbruchbedingung konstruiert werden kann, die eine bestimmte Anzahl genauer Dezimalen garantiert. F¨ ur drei genaue Dezimalen erh¨ alt man mit (2.23) ! 1 (ν) |x(ν) − ξ| ≤ |x − x(ν−1) | ≤ 0.5e−3 2 und damit die Abbruchbedingung |x(ν) − x(ν−1) | Iteration: ν 0 1 2 3 4 5 6 7
x(ν)
≤
1e−3 .
|x(ν) − x(ν−1) |
1.3 . 1.430 157 740 . 1.373 629 308 . 1.397 917 137 . 1.387 435 119 1.391 950 063 0.004 514 944 1.390 003 705 0.001 946 358 1.390 842 462 0.000 838 757
Bei ν = 7 ist die Abbruchbedingung erf¨ ullt, also ist ξ = 1.391 ≈ 1.390 842 462 = x(7) .
2.4 Konvergenzordnung eines Iterationsverfahrens
49
6. Schritt: Fehlerabsch¨ atzungen Die Abbruchbedingung war so gew¨ ahlt, dass mit der Fehlerabsch¨atzung f¨ ur alternierende Konvergenz bereits 3 genaue Dezimalen erreicht wurden. Fehlerabsch¨ atzung nach Bolzano: |x(ν) − ξ| < ε Annahme: ε1 = 0.5e−3 f (x(7) − ε1 ) f (x =⇒
(7)
+ ε1 )
= f (1.390 342 462)
=
= f (1.391 342 462)
= −0.001 059 . . . < 0
|x(7) − ξ| < 0.5e−3
0.000 348 . . . > 0
d. h. 3 genaue Dezimalen
Annahme: ε2 = 0.5e−4
=⇒
2.4
f (x(7) − ε2 )
= f (1.390 792 462)
= −0.000 285 . . . < 0
f (x(7) + ε2 )
= f (1.390 892 462)
= −0.000 426 . . . < 0
ε2 zu klein!
Konvergenzordnung eines Iterationsverfahrens
Bei Iterationsverfahren k¨ onnen die Anzahl der erforderlichen Iterationsschritte und auch der Rechenaufwand im Allgemeinen nicht im Voraus ermittelt werden. Die Konvergenzordnung kann aber als Maßstab f¨ ur den erforderlichen Rechenaufwand eines Verfahrens dienen.
Definition 2.19. (Konvergenzordnung) Die Iterationsfolge {x(ν) } konvergiert von mindestens p-ter Ordnung gegen ξ, wenn eine Konstante M , 0 ≤ M < ∞ existiert, so dass f¨ ur p ∈ R, p ≥ 1, gilt |x(ν+1) − ξ| = M. ν→∞ |x(ν) − ξ|p lim
(2.27)
Das Iterationsverfahren x(ν+1) = ϕ(x(ν) ) heißt dann ein Verfahren von mindestens p-ter Ordnung; es besitzt genau die Ordnung p, wenn M 6= 0 ist. Durch (2.27) wird also ausgedr¨ uckt, dass der Fehler der (ν+1)-ten N¨aherung ungef¨ahr gleich M -mal der p-ten Potenz des Fehlers der ν-ten N¨aherung ist. Die Konvergenzgeschwindigkeit w¨achst mit der Konvergenzordnung. Bei p = 1 spricht man von linearer Konvergenz, bei p = 2 von quadratischer Konvergenz und allgemein bei p > 1 von superlinearer Konvergenz. Es gilt der
50
2. L¨osung nichtlinearer Gleichungen
Satz 2.20. Die Schrittfunktion ϕ sei f¨ ur x ∈ I p-mal stetig differenzierbar. Gilt dann mit lim x(ν) = ξ ν→∞
ϕ(ξ) = ξ, ϕ0 (ξ) = ϕ00 (ξ) = . . . = ϕ(p−1) (ξ) = 0, ϕ(p) (ξ) 6= 0, so ist x(ν+1) = ϕ(x(ν) ) ein Iterationsverfahren der Ordnung p mit M=
1 (p) 1 |ϕ (ξ)| ≤ max |ϕ(p) (x)| ≤ M1 . p! p! x∈I
Im Fall p = 1 gilt zus¨ atzlich M = |ϕ0 (ξ)| < 1 . Beweis. Die Taylorentwicklung der Schrittfunktion ϕ an der Stelle ξ lautet 1 ϕ(x(ν) ) = ϕ(ξ) + (x(ν) − ξ)ϕ0 (ξ) + (x(ν) − ξ)2 ϕ00 (ξ) + . . . 2 und mit x(ν+1) = ϕ(x(ν) ) und ξ = ϕ(ξ) ergibt sich 1 x(ν+1) − ξ = ϕ(x(ν) ) − ϕ(ξ) = (x(ν) − ξ)ϕ0 (ξ) + (x(ν) − ξ)2 ϕ00 (ξ) + . . . 2
(2.28)
Wegen ϕ(ξ) = ξ, ϕ0 (ξ) = . . . = ϕ(p−1) (ξ) = 0, ϕ(p) (ξ) 6= 0 erh¨alt (2.28) die Form (x(ν) − ξ)p (p) x(ν+1) − ξ = ϕ (ξ) + O (x(ν) − ξ)p+1 p! bzw.
x(ν+1) − ξ 1 (p) (ν) = ϕ (ξ) + O (x − ξ) . p! (x(ν) − ξ)p
Durch Grenz¨ ubergang folgt weiter (ν+1) x − ξ 1 lim = |ϕ(p) (ξ)| = M ν→∞ (x(ν) − ξ)p p! mit M≤
1 max |ϕ(p) (x)| ≤ M1 . p! x∈I
Im Fall p = 1 ist das Iterationsverfahren x(ν+1) = ϕ(x(ν) ) mit ϕ0 (ξ) 6= 0 ein Verfahren erster Ordnung, und wegen der Lipschitzbedingung (2.14) ist M = |ϕ0 (ξ)| ≤ L < 1. Es gilt außerdem der folgende in [COLL1968], S.231 bewiesene Satz, der zur Konstruktion von Iterationsverfahren beliebig hoher Konvergenzordnung eingesetzt werden kann.
2.5 Newtonsche Verfahren
51
Satz 2.21. Sind x(ν+1) = ϕ1 (x(ν) ) und x(ν+1) = ϕ2 (x(ν) ) zwei Iterationsverfahren der Konvergenzordnungen p1 bzw. p2 , so ist x(ν+1) = ϕ1 ϕ2 (x(ν) ) ein Iterationsverfahren, das mindestens die Konvergenzordnung p1 · p2 besitzt. Ist beispielsweise x(ν+1) = ϕ(x(ν) ) ein Iterationsverfahren der Konvergenzordnung p > 1, so erh¨alt man durch die Schrittfunktion ϕs (x) mit ϕ1 (x) = ϕ(x), ϕs (x) = ϕ ϕs−1 (x)
f¨ ur
s = 2, 3, . . .
ein Iterationsverfahren der Konvergenzordnung ps .
2.5 2.5.1
Newtonsche Verfahren Das Newtonsche Verfahren fu ¨ r einfache Nullstellen
Die Funktion f sei im Intervall [a, b] stetig differenzierbar und besitze in (a, b) eine einfache Nullstelle ξ; also sind f (ξ) = 0 und f 0 (ξ) 6= 0. Ferner sei f 0 (x) 6= 0 f¨ ur alle x ∈ [a, b]. ¨ Zum Newtonschen Iterationsverfahren f¨ uhrt eine einfache geometrische Uberlegung. y6
y = f (x)
.. .. . ....... ...... ..... ...... (0) (0) .... ......... ..... ... ............. . .......... .... ...... . ... ........ ... ... ...... (1) (1) ........ .... ........ ... .... . .... ... ... . ............ ... .. ............ ... (2) (2) ............ ... .. . .............. ... .............. ..... . ................. .... ... ......... ......... ......... .......... ........ (0) (1) (2)
b x
, f (x
)
b x
a
x
x
, f (x
b xr x ξ
)
, f (x
)
b
x
Abb. 2.12. Newtonsches Iterationsverfahren Mit x(0) ∈ [a, b] wird im Punkt x(0) , f (x(0) ) die Tangente des Graphen von f erzeugt und dann deren Schnittpunkt (x(1) , 0) mit der x-Achse bestimmt. Aus der Gleichung dieser Tangente y = f 0 (x(0) )(x − x(0) ) + f (x(0) ) folgt mit x = x(1) und y = 0 x(1) = x(0) −
f (x(0) ) ; f 0 (x(0) )
52
2. L¨osung nichtlinearer Gleichungen
x(1) wird als eine gegen¨ uber x(0) verbesserte N¨ aherung f¨ ur die Nullstelle ξ angesehen. Mit x(1) wird das Verfahren in derselben Weise fortgesetzt. Damit ergibt sich die n¨achste N¨aherung f (x(1) ) x(2) = x(1) − 0 (1) . f (x ) F¨ ur dieses geometrisch plausible Verfahren werden im folgenden Satz hinreichende Bedingungen f¨ ur die Konvergenz der Folge x(0) , x(1) , x(2) , . . . gegen die Nullstelle ξ angegeben. Satz 2.22. Die Funktion f sei im Intervall [a, b] zweimal stetig differenzierbar und besitze in (a, b) eine einfache Nullstelle ξ; also sind f (ξ) = 0 und f 0 (ξ) 6= 0. Dann gibt es ein Intervall I = (ξ − r, ξ + r) ⊂ [a, b], r > 0, so dass die Iterationsfolge x(ν+1) = x(ν) −
f (x(ν) ) , f 0 (x(ν) )
ν = 0, 1, 2, . . . ,
(2.29)
f¨ ur das Verfahren von Newton mit jedem Startwert x(0) ∈ I gegen die Nullstelle ξ konvergiert, und zwar von mindestens zweiter Ordnung.
Beweis. Vergleicht man (2.29) mit (2.4) und (2.2), so ergibt sich f¨ ur die Schrittfunktion ϕ des Newton-Verfahrens f (x) ϕ(x) = x − 0 . (2.30) f (x) (2.3) zeigt, dass hier g(x) = 1/f 0 (x) gesetzt wurde. Um den Fixpunktsatz 2.14 auf die Schrittfunktion (2.30) anwenden zu k¨onnen, muss ein Intervall I angegeben werden, so dass ϕ f¨ ur alle x ∈ I den Voraussetzungen (i) und (ii) des Satzes 2.11 gen¨ ugt. Da f 0 stetig ist, gibt es wegen f 0 (ξ) 6= 0 eine Umgebung der Nullstelle ξ, in der f 0 (x) 6= 0 ist. Diese Umgebung sei Is = (ξ − s, ξ + s) ⊂ [a, b], s > 0. Somit ist die Schrittfunktion ϕ vgl. (2.30) stetig im Intervall Is . Die Ableitung der Schrittfunktion (2.30) ist ϕ0 (x) =
f (x) f 00 (x) f 0 2 (x)
.
(2.31)
Auch ϕ0 ist stetig in Is . Mit f (ξ) = 0 und f 0 (ξ) 6= 0 ist ϕ0 (ξ) = 0 .
(2.32)
Wegen der Stetigkeit von ϕ0 in Is gibt es eine Umgebung von ξ, in der | ϕ0 (x) | ≤ L ist mit 0 < L < 1. Diese Umgebung sei das Intervall I = (ξ − r, ξ + r) ⊆ Is ⊂ [a, b], 0 < r ≤ s .
(2.33)
2.5 Newtonsche Verfahren
53
Aus | ϕ0 (x) | ≤ L
f¨ ur alle x ∈ I
(2.34)
mit 0 < L < 1 folgt nach (2.14), dass die Schrittfunktion ϕ lipschitzbeschr¨ankt ist, und damit gilt (ii). Um (i) nachzuweisen, muss gezeigt werden, dass mit x ∈ I, also | x−ξ | < r, auch ϕ(x) ∈ I ist, d. h. | ϕ(x) − ξ | < r. Wegen ϕ(ξ) = ξ vgl. (2.30) ist mit (ii) | ϕ(x) − ξ | = | ϕ(x) − ϕ(ξ) | ≤ L | x − ξ | < | x − ξ | < r . Damit gilt auch (i). Nach dem Fixpunktsatz 2.14 konvergiert also die Iterationsfolge (2.29) f¨ ur jeden Startwert x(0) ∈ I gegen die Nullstelle ξ. Wegen (2.32) konvergiert das Newtonsche Verfahren (2.29) nach Satz 2.20 von mindestens zweiter Ordnung, d. h. mindestens quadratisch.
Aus dem Beweis des Satzes 2.22 geht hervor, dass das Newtonsche Verfahren nur f¨ ur solche Startwerte x(0) konvergiert, die gen¨ ugend nahe bei der Nullstelle ξ liegen. Wegen der speziellen Schrittfunktion (2.30) kann eine gegen¨ uber der a posteriori-Fehlerabsch¨atzung (2.20) in Abschnitt 2.3.4 verbesserte Fehlerabsch¨atzung f¨ ur das Newtonsche Verfahren angegeben werden.
Satz 2.23. Die Newtonsche Iterationsfolge (2.29) besitze gem¨aß Satz 2.22 das Konvergenzintervall I. Dann gilt unter Verwendung der a posteriori-Fehlerabsch¨atzung (2.20) mit max |f 00 (x)| 1 x∈I ≤ M1 2 min |f 0 (x)| x∈I
die Fehlerabsch¨atzung f¨ ur ν = 1, 2, . . . | x(ν+1) − ξ | ≤ M1
und allgemeiner mit m = 1, 2, . . . |x
(ν+m)
1 −ξ|≤ M1
L 1−L
2 2 (ν) x − x(ν−1)
2m L (ν) (ν−1) M1 . x −x 1−L
(2.35)
(2.36)
54
2. L¨osung nichtlinearer Gleichungen
Beweis. Nach der Taylorschen Formel gilt 0 = f (ξ) = f (x(ν) ) + f 0 (x(ν) )(ξ − x(ν) ) +
1 00 (ν) f (e x )(ξ − x(ν) )2 , 2
(2.37)
wobei x e(ν) zwischen x(ν) und ξ liegt. Mit Division von (2.37) durch f 0 (x(ν) ) f¨ ur x(ν) ∈ I ist f 0 (x(ν) ) 6= 0 erh¨ alt man −
f (x(ν) ) 1 f 00 (e x(ν) ) − ξ + x(ν) = (ξ − x(ν) )2 0 (ν) 0 2 f (x(ν) ) f (x )
und mit (2.29) x(ν+1) − ξ =
1 f 00 (e x(ν) ) (ν) (x − ξ)2 . 2 f 0 (x(ν) )
(2.38)
¨ Beim Ubergang zu den Betr¨ agen folgt aus (2.38) |x
(ν+1)
−ξ|
≤
max |f 00 (x)| 1 x∈I x(ν) − ξ 2 0 2 min |f (x)| x∈I
≤
(2.39)
2 1 M1 | x(ν) − ξ |2 = M1 | x(ν) − ξ | . M1
Wird (2.20) (ν) x − ξ ≤
L (ν) x − x(ν−1) 1−L
(2.40)
auf der rechten Seite der Ungleichung (2.39) eingesetzt, so ergibt sich die Fehlerabsch¨atzung (2.35). Die gegen¨ uber (2.39) allgemeinere Ungleichung f¨ ur m = 1, 2, . . . (ν+m) 2m 1 x −ξ ≤ M1 | x(ν) − ξ | M1
(2.41)
gilt nach (2.39) f¨ ur m = 1. Mit der Annahme, (2.41) gelte f¨ ur m, wird (2.41) f¨ ur m + 1 bewiesen (vollst¨andige Induktion). Aus (2.41) f¨ ur m + 1 folgt mit (2.39) (ν+1+m) x −ξ
≤ ≤ =
2m 1 M1 | x(ν+1) − ξ | M1 2 2m 1 1 M1 M1 | x(ν) − ξ | M1 M1 2m+1 1 M1 | x(ν) − ξ | . M1
Wenn auf der rechten Seite der Ungleichung (2.41) | x(ν) − ξ | mittels (2.40) ersetzt wird, entsteht die Fehlerabsch¨ atzung (2.36).
2.5 Newtonsche Verfahren
55
Mit (2.35) kann mit zwei N¨ aherungen x(ν−1) und x(ν) der absolute Fehler | x(ν+1) − ξ | der n¨achsten (noch nicht berechneten) N¨ aherung x(ν+1) im Voraus abgesch¨atzt werden. Eine Lipschitzkonstante L erh¨ alt man durch Absch¨atzung von (2.31) auf dem Intervall I: 2 |ϕ0 (x)| = | f (x) f 00 (x)/f 0 (x) | ≤ L < 1 . Mit einer Lipschitzkonstante L ≤ 0.5 ist L/(1 − L) ≤ 1 und (2.40) lautet | x(ν) − ξ | ≤ | x(ν) − x(ν−1) | . Gilt f¨ ur die ν-te N¨ aherung | x(ν) − x(ν−1) | ≤ ε , dann ist auch | x(ν) − ξ | ≤ ε . Der absolute Fehler von x(ν) ist dann h¨ ochstens gleich ε. So erh¨alt man nach Vorgabe von ε > 0 ein geeignetes Abbruchkriterium.
Beispiel 2.24. Gegeben: Die Gleichung f (x) = x2 − a = 0, a > 0. Gesucht:
Die L¨osung x =
√
a mit dem Newton-Verfahren.
Wegen f 0 (x) = 2x ist die Schrittfunktion (2.30) x2 − a 1 a ϕ(x) = x − = x+ , 2x 2 x und die Iterationsvorschrift (2.29) lautet
L¨osung:
x(ν+1) =
1 (ν) a x + (ν) , 2 x
Ferner ist ϕ0 (x) =
ν = 0, 1, 2, . . .
(2.42)
1 a 1− 2 . 2 x
√ Als numerisches Beispiel wird a = 5 gew¨ ahlt. Wegen 2 < 5 < 3 sei I = [2, 3]. Dann ist f¨ ur alle x ∈ I 0 1 ϕ (x) = 1 − 5 ≤ 1 1 − 5 ≤ 0.23 = L < 1 . 2 2 x 2 9 2 Die Folge (2.42) mit a = 5 konvergiert also mit jedem Startwert x(0) ∈ I = [2, 3]. Mit der Lipschitzkonstante L = 0.23 ist L/(1 − L) = 0.2987, und die a posterioriFehlerabsch¨atzung (2.40) lautet | x(ν) − ξ | ≤ 0.2987 | x(ν) − x(ν−1) | ,
ν = 0, 1, 2, . . .
(2.43)
56
2. L¨osung nichtlinearer Gleichungen
Mit dem Abbruchkriterium | x(ν) − x(ν−1) | ≤ 0.5 · 10−7 erh¨alt man ξ =
√
5 mit 7 Dezimalen.
F¨ ur die Fehlerabsch¨ atzung (2.35) werden min |f 0 (x)| = min |2x| = 4 x∈I
x∈I
ben¨otigt. Damit ist M1 =
2 2·4
max |f 00 (x)| = 2
und
x∈I
= 0.25. Die Fehlerabsch¨atzung (2.35) lautet
| x(ν+1) − ξ | ≤ 0.0223 | x(ν) − x(ν−1) |2 ,
ν = 0, 1, 2, . . .
(2.44)
Aus der nachfolgenden Tabelle folgt wegen | x(5) − x(4) | = 0 f¨ ur die Nullstelle √ ξ = x(5) = 2.236 067 98 ≈ 5.
ν
x(ν)
0 1 2 3 4 5
3.00000000 2.33333333 2.23809524 2.23606890 2.23606798 2.23606798
| x(ν) − x(ν−1) | | x(ν) − 0.66666667 0.09523810 0.00202634 0.00000092 0.00000000
√
5|
0.76393202 0.09726536 0.00202726 0.00000092 0.00000000 0.00000000
(2.43)
(2.44)
0.19913333 0.02844762 0.00991352 0.00060527 0.00020232 0.00000027 0.00000009 0.00000000 1.88 · 10−14
Die mit den Fehlerabsch¨ atzungen (2.43) und (2.44) ermittelten√Schranken f¨ ur den absoluten Fehler zeigen im Vergleich mit dem exakten Fehler | x(ν) − 5 |, dass die Absch¨atzung (2.44) kleinere Schranken liefert. F¨ ur die einfache Funktion f im vorangehenden Beispiel konnten L und M1 unschwer bestimmt werden. Im Allgemeinen ist die Ermittlung von L und M1 zu einem gew¨ahlten Intervall I mit einem erheblich gr¨ oßeren Aufwand verbunden. Bemerkung. Da f¨ ur jeden Iterationsschritt mit dem Newton-Verfahren ein Funktionswert und ein Ableitungswert zu berechnen sind, eignet sich dieses Verfahren in erster Linie f¨ ur die Berechnung einzelner Nullstellen eines Polynoms, weil die ben¨otigten Werte sich leicht mit dem Horner-Schema (siehe Kapitel 3) ermitteln lassen, weniger dagegen f¨ ur die L¨osung beliebiger transzendenter Gleichungen. In allen F¨allen konvergiert das Newton-Verfahren nur f¨ ur solche Startwerte, die gen¨ ugend nahe bei der Nullstelle liegen. Zur Berechnung von Nullstellen beliebiger transzendenter Funktionen eignet sich besser ein Einschlussverfahren. Siehe dazu Abschnitt 2.9 Entscheidungshilfen.
2.5 Newtonsche Verfahren
2.5.2
57
Geda ¨mpftes Newton-Verfahren
Analog zum ged¨ampften Newton-Verfahren f¨ ur nichtlineare Systeme (Abschnitt 6.3.1, Algorithmus 6.9) l¨ asst sich das ged¨ ampfte Newton-Verfahren f¨ ur Einzelgleichungen angeben. Man f¨ uhrt f¨ ur ν = 0, 1, 2, . . . folgende Schritte durch: (i) Berechne ∆x(ν+1) := x(ν+1) − x(ν) = −f (x(ν) )/f 0 (x(ν) ) Newtonschritt (2.29) . (ii) Berechne f¨ ur i = 0, 1, . . . (ν+1)
xi
:= x(ν) +
1 ∆x(ν+1) . 2i
(ν+1)
(ν+1)
Wenn |f (xi )| < |f (x(ν) )| gilt, wird x(ν+1) := xi gesetzt. Andernfalls wird der Schritt mit dem n¨ achsten i wiederholt. Wenn mit einem vorgegebenen imax ∈ N f¨ ur alle i ≤ imax die obige Bedingung nicht erf¨ ullt ist, wird (mit i = 0) x(ν+1) := x(ν) + ∆x(ν+1) gesetzt.
2.5.3
Das Newtonsche Verfahren fu ¨ r mehrfache Nullstellen. Das modifizierte Newtonsche Verfahren
Die Funktion f sei im Intervall [a, b] gen¨ ugend oft stetig differenzierbar und besitze in (a, b) eine Nullstelle ξ der Vielfachheit j, j ≥ 2. Nach Satz 2.2 sind also f (ξ) = f 0 (ξ) = . . . = f (j−1) (ξ) = 0, f (j) (ξ) 6= 0 . F¨ ur die Ableitung (2.31) der Schrittfunktion (2.30) des Newtonschen Verfahrens f¨ ur einfache Nullstellen ergibt sich mit (2.2), (2.4) und (2.6) ϕ0 (x) =
f (x) f 00 (x) f 0 2 (x)
=
h0 (x) h2 (x) . h21 (x)
(2.45)
Mit (2.3), (2.5) und (2.7) ist f¨ ur j ≥ 2 2 (j − 1)! j−1 1 1 h0 (ξ) h2 (ξ) = = =1− ≥ . ϕ (ξ) = h21 (ξ) j! (j − 2)! j j 2 0
(2.46)
Das Newtonsche Verfahren, das f¨ ur einfache Nullstellen mindestens quadratisch konvergiert (Satz 2.22), konvergiert nach Satz 2.20 in der Umgebung einer mehrfachen Nullstelle nur linear. Mit der Schrittfunktion ψ(x) = x − j
f (x) f 0 (x)
(2.47)
58
2. L¨osung nichtlinearer Gleichungen
kann die quadratische Konvergenz auch in der Umgebung einer mehrfachen Nullstelle ξ (j ≥ 2) beibehalten werden. Mit (2.2) und (2.4) lautet (2.47) ψ(x) = x − j (x − ξ)
h0 (x) , h1 (x)
und es ist ψ(ξ) = ξ . F¨ ur die Ableitung der Schrittfunktion (2.47) ergibt sich mit (2.45) f (x) f 00 (x) h0 (x) h2 (x) 0 ψ (x) = 1 − j 1 − =1−j 1− . h21 (x) f 0 2 (x) Mit (2.46) ist ! 1 1 0 ψ (ξ) = 1 − j 1 − 1 − = 1 − j = 0, j j und daraus folgt nach Satz 2.20 die mindestens quadratische Konvergenz mit der Schrittfunktion (2.47). Wegen ψ 0 (ξ) = 0 und wegen der Stetigkeit von ψ 0 in einer Umgebung von ξ gilt: Es gibt ein Intervall I = (ξ − r, ξ + r) ⊂ [a, b], r > 0, so dass f¨ ur alle x ∈ I |ψ 0 (x)| ≤ L < 1 ist. Somit ist ψ in I lipschitzbeschr¨ ankt. Ferner ist wegen ψ(ξ) = ξ f¨ ur alle x ∈ I | ψ(x) − ξ | = | ψ(x) − ψ(ξ) | ≤ L | x − ξ | ≤ | x − ξ | < r , also ψ(x) ∈ I. Somit gen¨ ugt die Schrittfunktion (2.47) den Voraussetzungen (i) und (ii) des Fixpunktsatzes 2.14. Damit folgt der
Satz 2.25. (Newtonsches Verfahren f¨ ur mehrfache Nullstellen) Die Funktion f sei im Intervall [a, b] gen¨ ugend oft stetig differenzierbar und besitze in (a, b) eine Nullstelle ξ der Vielfachheit j ≥ 2. Dann gibt es ein Intervall I = (ξ−r, ξ+r), r > 0, I ⊂ [a, b], so dass die Iterationsfolge x(ν+1) = x(ν) − j
f (x(ν) ) f 0 (x(ν) )
,
ν = 0, 1, 2, . . . ,
mit jedem Startwert x(0) ∈ I von mindestens zweiter Ordnung gegen die j-fache Nullstelle ξ konvergiert. Die Anwendung des Newtonschen Verfahrens f¨ ur mehrfache Nullstellen setzt die Kenntnis der Vielfachheit j der gesuchten Nullstelle ξ voraus; j wird allerdings nur in speziellen F¨allen bekannt sein. Nach Satz 2.3 ist eine j-fache Nullstelle ξ (j ≥ 2) einer Funktion f eine einfache Nullstelle der Funktion g mit g(x) = f (x)/f 0 (x). Insofern kann man die Nullstelle von g mit dem Newtonschen Verfahren f¨ ur einfache Nullstellen ermitteln. Dieses Verfahren beschreibt der Satz
2.5 Newtonsche Verfahren
59
Satz 2.26. (Modifiziertes Newtonsches Verfahren f¨ ur mehrfache Nullstellen) Die Funktion f sei im Intervall [a, b] gen¨ ugend oft stetig differenzierbar und besitze in (a, b) eine Nullstelle ξ der Vielfachheit j ≥ 2. Dann gibt es ein Intervall I = (ξ − r, ξ + r), r > 0, I ⊂ [a, b], so dass mit jedem Startwert x(0) ∈ I das Verfahren mit der Iterationsvorschrift x(ν+1) J(x(ν) )
= x(ν) − J(x(ν) ) =
f (x(ν) ) f 0 (x(ν) )
1 , f (x )f 00 (x(ν) ) (ν)
1−
mit ν = 0, 1, 2, . . . ,
f 0 2 (x(ν) )
quadratisch konvergiert. Es gelten zugleich lim (x(ν) ) = ξ
ν→∞
und
lim J(x(ν) ) = j .
ν→∞
Beweis. Die Schrittfunktion des Newtonschen Verfahrens, angewendet auf die Funktion g mit f (x) g(x) = , f 0 (x) f (x)f 00 (x) g 0 (x) = 1 − und f 0 2 (x) 1 J(x) = g 0 (x) lautet ϕ(x) = x −
g(x) f (x) = x − J(x) 0 . 0 g (x) f (x)
Mit den Taylorentwicklungen (2.2), (2.4) und (2.6) an der Stelle ξ sind ϕ(x)
= x − J(x) (x − ξ)
J(x)
=
h0 (x) h1 (x)
und
(2.48)
1 . h0 (x) h2 (x) 1− h21 (x)
(1) Mit (2.46) erh¨ alt man J(ξ) =
1 =j. 1 − (1 − 1j )
(2.49)
60
2. L¨osung nichtlinearer Gleichungen
(2) Zur Bestimmung der Konvergenzordnung wird ϕ0 (ξ) berechnet. Dabei werden (2.49) und (2.8) verwendet. Mit (2.48) und ϕ(ξ) = ξ ist ϕ0 (ξ)
ϕ(x) − ϕ(ξ) x−ξ 1 h0 (x) = lim x − J(x) (x − ξ) −ξ x→ξ x − ξ h1 (x) h0 (x) 1 = lim 1 − J(x) = 1 − j = 0. x→ξ h1 (x) j =
lim
x→ξ
Nach Satz 2.20 hat die Schrittfunktion ϕ die Konvergenzordnung 2. ¨ (3) Ahnlich wie beim Satz 2.25 f¨ ur (2.47) kann gezeigt werden, dass die Schrittfunktion ϕ in einem Intervall I = (ξ−r, ξ+r), r > 0, den Voraussetzungen des Fixpunktsatzes 2.14 gen¨ ugt.
Beispiel 2.27. Gegeben: Die Funktion f : f (x) = 1 − sin x. f besitzt bei ξ = Gesucht:
π 2
eine doppelte Nullstelle.
Die Nullstelle ξ mit dem Newtonschen Verfahren f¨ ur einfache Nullstellen, mit dem Newtonschen Verfahren f¨ ur mehrfache Nullstellen und mit dem modifizierten Newtonschen Verfahren. Es wird mit 15-stelliger Mantisse gerechnet und die Rechnung abgebrochen, wenn die Bedingung |x(ν) −x(ν−1) | ≤ 0.5e−14 erf¨ ullt ist. Als Startwert wird x(0) = 2 gew¨ahlt.
1. Newtonsches Verfahren f¨ ur einfache Nullstellen mit der Iterationsvorschrift (2.29): x(ν+1) = x(ν) −
f (x(ν) ) 1 − sin(x(ν) ) (ν) = x − f 0 (x(ν) ) − cos(x(ν) )
ν
x(ν)
|x(ν) − x(ν−1) |
0 1 2 3 4 5 6 7 8 9 10 11 12 13
2.00000000000000 1.78204190153914 1.67602457140144 1.62336184567011 1.59707303266146 1.58393392371128 1.57736503077218 1.57408066697409 1.57243849540833 1.57161741091709 1.57120686883293 1.57100159781103 1.57089896230260 1.57084764454871
0.21795809846086 0.10601733013770 0.05266272573132 0.02628881300865 0.01313910895018 0.00656889293910 0.00328436379809 0.00164217156576 0.00082108449124 0.00041054208416 0.00020527102190 0.00010263550843 0.00005131775390
2.5 Newtonsche Verfahren
61
ν
x(ν)
|x(ν) − x(ν−1) |
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
1.57082198567180 1.57080915623335 1.57080274151412 1.57079953415451 1.57079793047470 1.57079712863480 1.57079672771482 1.57079652725488 1.57079642702485 1.57079637691009 1.57079635185228 1.57079633932381 1.57079633305860 1.57079632992561 1.57079632836721 1.57079632757422 1.57079632715686 1.57079632700710 1.57079632700710
0.00002565887691 0.00001282943845 0.00000641471923 0.00000320735961 0.00000160367980 0.00000080183990 0.00000040091998 0.00000020045994 0.00000010023003 0.00000005011476 0.00000002505781 0.00000001252847 0.00000000626521 0.00000000313298 0.00000000155840 0.00000000079299 0.00000000041736 0.00000000014977 0.00000000000000
Die exakte L¨osung ξ = π2 lautet auf 14 Dezimalen gerundet π2 = 1.57079632679489. Vergleicht man sie mit dem N¨ aherungswert x(32) , so gilt f¨ ur den absoluten Fehler π (32) (32) |x − ξ| = |x − 2 | ≤ 0.21e−9 ; obwohl also |x(32) − x(31) | ≤ 0.5e−14 ist, erh¨alt man einen N¨ aherungswert x(32) , der nur auf 9 Dezimalen genau ist. Die Ursache daf¨ ur liegt darin, dass der Ausdruck f/f’ in der Iterationsvorschrift f¨ ur x(ν) → ξ unbestimmt ( 00 ) wird. Wird der Z¨ahler in der mitgef¨ uhrten Stellenzahl fr¨ uher Null als der Nenner, so bleibt die Iteration dort stehen; dieser Fall liegt hier vor; andernfalls entfernen sich die iterierten Werte wieder von der L¨osung. Wenn der Nenner Null wird, muss das Verfahren abgebrochen werden. 2. Newtonsches Verfahren f¨ ur doppelte Nullstellen (Satz 2.25 mit Vielfachheit j = 2): x(ν+1) = x(ν) − 2
f (x(ν) ) 1 − sin(x(ν) ) (ν) = x − 2 f 0 (x(ν) ) − cos(x(ν) )
ν
x(ν)
|x(ν) − x(ν−1) |
0 1 2 3 4
2.00000000000000 1.56408380307828 1.57079635199940 1.57079632679621 1.57079632679621
0.43591619692172 0.00671254892113 0.00000002520319 0.00000000000000
Hier ist die Abfrage |x(ν) − x(ν−1) | ≤ 0.5e−14 bereits nach vier Iterationsschritten erf¨ ullt, da das Verfahren quadratisch konvergiert. Aber auch hier gilt f¨ ur den absoluten Fehler des N¨ aherungswertes x(4) |x(4) − π2 | ≤ 0.13e−11; die Ursache daf¨ ur ist dieselbe wie im ersten Falle.
62
2. L¨osung nichtlinearer Gleichungen
3. Modifiziertes Newtonsches Verfahren f¨ ur mehrfache Nullstellen (Satz 2.26): Rechnung mit doppelter Stellenzahl, Rundung auf einfache. ν
x(ν)
|x(ν) − x(ν−1) |
0 1 2 3 4
2.0000000000000 1.5838531634529 1.5707966977821 1.5707963267948 1.5707963267948
0.4161468365471 0.0130564656707 0.0000003709874 0.0000000000000
J(x(ν) ) 1.9092974268257 1.9999147607192 2.0000003799090 1.0000000000000
F¨ ur den absoluten Fehler des N¨ aherungswertes x(4) gilt |x(4) − π2 | ≤ 0.25e−12, obwohl f¨ ur die iterierten Werte die Abfrage |x(4) − x(3) | ≤ 0.5e−14 erf¨ ullt ist. Die Ursache liegt wie oben darin, dass sin(x(3) ) in den mitgef¨ uhrten Stellen exakt 1 ist, d. h. 1 − sin(x(3) ) verschwindet, aber cos(x(3) ) 6= 0 ist, so dass x(4) = x(3) gilt. Man sieht hier außerdem, dass J(x(2) ) der tats¨achlichen Vielfachheit j = 2 schon sehr nahe ist, J(x(3) ) jedoch gleich 1 wird. Dies liegt daran, dass f (x(3) ) = 1 − sin(x(3) ) in den mitgef¨ uhrten Stellen verschwindet, f 0 (x(3) ) 6= 0 00 02 ist und damit f f /f verschwindet. W¨ urde hier f 02 vor f Null, so w¨ urde J(x(ν) ) von j in beliebiger Weise abwandern. Wegen f (x) = 1 − sin x kann in diesem Fall J(x(ν) ) vereinfacht dargestellt werden (Satz 2.26): 1 J(x(ν) ) = = 1 + sin(x(ν) ). 1 − sin(x(ν) ) sin(x(ν) ) 1− cos2 (x(ν) ) Damit ergibt sich J(x(3) ) = 1 + 1 = 2.
Empfehlung zum modifizierten Newton-Verfahren Wegen seiner geringen Effizienz (vgl. Abschnitt 2.9) sollte man mit dem modifizierten Newton-Verfahren nur so lange iterieren, bis die Vielfachheit der Nullstelle gekl¨art ist, dann aber mit dem Verfahren von Newton f¨ ur mehrfache Nullstellen weiterrechnen. Die Vielfachheit ist dann gekl¨ art, wenn sich von einem gewissen ν an entweder J(x(ν) ) = 1 ergibt oder |J(x(ν) ) − J(x(ν−1) )| > |J(x(ν−1) ) − J(x(ν−2) )| gilt, d. h. J(x(ν) ) sich wieder von der Vielfachheit j entfernt. In beiden F¨allen ist die zu J(x(ν−1) ) n¨achste ganze Zahl die gesuchte Vielfachheit j. Dieses Verhalten der J(x(ν) ) ist bedingt durch die beschr¨ ankte Stellenzahl der Maschinenzahlen und den f¨ ur x(ν) → ξ un00 02 (ν) bestimmten Ausdruck f f /f im Nenner von J(x ). Wird n¨amlich f¨ ur ein x(ν) wegen (ν) 0 (ν) der beschr¨ankten Stellenzahl f (x ) identisch Null, w¨ahrend f (x ) noch verschieden von Null ist, so erh¨ alt man J(x(ν) ) = 1, obwohl eine mehrfache Nullstelle vorliegt.
2.6 Das Sekantenverfahren
63
Generelle Empfehlung. Da eine doppelte Nullstelle ξ von f nach Satz 2.3 eine einfache Nullstelle ξ von g(x) = f (x)/f 0 (x) ist, kann auch zur Berechnung einer doppelten Nullstelle ein Einschlussverfahren verwendet werden. F¨ ur Beispiel 2.27 w¨ urde das bedeuten, dass man anstelle der doppelten Nullstelle von f (x) = 1 − sin x die einfache Nullstelle der Funktion f (x) 1 − sin x g(x) = 0 = f (x) − cos x mit einem Einschlussverfahren ermittelt, das mit gr¨oßerer Effizienz arbeitet als das Newton-Verfahren (siehe Abschnitt 2.9). Die oben erw¨ahnten numerischen Probleme wegen g(ξ) = 00 treten nat¨ urlich auch hier auf. Anmerkungen zu mehrfachen Nullstellen. Bei einer nichtlinearen Gleichung f (x) = 0, die im Rahmen eines technischen Problems gel¨ost werden muss, werden die im Funktionsterm auftretenden Daten im Allgemeinen mit Fehlern behaftet sein. Darum ist nicht zu erwarten, dass die Funktion f eine mehrfache Nullstelle hat. Beispielsweise hat die quadratische Funktion f (x) = x2 +px+q genau dann eine doppelte Nullstelle, wenn exakt p2 − 4q = 0 ist. Wenn p und q mit Messfehlern behaftet sind, wird | p2 −4q | = ε > 0 sein. F¨ ur p2 −4q > 0 gibt es dann zwei benachbarte einfache Nullstellen 2 und f¨ ur p − 4q < 0 keine. Eine doppelte Nullstelle ξ von f mit f (ξ) = f 0 (ξ) = 0, f 00 (ξ) 6= 0 ist eine Stelle, an der die Funktion f ein lokales Minimum oder Maximum besitzt. Wegen f 00 (ξ) 6= 0 ist ξ einfache Nullstelle von f 0 und kann mit einem Einschlussverfahren berechnet werden. Wenn dann |f (ξ)| ≤ ε ist, kann ξ als doppelte Nullstelle von f akzeptiert werden.
2.6
Das Sekantenverfahren
Das Sekantenverfahren wird hier behandelt, weil es in fast jeder Numerik-Vorlesung als Standardverfahren vorkommt. F¨ ur die praktische Anwendung ist es allerdings nicht zu empfehlen, man sollte dem Sekantenverfahren die Einschlussverfahren mit h¨oherer Effizienz unbedingt vorziehen.
2.6.1
Das Sekantenverfahren fu ¨r einfache Nullstellen
Die Funktion f sei in I = [a, b] stetig und besitze in (a, b) eine einfache Nullstelle ξ. Zur n¨aherungsweisen Bestimmung von ξ mit Hilfe des Verfahrens von Newton ist die Berechnung der Ableitung f 0 von f erforderlich, so dass die Differenzierbarkeit von f vorausgesetzt werden muss. Das Sekantenverfahren ist ein Iterationsverfahren, das ohne Ableitungen arbeitet und zwei Startwerte x(0) , x(1) erfordert (siehe auch Abschnitt 2.7 Einschlussverfahren).
64
2. L¨osung nichtlinearer Gleichungen
¨ Durch die folgende Uberlegung gelangt man zu der Iterationsvorschrift ur das Verfahren f¨ (Abb. 2.13). Es seien x(0) , x(1) ∈ I. Durch die Punkte x(0) , f(x(0) ) und x(1) , f(x(1) ) legt man die Sekante des Funktionsgraphen und schneidet sie mit der x-Achse. F¨ ur die Abszisse x(2) des Schnittpunktes findet man x(2) = x(1) − y6
x(1) − x(0) f (x(1) ). f (x(1) ) − f (x(0) ) y = f (x).............................
. ... ..... ......... .......... ......... . . . . . . .......... ......... .. ...... .... .. . ...... .... ..... ........ . . . . .. . . ...... ..... ... ..... ........ . . . . ... .... . . . . . . ... . . .... .... . . . . . . .. . . ...... ..... ..... ..... . . . . ... . . . . . . (2)....... ... . . . (0) . . . .. . . ...... ...... .. ... ...... ..... . . . . . . . . . .... ..... . . . . . . . ... . . .... ............ . . . . (1) ... ........ ........... .. ... ............................. .................. (0) (0) ..
r
x r
x
a
x(1) , f (x(1) )
r
x
r ξ , f (x )
x
b
x
Abb. 2.13. Sekantenverfahren Die Iterationsvorschrift f¨ ur das Sekantenverfahren lautet x(ν) − x(ν−1) (ν+1) (ν) = x(ν) − ) wenn f (x(ν) ) 6= f (x(ν−1) ) , x (ν) (ν−1) f (x f (x ) − f (x ) x(ν) − x(ν−1) (ν) x(ν+1) = x(ν) − ) sonst , (ν) (ν−1) f (x f (x ) − 2·f (x ) ν = 1, 2, . . .
(2.50)
Falls f (x(ν+1) ) = 0 ist, wird das Verfahren mit ξ = x(ν+1) abgebrochen. Wesentlich f¨ ur die Konvergenz des Verfahrens ist, dass die Startwerte x(0) , x(1) hinreichend nahe an der Nullstelle ξ liegen. Es gilt der folgende Konvergenzsatz : Satz 2.28. Falls die Funktion f f¨ ur alle x ∈ (a, b) zweimal stetig differenzierbar ist und mit zwei positiven Zahlen m, M den Bedingungen |f 0 (x)| ≥ m,
|f 00 (x)| ≤ M,
x ∈ (a, b),
gen¨ ugt, gibt es immer eine Umgebung Ir = [ξ − r, ξ + r] ⊂ (a, b) , r > 0 , so dass ξ in Ir die einzige Nullstelle von f ist und das Verfahren f¨ ur jedes Paar von Startwerten x(0) , x(1) ∈ Ir , x(0) 6= x(1) , gegen die gesuchte Nullstelle ξ konvergiert. ¨ Da die Uberpr¨ ufung der Voraussetzungen dieses Satzes meist nicht praktikabel ist, bleibt nur die Empfehlung, die Startwerte x(0) und x(1) m¨oglichst nahe bei der Nullstelle ξ zu w¨ahlen. Wenn das Startintervall den Bedingungen des Satzes 2.28 nicht gen¨ ugt, kann beim Sekantenverfahren die Konvergenz von der Bezeichnung der Startwerte x(0) und x(1) abh¨angen.
2.6 Das Sekantenverfahren
65
........................... .............. ....... ......... ...... ....... ............................................................. ......... . . . . . ............................... .... . . . ...... . . . ....... ........ ................................... ... . . . . ....... . .... ....... ..... ... ...... .... . ... . . (3) . . . . . . . . ....... ..... ....... .... . . . . . . . . .... ... . . . . . . . . . . ...... .... ....... .... ....... .... ....... .... ....... .... . . . . . (0) . (2) (1) . . . ... ... ....... .... ....... .... ....... . .... . . . . . . . . ... ....... .... ...... .... ....... ....... .... ....... ... . . . . . . . . . . ... ....... .... ... ...... ... ....... ........... ......... . . .. ... ... .. .. . . ..
r
r
f (x)
r
r x
x
r x
x
x
r
Abb. 2.14. Startwerte, f¨ ur die das Sekantenverfahren divergiert ....... ................. ....................... ......... ...... ....... ..... .......... ..... .............. . . . . ..... ......... . . ....... ........ . . ... ....... ...... ... . . . . . . . . . . ... .... . .... ........ . . . . . .... . . . . . ....... ..... ..... ...... .... ........ . . . . . . . . . .... ... ....... . . . . . . . . . .... . ... ........ . . . . . . . . . . ....... .... ..... ...... .... .... ....... .... ..... ....... .... ..... (1) (3) (2) (0) .... ........ ....... . . . . . . . . .... ... .... ....... .... .... ....... .... ..... ....... .... ........ . . . . . . . . . .... ..... ....... .... .... ....... ... ...... ....... .... ..... ....... ............. ............ . . ....... ...... ......... ...... ........ ....... .............. ...... . . .. ... ... ... ...
r
r
f (x)
r
x
r x
r x
r x
x
r
Abb. 2.15. Startwerte, f¨ ur die das Sekantenverfahren konvergiert Beispiel 2.29. Gegeben: Die Funktion f (x) = 18 x2 − x + 32 und die Startwerte x(0) = 1, x(1) = 5 , die wegen f (1) = 0.625, f (5) = −0.375 eine Nullstelle von f einschließen. Gesucht:
Die zwischen x(0) und x(1) liegende Nullstelle mit dem Sekantenverfahren.
L¨osung:
Mit den gegebenen Startwerten konvergiert das Sekantenverfahren gegen die Nullstelle 6, die nicht im Einschlussintervall [1, 5] liegt. Mit den Startwerten x(0) = 5, x(1) = 1 liefert das Sekantenverfahren die Nullstelle 2.
Ein Einschlussverfahren (siehe Abschnitt 2.7) ermittelt in beiden F¨allen die Nullstelle 2.
Beispiel 2.30. √ Gegeben: Die Funktion f (x) = ln x − x + 1.5, die f¨ ur x > 0 reell und stetig ist, und die Startwerte x(0) = 0.2, x(1) = 2, die wegen f (0.2) ≈ −0.557, f (2) ≈ 0.779 eine Nullstelle von f einschließen. Gesucht:
Die im Intervall [0.2, 2] liegende Nullstelle mit dem Sekantenverfahren.
66 L¨osung:
2. L¨osung nichtlinearer Gleichungen Mit den gegebenen Startwerten erzeugt das Sekantenverfahren x(2) x
(3)
=
0.950213
= −0.682864
∈ [0.2, 2] und 6∈ [0.2, 2] .
Also ist f (x(3) ) nicht reell, und das Sekantenverfahren versagt. Mit den Startwerten x(0) = 2, x(1) = 0.2 konvergiert das Sekantenverfahren gegen die Nullstelle ξ = 0.429 817 028. Ein Einschlussverfahren (siehe Abschnitt 2.7) erzeugt dagegen N¨aherungen x(ν) , die stets im Einschlussintervall [x(0) , x(1) ] liegen. Die Konvergenzordnung des Sekantenverfahrens mit der Iterationsvorschrift (2.50) ist √ p = (1 + 5)/2 ≈ 1.62 . Prinzipiell kann die Vorschrift (2.50) auch zur n¨aherungsweisen Berechnung mehrfacher Nullstellen verwendet werden, dann geht jedoch die hohe Konvergenzordnung verloren. Das modifizierte Sekantenverfahren (Abschnitt 2.6.2) besitzt auch bei mehrfachen Nullstellen die Konvergenzordnung p ≈ 1.62. Zur Effizienz der Verfahren siehe Abschnitt 2.9.
2.6.2
Das modifizierte Sekantenverfahren fu ¨ r mehrfache Nullstellen
Ist ξ eine Nullstelle der Vielfachheit j, j ≥ 2, von f und ist |f (j+1) (x)| in der Umgebung von ξ beschr¨ankt, so ist ξ eine einfache Nullstelle der Funktion h h(x) =
f 2 (x) , f x + f (x) − f (x)
(2.51)
und |h00 (x)| ist in der Umgebung von ξ beschr¨ ankt. Verwendet man in der Iterationsvorschrift (2.50) statt f die durch (2.51) definierte Funktion h, so konvergiert dieses √ modifizierte Sekantenverfahren ebenfalls von der Ordnung p = (1 + 5)/2 gegen die mehrfache Nullstelle ξ von f (Beweis s. [KIOU1979]). Die Effizienz ist wegen H = 2 allerdings nur E = p1/2 = 1.272 (siehe Abschnitt 2.9).
2.7
Einschlussverfahren
Eine stetige Funktion f : [a, b] → R mit f (a) · f (b) < 0 besitzt nach dem Zwischenwertsatz im Intervall (a, b) mindestens eine Nullstelle; ein solches Intervall [a, b] nennt man ein Einschlussintervall. Im Folgenden sei das Intervall [a, b] so gew¨ahlt, dass es genau eine Nullstelle ξ der Funktion f einschließt. Bei den in diesem Abschnitt behandelten Einschlussverfahren wird ein gegebenes Einschlussintervall in zwei Teilintervalle zerlegt; eines von diesen ist wieder ein Einschlussintervall. So k¨onnen fortlaufend kleinere Einschlussintervalle erzeugt werden (Abschnitt 2.7.1).
2.7 Einschlussverfahren
67
Das einfachste dieser Verfahren ist das Bisektionsverfahren (Abschnitt 2.7.2), das stets, aber nur linear, gegen die Nullstelle konvergiert. Bei der Regula falsi (Abschnitt 2.7.3), die ebenfalls nur linear konvergiert, kann es vorkommen, dass die erzeugten Grenzen der Einschlussintervalle sich der Nullstelle nur von einer Seite her n¨ahern (Abbildung 2.17). Deshalb wurden einige Einschlussverfahren (Abschnitte 2.7.4 bis 2.7.6) entwickelt, die dieses Verhalten vermeiden und zudem eine h¨ ohere Konvergenzordnung besitzen. Allerdings wird diese h¨ohere Konvergenzordnung erst in einer hinreichend kleinen Umgebung der Nullstelle wirksam. Daher ist es zweckm¨ aßig, ein gegebenes Einschlussintervall zun¨achst mit dem Bisektionsverfahren zu verkleinern und dann ein Verfahren h¨oherer Ordnung einzusetzen (siehe dazu das Beispiel 2.41). Falls eine gen¨ ugend oft stetig differenzierbare Funktion f im Intervall [a, b] eine Nullstelle ξ gerader Ordnung besitzt, ist diese wegen Satz 2.3 eine einfache Nullstelle der Funktion g(x) = f (x)/f 0 (x) und kann daher mit einem Einschlussverfahren, angewandt auf g, ermittelt werden. Siehe dazu auch die Anmerkungen zu mehrfachen Nullstellen am Ende des Abschnitts 2.5.
2.7.1
Das Prinzip der Einschlussverfahren
Ausgehend von einem Einschlussintervall [a, b] werden x(1) = a, f1 = f (a), x(2) = b, f2 = f (b) gesetzt; damit ist f1 · f2 < 0. Dann wird eine Zahl x(3) = x(2) + q (x(1) − x(2) ) ,
0 < q < 1,
(2.52)
erzeugt, die zwischen x(1) und x(2) liegt. Die Verfahren unterscheiden sich in der Wahl von q. Mit x(3) wird der Funktionswert f3 = f (x(3) ) berechnet. Wenn f3 = 0 ist, ist ξ = x(3) Nullstelle von f . Wenn f3 6= 0 ist, hat f entweder zwischen x(2) und x(3) oder zwischen x(1) und x(3) einen Vorzeichenwechsel. Eines der beiden durch x(3) erzeugten Teilintervalle ist also wieder ein Einschlussintervall, mit dem das Verfahren fortgesetzt werden kann. Das neue Einschlussintervall wird wie folgt ermittelt. Wenn f2 · f3 < 0 ist, liegt ξ zwischen x(2) und x(3) , und die Intervallgrenzen und Funktionswerte werden umbenannt: x(1) := x(2) , x(2) := x(3) ,
f1 := f2 , f2 := f3 .
Wenn f2 · f3 > 0 ist und somit f1 · f3 < 0 ist, liegt ξ zwischen x(1) und x(3) . Dann werden gesetzt: x(2) := x(3) , f2 := f3 .
68
2. L¨osung nichtlinearer Gleichungen
Nun gilt wieder f1 · f2 < 0, und mit x(1) und x(2) kann das Verfahren fortgesetzt werden. Dabei ist x(2) die zuletzt berechnete Intervallgrenze. Da ξ zwischen x(1) und x(2) liegt, gelten f¨ ur die absoluten Fehler dieser Intervallgrenzen | ξ − x(1) | < | x(2) − x(1) | ,
| ξ − x(2) | < | x(2) − x(1) | .
Wenn mit einer positiven Schranke AbsErr f¨ ur den absoluten Fehler f¨ ur die L¨ange des Einschlussintervalls | x(2) − x(1) | ≤ AbsErr (2.53) gilt, sind die absoluten Fehler der beiden Intervallgrenzen kleiner als AbsErr. Wenn mit einer positiven Schranke RelErr f¨ ur den relativen Fehler mit der zuletzt berechneten Intervallgrenze x(2) (6= 0) | x(2) − x(1) | ≤ | x(2) | RelErr
(2.54)
ist, gilt f¨ ur den relativen Fehler dieser Intervallgrenze | ξ − x(2) | | x(2) − x(1) | < ≤ RelErr. | x(2) | | x(2) | Ein Einschlussverfahren kann also außer mit f3 = 0 auch abgebrochen werden, wenn eine der Abfragen (2.53), (2.54) erf¨ ullt ist. Beide k¨ onnen kombiniert werden zu | x(2) − x(1) | ≤ | x(2) | RelErr + AbsErr . Mit AbsErr > 0 und RelErr = 0 entsteht (2.53), und mit AbsErr = 0 und RelErr > 0 ergibt sich (2.54). Von den beiden Intervallgrenzen x(1) , x(2) kann man diejenige als die beste N¨aherung f¨ ur die Nullstelle ξ w¨ahlen, f¨ ur die der Funktionswert dem Betrage nach kleiner ist. Die Fehlerschranken AbsErr und RelErr m¨ ussen gr¨oßer als die Maschinengenauigkeit % sein (etwa 2 % bis 3 %). Bemerkung. F¨ ur die praktische Anwendung ist es sinnvoll, die Abbruchbedingung (2.54) f¨ ur den relativen Fehler zu verwenden, weil so eine Aussage u ultigen ¨ber die Anzahl der g¨ Ziffern einer N¨aherungszahl gemacht werden kann (vgl. Satz 1.24). Der absolute Fehler macht eine Aussage u ultigen Dezimalen (vgl. Definition 1.17). ¨ber die Anzahl der g¨ Das heißt, die Abfrage | x(2) − ξ | ≤ AbsErr = 0.5 · 10−k liefert x(2) mit k genauen Dezimalen, die Abfrage | x(2) − ξ | ≤ RelErr = 5 · 10−m | x(2) | liefert x(2) mit m genauen Ziffern, beginnend mit der ersten von 0 verschiedenen Ziffer von x(2) .
2.7 Einschlussverfahren
2.7.2
69
Das Bisektionsverfahren
Bei diesem einfachsten Einschlussverfahren wird in (2.52) q = 0.5 gesetzt. Dann wird wegen | x(3) − x(2) | = 0.5 | x(1) − x(2) | die L¨ange des Einschlussintervalls halbiert. Mit fortgesetzter Intervallhalbierung konvergiert das Bisektionsverfahren linear gegen die Nullstelle. y6
........... .................... ............... ............. ... .
f (x) ........................................
. ... ......... ... ........ ....... ....... ... ....... . . . . . . ....... .... ......... . . . . . ...... . ... ..... . . . . . . ..... .... . ..... . . . . . . ..... ... . ........ . . . . . . . . .... .. .. .... ... . . . . . . ..... . . . .. . . .. ... ........ .. ... ... .. ... ...... ....... (1) (4) (6) (5) (3) (2) .. . . . ..... ... ..... . ..... ..... ... ..... . . . . . .. ...... ... ...... . ...... ....... ... ............. ... ......... ............ ............................. ..................................................................................................................................................................................................................................................................................... . . . ........................................................................................................................................... ........................................................................... ...................................... . . .
x
=a
x
r ξx x
x
x
=b
x
Abb. 2.16. Das Bisektionsverfahren
Algorithmus 2.31. (Bisektionsverfahren) Gegeben:
(i) f ∈ C[a, b] mit f (a) · f (b) < 0, (ii) Schranken AbsErr und RelErr f¨ ur den absoluten bzw. den relativen Fehler mit AbsErr > 0 und RelErr = 0 oder mit AbsErr = 0 und RelErr > 0.
Gesucht:
Eine Zahl ξ ∈ (a, b), f¨ ur die f (ξ) = 0 ist, oder ein Einschlussintervall [x(1) , x(2) ] bzw. [x(2) , x(1) ] f¨ ur ξ mit | x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b (1) f1 := f (x ), f2 := f (x(2) ). Pro Iterationsschritt wird wie folgt vorgegangen: 1. Halbierung des Einschlussintervalls durch Ermittlung von x(3) := x(2) + 0.5(x(1) − x(2) ) .
70
2. L¨osung nichtlinearer Gleichungen
2. Berechnung des neuen Funktionswertes f3 := f (x(3) ). Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es mit 3. weiter. 3. Festlegung des neuen Einschlussintervalls: Falls f2 · f3 < 0 ist, liegt ξ zwischen x(2) und x(3) , und es wird gesetzt x(1) := x(2) , x(2) := x(3) ,
f1 := f2 , f2 := f3 ;
falls f2 · f3 > 0 ist, liegt ξ zwischen x(1) und x(3) , und es wird gesetzt x(2) := x(3) , In beiden F¨allen liegt jetzt ξ zwischen x berechnete N¨aherungswert.
(1)
f2 := f3 . und x(2) , und x(2) ist der zuletzt
4. Pr¨ ufung der Abbruchbedingung: Falls | x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr ist, erfolgt Abbruch. Dann wird gesetzt ξ := x(2) ,
falls |f2 | ≤ |f1 | ist ,
und sonst
ξ := x(1) .
Andernfalls wird die Iteration mit 1. fortgesetzt.
Bemerkung 2.32. Beim Bisektionsverfahren kann die Anzahl n der Intervallhalbierungen, die erforderlich ist, um eine vorgegebene Anzahl k g¨ ultiger Dezimalen zu erhalten, vorab bestimmt werden. F¨ ur n und k (k ∈ N) gelte also |b − a| 2n
≤
1 e−k . 2
Dabei sei 0.5 · 10−k < |b − a|. Dann folgen 2n n lg 2 n
≥ 2 |b − a| 10k , ≥ lg 2 + lg |b − a| + k , ≥ 1+
k + lg |b − a| . lg 2
(2.55)
Beispiel 2.33. Gegeben: Die Funktion f (x) = sin x + 1 − 1/x f¨ ur x ∈ [a, b] mit a = 0.6, b = 0.7 und die Schranke AbsErr = 0.5e−6 f¨ ur den absoluten Fehler. Gesucht:
Eine Nullstelle ξ der Funktion f im Intervall (0.6, 0.7) mit Hilfe des Bisektionsverfahrens auf 6 Dezimalen genau.
L¨osung:
Wegen f (0.6) ≈ −0.102 und f (0.7) ≈ 0.216 liegt mindestens eine Nullstelle in (0.6, 0.7). Mit k = 6, a = 0.6 und b = 0.7 erh¨alt man nach der Formel (2.55)
2.7 Einschlussverfahren
71
die Anzahl der erforderlichen Intervallhalbierungen: n ≥ 1+
6 + lg 0.1 = 17.6096 . lg 2
Nach 18 Intervallhalbierungen ist die L¨ange des letzten Einschlussintervalls ≤ 0.5e−6. ν x(3) 1 2 3 .. . 16 17 18
0.65 0.625 0.6375
f (x(3) )
x(1) 0.6 +0.0667249 0.6 −0.0149027 0.65 +0.0265609 0.625
f (x(1) ) f <0 f <0 f >0 f <0
x(2) 0.7 0.65 0.625 0.6375
f (x(2) ) f >0 f >0 f <0 f >0
|x(2) − x(1) | 0.1 0.05 0.025 0.0125
0.6294479 +0.0000048 0.6294464 f < 0 0.6294479 f > 0 0.0000015 0.6294472 +0.0000023 0.6294464 f < 0 0.6294472 f > 0 0.0000008 0.6294468 +0.0000010 0.6294464 −2.43e−7 0.6294468 1.03e−6 0.0000004 < ε
In dieser Tabelle steht jeder Schritt in einer Zeile. Die neue N¨aherung ist x(3) . Nach Umspeichern ergeben sich rechts die Grenzen x(1) und x(2) des neuen Einschlussintervalls. In der letzten Spalte kann man die Abbruchbedingung pr¨ ufen. Wegen |f (x(1) )| < |f (x(2) )| f¨ ur ν = 18 wird gew¨ ahlt ξ = 0.629 446 ≈ x(1) .
2.7.3
Die Regula falsi
Dieses Verfahren verwendet die Sekante, die die Punkte (x(1) , f1 ) und (x(2) , f2 ) verbindet, und bestimmt deren Schnittpunkt (x(3) , 0) mit der x-Achse (Sekantenschritt). Mit der Gleichung f1 − f2 y = f2 + (1) (x − x(2) ) x − x(2) dieser Sekante ergibt sich f¨ ur y = 0 f2 x(3) = x(2) + (x(1) − x(2) ) . f2 − f1 Hier ist also mit (2.52) q= und wegen f1 · f2 < 0 ist 0 < q < 1.
f2 , f2 − f1
72
2. L¨osung nichtlinearer Gleichungen
Wie die Abbildung 2.17 zeigt, kann der Fall eintreten, dass die Grenzen der Einschlussintervalle sich der Nullstelle nur von einer Seite her n¨ahern, w¨ahrend die Grenze x(1) auf der anderen Seite der Nullstelle unver¨ andert bleibt. Dabei wird die Korrektur ∆x = x(3) − x(2) = q (x(1) − x(2) ) dem Betrage nach immer kleiner. Um von einer Intervallgrenze x(2) nahe der Nullstelle auf die andere Seite der Nullstelle zu gelangen und damit die Grenze x(1) loszuwerden, kann man wie folgt vorgehen: Es sei
tol = | x(2) | RelErr + AbsErr .
Wenn | ∆x | ≤ tol ist, wird ∆x = 0.9 · tol · sgn (x(1) − x(2) ) gesetzt. Wenn dann x(2) und x(3) = x(2) + ∆x die Nullstelle einschließen, ist wegen | ∆x | < tol auch die Abbruchbedingung | x(3) − x(2) | = | ∆x | < tol erf¨ ullt. Der Faktor 0.9 verhindert, dass die Abbruchbedingung infolge von Rundungsfehlern evtl. nicht erf¨ ullt ist. Bemerkung. Dieser zus¨ atzliche Schritt wird auch in die folgenden Algorithmen zum Pegasus-Verfahren und zum Verfahren von Anderson-Bj¨orck aufgenommen. r
........... .................... .................... ...... ......... .... ....... .......... ..... ...... . ..... . . . . . . . . . ..... . .. ..... ..... .... ..... .... ..... . . . . . . . .. .... .. . . . . . . . . . ... ... .... . . . .. . . . . ... .... . . ............. . . . . . . . . . . . ..... .. ... . . . . . . . . . . . . . . . . . .... ...... ......... . . . . . . . . . . . . . . . (2) .............. ..... ........ ..... ........ ........ . . . . . . . . . . . . . . . . .. ..... ........ ........ ..... ......... ........ (2) (1) (2) ........ ........ .......... (2) ........ ........ ............ .......... ........ . . . . . . . . . ..... ......... ....... . . . . . . . . . . .. .. .. ... ........ .......... ...... ........ ........... ....... ....... ........ ........ .... ........ .................... . . . . . . . . . . .. ... .... .............. ........ ........... ........ ............. ........ ................. ............... . . .. ... ... ... .. . ..
f (x) r
r
r x
x
r
r x
r
x
r
x
r
Abb. 2.17. Mit x(2) := x(3) in allen Schritten
x
2.7 Einschlussverfahren
73
Algorithmus 2.34. (Regula falsi ) Gegeben:
(i) f ∈ C[a, b] mit f (a) · f (b) < 0, (ii) Schranken AbsErr und RelErr f¨ ur den absoluten bzw. den relativen Fehler mit AbsErr > 0 und RelErr = 0 oder mit AbsErr = 0 und RelErr > 0.
Gesucht:
Eine Zahl ξ ∈ (a, b), f¨ ur die f (ξ) = 0 ist, oder ein Einschlussintervall [x(1) , x(2) ] bzw. [x(2) , x(1) ] f¨ ur ξ mit | x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b (1) f1 := f (x ), f2 := f (x(2) ). Pro Iterationsschritt wird wie folgt vorgegangen: 1. Bestimmung der neuen Intervallgrenze: Berechne
tol := | x(2) | RelErr + AbsErr
und ∆x :=
f2 (x(1) − x(2) ) . f2 − f1
Wenn | ∆x | ≤ tol ist, setze ∆x := 0.9 · tol · sgn (x(1) − x(2) ) . Berechne x(3) := x(2) + ∆x. 2. Berechnung des neuen Funktionswertes f3 := f (x(3) ). Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es mit 3. weiter. 3. Festlegung des neuen Einschlussintervalls: Falls f2 · f3 < 0 ist, liegt ξ zwischen x(2) und x(3) , und es wird gesetzt x(1) := x(2) , x(2) := x(3) , falls f2 · f3 > 0 ist, liegt ξ zwischen x
(1)
f1 := f2 , f2 := f3 ;
und x(3) , und es wird gesetzt
x(2) := x(3) ,
f2 := f3 .
In beiden F¨allen liegt jetzt ξ zwischen x(1) und x(2) , und x(2) ist der zuletzt berechnete N¨aherungswert. 4. Pr¨ ufung der Abbruchbedingung: Falls
| x(1) − x(2) | ≤ tol
ist, erfolgt Abbruch. Dann wird gesetzt ξ := x(2) ,
falls |f2 | ≤ |f1 | ist ,
und sonst
ξ := x(1) .
Andernfalls, also mit | x(2) − x(1) | > tol, wird die Iteration mit 1. fortgesetzt.
74
2. L¨osung nichtlinearer Gleichungen
Beispiel 2.35. (vgl. Beispiel 2.33) Gegeben: Die Funktion f (x) = sin x + 1 − 1/x f¨ ur x ∈ [a, b] mit a = 0.6, b = 0.7 sowie die Schranke RelErr = 5e−7 f¨ ur den relativen Fehler (AbsErr = 0). Gesucht:
Die Nullstelle ξ der Funktion f im Intervall (0.6, 0.7) mit der Regula falsi mit 7 g¨ ultigen Ziffern.
L¨osung: ν x(3) 1 2 3 4 5
0.63211636 0.62954848 0.62945038 0.62944663 0.62944635
⇒ ξ ≈ x(2) =
2.7.4
f (x(3) ) x(1) f (x(1) ) 0.6 <0 9e−3 0.6 <0 3e−4 0.6 <0 1e−5 0.6 <0 5e−7 0.6 <0 −4.5e−7 0.62944663 5e−7
0.6294464 | {z } 7 genaue Ziffern
x(2) f (x(2) ) |x(2) − x(1) |/|x(2) | 0.7 >0 0.63211636 >0 5e−2 0.62954848 >0 4.69e−2 0.62945038 >0 4.68e−2 0.62944663 >0 4.68e−2 0.62944635 −4.5e−7 4.5e−7
Das Pegasus-Verfahren
Das Pegasus-Verfahren ist ein gegen¨ uber der Regula falsi verbessertes Verfahren, das in einer hinreichend kleinen Umgebung einer einfachen Nullstelle die Konvergenzordnung p = 1.642 besitzt. Falls nach einem Sekantenschritt die ¨alteste Intervallgrenze x(1) nicht ersetzt werden kann, wird der Funktionswert f1 mittels g · f1 , 0 < g < 1, modifiziert. Damit verbessert sich die Chance, die Grenze x(1) nach dem n¨achsten Schritt ersetzen zu k¨onnen. Siehe dazu die geometrische Interpretation und Abbildung 2.18. Basierend auf den Originalarbeiten [DOWE1971] und [DOWE1972] wurde hier der folgende Algorithmus entwickelt.
2.7 Einschlussverfahren
75
Algorithmus 2.36. (Pegasus-Verfahren) Gegeben:
(i) f ∈ C[a, b] mit f (a) · f (b) < 0, (ii) Schranken AbsErr und RelErr f¨ ur den absoluten bzw. den relativen Fehler mit AbsErr > 0 und RelErr = 0 oder mit AbsErr = 0 und RelErr > 0.
Gesucht:
Eine Zahl ξ ∈ (a, b), f¨ ur die f (ξ) = 0 ist, oder ein Einschlussintervall [x(1) , x(2) ] bzw. [x(2) , x(1) ] f¨ ur ξ mit | x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b (1) f1 := f (x ), f2 := f (x(2) ). Pro Iterationsschritt ist wie folgt vorzugehen: 1. Bestimmung der neuen Intervallgrenze: tol := | x(2) | RelErr + AbsErr f2 ∆x := (x(1) − x(2) ) . f2 − f1
Berechne und
Wenn | ∆x | ≤ tol ist, setze ∆x := 0.9 · tol · sgn (x(1) − x(2) ) . Berechne x(3) := x(2) + ∆x. 2. Berechnung des neuen Funktionswertes f3 := f (x(3) ). Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es mit 3. weiter. 3. Festlegung des neuen Einschlussintervalls: Falls f2 · f3 < 0 ist, wenn also die Nullstelle ξ zwischen x(2) und x(3) liegt, wird gesetzt x(1) := x(2) , x(2) := x(3) , f1 := f2 , f2 := f3 . Falls f2 · f3 > 0 ist, wenn also die Nullstelle ξ zwischen x(1) und x(3) liegt, wird die Stelle x(1) beibehalten, jedoch mit einem mittels f2 f1 := gf1 , g = , 0
(1)
und x
4. Pr¨ ufung der Abbruchbedingung: Falls
(2)
, und x
f2 := f3 . (2)
ist die zuletzt berechnete N¨aherung.
| x(1) − x(2) | ≤ tol
ist, erfolgt Abbruch. Dann wird gesetzt ξ := x(2) ,
falls |f2 | ≤ |f1 | ist ,
und sonst
ξ := x(1) .
Andernfalls, also mit | x(2) − x(1) | > tol, wird die Iteration mit 1. fortgesetzt.
76
2. L¨osung nichtlinearer Gleichungen
F¨ ur den modifizierten Schritt wird nachfolgend eine geometrische Interpretation angegeben. Geometrische Interpretation f¨ ur den modifizierten Schritt Die Konstruktion von f1∗ := f1 ·
f2 f2 + f3
ergibt sich wegen
f1∗ f2 = f1 f2 + f3
geometrisch wie folgt (Abbildung 2.18): Die Verbindungsgeraden der Punkte (x(2) , f2 +f3 ) und (x(1) , f1 ) sowie (x(2) , f2 ) und (x(1) , f1∗ ) schneiden sich in einem Punkt S der x-Achse. Mit dem Punkt (x(1) , f1∗ ) verbessert sich die Chance, das Einschlussintervall auf der Seite von x(1) zu verk¨ urzen. Das zeigt die n¨ achste N¨ aherung x(4) in Abbildung 2.18.
q (x(2) , f2 +f3 )
... .............. ............ .... .. ..... ...... .... ......... . ... ..... ..... ... .... ......... . ... . . . .... . . . ... .... . .... . . . ... . ... . .... . . . . ... .... .... . . . . ... . .... ... . . . . . ... ..... .... . . . . ... . .... ... . . . . . ... . ... ... . . . . . . ... . ... ... . . . . . . ... . .. ............................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . ............. . ...... .... . . . . . . . ......................... . ... . . . .......... ... . . . . . . . . . . . . . . . . . . ... . . . ......... ... ... . . . . . . . . . . . . . . . (3) . . . ........ .... ... ...... . . . . . . . . . . . . . . 3 ........... ................ .... . . . . . . . . . . . . . . . ...... ..... .............. .... ..... ........ ..... .............. ... .......... ... ..... ............... .......... .. ..... ............... ... ............... ... ..... .................... . . . . . . . . . . . . . . . . . . . . . . . ..... .... ........ ....... ..... .... .... .......... ........ ....... ..... ... ..... ..... ... ........ ............ ..... ..... ...... ........ . ..... ... ... ............. ........ ............ ..... . . . . . . . . . . . . . ... . . . . .......... . ..... .... ... . . . . . . . . . . . . . . . . . . ... . . . . . .......... . ....... .... ..... . . . . . . . . . . . . . . . ... . . . . .......... . ........ ..... .... . . . . . . . . . . . . . . . ... . . . . .... .... ..... . . ........... . . . . . . . . . . . . . . ... . . . . . ......... ..... .... ... ..... . . . . . . . . . . . . . . . . ... . . . . .... ... ... ..... . . ............ . . . . . . . . . . . . . . ... . . . . . ............ .... .... . ........ . . . . . . . . . . ... . . . . . ........... .... ... ... . . . . . . . . . . . . . . . . ... .... ........ ... .... . . . . . . . . . . . . . . . . . . . . . . . . ... . ......... ... ............ ..... . . . . . . . . . . . . . . . ... (4) ............. . .... .... ............ . . . . . . . . . . . . ... . .......... .............. ......... . . . . . . . . . . ... ..... ... .... ..... . ... . . . . . . . . . . . . . . . . . . ... ............ .... ... ..... . . . . . . . . . . . . . . . . . ... ..... ........ .... ... .... . . . . . . . . . . . . . . . . . .. . (1) ... (3) (2) ...... ..... ... ........ ..... ... ....... ..... ... ........ ......... ... ....... ..... ..... ............... ....... ..... . ..... ... ....... ..... .... ................. . . . . . . . ... . . . . . . . . ...... ... ............................ ..... ....... ..... . . ... .... ....... ..... ∗ ..................... ....... ..... ....... ....... ..... . . . . . . . . . . . . 1 ..... . .. .. .. ..... ............ ... ... ..... .. ... ... ..... ....... ... ..... ......... ............ ... ... .................. ... .... ................. ......................... .. ..... . . 1 .... .. . . ... ...
f (x)
(x
q
x
x
qr ξ
q S
q (x
,f ) q
q
x
(2)
, f2 )
q x x
(x(1) , f ) q (x(1) , f ) q
Abb. 2.18. Zum Pegasus-Verfahren, modifizierter Schritt Beispiel 2.37. (vgl. Beispiel 2.35) Gegeben: Die Funktion f (x) = sin x + 1 − 1/x und die Schranke RelErr = 5 · 10−7 f¨ ur den relativen Fehler (AbsErr = 0). Gesucht:
Die Nullstelle ξ von f im Intervall (0.6, 0.7) mit Hilfe des Pegasus-Verfahrens.
2.7 Einschlussverfahren
77
L¨osung: ν x(3)
f (x(3) )
1 2 3 4
+8.9e−3 +1.7e−5 −5.6e−8 +8.9e−7
0.6321164 0.6294517 0.6294465 0.6294468
x(1) 0.6 0.6 0.6 0.6294517 0.6294465
f (x(1) ) f <0 f <0 f <0 f >0 −6e−8
x(2) 0.7 0.6321164 0.6294517 0.6294465 0.6294468
f (x(2) ) f >0 f >0 f >0 f <0 9e−7
|x(2) − x(1) |/|x(2) | 5.08e−2 4.68e−2 8.26e−6 4.45e−7
Zur Darstellung dieser Tabelle vgl. Beispiel 2.33. Wegen |x(2) − x(1) |/|x(2) | < 5 · 10−7 f¨ ur ν = 4 ist die Nullstelle auf 7 Ziffern genau, also ξ ≈ x(1) = 0.629 446 5 .
2.7.5
Das Verfahren von Anderson-Bj¨ orck
Das Verfahren von Anderson-Bj¨ orck arbeitet ¨ ahnlich wie das Pegasus-Verfahren; lediglich im 3. Schritt des Algorithmus (bei der Festlegung des neuen Einschlussintervalls) wird die Modifikation des Funktionswertes f1 an der Stelle x(1) auf andere Weise vorgenommen. Die Konvergenzordnung des Verfahrens in der Umgebung einer einfachen Nullstelle liegt zwischen 1.682 und 1.710.
Algorithmus 2.38. (Verfahren von Anderson-Bj¨ orck ) Gegeben:
(i) f ∈ C[a, b] mit f (a) · f (b) < 0, (ii) Schranken AbsErr und RelErr f¨ ur den absoluten bzw. den relativen Fehler mit AbsErr > 0 und RelErr = 0 oder mit AbsErr = 0 und RelErr > 0.
Gesucht:
Eine Zahl ξ ∈ (a, b), f¨ ur die f (ξ) = 0 ist, oder ein Einschlussintervall [x(1) , x(2) ] bzw. [x(2) , x(1) ] f¨ ur ξ mit | x(1) − x(2) | ≤ | x(2) | RelErr + AbsErr.
Vorbereitung: x(1) := a, x(2) := b (1) f1 := f (x ), f2 := f (x(2) ). Pro Iterationsschritt ist wie folgt vorzugehen: 1. Bestimmung der neuen Intervallgrenze: Berechne und
tol := | x(2) | RelErr + AbsErr f2 (x(1) − x(2) ) . ∆x := f2 − f1
Wenn | ∆x | ≤ tol ist, setze ∆x := 0.9 · tol · sgn (x(1) − x(2) ) . Berechne x(3) := x(2) + ∆x.
78
2. L¨osung nichtlinearer Gleichungen
2. Berechnung des neuen Funktionswertes f3 := f (x(3) ). Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen, andernfalls geht es mit 3. weiter. 3. Festlegung des neuen Einschlussintervalls: Falls f2 · f3 < 0 gilt, wenn also die Nullstelle ξ zwischen x(2) und x(3) liegt, wird gesetzt x(1) := x(2) , x(2) := x(3) , f1 := f2 , f2 := f3 . Falls f2 · f3 > 0 gilt, wenn also die Nullstelle ξ zwischen x(1) und x(3) liegt, wird die Stelle x(1) beibehalten und ihr ein abge¨ anderter Funktionswert f1 := gf1
mit g = 1 − f3 /f2 , g < 1
oder, falls g ≤ 0 ist, mit g = 0.5 zugeordnet (modifizierter Schritt). Dann wird gesetzt x(2) := x(3) , f2 := f3 . Jetzt liegt ξ zwischen x(1) und x(2) , und x(2) ist die zuletzt berechnete N¨aherung. 4. Pr¨ ufung der Abbruchbedingung: Falls
| x(1) − x(2) | ≤ tol
ist, erfolgt Abbruch. Dann wird gesetzt ξ := x(2) ,
falls |f2 | ≤ |f1 | ist ,
und sonst
ξ := x(1) .
Andernfalls, also mit | x(2) − x(1) | > tol, wird die Iteration mit 1. fortgesetzt. Die Originalarbeit zu dem Verfahren von Anderson-Bj¨orck ist [ANDE1973]. Auf dieser Basis wurden hier zus¨ atzlich der Algorithmus formuliert und die geometrische Interpretation entwickelt. Geometrische Interpretation f¨ ur den modifizierten Schritt Die Ersetzung von f1 durch gf1 im 3. Schritt des Algorithmus l¨asst sich wie folgt geometrisch interpretieren (Abbildung 2.19): Durch die drei Punkte P1 = (x(1) , f1 ),
P2 = (x(2) , f2 ),
P3 = (x(3) , f3 )
wird die interpolierende quadratische Parabel gelegt, und im (mittleren) Punkt P3 wird die Parabeltangente konstruiert. Falls diese Tangente die x-Achse zwischen x(3) und x(1) schneidet, wird dieser Schnittpunkt x(4) als die n¨achste N¨aherung f¨ ur die gesuchte Nullstelle genommen. Die Parabeltangente kann wie folgt konstruiert werden. H1 sei der Schnittpunkt der Gerade P2 P3 mit der Gerade x = x(1) und H2 der Schnittpunkt der Gerade P1 P3 mit der Gerade x = x(2) . Die Parabeltangente durch P3 ist parallel zur Verbindungsgerade H1 H2 . Im Algorithmus wird die Tangente durch den Punkt P3 und ihren Schnittpunkt (x(1) , f1∗ ) mit der Gerade x = x(1) festgelegt.
2.7 Einschlussverfahren
79
Nach Anderson-Bj¨ orck ergibt sich f1∗ = gf1
mit
g=
s23 , s12
s23 =
x
f2 (2)
− f3 − x(3)
.
Wenn g > 0 ist, liegen die Punkte P1 = (x(1) , f1 ) und (x(1) , f1∗ ) auf derselben Seite der x-Achse, und der Schnittpunkt x(4) der Parabeltangente mit der x-Achse liegt zwischen x(3) und x(1) . Wegen des vorhergehenden Sekantenschritts sind die Punkte (x(1) , f1 ), (x(2) , f2 ) und (x(3) , 0) kollinear, und daher gilt s12 =
x
f1 (1)
− f2 −x
(2)
=
f2 x
(2)
− x(3)
.
Damit ergibt sich f¨ ur g wesentlich einfacher g=
s23 f2 − f3 x(1) − x(2) f2 − f3 x(2) − x(3) f2 − f3 f3 = (2) = = =1− . (3) (2) (3) s12 f1 − f2 f2 f2 f2 x −x x −x
Wegen f3 · f2 > 0 ist g < 1. Falls g ≤ 0 ist, schneidet die Tangente die x-Achse nicht zwischen x(3) und x(1) . In diesem Fall wird (wie beim Illinois-Verfahren) g = 0.5 gesetzt, also f1∗ = 0.5f1 . .. .... .... .... ...... . . 1 . . . ..... ............. ............ .................... . . . . . . .. ...... .... ..... ......... ..... ...... ...... .. .... ..... ............. . . . . . ...... .............. ..... . ..... . .... ...... ............ ..... . . . . . ... ....... .... . . . . . . . .. ...... .. ... ..... .... .... ...... .. ... ...... ............ ..... . . . . . .. .. ...... .... ..... ..... ..... .. ... ...... ..... ...... ..... . . . . . . . . . . ..... ...... ...... . (1) ..... .. ... ......... ..... .... .... ........ ...... ........ . ....... ..... . . . ......... . . . . . .. .... ... ......... . . . . . . . . . . . . . . ... .. . ...... ........ ..... ..... ..... ......... . .... ..... ........ ............ ........ ...... (2) (3) (4) (1) ........ . . ..... . . . . . . . . . . . . . . . . . . ... .... ..... ...... ........ ........ ..... . ....... . . . . . . . . . . . . . . . .. ... .... ........ ...... 1 ....... ................ . ..... ......... ..... ....... ....... ............... .............. ................ ..... ....... ....... ..... .. ...... .... ....... ....... ........ . . ..... . ............................... . . . . . . . . . . . . . . . . . . . . . . . . ..... ... . ............... ...... ....... ....... . . . . . . . . . . . . . . . ... . . . . . .. ........ ....... . ... ......... ...... ................... ........ ... ......... .... ....... .............. ......... ... ....... ...... ....... ....... ... ................................. ........ ......... ........ 3 ..... .................. . . . . . . . . . . . . . . . . 2 ..... ... ..... ..... . ......... ........ ......... ...... ........ ......... ..................................... ....... ........ ............ ............. ......... .. ....... ........ ........ . . ..... . . . . . .. ........ .. .... ......... ........ .. ........ .... ......... . . . . . . . . .. .. ........ ..... ........ . ......... ..... ......... ........ . . . . . . . . . . .... ............ .. .......... ..........
q P
f (x)
q (x
x
q
P q
q
x
q x
, f1∗ )
q x x qH
q P
H2 q
Abb. 2.19. Zum Verfahren von Anderson-Bj¨ orck. Mit den Geraden P2 P3 und P1 P3 ergeben sich die Punkte H1 und H2 . Die zu H1 H2 parallele Gerade durch P3 ist die Parabeltangente in diesem Punkt.
80
2. L¨osung nichtlinearer Gleichungen
Beispiel 2.39. Gegeben: Die Funktion f (x) = sin x + 1 − 1/x und die Schranke RelErr = 5 · 10−7 f¨ ur den relativen Fehler (AbsErr = 0). Gesucht:
Die Nullstelle ξ von f im Intervall (0.6, 0.7) mit Hilfe des Verfahrens von Anderson–Bj¨ orck.
L¨osung: ν x(3)
f (x(3) )
1 2 3 4
+8.9e−3 +3.5e−6 −1.2e−8 +9.3e−7
0.63211636 0.62944753 0.62944648 0.62944676
x(1) f (x(1) ) 0.6 f <0 0.6 f <0 0.6 f <0 0.62944753 f > 0 0.62944648 −1.2e−8
x(2) 0.7 0.63211636 0.62944753 0.62944648 0.62944676
f (x(2) ) f >0 f >0 f >0 f <0 9.3e−7
|x(2) − x(1) |/|x(2) | 5.08e−2 4.68e−2 1.67e−6 4.45e−7
Zur Darstellung dieser Tabelle vgl. Beispiel 2.33. Wegen |x(2) − x(1) |/|x(2) | < 5 · 10−7 f¨ ur ν = 4 ist die Nullstelle auf 7 Ziffern genau, also ξ ≈ x(1) = 0.629 446 5 .
2.7.6
Die Verfahren von King und Anderson-Bj¨ orck-King. Das Illinois-Verfahren
Das Verfahren von King (s. Originalarbeit [KING1973]) unterscheidet sich vom PegasusVerfahren nur dadurch, dass nie zwei Sekantenschritte nacheinander ausgef¨ uhrt werden, sondern auf jeden Sekantenschritt ein modifizierter Schritt folgt. Es besitzt eine etwas h¨ohere Konvergenzordnung (siehe Abschnitt 2.9). Das Verfahren von Anderson-Bj¨ orck-King verl¨ auft ganz analog; es arbeitet nach dem Verfahren von Anderson-Bj¨ orck mit der Zusatzbedingung von King, dass nie zwei Sekantenschritte nacheinander erfolgen d¨ urfen. Hier geschieht der modifizierte Schritt nach der Anderson-Bj¨orck-Methode, beim Verfahren von King nach der Pegasus-Methode. Gemeinsam ist den Einschlussverfahren Pegasus, Anderson-Bj¨orck und damit auch King der Sekantenschritt. Lediglich der modifizierte Schritt wird unterschiedlich realisiert; bei Pegasus wird g = f2 /(f2 +f3 ) gesetzt, bei Anderson-Bj¨orck g = 1 −f3 /f2 und, falls g ≤ 0 ist, wird g = 0.5 gesetzt. Das Illinois-Verfahren verwendet stets g = 0.5.
2.7 Einschlussverfahren
2.7.7
81
Ein kombiniertes Einschlussverfahren
In dem folgenden Algorithmus 2.40 wird das gegebene Einschlussintervall [a, b] zun¨achst mit dem Bisektionsverfahren so lange verkleinert, bis seine L¨ange nicht gr¨oßer ist als eine vorgegebene L¨ ange LB. Erst dann kommt ein Einschlussverfahren h¨oherer Konvergenzordnung, das Pegasus-Verfahren, das Verfahren von Anderson-Bj¨orck oder auch das Illinois-Verfahren, zum Einsatz. Die Formulierung der Algorithmen 2.36 und 2.38 ist g¨ unstig f¨ ur die Herleitung und die geometrische Interpretation der Verfahren. Der folgende Algorithmus f¨ uhrt dagegen einen eventuell erforderlichen modifizierten Schritt erst nach einer nicht erf¨ ullten Abbruchbedingung aus; daher weichen die Formeln f¨ ur g von denen in Abschnitt 2.7.4 und 2.7.5 ab. Der Algorithmus 2.40 kann in etwas erweiterter Form auch mit den Verfahren von King und Anderson-Bj¨orck-King arbeiten. Zugunsten einer einfachen und u ¨bersichtlichen Darstellung wird auf diese Verfahren verzichtet (siehe jedoch Beispiel 2.41).
Algorithmus 2.40. Gegeben: f ∈ C[a, b] mit f (a) · f (b) < 0, Schranken AbsErr und RelErr f¨ ur den absoluten bzw. den relativen Fehler mit AbsErr > 0 und RelErr = 0 oder mit AbsErr = 0 und RelErr > 0, die L¨ange LB > 0 f¨ ur die Entscheidung zwischen Bisektions- und Sekantenschritt, die maximal zul¨ assige Anzahl nf max der Funktionsauswertungen. Gesucht:
Eine Zahl ξ ∈ (a, b), f¨ ur die f (ξ) = 0 ist, oder ein Einschlussintervall [x(1) , x(2) ] bzw. [x(2) , x(1) ] f¨ ur ξ mit |x(1) − x(2) | ≤ |x(2) | RelErr + AbsErr .
Vorbereitung: x(1) := a, x(2) := b, f1 := f (x(1) ), f2 := f (x(2) ), nf := 2, v := x(1) − x(2) . 1. Wenn nf ≥ nf max ist, konnte mit nf max Funktionsauswertungen eine Nullstelle von f nicht ermittelt werden. Die Iteration wird dann abgebrochen. 2. Berechnung der aktuellen Fehlertoleranz: tol := |x(2) | RelErr + AbsErr. 3. Verfahrensschritt w¨ ahlen und n¨ achste N¨ aherung berechnen: Wenn |v| > LB ist, wird ein Bisektionsschritt ausgef¨ uhrt mit ∆x := v · 0.5 ,
Bis := 1 ,
andernfalls ein Sekantenschritt mit ∆x := v · f2 /(f2 − f1 ) ,
Bis := 0 .
Falls |∆x| ≤ tol ist, wird ∆x := 0.9 · sgn(v) · tol gesetzt. Die n¨ achste N¨ aherung ist x(3) := x(2) + ∆x .
82
2. L¨osung nichtlinearer Gleichungen
4. Berechnung des Funktionswertes f3 := f (x(3) ) ,
nf := nf + 1 .
Falls f3 = 0 ist, wird die Iteration mit ξ := x(3) abgebrochen. 5. Ermittlung des neuen Einschlussintervalls: Berechne e := sgn(f2 ) · f3 . Wenn e < 0 ist, werden x(1) mit x(2) und f1 mit f2 getauscht. Dann werden x(2) := x(3) gesetzt, f2 mit f3 getauscht und v := x(1) − x(2) berechnet. Jetzt liegt ξ zwischen x(1) und x(2) , und x(2) ist die zuletzt berechnete N¨aherung. 6. Pr¨ ufung der Abbruchbedingung: Wenn |v| ≤ tol ist, wird die Iteration abgebrochen mit ξ := x(2) , falls |f2 | ≤ |f1 | ist , andernfalls mit ξ := x(1) . Wenn |v| > tol ist, weiter mit 7. 7. Vorbereitung des n¨ achsten Iterationsschrittes. Im Fall e > 0 wird der Funktionswert f1 mittels f1 := g · f1 , 0 < g < 1, wie folgt modifiziert: a) Pegasus-Verfahren mit g = f3 /(f3 + f2 ) b) Verfahren von Anderson-Bj¨ orck: • nach einem Bisektionsschritt (Bis = 1) mit g = f3 /(f3 + f2 ) • nach einem Sekantenschritt (Bis = 0) mit g = 1 − f2 /f3 oder, falls g ≤ 0 ist, mit g = 0.5 c) Illinois-Verfahren mit g = 0.5 Mit dem ermittelten g wird f1 := g · f1 gesetzt. Die Iteration wird mit 1. fortgesetzt.
Bemerkungen. • F¨ ur das kombinierte Verfahren eignet sich eine L¨ange LB mit 0 < LB ≤ 0.2, beispielsweise LB = 0.15. Mit LB > |b − a| werden nur Sekantenschritte, mit LB = 0 nur Bisektionsschritte ausgef¨ uhrt. Siehe dazu auch Beispiel 2.41. • Zu 1. Die Vorgabe von nf max (etwa nf max = 100) sch¨ utzt vor einer Endlosschleife, wenn AbsErr oder RelErr zu klein oder wenn LB zu groß gew¨ahlt worden ist. • Zu 5. Wenn e < 0 ist, liegt ξ zwischen x(2) und x(3) , andernfalls zwischen x(1) und x(3) . • Zu 7. Wegen der Vertauschung von f2 mit f3 in 5. sehen die Formeln f¨ ur g anders aus als in den Abschnitten 2.7.4 und 2.7.5. Ein Anderson-Bj¨orck-Schritt mit g = 1 − f2 /f3 setzt voraus, dass vorher ein Sekantenschritt (Bis = 0) ausgef¨ uhrt wurde (siehe Abschnitt 2.7.5). Deshalb wird er nach einem Bisektionsschritt (Bis = 1) durch einen Pegasusschritt ersetzt.
2.7 Einschlussverfahren
2.7.8
83
Das Zeroin-Verfahren
Der als Zeroin-Verfahren bezeichnete programmierte Algorithmus entspricht dem bei [DEKK1969], [FORS1977], [BREN1971] angegebenen Verfahren. Es ist eine geschickte Kombination des Bisektionsverfahrens (p = 1), des Sekantenverfahrens (p = 1.618) sowie der inversen quadratischen Interpolation (p = 2). Es ist ein Einschlussverfahren, bei dem st¨andig mit drei iterierten N¨ aherungswerten f¨ ur die gesuchte Nullstelle operiert wird. ¨ Aufgrund geometrischer Uberlegungen wird jeweils das f¨ ur die momentane Situation sinnvollste Verfahren eingesetzt. Eine ausf¨ uhrliche Beschreibung findet man bei [QUAR2002], Abschnitt 6.2.3. Beispiel 2.41. F¨ ur einen Vergleich verschiedener Einschlussverfahren werden u ¨blicherweise die Nullstellen von gewissen Testfunktionen berechnet und die daf¨ ur ben¨otigten Funktionsauswertungen gez¨ahlt. F¨ ur 12 solcher Funktionen (als eine Auswahl aus einem umfangreicheren Test) sind die Ergebnisse in der nachfolgenden Tabelle zusammengestellt. Verglichen werden das Bisektionsverfahren, das Zeroin-Verfahren, das Illinois- und das Pegasus-Verfahren sowie die Verfahren von Anderson-Bj¨ orck, King und Anderson-Bj¨orck-King. F¨ ur die letzten f¨ unf Verfahren wird der Algorithmus 2.40 (mit einer Erweiterung f¨ ur die letzten beiden Verfahren) angewendet. Sie werden jeweils einmal ohne eine vorangehende Verkleinerung des Startintervalls [a, b] (LB > |b − a|) und einmal mit einer solchen Verkleinerung mittels Bisektion (LB < |b−a|) eingesetzt. Mit LB = 0 f¨ uhrt der Algorithmus das Bisektionsverfahren aus. Damit beim Test alle Verfahren mit einem Intervall der L¨ange LB beginnen, haben die Startintervalle die L¨ angen 4 · LB, 8 · LB oder 16 · LB, so dass nach 2, 3 bzw. 4 Bisektionsschritten die L¨ange LB erreicht ist. F¨ ur die Tabelle ist LB = 0.15 gew¨ahlt. Die Abbruchbedingungen bei ν Funktionsauswertungen sind f (x(ν) ) = 0 oder |x(ν) − x(ν−1) | ≤ |x(ν) | · RelErr mit RelErr = 2e−11. Die angegebenen Nullstellen haben 10 g¨ ultige Ziffern. Funktionen und Startintervalle:
√ x2 √ 3 + 2 sin x − , [0, 1.2] , 3 18
1.
f (x) = x2
2.
f (x) = 11x11 − 1 ,
[0.4, 1.6] ,
3.
f (x) = 35x35 − 1 ,
[−0.5, 1.9] , ξ = 0.903 407 6632
4.
f (x) = 2 (xe−9 − e−9x ) + 1 ,
[−0.5, 0.7] , ξ = 0.077 014 241 35
5.
f (x) = x2 − (1 − x)9 ,
[−1.4, 1] ,
6.
f (x) = (x − 1) e−9x + x9 ,
[−0.8, 1.6] , ξ = 0.536 741 6626
ξ = 0.399 422 2917 ξ = 0.804 133 0975
ξ = 0.259 204 4937
84
2. L¨osung nichtlinearer Gleichungen
x 1 f (x) = x2 + sin − , 9 4 1 1 8. f (x) = 9− , 8 x 9. f (x) = tan x − x − 0.046 3025 , √ 10. f (x) = x2 + x sin(x 75) − 0.2 , 7.
11. 12.
[−0.5, 1.9] ,
ξ = 0.447 541 7621
[−0.9, 1.5] ,
1 = 0.111 111 1111 9 ξ = 0.500 000 0340
[0.4, 1] ,
ξ = 0.679 808 9215
[0.001, 1.201] , ξ =
9
ξ = −0.359 381 3664
f (x) = x + 0.0001 , [−1.2, 0] , 2 x x f (x) = ln x + − 2 √ + 1 , [1, 3.4] , 2·e e
Die Verfahren liefern bei Abbruch mit f (x(ν) ) = 0 unterschiedliche Werte f¨ ur die Nullstelle ξ, die alle im Intervall [1.6483, 1.6492] liegen. Die exakte √ Nullstelle ist ξ = e = 1.648 721 270 70 . . ..
Die Tabelle zeigt, dass bei der Mehrzahl der Funktionen eine vorbereitende Intervallverkleinerung zweckm¨ aßig oder sogar unerl¨ asslich ist. X bedeutet, dass die Nullstelle mit 100 Funktionsauswertungen nicht gefunden wurde. Anzahl der Funktionsauswertungen Verfahren/Funktion
1
2
3
4
5
6
7
8
9
10
11
12
Bisektion
40
39
40
41
41
40
41
42
40
38
40
12
Illinois ohne Bisektion
14
21
63
18
22
22
14
18
19
13
28
25
Illinois mit Bisektion
12
13
19
14
14
14
13
15
13
12
15
21
Pegasus ohne Bisektion
12
19
63
17
20
28
11
18
18
12
26
36
Pegasus mit Bisektion
11
12
16
12
12
11
11
16
11
10
14
29
King ohne Bisektion
11
17
60
16
19
28
12
18
17
10
25
38
King mit Bisektion
11
12
15
12
12
11
11
15
11
10
13
29
Anderson-Bj¨orck ohne Bisektion
14
74
X
29
11
22
14
7
19
12
X
30
Anderson-Bj¨orck mit Bisektion
10
11
16
11
11
11
12
11
12
10
14
24
Anderson-Bj¨orck-King ohne Bisektion
16
67
X
26
11
22
13
7
18
11
X
29
Anderson-Bj¨orck-King mit Bisektion
10
11
15
11
11
11
11
10
11
10
13
24
Zeroin
12
14
17
10
11
11
13
13
15
12
14
28
2.8 Anwendungsbeispiele
2.8
85
Anwendungsbeispiele
Beispiel 2.42. (Rohrleitungsbeispiel ) Es geht um die Ermittlung des Rohrdurchmessers d zur Optimierung der in Abb. 2.20 skizzierten Druckrohrleitung einer Freistrahlturbine. Die D¨ use am Rohrleitungsende ist in Abb. 2.20 rechts noch einmal getrennt skizziert. Eingabeparameter: :
Gesch¨ atztes Fl¨ achenverh¨ altnis D¨ use/Rohr, α ∈ [0.1,0.25]
H L ζD ζR
: : : : :
g % λ
: : :
Volumenstrom in ms Gesamtgef¨ alle in m Gesamtl¨ ange der Rohrleitung in m Widerstandsbeiwert der D¨ use bezogen auf die Strahlgeschwindigkeit Summe aller Formwiderst¨ ande der Rohrleitung bezogen auf die Str¨ omungsgeschwindigkeit im Rohr Gravitationskonstante in sm2 kg Dichte des Wassers in m 3 Rohrreibungsbeiwert
α0 V˙
3
Zu den Eingabeparametern geh¨ oren noch Gr¨ oßen aus den Abbruchkriterien f¨ ur die Iteration, z. B. ε Nmax
: :
|d(ν) − d(ν−1) | ≤ ε , ε > 0 , ν = Iterationsindex Maximale Anzahl der Iterationen
Ausgabeparameter: d
:
Rohrdurchmesser in m.
.... ............. .... ................ .................................................................................................... . . ..... . . . . . . . . . . . . . . . . ......................................................... . . . . . . . . . . . . . . ... . . ............... ........................................................................... ......................................................... .......................................................... ............................................................. ................................................................................... ... . . . . . . . .... . ....................................................................................... ..... ... .. ................................................................................................ ... ... ........................................................................................................... ... ... ............................. ... ... ................................................................................................................................................... ... ... ............................................................... ... ... ... ... ... ... .... ... ... ... ... ... ... ... ... ... ... .. .. .. .. ... ... ... ... ... ..... ..... ... ... ... ... ... ... .... .... ... ... ... ... ... ... ... ... ... ... ... ... ... . ... ... ... .... ..... ...... . ... ..... ..... .. ...... . ... . ... ... ... ... ... ....... ..... ....... ... ............ ... .... .... ... . . .. .. .. .. .. ... . .................... ..... . ...... ......... ...... ...... ...... ...... ...... ........ .......... ...... ...... ..................... ...... ........................ ..... ...... ... ... ... . .. ....................... .. ... ... .. ... . . . ... ... . .. .. ... ..... .. .. ..... ................................... ...... ............................................
6
H
-d
?
Turbinenlaufrad a D¨ use
Abb. 2.20.
D¨ use am Rohrleitungsende: .. .................. ................................. ......................................... ........ ........ .... .... ............... ... ... ............................. .. ... ... ... .... ... ..... ..... ..... .......... ..... ..... ..... ..... ..... ..... ..... ....... ..... st ... ... ....... ... ... .......................................... ... ... ........ . . . . . . . . . . . . ... .... . ...... .. ....................................... ........................................ ................ .... ... ... st ....
6 d
6 d ?
?
A
AR
α=
Ast = AR
dst d
2
86
2. L¨osung nichtlinearer Gleichungen
Vorgehensweise: (a) Zun¨achst berechnet man das optimale Fl¨ achenverh¨altnis der D¨ use αopt aus der Forderung, dass die Strahlleistung Pst maximal wird. (b) F¨ ur dieses optimierte Fl¨ achenverh¨ altnis αopt ist dann derjenige Rohrdurchmesser d zu bestimmen, der f¨ ur den vorgegebenen Volumenstrom erforderlich ist. Die Energiegleichung (erweiterte Bernoulli-Gleichung) lautet gH =
2 vst L v2 v2 + (λ + ζR ) R + ζD st . 2 d 2 2
(2.56)
Aus der Kontinuit¨ atsgleichung V˙ = Ast vst = AR vR
(2.57)
folgt mit α = Ast /AR f¨ ur die Str¨ omungsgeschwindigkeit im Rohr vR = α vst . Damit kann aus (2.56) die Strahlgeschwindigkeit vst berechnet werden: s 2gH vst = . 1 + ζD + α2 (λ Ld + ζR ) Die Strahlleistung ist Pst
2 2 3 = 12 %V˙ vst = 12 %AR vR vst = 12 %AR α vst
3/2
=
1 %AR α 2
2gH
L 1 + ζD + α (λ + ζR ) d
.
2
Zu (a): Mit der notwendigen Bedingung ∂Pst = 0 f¨ ur eine maximale Strahlleistung er∂α gibt sich das optimale Fl¨ achenverh¨ altnis s 1 + ζD αopt = . 2(λ Ld + ζR ) (Wegen
∂ 2 Pst (αopt ) < 0 liegt tats¨ achlich ein Maximum vor.) ∂α2
Setzt man αopt f¨ ur α in die Formel f¨ ur die Strahlgeschwindigkeit vst ein, so ergibt sich die optimale Strahlgeschwindigkeit s 4gH . vst (αopt ) = 3(1 + ζD )
2.8 Anwendungsbeispiele
87
Damit folgt f¨ ur die optimale Str¨ omungsgeschwindigkeit im Rohr s 2gH vR (αopt ) = αopt · vst (αopt ) = . 3(λ Ld + ζR )
Zu (b): Mit der Querschnittsfl¨ ache des Rohres AR = π
d2 4
ist nach (2.57) der optimale Volumenstrom d2 d2 V˙ = π vR (αopt ) = π 4 4
s
2gH , 3(λ Ld + ζR )
und daraus folgt f¨ ur den optimalen Rohrdurchmesser d die nichtlineare Gleichung s r r 4V˙ 3 L d= λ + ζR = ϕ(d) . (2.58) π 2gH d Zweimaliges Quadrieren liefert f (d) = d 4 −
24V˙ 2 L (λ + ζR ) = 0 . π 2 gH d
(2.59)
Zahlenbeispiel. V˙ = 6.2 m3 /s, H = 1130 m, L = 1300 m, ζD = 0.04, ζR = 2.5, g = 9.81 m/s2 , % = 103 kg/m3 , λ = 0.02. Schranke f¨ ur den absoluten Fehler ε = 0.5 · 10−6 . Mit den Startwerten d(1) = 0.7 und d(2) = 0.8 sind f (0.7) < 0 und f (0.8) > 0; also ist 0.7 < d < 0.8. F¨ ur die L¨ osung der Gleichung (2.59) 26 4 d − 0.008 432 327 + 2.5 = 0 d liefert das Pegasus-Verfahren mit 5 Iterationsschritten d = 0.748 551. Somit ergibt sich f¨ ur den gesuchten optimalen Rohrdurchmesser bei Rundung auf 3-stellige Mantisse d ≈ 0.749 m. Mit dem Quadrat der optimalen Strahlgeschwindigkeit 2 vst (αopt ) =
4gH 4 · 9.81 · 1130 m2 = = 14211.9 m2 /s2 3(1 + ζD ) 3 · 1.04 s2
erh¨alt man die maximale Strahlleistung Pst =
1 ˙ 2 %V vst (αopt ) = 44 057 kW. 2
88
2. L¨osung nichtlinearer Gleichungen
Das allgemeine Iterationsverfahren, angewendet auf die Gleichung (2.58) s r 26 d = 0.091 827 70 + 2.5 = ϕ(d) d ben¨otigt mit dem Startwert d(0) = 0.7 und mit derselben Fehlerschranke 10 Iterationsschritte. Es konvergiert wesentlich schlechter als das Pegasus-Verfahren.
Beispiel 2.43. (Turbinenbeispiel ) Eine Turbine arbeitet zwischen zwei Wasserspeichern, deren Spiegel die H¨ohendifferenz h besitzen. Stromabw¨ arts von der Turbine wird das Wasser u ¨ ber einen Diffusor, dessen Endquerschnitt die Fl¨ ache A hat, in das untere Becken eingeleitet. An der Turbinenwelle wird die Leistung P angenommen. Frage: Welcher Volumenstrom V˙ fließt durch die Turbine, wenn von den Verlusten nur der Austrittsverlust am Diffusor ber¨ ucksichtigt wird? ... ................................................................................................ .......................................... ............................................................... .......................................... .................... ................................................................ .......................................... ........................................... . . . . . . . . . . . . . . . . . . . .. .............................................................. ............................................................................................... .. ... .. ... ..... .... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... T ... ... ... .. ... ... ... .. ... ... ... .. ... ... . ... ... .............................................................................................. ... ... .. .... ............................................................................... .... .... ... .. .. .. ... .... . .... ... ... ........ ... ... .. ............................... ... ... ...... ... ... .... .. .... ... .... .. .... ... .................. ... ... ... ... ... .. ... . ... .. . ... ... .. . ... ... .. .. . ... .. .. ˙ . . V .................................................................................. ........................................................................................................................................................................ .................................. ......................................................................... . .................................... .......... ................................................................................................................................................................................... ........................................................................ ............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... A ... ... .. .
6
Oberwasserbecken
P = mY ˙
h
?
?
Unterwasserbecken
-
Abb. 2.21. Ausgehend von der erweiterten Bernoulli-Gleichung erh¨alt man !2 1 V˙ g · h − YT = ; 2 A dabei sind YT die Stutzenarbeit der Turbine und 0.5(V˙ /A)2 der Austrittsverlust am Diffusor. Durch Aufl¨osung nach YT und wegen YT = P/(%V˙ ) ergibt sich die Beziehung !2 P 1 V˙ = . (2.60) g·h− 2 A %V˙ Durch einfache Umstellung folgt aus (2.60) die kubische Gleichung f¨ ur V˙ 2P A2 f (V˙ ) := V˙ 3 − 2ghA2 V˙ + = 0. %
2.9 Effizienz der Verfahren und Entscheidungshilfen
89
Die praktisch interessierende L¨ osung dieser Gleichung f (V˙ ) = 0 kann z. B. mit dem Newton-Verfahren ermittelt werden. Ein Startwert V˙ (0) f¨ ur die Iteration ergibt sich aus (2.60) bei Vernachl¨ assigung des Austrittsverlustes und anschließender Aufl¨osung nach V˙ zu P V˙ (0) = %·h·g mit % = 103 kg/m3 , g = 9.81 m/s2 . Man kann aber auch mit jedem Einschlussverfahren arbeiten. Zur L¨osung der kubischen Gleichung f (V˙ ) = 0 k¨ onnte aber ebenso ein Verfahren zur Bestimmung s¨amtlicher L¨ osungen einer algebraischen Gleichung ohne Kenntnis von Startwerten (z. B. das Verfahren von Muller) verwendet werden (s. Abschnitt 3.3); hier ist dann aus den drei L¨ osungen die f¨ ur den Anwendungsfall sinnvolle L¨osung auszuw¨ahlen (siehe dazu das Beispiel 3.11).
2.9
Effizienz der Verfahren und Entscheidungshilfen
Mit Hilfe des Effizienzindex E von Traub (s. [TRAU1984], App. C) lassen sich die Iterationsverfahren gut vergleichen. Seien H die Hornerzahl (Anzahl der erforderlichen Funktionsauswertungen pro Iterationsschritt) und p die Konvergenzordnung eines Iterationsverfahrens, so ist E := p1/H der Effizienzindex. ¨ Die folgende Tabelle gibt eine Ubersicht u ¨ber die Konvergenzordnung und den Effizienzindex bei Verfahren zur Berechnung einfacher und mehrfacher Nullstellen; je gr¨ oßer E, desto effizienter ist das Verfahren in der Umgebung der Nullstelle.
Verfahren
Konvergenzordnung p
Hornerzahl H
Effizienz E
Einschlussverfahren
Newton, einfache Nullstelle
2
2
1.414
nein
Newton, mehrfache Nullstelle
2
2
1.414
nein
Newton, modifiziert
2
3
1.260
nein
Bisektion
1
1
1
ja
Regula falsi
1
1
1
ja
1.618
1
1.618
nein
Sekantenverfahren, einfache Nullstelle
90
2. L¨osung nichtlinearer Gleichungen Verfahren
Konvergenzordnung p
Hornerzahl H
Effizienz E
Einschlussverfahren
Illinois
1.442
1
1.442
ja
Pegasus
1.642
1
1.642
ja
Anderson-Bj¨ orck
1.682. . .1.710
1
1.682. . .1.710
ja
King
1.710. . .1.732
1
1.710. . .1.732
ja
AndersonBj¨orck-King
1.710. . .1.732
1
1.710. . .1.732
ja
Es zeigt sich, dass man (nicht zuletzt wegen der sicheren Konvergenz) am effektivsten mit dem Pegasus-Verfahren, dem Verfahren von Anderson-Bj¨orck oder den Verfahren von King und Anderson-Bj¨ orck-King arbeitet. Das Bisektionsverfahren wird benutzt, um ein Startintervall mit Einschluss zu verkleinern, bevor eines der genannten Verfahren eingesetzt wird. Will man einzelne Polynom-Nullstellen berechnen, so l¨asst sich auch das Newton-Verfahren zusammen mit dem Hornerschema zur Berechnung der Funktions- und Ableitungswerte effektiv einsetzen. F¨ ur transzendente Gleichungen sind weder das Sekantenverfahren noch das Newton-Verfahren zu empfehlen. Die Ermittlung der L¨ osung einer Gleichung f (x) = 0 mit dem Algorithmus 2.17 f¨ ur das allgemeine Iterationsverfahren erfordert umfangreiche Vorbereitungen. Der gr¨oßte Aufwand steckt im 3. Schritt, in dem zu pr¨ ufen ist, ob bei der zu f (x) = 0 ¨aquivalenten Gleichung ϕ(x) = x die Funktion ϕ den Voraussetzungen des Existenz- und Eindeutigkeitssatzes 2.11 gen¨ ugt. Dagegen kann schon nach dem 1. Schritt – Festlegung eines Intervalls I, in dem mindestens eine Nullstelle von f liegt – ein Einschlussverfahren zur Bestimmung dieser Nullstelle eingesetzt werden. Darum hat das allgemeine Iterationsverfahren f¨ ur die praktische Ermittlung von Nullstellen keine Bedeutung. F¨ ur den Fall mehrfacher Nullstellen sind die Anmerkungen zu mehrfachen Nullstellen“ ” in Abschnitt 2.5.3 zu beachten.
Erg¨ anzende Literatur zu Kapitel 2 [BARW2007], 7.1-3; [DAHM2008], 5.5; [HAMM1994], 8.; [HERM2001], Kap.4; [MAES1988], 5.; [PREU2001], Kap.2; [SCHW1997], 5.; [STOE1989], 5.; [STOE2002A], 5.9; [WERN1993], II §§1-5.
Kapitel 3
Verfahren zur L¨ osung algebraischer Gleichungen
3.1
Vorbemerkungen
Im Folgenden werden Polynome Pn mit Pn (x) =
n X
aj xj ,
aj ∈ C,
n ∈ N,
an 6= 0
(3.1)
j=0
vom Grad n betrachtet. Gesucht sind Nullstellen eines Polynoms (3.1) und somit L¨osungen einer algebraischen Gleichung n-ten Grades Pn (x) =
n X
aj xj = 0.
(3.2)
j=0
Der Fundamentalsatz der Algebra besagt, dass eine algebraische Gleichung (3.2) genau n komplexe L¨osungen xk besitzt, die entsprechend ihrer Vielfachheit αk gez¨ahlt werden. Jedes algebraische Polynom (3.1) l¨ asst sich daher in n Linearfaktoren zerlegen: Pn (x) = an (x − x1 )(x − x2 ) . . . (x − xn ). Kommt der Linearfaktor (x − xk ) genau αk -fach vor, so heißt xk eine αk -fache L¨osung von (3.2), und es ergibt sich die Zerlegung Pn (x) = an (x − x1 )α1 (x − x2 )α2 . . . (x − xm )αm
mit α1 + α2 + . . . + αm = n .
Wenn alle Koeffizienten des Polynoms (3.1) reell sind, aj ∈ R, k¨onnen komplexe L¨osungen von (3.2) nur als Paare konjugiert komplexer L¨osungen auftreten, d. h. mit x = α+iβ ist auch x = α − iβ eine L¨ osung von (3.2), und zwar mit derselben Vielfachheit. Der Grad n einer Gleichung (3.2) mit reellen Koeffizienten, die keine reellen Wurzeln besitzt, muss somit gerade sein, und jede derartige Gleichung ungeraden Grades besitzt mindestens eine reelle L¨osung. G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_3, © Springer-Verlag Berlin Heidelberg 2011
92
3. Verfahren zur L¨osung algebraischer Gleichungen
Wenn eine Nullstelle x0 des Polynoms Pn bekannt ist, dann ist Pn (x) = (x − x0 ) Pn−1 (x), und das Polynom Pn−1 vom Grad n−1 besitzt die n−1 restlichen Nullstellen von Pn . Pn−1 ergibt sich mittels Division von Pn durch x − x0 Pn−1 (x) =
Pn (x) x − x0
und heißt daher abdividiertes Polynom oder Deflationspolynom. Wenn x0 keine Nullstelle von Pn ist, ist Pn nicht ohne Rest durch x − x0 teilbar, und aus Pn (x) = (x − x0 ) Pn−1 (x) + Rn folgt wegen Pn (x0 ) = Rn Pn (x) = (x − x0 ) Pn−1 (x) + Pn (x0 ). Außerdem gelten Pn−1 (x) =
Pn (x) − Pn (x0 ) , x − x0
x 6= x0 ,
und Pn−1 (x0 ) = lim
x→x0
Pn (x) − Pn (x0 ) = Pn 0 (x0 ). x − x0
Zur Berechnung von Funktions- und Ableitungswerten eines Polynoms und zur Berechnung von abdividierten Polynomen bzw. Deflationspolynomen dient das im Folgenden erl¨auterte Horner-Schema. Es wird bei allen Verfahren zur Berechnung von Polynomnullstellen als Hilfsmittel eingesetzt, beispielsweise wenn Polynomwerte mit den in Kapitel 2 behandelten Newton-Verfahren ermittelt werden. Will man s¨ amtliche L¨ osungen einer algebraischen Gleichung (3.2) berechnen, so verwendet man z. B. das Muller-Verfahren, das Verfahren von Bauhuber oder das Verfahren von Jenkins und Traub (siehe Abschnitt 3.3).
3.2
Das Horner-Schema
Mit dem Horner-Schema werden Funktions- und Ableitungswerte eines Polynoms Pn (3.1) an einer festen Stelle x0 berechnet; es arbeitet u unstig ¨bersichtlich, rundungsfehlerg¨ und erfordert einen geringeren Rechenaufwand als die Auswertung des Polynoms durch die Berechnung aller auftretenden Potenzen von x0 .
3.2 Das Horner-Schema
3.2.1
93
Das einfache Horner-Schema fu ¨r reelle Argumentwerte
Der Wert des Polynoms (3.1) an der Stelle x0 , x0 ∈ R, ist Pn (x0 ) = an xn0 + an−1 xn−1 + . . . + a1 x0 + a0 ; 0
aj ∈ R.
Pn (x0 ), kann auch in der folgenden Form geschrieben werden: Pn (x0 ) = . . . (an x0 + an−1 )x0 + an−2 x0 + . . . + a1 x0 + a0 . | {z } (1)
an−1
|
{z
}
(1)
an−2
|
{z
}
(1)
a1
|
{z
}
(1)
a0
In dieser Darstellung sind außer Additionen nur Multiplikationen mit dem festen, reellen Faktor x0 auszuf¨ uhren. Im Einzelnen sind zu berechnen: (1) an (1) an−1 a(1) n−2 .. . (1) a 1(1) a0
:= := :=
an (1) an x0 + an−1 (1) an−1 x0 + an−2
:= :=
a 2 x0 + a 1 (1) a 1 x0 + a 0
(3.3)
(1)
= Pn (x0 ).
Diese Rechenoperationen (3.3) werden zweckm¨aßig in der folgenden Anordnung, dem einfachen Horner-Schema, durchgef¨ uhrt: Pn
an
an−1
x0
0
a n x0
P
an
(1)
an−2
(1)
(1)
an−1
an−2
...
a1
an−1 x0
(1)
...
a2 x0
(1)
...
(1)
(1)
a1
a0 (1)
a1 x0 (1)
a0 = Pn (x0 )
In der ersten Zeile stehen, geordnet nach absteigenden Potenzen von x, alle Koeffizienten (auch die mit dem Wert 0) des Polynoms Pn . Die Summe der untereinander stehenden Elemente der ersten und der zweiten Zeile wird in der dritten Zeile notiert. Dann wird diese Summe mit x0 multipliziert und das Produkt in der zweiten Zeile rechts daneben aufgeschrieben usw. Bei komplexen Koeffizienten sind sowohl der Realteil als auch der Imagin¨arteil mit x0 zu multiplizieren: (1) (1) (1) (1) (1) aj x0 = (αj + i βj ) x0 = αj x0 + i βj x0 .
94
3. Verfahren zur L¨osung algebraischer Gleichungen
Beispiel 3.1. Gegeben: Das Polynom P3 : P3 (x) = 2x3 − 4x2 + 3x + 15 mit reellen Koeffizienten. Gesucht:
Der Funktionswert P3 (2).
L¨osung:
Man erh¨ alt mit dem einfachen Horner-Schema P3 x0 = 2
2 0
−4 4
3 0
15 6
P
2
0
3
21 = P3 (2)
F¨ ur das Polynom P3 mit komplexen Koeffizienten P3 (x) = (2 + 3 i)x3 + (−4 + 2 i)x2 + (3 − 5 i)x + 15 + 4 i lautet das Horner-Schema f¨ ur x0 = 2 P3 x0 = 2
2 + 3i 0
−4 + 2 i 4 + 6i
3 − 5i 0 + 16 i
15 + 4 i 6 + 22 i
P
2 + 3i
0 + 8i
3 + 11 i
21 + 26 i = P3 (2)
Bei der Division von Pn (x) durch (x − x0 ) mit x0 ∈ R entsteht als Quotient ein Polynom Pn−1 (x) vom Grad n−1 und als Rest eine Zahl Rn , dividiert durch (x − x0 ): Pn (x) Rn = Pn−1 (x) + , x 6= x0 , x − x0 x − x0 Pn (x) = (x − x0 )Pn−1 (x) + Rn .
bzw. (3.4)
F¨ ur x = x0 ist Pn (x0 ) = Rn , so dass sich f¨ ur (3.4) Pn (x) = (x − x0 )Pn−1 (x) + Pn (x0 )
(3.5)
ergibt. Nach (3.3) ist (1)
Pn (x0 ) = a0 , und es zeigt sich, dass gilt: (1)
(1)
(1)
n−1 Pn−1 (x) = a(1) + an−1 xn−2 + . . . + a2 x + a1 . n x
Setzt man dies in (3.5) ein, so ergibt sich unter Verwendung von (3.3): (1) (1) (1) (1) (1) (x−x0 )Pn−1 (x)+Pn (x0 ) = an xn−1 + an−1 xn−2 +. . . + a2 x + a1 (x − x0 ) + a0 (1) (1) (1) (1) (1) = an xn + an−1 − an x0 xn−1 +. . .+ ak − ak+1 x0 xk +. . . (1) (1) (1) (1) + a1 − a2 x0 x + a0 − a1 x0 = Pn (x).
3.2 Das Horner-Schema
95
Abdividieren von Nullstellen (Deflation) Ist x0 eine Nullstelle von Pn , so gilt wegen Pn (x0 ) = 0 gem¨aß (3.5) Pn (x) = (x − x0 )Pn−1 (x). Die Koeffizienten des sogenannten abdividierten Polynoms bzw. Deflationspolynoms Pn−1 (1) sind die aj in der dritten Zeile des einfachen Horner-Schemas f¨ ur x 0 .
3.2.2
Das einfache Horner-Schema fu ¨r komplexe Argumentwerte
Besitzt das Polynom Pn komplexe Koeffizienten und ist x0 ein komplexer Argumentwert, so kann man zur Berechnung des Funktionswertes Pn (x0 ) das einfache Horner-Schema verwenden. Man hat dann lediglich f¨ ur jeden Koeffizienten eine reelle und eine imagin¨are Spalte zu berechnen; siehe Beispiel 3.1. Besitzt das Polynom Pn jedoch nur reelle Koeffizienten, so kann man zur Berechnung des Funktionswertes Pn (x0 ) zu einem komplexen Argumentwert x0 mit dem HornerSchema ganz im Reellen bleiben, wenn man das sogenannte doppelreihige Horner-Schema verwendet. Zun¨achst nimmt man den zu x0 konjugiert komplexen Argumentwert x0 hinzu und bildet (x − x0 )(x − x0 ) = x2 − px − q mit reellen Zahlen p und q; es gilt p = x0 + x0 , q = −x0 · x0 . Dividiert man jetzt Pn durch (x2 − px − q), so erh¨alt man die Beziehung (1) (1) Pn (x) = (x2 − px − q)Pn−2 (x) + b1 x0 + b0 mit P n−2 (x)
(1)
(1)
(1)
(1)
(3.6)
= bn xn−2 + bn−1 xn−3 + . . . + b3 x + b2 . (1)
F¨ ur die Koeffizienten bk (1) bn (1) bn−1 .. . (1) bk .. . (1) b0
von Pn−2 gelten (0)
=
an ,
=
an−1 + pbn ,
=
ak + pbk+1 + qbk+2 ,
=
a0 + qb2 .
(0)
(1)
(0)
(1)
(0)
(1)
(1)
(3.7) k = (n−2)(−1)1,
Die Rechenoperationen (3.7) werden in dem folgenden doppelreihigen Horner-Schema durchgef¨ uhrt:
96
3. Verfahren zur L¨osung algebraischer Gleichungen (0)
(0)
(0)
(0)
a1
(1)
qb3
(1)
pb2
Pn
an
an−1
an−2
...
a2
q
0
0
qbn
(1)
...
qb4
p
0
pbn
pbn−1
...
pb3
P
bn
(1)
bn−1
(1)
...
b2
(1)
(1)
(1)
bn−2
(1)
(0)
a0
(1)
qb2
(1)
0
(1)
b0
b1
(0) (1)
(1)
F¨ ur x = x0 folgt aus (3.6) wegen x20 − px0 − q = 0 (1)
(1)
Pn (x0 ) = b1 x0 + b0
(3.8)
als gesuchter Funktionswert. Ist x0 Nullstelle von Pn , so folgt wegen Pn (x0 ) = 0 aus (3.8): (1)
(1)
b0 = 0,
b1 = 0.
Abdividieren von komplexen Nullstellen bei Polynomen mit reellen Koeffizienten (1)
(1)
Ist x0 Nullstelle von Pn , so gilt wegen Pn (x0 ) = 0 (d. h. b0 = 0, b1 = 0) gem¨aß (3.6) Pn (x) = (x2 − px − q)Pn−2 (x). (1)
Die Koeffizienten des Deflationspolynoms Pn−2 sind die bk Schema.
im doppelreihigen Horner-
Beispiel 3.2. Gegeben: P5 (x) = x5 − 3x4 − x + 3. Gesucht:
Das Deflationspolynom P5−2 (x) zu den Nullstellen x0 = i und x0 = −i.
L¨osung:
Zun¨achst berechnet man die Werte p und q aus der Beziehung p q
= x0 + x0 = −x0 x0 .
Daraus ergeben sich: p = i − i = 0 und q = (−i)(−i) = −1. Man erh¨ alt mit dem doppelreihigen Horner-Schema P5 q = −1
1 0
−3 0
0 (−1)1
0 (−1)(−3)
−1 (−1)(−1)
3 (−1)3
p=0
0
0·1
0·(−3)
0·(−1)
0·3
0·0
P
1
−3
−1
3
Das Deflationspolynom lautet: P3 (x) = x3 − 3x2 − x + 3
0
0
3.2 Das Horner-Schema
3.2.3
97
Das vollst¨ andige Horner-Schema fu ¨r reelle Argumentwerte (1)
Da das Horner-Schema neben dem Funktionswert Pn (x0 ) auch die Koeffizienten aj des abdividierten Polynoms Pn−1 liefert, ergibt sich die M¨oglichkeit, die k-ten Ableitungen (k) Pn des Polynoms Pn f¨ ur k = 1(1)n an der Stelle x0 ∈ R zu berechnen. Aus (3.5) ergibt sich f¨ ur die 1. Ableitung 0 Pn0 (x) = Pn−1 (x) + (x − x0 )Pn−1 (x),
und f¨ ur x = x0
Pn0 (x0 ) = Pn−1 (x0 ).
Pn0 (x0 ) erh¨alt man also, indem man an die 3. Zeile des Horner-Schemas ein weiteres einfaches Horner-Schema anschließt.
Beispiel 3.3. (Fortsetzung von Beispiel 3.1) P3 x0 = 2
... ...
P2 x0 = 2
2 0
0 4
2
4
3 8
21 = P3 (2)
11 = P2 (2)= P30 (2)
Verf¨ahrt man nun mit Pn−1 (x) analog wie mit Pn (x), so erh¨alt man 0 Pn−1 (x0 ) = Pn−2 (x0 ) =
1 00 P (x0 ). 2 n
So fortfahrend erh¨alt man schließlich f¨ ur die abdividierten Polynome Pn−k (x0 ) =
1 (k) P (x0 ) k! n
f¨ ur k = 1(1)n.
Beweis. Durch mehrfache Anwendung des einfachen Horner-Schemas erh¨alt man gem¨aß (3.6) Pn (x) = (x − x0 )Pn−1 (x) + Pn (x0 ), Pn−1 (x) = (x − x0 )Pn−2 (x) + Pn−1 (x0 ), (3.9) . .. P1 (x) = (x − x0 )P0 (x) + P1 (x0 ). Mit ck := Pn−k (x0 )
(3.10)
ergibt sich durch sukzessives Einsetzen der Gleichungen in (3.9) f¨ ur Pn die Darstellung
98
3. Verfahren zur L¨osung algebraischer Gleichungen
= (x − x0 )Pn−1 (x) + c0 = (x − x0 )[(x − x0 )Pn−2 (x) + c1 ] + c0
Pn (x)
= .. .
(x − x0 )2 Pn−2 (x) + (x − x0 )c1 + c0
=
(x − x0 )n cn + (x − x0 )n−1 cn−1 + . . . + (x − x0 )c1 + c0 .
Durch Koeffizientenvergleich mit der Taylorentwicklung von Pn um x0 : n n X 1 ! X Pn (x) = (x − x0 )k Pn(k) (x0 ) = (x − x0 )k ck k! k=0
(3.11)
k=0
erh¨alt man mit (3.10) und aus (3.11) ck = Pn−k (x0 ) =
1 (k) P (x0 ). k! n
Durch Fortsetzung des Horner-Schemas erh¨ alt man also mit dem abdividierten Polynom in x0 Pn−k (x0 ) die Taylorentwicklung von Pn an der Stelle x = x0 n X
Pn (x) =
(x − x0 )k Pn−k (x0 ) =
k=0
n X
(x − x0 )k
k=0
1 (k) P (x0 ). k! n
(3.12)
Rechenschema 3.4. (Vollst¨ andiges Horner-Schema) (0)
(0)
an−2
(0)
...
a1
(1)
an−1 x0
(1)
...
a 2 x0
an−1
(1)
an−2
(1)
...
a1
(2) a n x0
(2) an−1 x0
...
(2) a 2 x0
Pn
an
an−1
x = x0
0
a n x0
Pn−1
an 0
x = x0
(1)
(2)
an−1 ···
(n−1)
an−1 (n) a n x0
Pn−2 ···
an ···
P1 x = x0
an 0
P0
an
x = x0
0
(n)
(k)
(k−1)
mit an = an
an−2 ···
(n−1)
...
(n)
(2)
an−1 =
(n+1)
an
(2)
=
(k)
, aj
(1)
a 1 x0
(2)
a1
(n−1) 1 (x0 ) (n−1)! Pn
(k)
a0
(0) (1)
(1)
...
(n) 1 n! Pn (x0 )
(0)
(1)
a0
=
1 0 P (x ) 1! n 0
= Pn (x0 )
= Pn−1 (x0 )
= P1 (x0 )
= P0 (x0 ) (k−1)
= aj+1 x0 + aj
f¨ ur j = n−1(−1)k−1, k = 1(1)n+1.
3.2 Das Horner-Schema
99
Anzahl der Punktoperationen Die Aufstellung der Taylorentwicklung von Pn an einer Stelle x0 mit Hilfe des vollst¨andigen Horner-Schemas erfordert (n2 + n)/2 Punktoperationen, w¨ahrend der u ¨ bliche Weg (Differenzieren, Berechnen der Werte der Ableitungen, Dividieren durch k!, wobei k! als bekannter Wert vorausgesetzt wird) n2 + 2n − 2, also f¨ ur n ≥ 3 mehr als doppelt so viele Punktoperationen erfordert. Durch das Einsparen von Punktoperationen wird das rundungsfehlerg¨ unstige Arbeiten erm¨ oglicht, denn durch hohe Potenzen h¨aufen sich systematische Rundungsfehler an. Beispiel 3.5. (Fortsetzung von Beispiel 3.1) Gegeben: Das Polynom P3 mit P3 (x) = 2x3 − 4x2 + 3x + 15. Gesucht:
Die Taylorentwicklung f¨ ur P3 an der Stelle x0 = 2.
L¨osung:
Die Vorgehensweise erfolgt laut Rechenschema 3.4. Da nur die Koeffizienten der Taylorentwicklung interessieren, werden die Bezeichnungen Pn−k der Polynome niedrigeren Grades weggelassen. P3 x0 = 2
2 −4 0 4
3 0
P2 x0 = 2
2 0
0 4
3 8
P1 x0 = 2
2 0
4 4
P0 x0 = 2
2 0
8=
2=
15 6 21 = P3 (2)
11 = P30 (2) 1 00 P (2) 2! 3
1 000 3! P3 (2)
Die Taylorentwicklung (3.12) f¨ ur P3 um x0 = 2 lautet hiermit P3 (x)
1 00 1 000 = P3 (x0 ) + (x − x0 )P30 (x0 ) + (x − x0 )2 2! P3 (x0 ) + (x − x0 )3 3! P3 (x0 )
= 21 + 11(x − 2) + 8(x − 2)2 + 2(x − 2)3 .
100
3.2.4
3. Verfahren zur L¨osung algebraischer Gleichungen
Anwendungen
Das Horner-Schema wird verwendet (1) zur bequemen, schnellen und rundungsfehlerg¨ unstigen Berechnung der Funktionswerte und Ableitungswerte eines Polynoms Pn (2) zur Aufstellung der Taylorentwicklung eines Polynoms Pn an einer Stelle x0 (3) zum Abdividieren von Nullstellen (Deflation von Polynomen) Man wird z. B. bei der iterativen Bestimmung einer Nullstelle eines Polynoms nach einem der Newton-Verfahren (siehe Abschnitt 2.5) Pn , Pn0 bzw. Pn , Pn0 , Pn00 mit dem HornerSchema berechnen. Hat man f¨ ur eine Nullstelle x1 von Pn iterativ eine hinreichend gute N¨aherung erhalten, so dividiert man Pn durch (x − x1 ) und wendet das Iterationsverfahren auf das Deflationspolynom Pn−1 an. So erh¨ alt man nacheinander alle Nullstellen von Pn und schließt aus, eine Nullstelle zweimal zu berechnen. Dabei k¨onnten sich aber die Nullstellen der abdividierten Polynome immer weiter von den Nullstellen des Ausgangspolynoms Pn entfernen, so dass die Genauigkeit mehr und mehr abnimmt. Wilkinson empfiehlt deshalb in [WILK1969], S.70-83, das Abdividieren von Nullstellen grunds¨atzlich mit der betragskleinsten Nullstelle zu beginnen, d. h. mit einer Methode zu arbeiten, die f¨ ur das jeweilige Polynom eine Anfangsn¨ aherung so ausw¨ ahlt, dass die Iteration gegen die betragskleinste Nullstelle konvergiert (s. Verfahren von Muller, Abschnitt 3.3.2). Wird diese Forderung erf¨ ullt, so ergeben sich alle Nullstellen mit einer Genauigkeit, die im Wesentlichen von ihrer Kondition bestimmt ist und nicht von der Genauigkeit der vorher bestimmten Nullstelle. Wilkinson empfiehlt außerdem, nachdem man alle Nullstellen mittels Iteration und Abdividieren gefunden hat, die berechneten N¨aherungswerte als Startwerte f¨ ur eine Nachiteration mit dem urspr¨ unglichen Polynom zu verwenden. Man erreicht damit eine Erh¨ohung der Genauigkeit, besonders in den F¨allen, in denen das Abdividieren die Kondition verschlechtert hat. Beispiel 3.6. Gegeben: Das Polynom P3 : P3 (x) = x3 − 1 und die Nullstelle x1 = 1 von P3 . Gesucht: L¨osung:
Die beiden anderen Nullstellen von P3 . P3 x1 = 1
1 0
0 1
0 1
P2
1
1
1
−1 1 0 = P3 (1)
Das Horner-Schema liefert die Koeffizienten des Deflationspolynoms P2 : P2 (x) = x2 + x + 1. Wegen P3 (x) = (x − √1)P2 (x) ergeben sich aus P2 (x) = 0 die beiden anderen Nullstellen x2,3 = (1/2)(−1 ± i 3).
3.3 Bestimmung von L¨ osungen algebraischer Gleichungen
3.3
101
Methoden zur Bestimmung s¨ amtlicher L¨ osungen algebraischer Gleichungen
3.3.1
¨ Vorbemerkungen und Uberblick
Wenn hinreichend genaue Anfangsn¨ aherungen f¨ ur die Nullstellen eines Polynoms vorliegen, kann man mit Iterationsverfahren Folgen von N¨aherungswerten konstruieren, die gegen die Nullstellen konvergieren. Das Problem liegt in der Beschaffung der Startwerte. Will man z. B. s¨amtliche reellen Nullstellen eines Polynoms Pn mit reellen Koeffizienten mit Hilfe eines der bisher angegebenen Iterationsverfahren berechnen, so muss man: 1. ein Intervall I ermitteln, in dem alle Nullstellen liegen. Das kann z. B. nach dem folgenden Satz geschehen: Ist Pn (x) = xn + an−1 xn−1 + . . . + a1 x + a0 das gegebene Polynom und A = max |ak |, so liegen alle Nullstellen von Pn in einem Kreis um den Nullk=0(1)n−1
punkt der komplexen Zahlenebene mit dem Radius r = A+1. Also ist I = [−r, +r]. Ist Pn ein Polynom mit lauter reellen Nullstellen (z. B. ein Orthogonalpolynom, s. Abschnitt 8.2.2, Sonderf¨ alle 2.), so kann der Satz von Laguerre angewandt werden: Die Nullstellen liegen alle in einem Intervall, dessen Endpunkte durch die beiden L¨osungen der quadratischen Gleichung nx2 + 2an−1 x + 2(n − 1)an−2 − (n − 2)a2n−1 = 0 gegeben sind. 2. die Anzahl reeller Nullstellen nach den Vorzeichenregeln von Sturm und Descartes berechnen, 3. die Lage der Nullstellen durch Intervallteilung, Berechnung der Funktionswerte und Abz¨ahlung der Anzahl der Vorzeichenwechsel ermitteln. Mit 3. ist es m¨oglich, Intervalle Ik ⊂ I anzugeben, in denen jeweils nur eine Nullstelle xk ungerader Ordnung liegt. Dann l¨ asst sich z. B. das Newtonsche Verfahren zur n¨aherungsweisen Berechnung der xk anwenden. Dabei sind Pn und Pn0 (bzw. Pn , Pn0 , Pn00 ) mit Hilfe des Horner-Schemas zu berechnen. Der soeben beschriebene Weg ist m¨ uhsam und f¨ ur die Praxis uninteressant. Hier braucht man Verfahren, die in k¨ urzester Zeit und ohne Kenntnis von Startwerten s¨amtliche reellen und komplexen Nullstellen eines Polynoms mit reellen bzw. komplexen Koeffizienten liefern. F¨ ur Polynome mit reellen Koeffizienten werden diese Anforderungen m¨ uhelos vom Verfahren von Muller erf¨ ullt, s. Abschnitt 3.3.2. Das Muller-Verfahren l¨asst sich auch auf Polynome mit komplexen Koeffizienten erweitern.
102
3. Verfahren zur L¨osung algebraischer Gleichungen
F¨ ur Polynome mit komplexen Koeffizienten werden hier zwei Verfahren genannt, das Verfahren von Jenkins und Traub und das Verfahren von Bauhuber. Das Verfahren von Jenkins-Traub wird hier nur kurz ohne Formulierung eines Algorithmus beschrieben.
3.3.2
Das Verfahren von Muller
Das Verfahren von Muller [MULL1956] liefert ohne vorherige Kenntnis von Startwerten s¨amtliche reellen und konjugiert komplexen Nullstellen eines Polynoms n X 2 n Pn : Pn (x) = a0 + a1 x + a2 x + . . . + an x = aj xj f¨ ur aj ∈ R, an 6= 0. j=0
Dazu wird wie folgt vorgegangen: (N )
Zun¨achst wird durch Muller-Iteration (s. Muller-Iteration) ein N¨aherungswert x1 f¨ ur (N ) die betragskleinste Nullstelle x1 von Pn bestimmt. Nach Division Pn (x)/(x − x1 ) mit Horner und Vernachl¨ assigung des Restes erh¨alt man ein Polynom Pn−1 vom Grad n−1, das im Rahmen der erzielten Genauigkeit ungef¨ahr gleich dem Deflationspolynom Pn (x)/(x − x1 ) ist. Von Pn−1 wird wiederum durch Muller-Iteration mit Pn−1 statt Pn (N ) und x2 statt x1 ein N¨ aherungswert x2 f¨ ur die betragskleinste Nullstelle x2 von Pn−1 (N) bestimmt. Mit x2 wird analog verfahren. Man erh¨alt so N¨aherungswerte s¨amtlicher Nullstellen von Pn ungef¨ ahr dem Betrage nach geordnet (m¨oglicherweise erh¨alt man auch die im Betrag zweitkleinste Nullstelle zuerst). In den meisten Testbeispielen ergab sich die Anordnung |x1 | ≤ |x2 | ≤ . . . ≤ |xn |. Hat man durch Abdividieren und Anwendung des Muller-Verfahrens auf das jeweilige Deflationspolynom alle Nullstellen von Pn n¨ aherungsweise gefunden, so empfiehlt es sich grunds¨atzlich, die gewonnenen N¨ aherungswerte als Startwerte f¨ ur eine Nachbesserung mit dem Newton-Verfahren, angewandt auf das urspr¨ ungliche Polynom Pn , zu verwenden. Man sollte aber auf jeden Fall erst s¨ amtliche Nullstellen von Pn auf dem beschriebenen Weg n¨aherungsweise berechnen, bevor man sie verbessert. Nach Untersuchungen von Wilkinson ist es nicht notwendig, direkt jede Nullstelle noch vor dem Abdividieren mit dem urspr¨ unglichen Polynom zu verbessern. Prinzip der Muller-Iteration Das Verfahren von Muller arbeitet mit quadratischen Parabeln (siehe Abbildung 3.1): Zur Bestimmung der (im Allgemeinen betragskleinsten) Nullstelle x1 von Pn wird durch die drei Punkte x(0) , Pn (x(0) ) , x(1) , Pn (x(1) ) , x(2) , Pn (x(2) ) die quadratische Parabel mit der Gleichung y = Φ(x) gelegt; sie ist eindeutig bestimmt. Als Startwerte werden x(0) = −1, x(1) = 1, x(2) = 0 genommen. Dann werden die beiden Nullstellen von Φ berechnet und die zu x(2) n¨ achstliegende als neue N¨aherung x(3) f¨ ur x1
3.3 Bestimmung von L¨ osungen algebraischer Gleichungen
103
verwendet. In einem n¨ achsten Schritt wird eine neue Parabel y = Φ(x) durch die Punkte x(k) , Pn (x(k) ) f¨ ur k = 1, 2, 3 gelegt und die zu x(3) n¨achstliegende Nullstelle von Φ als neue N¨aherung x(4) f¨ ur x1 bestimmt. Analog fortfahrend bricht man das Verfahren ab, wenn sich f¨ ur einen festen Index N die N¨ aherungen x(N) und x(N−1) hinreichend wenig (N) voneinander unterscheiden, x ist dann der gesuchte N¨aherungswert f¨ ur die Nullstelle x1 von Pn . y6 .................... ...... ...................... ... ...... .... .......... ..... ........... ...... . . . . . .... ........ . .... . . ..... ... . ...... . . . . ... ... . . ... ... . . . ... ... ... ... ... . . .. . . . .. .. .. .... ... ... . . . . . . . ... .. ... . .... ... ... .. ... .. .. .... ... .. .. ... ... .. .... . .. .. ... .. ... .. . .. .. .. ... . . . . . .. . . . . . ... .. .. .. ... ... (2) (1) ... .. ... .. (0).. ... ... . ... .. ... ... ... ... ... ... ... ... .. . . . ... .. . . . . . . ... .... .. . ... .. ... .. . ... ... .... ... .... ... .. . ... .. ... .... ..... ..... .. . .. ... ..... ........ .... .. .. ... . ......................... .. . . ..... .... .... .. .. . .... .. .. ......... ..... .. (3)... ....................................... .. . ... .. .. .. .. .. .. .. .. .. .. .. ..
b
b
x
−2
r x −1
rx 1
r
x
y = Pn (x)
2
x
b
y = Φ(x)
Abb. 3.1. Zum Muller-Verfahren Um die Nullstelle x2 von Pn zu erhalten, wird der Linearfaktor (x − x(N) ) von Pn mit Hilfe des Horner-Schemas abdividiert, der Rest vernachl¨assigt und das Muller-Verfahren nunmehr auf Pn−1 angewandt. Man erh¨ alt so im Allgemeinen die betragskleinste Nullstelle von Pn−1 , d. h. die Nullstelle x2 von Pn mit |x1 | ≤ |x2 |. Herleitung der Iterationsvorschrift f¨ ur das Muller-Verfahren Eine quadratische Parabel ist durch die Vorgabe von drei Punkten eindeutig bestimmt, ihre Gleichung y = Φ(x) ergibt sich als Interpolationspolynom Φ zu den Wertepaaren x(k) , f(x(k) ) = x(k) , Pn (x(k) ) f¨ ur k = ν−2, ν−1, ν in Lagrangescher Form wie folgt: Φ(x)
= + +
(x − x(ν−1) )(x − x(ν−2) ) f (x(ν) ) (x − x(ν−1) )(x(ν) − x(ν−2) ) (x − x(ν) )(x − x(ν−2) ) f (x(ν−1) ) (ν−1) (x − x(ν) )(x(ν−1) − x(ν−2) ) (x − x(ν) )(x − x(ν−1) ) f (x(ν−2) ). (x(ν−2) − x(ν) )(x(ν−2) − x(ν−1) ) (ν)
Mit hν := x(ν) − x(ν−1) , h := x − x(ν) erh¨ alt man f¨ ur (3.13) die Darstellung Φ(x) = Φ(x(ν) + h)
= − +
(h + hν )(h + hν + hν−1 ) f (x(ν) ) hν (hν + hν−1 ) h(h + hν + hν−1 ) f (x(ν−1) ) hν hν−1 h(h + hν ) f (x(ν−2) ). (hν + hν−1 )hν−1
(3.13)
104
3. Verfahren zur L¨osung algebraischer Gleichungen
Nach Zusammenfassung gleicher Potenzen in h und mit den Abk¨ urzungen hν h qν := , q := , fν := f (x(ν) ) hν−1 hν erh¨alt man die Parabelgleichung y = Φ(x) mit Φ(x) = Φ(x(ν) + qhν ) =
Aν q 2 + Bν q + Cν 1 + qν
wobei die folgenden Abk¨ urzungen verwendet werden: Aν Bν Cν
:= qν fν − qν (1 + qν )fν−1 + qν2 fν−2 , := (2qν + 1)fν − (1 + qν )2 fν−1 + qν2 fν−2 , := (1 + qν )fν .
(3.14)
Zur Bestimmung der Schnittpunkte der Parabel mit der x-Achse setzt man Aν q 2 + Bν q + Cν = 0. Dies f¨ uhrt auf die beiden Werte f¨ ur q: s Bν Bν2 Cν q1/2 = − ± − 2 2Aν Aν 4Aν =
=
−Bν ±
p Bν2 − 4Aν Cν 2Aν
(3.15)
−2Cν p Bν ± Bν2 − 4Aν Cν
und damit auf die L¨ osungen x1/2 der Gleichung Φ(x(ν) + qhν ) = 0 : x1/2 = x(ν) + hν q1/2 .
(3.16)
Eine der beiden L¨osungen wird als neue N¨ aherung x(ν+1) verwendet, es wird diejenige (ν) ausgew¨ahlt, die n¨aher an x liegt. p Dies wird dadurch realisiert, dass im Nenner von (3.15) das Vorzeichen der Wurzel Bν2 − 4Aν Cν so gew¨ahlt wird, dass der Nenner den gr¨oßeren Betrag erh¨ alt. Falls der Nenner von (3.15) verschwindet (dies ist dann der Fall, wenn f (x(ν) ) = f (x(ν−1) ) = f (x(ν−2) ) gilt), schl¨ agt Muller vor, statt (3.15) f¨ ur q1/2 = 1 zu setzen und damit weiterzurechnen. In diesem Fall entartet die Parabel in eine zur x-Achse parallele Gerade, die keinen Schnittpunkt mit der x-Achse hat. Der ausgew¨ahlte Wert von q1/2 wird dann qν+1 genannt, und es wird gesetzt x(ν+1) := x(ν) + hν qν+1
f¨ ur ν = 2, 3, 4, . . .
(3.17)
Automatischer Startprozess Als Startwerte f¨ ur die Iteration werden fest vorgegeben x(0) = −1,
x(1) = 1,
x(2) = 0.
(3.18)
3.3 Bestimmung von L¨ osungen algebraischer Gleichungen
105
Als Funktionswerte an den Stellen x(0) , x(1) , x(2) (und nur an diesen!) werden im Allgemeinen nicht die Funktionswerte des jeweiligen Polynoms Pn genommen, sondern die Werte a0 − a1 + a2 statt f0 := Pn (x(0) ), (3.19) a0 + a1 + a2 statt f1 := Pn (x(1) ), a0 f¨ ur f2 := Pn (x(2) ). Die Verwendung dieser k¨ unstlichen Funktionswerte wurde von Muller selbst empfohlen (vgl. Algorithmus 3.7). Man kann aber ebenso an den Startstellen x(0) , x(1) , x(2) die wirklichen Polynomwerte f0 := Pn (x(0) ), f1 := Pn (x(1) ), f2 := Pn (x(2) ) benutzen, wie es in Abbildung 3.1 gemacht wurde. Abbruchbedingung Die Iteration (3.17) wird abgebrochen, falls zu vorgegebenem ε > 0 die Bedingung (ν+1) x − x(ν) (3.20) <ε x(ν+1) (N)
erf¨ ullt ist. Ist dies f¨ ur ein ν = N−1 der Fall, so ist x(N ) = x1 wert f¨ ur x 1 .
der gesuchte N¨aherungs-
Auftreten konjugiert komplexer Nullstellen Falls der Radikand der Wurzel in (3.15) negativ ausf¨allt, so kann dies zwei Ursachen haben: (1) Eine reelle L¨ osung der Gleichung f (x) ≡ Pn (x) = 0 wird durch eine Folge konjugiert komplexer Zahlen approximiert. Die Imagin¨arteile der Folge {x(ν) } sowie die Imagin¨arteile der zugeh¨ origen Polynomwerte streben dann gegen Null. (2) x1 ist eine komplexe Nullstelle. Mit x1 ist dann auch x1 Nullstelle von Pn . In diesem (N ) (N) Fall liefert die Division Pn /[(x−x1 )(x−x1 )] unter Vernachl¨assigung des Restes ein Polynom Pn−2 vom Grad n−2 (s. Abschnitt 3.2.2), f¨ ur das wiederum die MullerIteration eine N¨ aherung f¨ ur die im Allgemeinen betragskleinste Nullstelle liefert. Zur Konvergenz des Verfahrens Konvergenz im Großen konnte nicht nachgewiesen werden. Es konnte aber gezeigt werden, dass Konvergenz eintritt, wenn der Prozess hinreichend nahe an einer einfachen bzw. doppelten Nullstelle beginnt. Jedoch erreichte Muller mit der in [MULL1956], S.210, angegebenen Modifikation Konvergenz in allen getesteten F¨allen zu dem angegebenen Startprozess. Die Modifikation besteht darin, dass man jeweils die Bedingung |f (x(ν+1 )/f (x(ν) )| ≤ 10 pr¨ ufen muss. Ist der Wert > 10, so wird qν+1 halbiert, es werden hν+1 , x f (x(ν+1) ) neu berechnet.
(3.21) (ν+1)
und
106
3. Verfahren zur L¨osung algebraischer Gleichungen
Algorithmus 3.7. (Muller-Verfahren) Gegeben ist ein Polynom Pn , gesucht ist die betragskleinste Nullstelle x1 von Pn . 1. Schritt: Benutzung der Startwerte (3.18) x(0) = −1, x(1) = 1, x(2) = 0 und Berechnung von fν := Pn (x(ν) ) f¨ ur ν = 0, 1, 2 bzw. der k¨ unstlichen Funktionswerte (3.19). 2. Schritt: Berechnung der N¨ aherungen x(ν+1) , ν = 2, 3, 4 ... f¨ ur x1 gem¨aß Iterationsvorschrift (3.17) mit (3.16),(3.15),(3.14). Nach jedem Iterationsschritt ist die Bedingung (3.21) zu pr¨ ufen. Ist sie nicht erf¨ ullt, so ist qν+1 zu halbieren, und es sind hν+1 , x(ν+1) und fν+1 neu zu berechnen und damit die Iteration fortzusetzen. Die Iteration ist (N ) abzubrechen, falls (3.20) f¨ ur ein ν = N−1 erf¨ ullt ist. Dann ist x(N ) = x1 der gesuchte N¨ aherungswert f¨ ur x1 . 3. Schritt:
(a) Berechnung des abdividierten Polynoms Pn−1 im Falle einer reel(N ) len N¨ aherung x1 mit dem Horner-Schema (siehe Abschnitt 3.2.1) (N ) unter Vernachl¨ assigung des Restes, der entstehen kann, weil x1 ein N¨ aherungswert f¨ ur x1 ist. (b) Berechnung des abdividierten Polynoms Pn−2 im Falle einer kom(N) plexen L¨ osung x1 mit dem doppelreihigen Horner-Schema (siehe (N ) (N ) Abschnitt 3.2.2); es gilt Pn−2 (x) = Pn (x)/[(x − x1 )(x − x1 )], (N) (N ) wobei x1 die zu x1 konjugiert komplexe L¨osung von Pn ist. Auch hier ist der Rest zu vernachl¨ assigen.
Alle weiteren Nullstellen werden nach dem gleichen Algorithmus berechnet, jeweils angewandt auf die abdividierten Polynome f := Pn−1 , f := Pn−2 ,. . . . Man erh¨alt so s¨amtliche L¨osungen in etwa dem Betrage nach geordnet.
Konvergenzordnung Sei ξ eine einfache Nullstelle des Polynoms f (x) := Pn (x), so l¨asst sich zeigen, dass zwischen den Fehlern ∆x(ν) := x(ν) − ξ aufeinander folgender Muller-Iterationen die Beziehung (3) ∆x(ν+1) = ∆x(ν) · ∆x(ν−1) · ∆x(ν−2) · f (ξ) + O(ε) 6f 0 (ξ) (i) mit ξ = max |∆x | i=ν−2,ν−1,ν
besteht. Heuristisch betrachtet ergibt sich aus (3.22) eine Beziehung der Form |∆x(ν+1) | ≈ K · |∆x(ν) | · |∆x(ν−1) | · |∆x(ν−2) | , in die man gem¨aß Definition der Konvergenzordnung p einsetzen kann |∆x(k+1) | ≈ M |∆x(k) |p
f¨ ur k = ν−1, ν, ν+1,
(3.22)
3.3 Bestimmung von L¨ osungen algebraischer Gleichungen
107
so dass sich ergibt M |∆x(ν) |p ≈ KM
2 −p −
1 p2
|∆x(ν) |
1+ p1 +
1 p2
.
(3.23)
Durch Vergleich zugeh¨ origer Exponenten in (3.23) kann man wiederum folgern, dass die Gleichungen −2− 1 1+ 2 + 1 M = KM p p2 ⇒ K = M p p2 und 1 1 p = 1 + + 2 ⇒ p3 − p2 − p − 1 = 0 (3.24) p p gelten m¨ ussen. Als einzige reelle Nullstelle der kubischen Gleichung (3.24) erh¨alt man nun f¨ ur die Konvergenzordnung des Muller-Verfahrens im Falle einfacher Nullstellen den Wert p ≈ 1.84 . Im Falle doppelter Nullstellen ermittelt man analog p ≈ 1.23 .
Beispiel 3.8. Gegeben: Das Polynom P3 mit f (x) := P3 (x) = x3 − 7x2 − 36x + 252 . Gesucht:
Eine (im Allgemeinen die betragskleinste) Nullstelle mit dem Muller-Verfahren. F¨ ur die Abbruchbedingung w¨ ahle man die sehr grobe Schranke ε = 0.1, damit nur wenige, mit dem Taschenrechner nachvollziehbare Schritte durchgef¨ uhrt werden m¨ ussen.
L¨osung:
Die exakten Nullstellen liegen hier bei x1 = 6, x2 = −6, x3 = 7, voraussichtlich wird mit Muller eine der Nullstellen −6 oder +6 zuerst ermittelt. Es wird nach Algorithmus 3.7 vorgegangen.
1. Schritt. (Bestimmung der Startwerte): Es werden a0 = 252, a1 = −36, a2 = −7, a3 = 1 gesetzt und die k¨ unstlichen Funktionswerte (3.19) verwendet: f0 f1 f2
:= := :=
a0 − a1 + a2 = 281 , a0 + a1 + a2 = 209 , a0 = 252 .
2. Schritt. (Muller-Iteration): Mit der Abbruchbedingung |x(ν+1) − x(ν) | = K (ν+1) < ε = 0.1 |x(ν+1) | erh¨alt man folgende Werte in der Tabelle bei 6-stelliger Mantisse:
108
3. Verfahren zur L¨osung algebraischer Gleichungen
x(ν) x(ν−1) x(ν−2) fν fν−1 fν−2 hν hν−1 qν Aν Bν Cν qν+1 x(ν+1) K (ν+1)
ν=2
ν=3
ν=4
ν=5
0.00000 1.00000 −1.00000 252.000 209.000 281.000 −1.00000 2.00000 −.500000 −3.50000 18.0000 126.000 −3.95638 3.95638 1.00000
3.95638 0.00000 1.00000 61.9288 252.000 209.000 3.95638 −1.00000 −3.95638 78.9176 640.840 −183.085 .276295 5.04950 .216482
5.04950 3.95638 0.00000 20.4851 61.9288 252.000 1.09313 3.95638 .276295 3.05912 −49.8353 26.1451 .542710 5.64275 .105135
5.64275 5.04950 3.95638 5.64525 20.4851 61.9288 .593250 1.09313 .542710 4.15283 −18.7408 8.70899 .526021 5.95482 .0524050
(6)
⇒ x(6) = x1 = 5.95482 ≈ x1 (die exakte L¨ osung ist x1 = 6). 3. Schritt. (Berechnung des Deflationspolynoms mit Horner):
5.95482 =
P3
1.00000
−7.00000
−36.0000
252.000
(6) x1
0.00000
5.95482
−6.22386
−251.435
Pe2
1.00000
−1.04518
−42.2224
0.564652 = P3 (x1 )
(6)
Der Rest wird vernachl¨ assigt, im Allgemeinen ist er vernachl¨assigbar klein, wenn die Abbruchschranke ε entsprechend klein gesetzt wird, also mehr Iterationsschritte durchgef¨ uhrt werden. Das Deflationspolynom Pe2 lautet hier: Pe2 (x) = x2 − 1.04518x − 42.2224. Die Nullstellen von P2 w¨ urde man hier nicht mehr mit der Muller-Iteration, sondern mit der L¨osungsformel f¨ ur die quadratische Gleichung bestimmen. Da jedoch das Deflationspolynom Pe2 hier wegen der geringen Anzahl der Iterationen in der Muller-Iteration zur Bestimmung von x1 so ungenau ist, wird hier auf die L¨osung der quadratischen Gleichung Pe2 (x) = 0 verzichtet. Stattdessen wird das (exakte) Deflationspolynom P2 zu x1 = 6 bestimmt, es ergibt sich aus P3 x1 = 6
1 0
−7 6
−36 −6
252 −252
P2
1
−1
−42
0
2
zu P2 (x) = x − x − 42. Aus P2 (x) = 0 ⇒ x2,3 = (exakte L¨osungen).
1 2
±
q
1 4
+ 42 =
1 2
±
13 2
=
7 −6
⇒ x2 = −6,
x3 = 7
3.3 Bestimmung von L¨ osungen algebraischer Gleichungen
109
Beispiel 3.9. Gegeben: Tschebyscheff-Polynom 20. Grades. Alle ungeraden Koeffizienten (ai mit ungeradem i) sind Null, die geraden haben folgende Werte: i
i
ai
0 2 4 6
1 −200 6600 −84480
8 10 12 14
ai 549120 −2050048 4659200 −6553600
i 16 18 20
ai 5570560 −2621440 524288
Gesucht:
Die Nullstellen mit Hilfe des Muller-Verfahrens.
L¨osung:
Alle Nullstellen sind reell (d. h. die Imagin¨aranteile sind alle Null):
3.3.3
Nr.
Realteil
Funktionswert
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
7.8459095727844944e−2 −7.8459095727844944e−2 2.3344536385590542e−1 −2.3344536385590531e−1 3.8268343236508895e−1 −5.2249856471592970e−1 −3.8268343236509078e−1 6.4944804833011016e−1 5.2249856471595912e−1 −8.5264016435600176e−1 −7.6040596559929752e−1 9.2387953251541677e−1 −6.4944804833034364e−1 8.5264016435246492e−1 7.6040596560043328e−1 −9.7236992039993275e−1 −9.2387953250848343e−1 9.7236992039193171e−1 −9.9691733373235725e−1 9.9691733373603186e−1
4.499439e−18 4.499439e−18 −1.640398e−16 −2.591243e−15 3.134358e−14 −7.623839e−14 −4.363090e−14 5.602117e−13 −5.736676e−14 −1.822139e−11 −1.313971e−11 1.544246e−10 −5.771170e−12 6.954797e−11 1.432173e−11 −4.494755e−11 −2.059382e−10 3.899448e−10 −9.982099e−11 1.128625e−09
Das Verfahren von Bauhuber
Das Verfahren von Bauhuber [BAUH1970] liefert s¨amtliche reellen und komplexen Nullstellen eines Polynoms Pn mit komplexen Koeffizienten. Prinzip des Verfahrens Zu einem beliebigen Startwert x(0) soll eine Folge von N¨aherungen {x(ν) }, ν = 1,2,... , so konstruiert werden, dass die zugeh¨orige Folge der Betr¨age von Pn monoton f¨allt |Pn (x(0) )| > |Pn (x(1) )| > . . . .
110
3. Verfahren zur L¨osung algebraischer Gleichungen
Als Iterationsverfahren wird das Verfahren von Newton verwendet. Die Iteration wird abgebrochen, wenn z. B. die Abfrage |Pn (x(ν+1) )| < ε zu vorgegebenem ε > 0 erf¨ ullt ist. Gilt f¨ ur ein festes ν |Pn (x(ν) )| ≤ |Pn (x(ν+1) )|, (3.25) so muss x(ν+1) aus der Folge der {x(ν) } ausgeschlossen werden. Mit einem zweidimensionalen Suchprozess, der als Spiralisierung bezeichnet und komplex durchgef¨ uhrt wird, wird dann ein neues x(ν+1) ermittelt, f¨ ur das |Pn (x(ν+1) )| < |Pn (x(ν) )| gilt; damit wird die Iteration fortgesetzt. Die Folgen der N¨aherungswerte werden durch Extrapolation verbessert. Ist x(N) der ermittelte N¨aherungswert, so wird er als Nullstelle von Pn bezeichnet; man berechnet das Deflationspolynom Pn (x)/(x − x(N ) ) mit dem Horner-Schema, vernachl¨ assigt den Rest und wendet das eben beschriebene Verfahren auf das Restpolynom Pn−1 vom Grad n−1 an. Analog fortfahrend erh¨alt man alle Nullstellen des Polynoms Pn . Grundgedanke der Spiralisierung Es sei x(ν+1) derjenige Wert der Folge {x(ν) }, f¨ ur den erstmals (3.25) gilt. Dann muss innerhalb eines Kreises um x(ν) mit dem Radius r = |x(ν+1) − x(ν) | ein xs+1 existieren mit |Pn (xs+1 )| < |Pn (x(ν) )|, welches durch Absuchen des Kreisgebietes von außen nach innen mit einer Polygonspirale ermittelt wird. Dazu wird mit einem komplexen Faktor q = q1 + iq2 , q1 , q2 reell, |q| < 1 gearbeitet, den Bauhuber q = 0.1 + 0.9i w¨ ahlt (diese Wahl ist nicht bindend). Algorithmus f¨ ur die Spiralisierung Mit den Startwerten x0 ∆x0 q
:= :=
x(ν+1) x(ν+1) − x(ν)
mit (3.25)
:= 0.1 + 0.9i,
werden zun¨achst f¨ ur k = 0 nacheinander die folgenden Gr¨oßen berechnet: ∆xk+1 = q ∆xk xk+1 = x(ν) + ∆xk+1 ∆Pn = |Pn (x(ν) )| − |Pn (xk+1 )|.
(3.26)
Im Falle ∆Pn ≤ 0 wird k um eins erh¨ oht und (3.26) erneut berechnet. Analog wird so lange fortgefahren, bis erstmals f¨ ur ein k = s gilt ∆Pn > 0. Dann wird x(ν+1) ersetzt durch xs+1 und damit nach Newton weiter iteriert.
3.3 Bestimmung von L¨ osungen algebraischer Gleichungen
111
Beispiel 3.10. Gegeben: Polynom 20. Grades mit reellen Koeffizienten: ai = 2i , i = 0(1)20, also: a0 = 1, a1 = 2, a2 = 4, a3 = 8, . . . , a20 = 1 048 576. Gesucht:
Die Nullstellen mit Hilfe des Bauhuber-Verfahrens.
L¨osung:
Die Nullstellen sind alle komplex:
Nr.
Realteil
Imagin¨ arteil
Funktionswert
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3.7365046793212141e−2 3.7365046793212134e−2 −4.9441541311256426e−1 −2.5000000000000000e−1 4.1311938715799745e−1 1.8267051218319749e−1 −4.9441541311256426e−1 4.1311938715799745e−1 −3.6652593591491317e−1 3.1174490092936680e−1 −2.4999999999999997e−1 −3.6652593591491323e−1 4.7778640289307039e−1 −4.5048443395120957e−1 1.8267051218319749e−1 −1.1126046697815717e−1 −1.1126046697815721e−1 3.1174490092936669e−1 4.7778640289307039e−1 −4.5048443395120963e−1
4.9860189859059006e−1 −4.9860189859059006e−1 7.4521133088087207e−2 −4.3301270189221935e−1 −2.8166002903181098e−1 4.6543687432210207e−1 −7.4521133088087207e−2 2.8166002903181109e−1 3.4008636888545973e−1 −3.9091574123401490e−1 4.3301270189221935e−1 −3.4008636888545973e−1 1.4737758720545208e−1 −2.1694186955877898e−1 −4.6543687432210218e−1 4.8746395609091175e−1 −4.8746395609091181e−1 3.9091574123401496e−1 −1.4737758720545216e−1 2.1694186955877906e−1
3.255883e−16 2.053316e−16 3.318920e−16 7.412270e−16 2.094378e−15 2.147101e−15 3.318920e−16 5.020949e−15 9.204744e−16 1.915832e−15 7.478286e−16 1.429672e−15 5.395137e−15 1.904520e−15 2.276995e−15 1.536479e−15 1.417072e−16 4.364151e−15 9.020717e−15 1.427738e−15
3.3.4
Das Verfahren von Jenkins und Traub
Das Verfahren von Jenkins und Traub ([JENK1970], [TRAU1966]) ist ein Iterationsverfahren zur Ermittlung der betragskleinsten Nullstelle eines Polynoms Pn mit komplexen Koeffizienten. Es ist f¨ ur alle Startwerte x(0) ∈ [−∞, |xi |min ] global konvergent von mindestens zweiter Ordnung. Es behandelt auch den Fall von zwei oder mehr betragsgleichen Nullstellen. Je nachdem, ob die betragskleinste Nullstelle einfach, zweifach oder mehr als zweifach ist, wird der vom Computer auszuf¨ uhrende Algorithmus automatisch durch entsprechend eingebaute logische Entscheidungen modifiziert. Nachdem die betragskleinste(n) Nullstelle(n) n¨ aherungsweise ermittelt ist (sind), wird durch Abdividieren der Nullstelle(n) das Restpolynom bestimmt. Hiervon liefert das gleiche Verfahren eine N¨aherung f¨ ur die n¨ achste(n) Nullstelle(n).
112
3.4
3. Verfahren zur L¨osung algebraischer Gleichungen
Anwendungsbeispiel
Beispiel 3.11. Gegeben: F¨ ur die im Beispiel 2.43 (Turbinenbeispiel) hergeleitete kubische Gleichung ergibt sich mit den Daten f¨ ur h, A, P in einem konkreten Fall P3 (V˙ ) = V˙ 3 − 11144.16 · V˙ + 44233.6 = 0 . Gesucht:
Der optimale Volumenstrom V˙ , der mit Hilfe der Muller-Iteration berechnet werden soll. F¨ ur die Abbruchbedingung w¨ahle man die Schranke = 0.00001, damit nur wenige, mit dem Taschenrechner nachvollziehbare Schritte, durchgef¨ uhrt werden m¨ ussen.
L¨osung: 1. Schritt. (Bestimmung der Startwerte): Man setzt a0 = 44233.6, a1 = −11144.16 und a2 = 0 und verwendet die k¨ unstlichen Funktionswerte (3.19), d. h. f0 f1 f2
:= := :=
a0 − a1 = 55377.76 a0 + a1 = 33089.44 a0 = 44233.6
2. Schritt (Muller-Iteration): Mit der Abbruchbedingung |V˙ (ν+1) − V˙ (ν) | = K (ν+1) < = 0.00001 |V˙ (ν+1) | erh¨alt man folgende Werte in der Tabelle bei 10-stelliger Mantisse
V˙ (ν) V˙ (ν−1) V˙ (ν−2) fν fν−1 fν−2 hν hν−1 qν Aν Bν Cν qν+1 V˙ (ν+1) K (ν+1)
ν=2
ν=3
ν=4
0.000000000 1.000000000 −1.000000000 44233.60000 33089.44000 55377.76000 −1.000000000 2.000000000 −0.500000000 −0.025000000 5572.055000 22116.80000 −3.969165082
3.969165082 0.000000000 1.000000000 −63.12056400 44233.60000 33089.44000 3.969165082 −1.000000000 −3.969165082 −248.1970680 130901.2481 −187.4153746 0.00143173488
3.974847874 3.969165082 0.000000000 0.059588900 63.12056400 44233.60000 0.00568279211 3.969165082 0.00143173488 0.00025691218 −63.15100478 0.05967421551 0.00094494483
3.969165082 1.000000000
3.974847874 0.001442968792
3.974853244 0.00000135097
Die kleinste Nullstelle und somit der optimale Volumenstrom ist erreicht bei V˙ (5) = 3.974853244.
3.5 Entscheidungshilfen
3.5
113
Entscheidungshilfen
Die Entscheidungshilfen f¨ ur die Auswahl eines geeigneten Verfahrens zur Nullstellenbe¨ stimmung bei algebraischen Polynomen sind mit Vorbemerkungen und einem Uberblick in Abschnitt 3.3.1 zusammengefasst.
Erg¨ anzende Literatur zu Kapitel 3 [BART2001] 4.3.6; [BRON2001]; [CARN1990], 3.2-3.4, 3.9; [DAHM2008], 5.7; [HAMM1994], Kap.8; [OPFE2002], Kap.2; [QUAR2002] Bd.1, Kap.6; [RALS2001], 8; [STOE1999]; [WERN1993], II §§3,6-8.
Kapitel 4
Direkte Verfahren zur Lo ¨sung linearer Gleichungssysteme
4.1
Aufgabenstellung und Motivation
Man unterscheidet direkte und iterative Methoden zur numerischen L¨osung linearer Gleichungssysteme. Die direkten Methoden liefern die exakte L¨osung, sofern man von Rundungsfehlern absieht. Die iterativen Methoden gehen von einer Anfangsn¨aherung f¨ ur die L¨osung (dem sogenannten Startvektor) aus und verbessern diese schrittweise; sie werden in Kapitel 5 behandelt. Zu den direkten Methoden geh¨ oren der Gaußsche Algorithmus, das Gauß-Jordan-Verfahren, das Verfahren von Cholesky, die Verfahren f¨ ur Systeme mit Bandmatrizen, die Methode des Pivotisierens und andere. Zu den iterativen Methoden geh¨ oren das Iterationsverfahren in Gesamtschritten, das Iterationsverfahren in Einzelschritten und die Relaxationsverfahren. Gegeben sei ein System von m linearen Gleichungen mit n a11 x1 + a12 x2 + . . . + a1n xn = a21 x1 + a22 x2 + . . . + a2n xn = .. . am1 x1 + am2 x2 + . . . + amn xn =
Unbekannten xi der Form a1 , a2 , .. .
(4.1)
am ,
wobei die Koeffizienten aik ∈ R und die rechten Seiten ai ∈ R, i = 1(1)m, k = 1(1)n, vorgegebene Zahlen sind. In Matrizenschreibweise lautet (4.1) Ax = a, mit
A = (aik ) =
x ∈ Rn , a ∈ Rm
a11 a21 .. .
a12 a22
··· ···
a1n a2n .. .
am1
am2
···
amn
,
x =
(4.2) x1 x2 .. .
,
xn
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_4, © Springer-Verlag Berlin Heidelberg 2011
a =
a1 a2 .. . am
.
116
4. L¨osung linearer Gleichungssysteme
Ein Vektor x , dessen Komponenten xi , i = 1(1)n, jede der m Gleichungen des Systems (4.1) zu einer Identit¨ at machen, heißt L¨ osungsvektor oder kurz L¨osung von (4.1) bzw. (4.2). In Abschnitt 4.13 werden u berbestimmte Systeme Ax = a mit (m, n)-Matrix ¨ A, a ∈ Rm , x ∈ Rn , m > n behandelt, sonst nur Systeme aus n Gleichungen mit n Unbekannten, d. h. der Fall Ax = a mit (n, n)-Matrix A, x ∈ Rn , a ∈ Rn . Systeme linearer Gleichungen (im Folgenden kurz lineare Gleichungssysteme genannt) treten u ¨berall in den Anwendungen in Physik, Technik, Betriebswirtschaftslehre usw. auf; man begegnet ihnen z. B. in der Statik bei der Berechnung statisch unbestimmter Systeme, in der Elektrotechnik bei der Berechnung von Netzwerken (z. B. Bestimmung zugeh¨origer Str¨ome zu vorgegebenen Gleichspannungen und vorgegebenen Ohmschen Widerst¨anden) und bei der Behandlung von Eigenwertproblemen der mathematischen Physik. Wie sich noch zeigen wird, gibt es auch eine Reihe von Problemen in der numerischen Mathematik, deren Behandlung auf Systeme linearer Gleichungen f¨ uhrt. So treten z. B. beim Newtonschen Verfahren f¨ ur nichtlineare Gleichungssysteme bei jedem Schritt lineare Gleichungssysteme auf; die Methode der kleinsten Quadrate von Gauß (Ausgleichsrechnung) und die numerische L¨ osung von Randwertproblemen bei gew¨ohnlichen und partiellen Differentialgleichungen mit Hilfe von Differenzenverfahren f¨ uhren auf lineare Gleichungssysteme. In der Betriebswirtschaftslehre spielen lineare Gleichungssysteme im Zusammenhang mit linearer Programmierung eine große Rolle. Theoretisch ist das Problem der Aufl¨ osung linearer Gleichungssysteme vollst¨andig gekl¨art. So lassen sich die L¨ osungen z. B. mit der Cramerschen Regel explizit berechnen; dieser Weg erfordert jedoch einen immensen Rechenaufwand. Zur L¨osung eines Systems von n Gleichungen mit n Unbekannten erfordert die Cramersche Regel (n2 − 1) n! + n Punktoperationen; dies sind 359 251 210 Punktoperationen f¨ ur n = 10 und bereits 1021 f¨ ur n = 20. Daher ist die Cramersche Regel (schon ab n = 3) f¨ ur praktische Rechnungen total unbrauchbar. Man muss also nach anderen, effektiveren L¨osungsm¨oglichkeiten suchen. Ein solches Verfahren ist z. B. der Gaußsche Algorithmus, der f¨ ur die L¨osung von n Gleichungen mit n Unbekannten nur n3 (n2 + 3n − 1) Punktoperationen ben¨otigt, d. h. im Fall n = 10 nur 430, im Fall n = 20 nur 3060 (gegen¨ uber 1021 bei der Cramerschen Regel). Anzahl der erforderlichen Punktoperationen (Multiplikationen, Divisionen) Zahl der Unbekannten
Cramersche Regel 2
Gaußscher Algorithmus
n
(n − 1) n! + n
n (n2 + 3n − 1)/3
2
8
6
3
51
17
4
364
36
5
2885
65
10
359 251 210
430
20
1021
3060
4.1 Aufgabenstellung und Motivation
117
Rechenzeit (3 ns im Durchschnitt pro Multiplikation/Division) Zahl der Unbekannten
Cramersche Regel
Gaußscher Algorithmus
10
1.08 sec
≈ 10−6 sec
20
95 000 Jahre
≈ 10−5 sec
Es gibt also brauchbare numerische Methoden. Trotz dieser Tatsache ist die praktische Bestimmung der L¨ osung f¨ ur sehr große n eine problematische numerische Aufgabe; die Gr¨ unde hierf¨ ur sind: 1. Arbeitsaufwand (Rechenzeit) und Speicherplatzbedarf bei sehr großen Systemen, siehe Beispiele 2. Verf¨alschung der Ergebnisse durch Rundungsfehler (numerische Instabilit¨at) 3. Schlecht konditionierte Probleme (mathematische Instabilit¨at) Im Folgenden sollen nicht nur L¨ osungsmethoden angegeben, sondern auch auf numerische Effekte, anfallenden Arbeitsaufwand u.a.m. aufmerksam gemacht werden. Von einem L¨osungsverfahren wird gefordert, dass es Attribute wie Bandstruktur und Symmetrie ber¨ ucksichtigt, rechenzeitoptimal ist, Rundungsfehler unter Kontrolle gehalten werden u.a.m. Beispiele, bei denen große lineare Gleichungssysteme auftreten 1. LKW-Lagerbock (Beispiel der Fa. MEC Alsdorf): Pro LKW gibt es zwei Lagerb¨ ocke; die Blattfeder wird mit beiden Lagerb¨ocken am Rahmen befestigt. Wenn sich die Feder z. B. bei einer Bodenwelle bewegt, tritt ein Moment auf (Abb. 4.1). Bei FEM-Berechnungen, die die mechanische Belastung und Temperaturberechnung betreffen, treten bei linearem Ansatz und bei Gleichungssystemen z. B. 4320 Gleichungen auf (siehe Finites Netz Abb. 4.2).
Abb. 4.1.
Abb. 4.2.
118
4. L¨osung linearer Gleichungssysteme
2. Parabolantenne der Firma Krupp mit 100 m Durchmesser am oberen Rand: Es handelt sich dabei um einen r¨ aumlichen Verbund aus St¨aben und Balken, die geometrisch ein Rotationsparaboloid bilden. Die Berechnung muss so erfolgen, dass bei Verformung durch Neigung und Eigengewicht wegen der Richtgenauigkeit der Antenne immer wieder ein Rotationsparaboloid entsteht. Es sind jeweils ca. 5000 Gleichungen mit 5000 Unbekannten zu l¨ osen.
Abb. 4.3. 3. Beispiel des Aerodynamischen Instituts der RWTH Aachen. Numerische Simulation einer abl¨osenden Str¨ omung um Tragfl¨ ugelprofile, gerechnet mit den Navier-StokesGleichungen: Wenn 3-dimensional gerechnet wird und ein (31 × 31 × 51)-Gitter mit je 4 Gleichungen verwendet wird, so erh¨ alt man nichtlineare Systeme aus 196 044 Gleichungen mit 196 044 Unbekannten, die iterativ (etwa mit 5 Iterationen) gel¨ost werden. Rechnet man bis zum Wirbelabl¨ osen 10 000 Zeitschritte, so ergeben sich 5 × 10 000 = 50 000 lineare Gleichungssysteme aus rund ca. 200 000 Gleichungen, die zu l¨osen sind.
Abb. 4.4.
4.1 Aufgabenstellung und Motivation
119
4. Beispiel des Instituts f¨ ur Bildsame Formgebung der RWTH Aachen zum Freiformschmieden: Ein 8-kantiger Schmiedeblock aus Stahl wird mit 4 H¨ammern bearbeitet, dann um 45◦ gedreht und wieder bearbeitet usw. Ziel ist die Berechnung des Temperaturfeldes. Hier entstehen bei 1400 Knoten Gleichungssysteme von 4200 Gleichungen. Bei 50 Zeitschritten und 5 Iterationen pro Zeitschritt hat man also 250 lineare Gleichungssysteme mit je 4200 Gleichungen zu l¨osen.
Abb. 4.5. Betrachtet man einen Rundblock mit 200 mm Durchmesser und 250 mm L¨ange, so entstehen bei 3000 Knoten 9000 nichtlineare Gleichungen, d. h. bei 100 Zeitschritten mit 5 Iterationen pro Zeitschritt 500 lineare Systeme mit je 9000 Gleichungen. 5. Ein weiteres Finite-Element-Beispiel aus dem Institut f¨ ur Bildsame Formgebung der RWTH Aachen: Bei der Simulation des Fließpress-Verfahrens zur Herstellung eines Zahnrades mit zw¨ olf Z¨ ahnen wird unter Ausnutzung der Symmetriebedingungen mit dem Modell eines halben Zahnes gerechnet. In diesem Beispiel wird dazu ein Netz mit 2911 Knoten erstellt. Man erh¨alt unter Ber¨ ucksichtigung aller Randbedingungen insgesamt 7560 nichtlineare Gleichungen, die iterativ gel¨ost werden. Dabei tritt eine Bandmatrix auf.
Abb. 4.6.
120
4.2
4. L¨osung linearer Gleichungssysteme
Definitionen und S¨ atze
In diesem Abschnitt werden einige Definitionen und S¨atze u ¨ber Matrizen und Determinanten zusammengestellt, die im weiteren Verlauf dieses Kapitels f¨ ur numerische Verfahren ben¨otigt werden. Definition 4.1. (Hauptabschnittsmatrix, Hauptabschnittsdeterminante) Die (k, k)-Matrix Ak , die aus den ersten k Zeilen und k Spalten von A = (aik ), i, k = 1(1)n, gebildet wird, heißt Hauptabschnittsmatrix. Ihre Determinante det (Ak ) heißt Hauptabschnittsdeterminante der Ordnung k.
Beispiel 4.2.
A
1 −2 3 5 6 = 4 7 8 −9
A1
=
A2
=
(1)
vom Typ (3, 3)
mit det(A1 ) = 1, Hauptabschnittsdeterminante der Ordnung 1
1 4
−2 5
mit det(A2 ) = 13, Hauptabschnittsdeterminante der Ordnung 2
A3
mit det(A3 ) = −258, Hauptabschnittsdeterminante der Ordnung 3 gleich Determinante der Matrix A
= A
Definition 4.3. (Regul¨ ar, streng regul¨ ar ) Eine Matrix A = (aik ), i, k = 1(1)n, heißt regul¨ ar, falls det (A) 6= 0 gilt; sie heißt streng regul¨ ar, wenn alle Hauptabschnittsdeterminanten von Null verschieden sind: det(Ak ) 6= 0
f¨ ur alle
k = 1(1)n.
Beispiel 4.4. Die Matrix A aus dem Beispiel 4.2 ist regul¨ ar und zugleich streng regul¨ar, w¨ahrend 1 2 3 A = 4 5 6 mit det(A) = 0 7 8 9 nicht regul¨ar ist.
4.2 Definitionen und S¨ atze
121
Definition 4.5. (Untere Dreiecksmatrix, obere Dreiecksmatrix ) Eine (n, n)-Matrix L = (lik ) heißt untere Dreiecksmatrix (Subdiagonalmatrix), wenn lik = 0 f¨ ur k > i gilt; sie heißt normierte untere Dreiecksmatrix, wenn außerdem lii = 1 f¨ ur alle i ist. Eine (n, n)-Matrix R = (rik ) heißt obere Dreiecksmatrix (Superdiagonalmatrix), wenn rik = 0 f¨ ur i > k gilt; sie heißt normierte obere Dreiecksmatrix, wenn außerdem rii = 1 f¨ ur alle i ist. Beispiel 4.6.
L1
1 = 3 −3
0 2 5
0 0 7
untere Dreiecksmatrix
L2
1 = 3 −3
0 1 5
0 0 1
normierte untere Dreiecksmatrix
R1
5 7 = 0 1 0 0
−8 3 4
obere Dreiecksmatrix
R2
1 7 = 0 1 0 0
−8 3 1
normierte obere Dreiecksmatrix
Definition 4.7. (Permutationsmatrix ) Eine (n, n)-Matrix P heißt Permutationsmatrix, wenn in jeder Zeile und Spalte genau eine Eins und n−1 Nullen vorkommen. Eine (n, n)-Permutationsmatrix P entsteht aus der (n, n)-Einheitsmatrix E dadurch, dass man in E die i-te und k-te Zeile vertauscht. Dann ist PA diejenige Matrix, die aus A durch Vertauschung der i-ten und k-ten Zeile hervorgeht. Beispiel 4.8. E
PA
1 = 0 0 0 = 1 0
0 1 0 1 0 0
0 0 1 0 , P = 1 0 1 0 0 0 1 −2 3 0 4 5 6 = 1 7 8 −9
0 0 1 4 1 7
aus E durch Vertauschung der 1. und 2. Zeile
5 6 −2 3 8 −9
122
4. L¨osung linearer Gleichungssysteme
Satz 4.9. Jede (n, n)-Matrix A mit det (Ak ) 6= 0 f¨ ur k = 1(1)n−1 kann ohne Zeilenvertauschungen eindeutig in das Produkt LR aus einer normierten unteren Dreiecksmatrix L und einer oberen Dreiecksmatrix R zerlegt werden: 1 r11 r12 · · · r1n l21 1 r22 · · · r2n L= . , R= . . . .. .. .. . .. ln1
ln2
···
1
rnn
Diese Dreieckszerlegung (Faktorisierung) wird als LR-Zerlegung bezeichnet. Beispiel 4.10.
1 Gegeben: A = −2 −1
−1 6 13
−1 3 vom Typ (3, 3). 6
Es gilt det(A1 ) = 1 6= 0, det(A2 ) = 4 6= 0 ⇒ die LR-Zerlegung existiert eindeutig. LR-Zerlegung von A: 1 −1 −1 1 6 3 = −2 A = −2 −1 13 6 −1
0 0 1 −1 −1 1 0 0 4 1 = LR 3 1 0 0 2
Wie macht man das schrittweise? a11 a12 a13 1 −1 −1 1 0 0 r11 r12 r13 A = a21 a22 a23 = −2 6 3 = l21 1 0 0 r22 r23 = LR a31 a32 a33 −1 13 6 l31 l32 1 0 0 r33 Die Multiplikation der beiden Matrizen L und R rechts und ein Koeffizientenvergleich mit der Matrix A links ergibt zeilenweise die zu berechnenden Koeffizienten der Dreiecksmatrizen L und R. 1. Zeile: a11 a12 a13 2. Zeile: a21 a22 a23 3. Zeile: a31 a32 a33
= = = = = = = = =
1 −1 −1 −2 6 3 −1 13 6
! = = = = = = = = =
1 · r11 1 · r12 1 · r13 l21 · r11 + 1 · 0 l21 · r12 + 1 · r22 l21 · r13 + 1 · r23 + 0 · r33 l31 · r11 l31 · r12 + l32 · r22 l31 · r13 + l32 · r23 + r33
⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒
r11 r12 r13 l21 r22 r23 l31 l32 r33
= = = = = = = = =
1 −1 −1 −2 4 1 −1 1 (13 − 1) = 3 4 6−1−3=2
4.2 Definitionen und S¨ atze
123
Analog ergeben sich die Formeln im folgenden Algorithmus 4.11. Die Elemente der Matrizen L und R gem¨ aß Dreieckszerlegung nach Satz 4.9 werden wie folgt berechnet: 1. F¨ ur k = 1(1)n:
r1k := a1k
2. F¨ ur jedes i = 2(1)n ai1 a11
2.1 F¨ ur k = 1:
li1 :=
2.2 F¨ ur k = 2(1)i−1:
lik := (aik −
k−1 P
lij rjk )/rkk
j=1
rik := aik −
2.3 F¨ ur k = i(1)n:
i−1 P
lij rjk
j=1
Werden f¨ ur eine Dreieckszerlegung Zeilenvertauschungen zugelassen, so kann die Voraussetzung det (Ak ) 6= 0 f¨ ur k = 1(1)n−1 in Satz 4.9 entfallen; es gilt dann der
Satz 4.12. F¨ ur eine (n, n)-Matrix A mit det A = 6 0 gilt mit einer (n, n)-Permutationsmatrix P die Zerlegung PA = LR, wobei L und R durch P und A eindeutig bestimmt sind. In PA sind die Zeilen von A permutiert. Es gilt mit det(P ) = (−1)k , k = Anzahl der Zeilenvertauschungen, det A = (−1)k det R = (−1)k r11 r22 . . . rnn .
Jede regul¨are Matrix A kann somit durch Linksmultiplikation mit einer Permutationsmatrix P (also durch Zeilenvertauschungen) in eine streng regul¨are Matrix PA transformiert werden.
Beispiel 4.13. F¨ ur die Matrix
1 −1 −1 1 −1 , A = −1 −1 −1 1
det(A2 ) = 0
existiert keine LR-Zerlegung ohne Zeilenvertauschung nach Satz 4.9. Nach Vertauschung
124
4. L¨osung linearer Gleichungssysteme
der 2. und der 3. Zeile von 1 0 PA = 0 0 0 1 gilt
A l¨ asst sich eine eindeutige LR-Zerlegung angeben, denn mit 0 1 −1 −1 1 −1 −1 1 −1 1 −1 = −1 −1 1 , 0 −1 −1 1 −1 1 −1
1 PA = LR = −1 −1
0 1 0
0 1 0 0 1 0
−1 −2 0
−1 0 −2
Definition 4.14. (Transponierte Matrix ) Es sei A = (aik ), i = 1(1)m, k = 1(1)n, eine Matrix vom Typ (m, n). Dann heißt die Matrix AT = (aki ), k = 1(1)n, i = 1(1)m, die aus A durch Vertauschung von Zeilen und Spalten entsteht, die zu A transponierte Matrix.
Beispiel 4.15. 1 2 A = 3 4 vom Typ (3, 2) 4 6
⇒
AT =
1 3 2 4
4 6
vom Typ (2, 3)
Definition 4.16. (Symmetrische Matrix ) Gilt f¨ ur eine (n, n)-Matrix A = (aik ), i, k = 1(1)n, aik = aki f¨ ur alle i, k, so heißt A symmetrisch; es gilt A = AT , wobei AT die zu A transponierte Matrix ist. Beispiel 4.17.
1 A= 2 −3
2 4 5
−3 5 = AT 6
⇒
A ist symmetrisch
Definition 4.18. (Orthogonale Matrix ) Eine reelle (n, n)-Matrix Q heißt orthogonal, falls mit der Einheitsmatrix E vom Typ (n, n) gilt Q T Q = QQ T = E bzw. Q −1 = Q T .
4.2 Definitionen und S¨ atze Beispiel 4.19. cos α 0 Q1 = − sin α
125
0 sin α 1 0 , 0 cos α
Q1 · Q1T = Q1T · Q1 = E 1 Q2 = √ 5
⇒
Q2T
Q2 ·
2 1
−1 2
1 = 5
,
2 1
⇒
cos α Q1T = 0 sin α
0 − sin α 1 0 0 cos α
Q1 orthogonal
1 2 Q2T = √ −1 5 1 −1 2 1 5 = 2 −1 2 0 5
1 2 0 5
,
=
1 0
0 1
=E
Satz 4.20. Sei v ∈ Rn ein Vektor und E die (n, n)-Einheitsmatrix. Dann ist H := E −
2 vv T kv k2
eine symmetrische, orthogonale (n, n)-Matrix (Householder-Matrix), d. h. es gilt H TH = H 2 = E . Beispiel 4.21. 2 2 2 T v = , kv k = v v = (2, 1) = 5 1 1 2 4 2 T vv = (2, 1) = 1 2 1 H
T
H H
1 := E − 2 2 v v T = 0 kv k ! 1 − 85 − 45 = = − 45 1 − 25 =
− 35
− 45
− 45
3 5
!
0 1
−
2 5
− 35
− 45
− 45
3 5
− 35
− 45
− 45
3 5
!
d. h. H T = H −1 ist eine orthogonale Matrix.
=
4 2 2 1 !
1
0
0
1
=
! ,
1
0
0
1
! −
8 5 4 5
4 5 2 5
!
126
4. L¨osung linearer Gleichungssysteme
Definition 4.22. (Bandmatrix ) Eine (n, n)-Matrix A = (aik ), i, k = 1(1)n, heißt Bandmatrix, wenn ihre Elemente außerhalb eines Bandes l¨ angs der Hauptdiagonale verschwinden. Sei m` die Anzahl der unteren Nebendiagonalen und mr die Anzahl der oberen, dann gilt f¨ ur die Nullelemente: aik = 0 f¨ ur i − k > m` mit 0 ≤ m` ≤ n − 2 und k − i > mr mit 0 ≤ mr ≤ n − 2. Die Gr¨oße m = m` + mr + 1 heißt Bandbreite; es k¨onnen h¨ochstens m Nichtnull-Elemente in einer Zeile auftreten. Spezielle Bandmatrizen sind: Diagonalmatrizen mit bidiagonale Matrizen mit tridiagonale Matrizen mit f¨ unfdiagonale Matrizen mit
m` m` m` m`
= mr = 0, = 1, mr = 0 = mr = 1, = mr = 2.
oder
m` = 0, mr = 1,
Beispiel 4.23. A
=
1 0 0 0
0 2 0 0
0 0 5 0
0 0 0 −6
B
Diagonalmatrix C
=
F
1 0 0 0
2 1 0 0
0 3 4 0
=
1 0 2 1 0 −1 0 0
0 0 0 4
0 0 2 3
untere Bidiagonalmatrix 0 0 5 1
obere Bidiagonalmatrix 1 2 1 0 3 4 5 2 3 1 −2 4 = 0 5 3 4 0 0 7 1
D
1 −1 = 0 0
2 2 4 0
0 0 6 3
0 3 5 1
tridiagonale Matrix 0 0 3 5 2
f¨ unfdiagonale Matrix
Definition 4.24. (Zyklisch tridiagonale Matrix ) Eine (n, n)-Matrix A = (aik ), i, k = 1(1)n, heißt zyklisch tridiagonal, falls gilt aik = 0
f¨ ur 2 ≤ |i − k| ≤ n − 2 ,
(a1n , an1 ) 6= (0, 0) .
Dies bedeutet, dass bei einer zyklisch tridiagonalen Matrix die Hauptdiagonale und die beiden Nebendiagonalen mit Nichtnull-Elementen besetzt sein k¨onnen und mindestens eines der beiden Elemente links unten (an1 ) und rechts oben (a1n ) von Null verschieden ist.
4.2 Definitionen und S¨ atze
127
Beispiel 4.25.
1 −3 A= 0 −1
2 4 1 0
0 1 2 2
1 0 , 1 3
sind zyklisch tridiagonale Matrizen.
B =
1 −3 0 0 −5
2 0 0 4 1 0 −1 5 −1 0 −3 6 0 0 2
4 0 0 3 1
Definition 4.26. (Diagonaldominante und stark diagonaldominante Matrix ) Eine Matrix A = (aik ), i, k = 1(1)n, heißt diagonaldominant, falls n X |aii | ≥ |aik | f¨ ur i = 1(1)n ; k=1 k6=i
f¨ ur mindestens ein i muss das Zeichen echt gr¨ oßer“ gelten (d. h. der Betrag des Dia” gonalelements ist gr¨ oßer oder gleich der Summe der Betr¨age der anderen Elemente in derselben Zeile; f¨ ur mindestens eine Zeile muß dabei echt gr¨oßer“ gelten). ” Die Matrix heißt stark diagonaldominant, wenn gilt n X |aii | > |aik | f¨ ur i = 1(1)n . k=1 k6=i
Das heißt, dass f¨ ur alle Zeilen der Betrag des Diagonalelements echt gr¨oßer als die Summe der Betr¨age der u ¨brigen Elemente der Zeile ist.
Beispiel 4.27. 10 −1 8 = 5 −1 2 10 −1 8 = 5 −1 2
A
A
2 1 3m
ist diagonaldominant
2 1 5m
ist stark diagonaldominant
Definition 4.28. (Positiv definite und positiv semidefinite Matrix ) Eine symmetrische Matrix A = (aik ), i, k = 1(1)n, heißt positiv definit, wenn f¨ ur ihre quadratische Form Q gilt Q(x ) := x T Ax > 0
f¨ ur alle
x 6= 0 , x ∈ Rn .
Sie heißt positiv semidefinit, wenn gilt Q(x ) ≥ 0
f¨ ur alle
x ∈ Rn .
128
4. L¨osung linearer Gleichungssysteme
Notwendige Bedingung f¨ ur positive Definitheit einer symmetrischen Matrix A = (aik ), i, k = 1(1)n, ist: aii > 0 f¨ ur alle i. Notwendige und hinreichende Kriterien f¨ ur positive Definitheit einer symmetrischen Matrix A = (aik ), i, k = 1(1)n: 1. A = AT ist genau dann positiv definit, wenn s¨amtliche Hauptabschnittsdeterminanten positiv sind: det(Ak ) > 0 f¨ ur k = 1(1)n. Beispiel 4.29.
5 −1 −2 6 −1 A = −1 −2 −1 5
=
AT symmetrisch
ist positiv definit, da s¨ amtliche Hauptabschnittsdeterminanten positiv sind det(A1 ) det(A2 ) det(A3 )
= |5| 5 −1 = −1 6 = det(A)
=
5 >
0
=
29 >
0
= 112 >
0
2. Die Zerlegung A = LR mit A = AT gem¨ aß Satz 4.9 f¨ uhrt auf ein R mit rii > 0 f¨ ur alle i. Beispiel 4.30. 4 −2 5 A = −2 0 −2
0 1 1 −2 = − 2 5 0
0 1 − 12
0 0 1
4m−2 0 4m−2 = LR 0 4m 0 0
mit rii > 0 f¨ ur alle i 3. Die Zerlegung A = RT DR mit A = AT , R = normierte Superdiagonalmatrix, D = (dik ) = Diagonalmatrix, f¨ uhrt auf dii > 0 f¨ ur alle i. Hinreichende Kriterien f¨ ur positive Definitheit einer symmetrischen Matrix A = (aik ), i, k = 1(1)n : 1. Jede symmetrische, stark diagonaldominante Matrix mit positiven Hauptdiagonalelementen (aii > 0 f¨ ur alle i) ist positiv definit. 2. Jede symmetrische, diagonaldominante Matrix A mit positiven Hauptdiagonalelementen (aii > 0 f¨ ur alle i) und aik < 0 f¨ ur alle i 6= k ist positiv definit. 3. Jede symmetrische, tridiagonale, diagonaldominante Matrix A = (aik ), i, k = 1(1)n, mit aii > 0 f¨ ur alle i, aik 6= 0 f¨ ur |i − k| = 1 ist positiv definit.
4.2 Definitionen und S¨ atze
129
Beispiel 4.31.
zu 1.
A
16 = 0 4
zu 3.
C
10 1 = 0 0
0 9 0
4 0 , 17
zu 2.
1 0 0 10 −2 0 −2 5 −3 0 −3 6
B
3 = −1 −2
−2 −3 8
−1 6 −3
Satz 4.32. Eine stark diagonaldominante Matrix A = (aik ), i, k = 1(1)n, ist streng regul¨ar.
Beispiel 4.33.
10 −1 2 8 1 streng regul¨ A= 5 ar, da det(A1 ) = |10| = 10 6= 0 , −1 2 5 10 −1 = 85 6= 0 , det(A3 ) = det(A) = 442 6= 0 det(A2 ) = 5 8
Satz 4.34. Jede symmetrische, streng regul¨ are Matrix A = (aik ), i, k = 1(1)n, kann eindeutig in das Produkt RT DR mit einer normierten oberen Dreiecksmatrix R, ihrer Transponierten RT und einer Diagonalmatrix D zerlegt werden.
Zerlegung f¨ ur n = 3: Mit A = RT DR gilt
a11 a12 a13
a12 a22 a23
a13 1 a23 = r12 a33 r13
1 = r12 r13
0 1 r23
0 0 1
0 1 r23
0 0 1
d11 = r12 d11 r13 d11
d11 0 0
0 d22 0
d11 0 0
d11 r12 2 d11 r12 + d22 d11 r12 r13 + d22 r23
0 0 d33 d11 r12 d22 0
1 r12 0 1 0 0
r13 r23 1
d11 r13 d22 r23 d33
d11 r13 d11 r13 r12 + d22 r23 . 2 2 d11 r13 + d22 r23 + d33
130
4. L¨osung linearer Gleichungssysteme
Aus dem Koeffizientenvergleich zwischen Ausgangsmatrix A und Produktmatrix ergibt sich zeilenweise f¨ ur das obere Dreieck von A a11 a12 a13
= d11 = d11 r12 = d11 r13
⇒ d11 ⇒ r12 ⇒ r13
= a11 = a12 / d11 = a13 / d11
a22 a23
2 = d11 r12 + d22 = d11 r13 r12 + d22 r23
⇒ d22 ⇒ r23
2 = a22 − d11 r12 = (a23 − d11 r13 r12 ) / d22
a33
2 2 = d11 r13 + d22 r23 + d33
⇒ d33
2 2 = a33 − d11 r13 − d22 r23
Algorithmus 4.35. Gegeben: A = (aik ), i, k = 1(1)n, symmetrisch, streng regul¨ar Gesucht:
Elemente von D und R bei der Zerlegung A = R T DR
1. d11 = a11 a1k r1k = , d11
k = 2(1)n
2. F¨ ur jedes i = 2(1)n−1 i−1 P 2 2.1 dii = aii − djj rji j=1 i−1 X 1 2.2 ri,i+1 = ai,i+1 − djj rj,j+1 rj,j+2 dii j=1
3. dnn = ann −
n−1 P
2 djj rjn
j=1
Beispiel 4.36. (vgl. Beispiel 4.30) d11 = 4 r23 =
1 4
r12 = − 12
r13 = 0 ; 1 − 2 − 4 · 0 · − 2 = − 12 ;
A 4 −2 0 −2 5 −2 0 −2 5
=
d22 = 5 − 4 ·
=4
d33 = 5 − 4 · 0 − 4 · − 12
RT
0 0 1 0 = − 12 0 − 12 1 1
1 4
4 0 0
D 0 0 4 0 0 4
2
= 5 −1 = 4.
R 1 − 12 0 0 1 − 12 0 0 1
Satz 4.37. Jede symmetrische, positiv definite Matrix A = (aik ), i, k = 1(1)n, ist in das Produkt R T DR gem¨aß Satz 4.34 zerlegbar, wobei alle Diagonalelemente von D (Pivotelemente) positiv sind und A streng regul¨ ar ist.
4.2 Definitionen und S¨ atze
131
Satz 4.38. Jede symmetrische, positiv definite Matrix A = (aik ), i, k = 1(1)n, kann eindeutig in das Produkt RT R mit der oberen Dreiecksmatrix R = (rik ), rii > 0 f¨ ur alle i, und ihrer Transponierten RT zerlegt werden. Die Zerlegung heißt Cholesky-Zerlegung.
Cholesky-Zerlegung a11 a12 a12 a22 a13 a23
f¨ ur n = 3: A = RT R a13 r11 0 0 r11 r12 r13 a23 = r12 r22 0 0 r22 r23 a33 r13 r23 r33 0 0 r33 2 r11 r11 r12 r11 r13 2 2 + r22 r12 r13 + r22 r23 = r11 r12 r12 2 2 2 r11 r13 r12 r13 + r22 r23 r13 + r23 + r33
Koeffizientenvergleich liefert zeilenweise: a11 a12 a13 a22 a23 a33
= = = = = =
2 r11 r11 r12 r11 r13 2 2 r12 + r22 r12 r13 + r22 r23 2 2 2 r13 + r23 + r33
⇒ ⇒ ⇒ ⇒ ⇒ ⇒
r11 r12 r13 r22 r23 r33
√ = a11 = a12 /r11 = a13 /r11 p 2 = a22 − r12 = (a23 − r12 r13 )/r22 p 2 − r2 = a33 − r13 23
Die Verallgemeinerung liefert den folgenden Algorithmus: Algorithmus 4.39. Gegeben: A = (aik ), i, k = 1(1)n, symmetrisch, positiv definit Elemente rik von R in der Cholesky-Zerlegung A = RT R √ = a11
Gesucht: 1. r11
2. F¨ ur jedes j = 2(1)n−1 s j−1 P 2 2.1 rjj = ajj − rij i=1
2.2 F¨ ur jedes k = j+1(1)n j−1 X 1 rjk = ajk − rik rij rjj i=1 s n−1 P 2 3. rnn = ann − rin i=1
132
4. L¨osung linearer Gleichungssysteme
Beispiel 4.40.
4 −2 0 5 −2 . Gegeben: Die Matrix A = −2 0 −2 5 Gesucht: L¨osung:
Die Matrix R mit A = RT R nach Algorithmus 4.39. r11 r12 r13
√ = 4 = 2; = −2/2 = −1 ; = 0/2 = 0;
A 4 −2 0 −2 5 −2 0 −2 5
4.3
r22 r23 r33
p = 5 − (−1)2 = (−2 − (−1) · 0)/2 p = 5 − 02 − (−1)2
RT 2 0 0 2 2 0 0 = −1 0 −1 2 0 =
= 2 = −1 = 2
R −1 0 2 −1 0 2
Lo ¨sbarkeitsbedingungen fu ¨ r ein lineares Gleichungssystem
Ein lineares Gleichungssystem Ax = a mit einer (m, n)-Matrix A, x ∈ Rm , Rg(A) = r, m ≥ n, heißt homogen, wenn a = 0 ist, andernfalls heißt es inhomogen. 1. Das homogene System Ax = 0 ist stets l¨ osbar; es besitzt n − r linear unabh¨angige L¨osungen yi . Die Gesamtheit der L¨ osungen l¨asst sich als Linearkombination x = c1 y1 + c2 y2 + . . . + cn−r yn−r darstellen. Im Falle r = n existiert nur die triviale L¨osung x = 0 . F¨ ur Systeme (4.2) aus n Gleichungen mit n Unbekannten gilt in der Formulierung u ¨ber die Determinante: a) det A 6= 0: Es existiert nur die triviale L¨osung x = 0 . b) det A = 0: Die Matrix A habe den Rang r: Rg(A) = r. Dann besitzt das homogene System genau n − r linear unabh¨angige L¨osungen. 2. Das inhomogene Gleichungssystem: Ax = a mit a 6= 0 . Es gilt der
Satz 4.41. Ein inhomogenes Gleichungssystem Ax = a 6= 0 ist genau dann aufl¨osbar, wenn der Rang der erweiterten Matrix (A, a) gleich dem Rang der Matrix A ist: Rg(A, a) = Rg(A). Die Gesamtheit der L¨ osungen setzt sich aus der L¨osung xh des homogenen Systems und einer speziellen L¨ osung des inhomogenen Systems zusammen.
4.4 Prinzip der direkten Methoden zur L¨ osung linearer Gleichungssysteme
133
F¨ ur Systeme (4.2) mit m = n gilt in der Formulierung u ¨ber die Determinante a) det A 6= 0: Es existiert genau eine L¨ osung, sie lautet x = A−1 a. (Hier gilt: Rg(A, a) = Rg(A) = n) b) det A = 0: Ist das System aufl¨ osbar, d. h. Rg(A, a) = Rg(A) < n, so ist die L¨osung nicht eindeutig bestimmt. Sie ergibt sich als Summe aus einer Linearkombination der n−r linear unabh¨ angigen L¨ osungen des homogenen Systems und einer speziellen L¨osung des inhomogenen Systems.
4.4
Prinzip der direkten Methoden zur L¨ osung linearer Gleichungssysteme
Das Prinzip der direkten Methoden besteht in einer Dreieckszerlegung (Faktorisierung) der Matrix A des zu l¨ osenden Gleichungssystems Ax = a aus n Gleichungen mit n Unbekannten. Die (n, n)-Matrix A wird im Allgemeinen in das Produkt LR einer unteren Dreiecksmatrix L und einer oberen Dreiecksmatrix R zerlegt (sofern die Zerlegung existiert), wobei eine der beiden Dreiecksmatrizen normiert sein muss, um eine eindeuti¨ ge Zerlegung zu erreichen. Die Dreieckszerlegung bewirkt eine Uberf¨ uhrung des Systems Ax = a in ein ¨aquivalentes System Rx = r , aus dem sich wegen der oberen Dreiecksform von R rekursiv die L¨ osung gewinnen l¨ asst. Sind f¨ ur die Dreieckszerlegung Zeilenvertauschungen erforderlich, so wird statt A eine aus A durch die gleichen Zeilenvertauschungen hervorgegangene Matrix PA (P Permutationsmatrix) in die beiden Dreiecksmatrizen L und R zerlegt. Aus den S¨atzen 4.9 bzw. 4.12 ergeben sich die folgenden Algorithmen f¨ ur die L¨osung linearer Systeme durch Dreieckszerlegung (Faktorisierung).
Algorithmus 4.42. (Elimination ohne Zeilenvertauschungen) Gegeben: Ax = a mit det (Ak ) 6= 0 f¨ ur k = 1(1)n−1. Gesucht: L¨osung x . 1. Schritt: Dreieckszerlegung A = LR zur Ermittlung von L und R gem¨aß Satz 4.9 und Algorithmus 4.11. 2. Schritt: Vorw¨artselimination a = Lr zur Bestimmung von r . Es gilt r1 = a 1 i−1 P ri = a i − lik ri f¨ ur i = 2(1)n k=1
3. Schritt: R¨ uckw¨ artselimination Rx = r zur Berechnung der L¨osung x . Es gilt rn xn = ann n X 1 xi = ri − aik xk f¨ ur i = n−1(−1)1 aii k=i+1
134
4. L¨osung linearer Gleichungssysteme
Beweis. Aus A x = a folgt nach Satz 4.9 mit A = LR die Beziehung LR x = a. Ziel ist die Herstellung der oberen Dreiecksform R x = r , so dass gilt LR x =a |{z} := r
=⇒
Lr =a .
Das heißt man muss nach der Faktorisierung A = LR zuerst L r = a durch Vorw¨artselimination l¨osen, bevor man aus R x = r rekursiv die L¨osung x ermitteln kann. Daraus ergibt sich die Reihenfolge der Schritte im Algorithmus.
Beispiel 4.43. Gegeben: A x = a mit
4 −1 −1 0 −1 A= 8 4 1 4 Gesucht:
2 a= 7 9
x1 x = x2 x3
Der L¨osungsvektor x .
L¨osung: 1. Schritt: Dreieckszerlegung A = LR =⇒ L, R 4 −1 −1 1 0 0 −1 = 2 1 A= 8 4 1 4 1 1 2. Schritt: Vorw¨artselimination L r = a 1 0 2 1 1 1 r1 = 2 2r1 + r2 = 7 ⇒ r2 r1 + r2 + r3 = 9 ⇒ r3
0 4 −1 −1 0 0 2 1 1 0 0 4
0 r1 2 0 r2 = 7 1 r3 9 = 7−4 = 3 =⇒ = 9−3−2 = 4
2 r =3. 4
3. Schritt: R¨ uckw¨artselimination
4x3 2x2 + x3 4x1 − x2 − x3
4 −1 −1 x1 2 0 2 1 x2 = 3 0 0 4 x3 4 = 4 ⇒ x3 = 1 = 3 ⇒ x2 = (3 − 1)/2 = 1 =⇒ = 2 ⇒ x1 = (2 + 1 + 1)/4 = 1
1 x =1 1
4.4 Prinzip der direkten Methoden zur L¨ osung linearer Gleichungssysteme
135
Algorithmus 4.44. (Elimination mit Zeilenvertauschungen) Gegeben: Ax = a mit det A 6= 0, d. h. mit regul¨arer Matrix A. Gesucht:
L¨osung x .
1. Schritt: Dreieckszerlegung PA = LR zur Ermittlung von L und R gem¨aß Satz 4.12. 2. Schritt: Vorw¨artselimination Pa = Lr zur Bestimmung von r . 3. Schritt: R¨ uckw¨ artselimination Rx = r zur Berechnung der L¨osung x .
Aus Satz 4.12 ergibt sich f¨ ur A x = a durch Linksmultiplikation mit der Permutationsmatrix P PA x = P a und mit PA = LR
L |{z} Rx = P a ,
woraus sich f¨ ur R x =: r ergibt
Lr = P a
(Vorw¨artselimination).
Die Vorw¨artselimination muss nach der Faktorisierung aber vor der R¨ uckw¨artselimination R x = r durchgef¨ uhrt werden, so dass sich die Reihenfolge in Algorithmus 4.44 ergibt. Beispiel 4.45. Gegeben: A x = a mit
3 A= 2 1
Gesucht:
3 2 0
6 3 1
−3 a = −1 0
x1 x = x2 x3
x , det(A) u ¨ber LR-Zerlegung mit Zeilenvertauschung.
L¨osung: 1. Schritt: PA = LR 1 0 0 3 3 6 1 0 0 3 3 6 3 3 6 PA = 0 0 1 2 2 3 = 1 0 1 = LR = 13 1 0 0 −1 −1 2 0 1 0 1 0 1 2 2 3 0 0 −1 3 0 1
2. Schritt: 1 0 0 0 0 1
P a = Lr 1 0 −3 −3 1 1 −1 = 0 = 3 2 0 0 −1 3
0 0 r1 1 0 r2 r3 0 1
=⇒
−3 r = 1 1
136
4. L¨osung linearer Gleichungssysteme
3. Schritt: R x = r durch R¨ uckw¨ artselimination 3 3 6 x1 −3 A = 0 −1 −1 x2 = 1 0 0 −1 x3 1
=⇒
x1 1 x2 = 0 x3 −1
Aus PA = LR folgt det(PA) =⇒ det(A)
= =
det(P) · det(A) = 1 · det(R) = det(P)
det(L) · det(R) (−1) (3) (−1) (−1)
=
det(R)
= −3
Die folgenden direkten Eliminationsverfahren arbeiten nach den angegebenen Algorithmen. Sie unterscheiden sich lediglich dadurch, dass spezielle Eigenschaften der Matrix A in Ax = a ausgenutzt werden, wodurch eine zum Teil erhebliche Ersparnis an Rechenaufwand erreicht werden kann. Im Wesentlichen wird hier nur mit Systemen aus n Gleichungen f¨ ur n Unbekannte gearbeitet, lediglich in Abschnitt 4.13 mit u ¨berbestimmten Systemen. Bevor aber spezielle L¨ osungsverfahren f¨ ur lineare Systeme mit speziellen Matrizen entwickelt werden, soll der Gauß-Algorithmus in der Form des klassischen GaußSchemas hergeleitet werden, und danach wird der Zusammenhang zur Dreieckszerlegung hergestellt.
4.5 4.5.1
Der Gauß-Algorithmus Gauß-Algorithmus mit Spaltenpivotsuche als Rechenschema
¨ Das Prinzip des Gaußschen Algorithmus ist die Uberf¨ uhrung eines Gleichungssystems der Form (4.1) mit m = n in ein gestaffeltes System in oberer Dreiecksform r11 x1 + r12 x2 + · · · + r1n xn = r1 , r22 x2 + · · · + r2n xn = r2 , (4.3) .. .. .. . . . rnn xn = rn , aus dem sich die xi , i = 1(1)n, durch R¨ uckw¨ artselimination berechnen lassen, falls r11 r22 . . . rnn 6= 0 ist. Zun¨achst wird der Algorithmus hergeleitet und anschließend wird der Zusammenhang mit den Algorithmen in Abschnitt 4.4 hergestellt. Konstruktion des Verfahrens Bekanntlich ist die L¨ osung eines Gleichungssystems (4.1) unabh¨angig von der Anordnung der Gleichungen. Man kann also o. B. d. A. eine Zeilenvertauschung derart vornehmen,
4.5 Der Gauß-Algorithmus
137
dass das betragsgr¨ oßte Element der ersten Spalte von A in die erste Zeile kommt (Spaltenpivotsuche vgl. Abschnitt 4.5.2). Die durch die Umordnung entstandene Matrix heiße (0) (0) A(0) , ihre Elemente aik und die Komponenten der rechten Seite ai , so dass (4.1) in das ¨aquivalente System n X
(0)
(0)
aik xk = ai ,
i = 1(1)n,
(4.4)
k=1
u ur das betragsgr¨oßte Element (Pivotelement) der er¨ bergeht. Ist det A 6= 0, so gilt f¨ (0) sten Spalte a11 6= 0. Zur Elimination von x1 aus den Gleichungen i = 2(1)n multipli(0) (0) ziert man die 1. Gleichung von (4.4) mit −ai1 /a11 und addiert sie jeweils zur i-ten Gleichung, so dass sich f¨ ur i = 2(1)n zusammen mit der unver¨anderten 1. Zeile ergibt (1. Eliminationsschritt): (0) (0) a11 x1 + a12 x2 (1) e a22 x2 .. . (1) e an2 x2
(0)
(0)
(1)
(1)
+...
+a1n xn = a1 ,
+...
+e a2n xn = e a2 , .. .
+...
+e ann xn = e an ,
(1)
(4.5)
(1)
mit
(1) e aik
=
0
f¨ ur k = 1,
(0) aik −
(0) (0) a a1k i1 (0) a11
i = 2(1)n, (1)
e ai
sonst,
(0)
= ai
(0) (0) ai1 , (0) a11
− a1
i = 2(1)n.
Das System (4.5) besteht also aus einer Gleichung mit den n Unbekannten x1 , x2 , . . . , xn und n−1 Gleichungen mit den n−1 Unbekannten x2 , . . . , xn . Auf die n−1 Gleichungen i = 2(1)n von (4.5) wendet man das Eliminationsverfahren erneut an. Dazu muss man zun¨ achst wieder eine Zeilenvertauschung durchf¨ uhren, so dass (1) das betragsgr¨oßte Element der e ai2 f¨ ur i = 2(1)n in der 2. Gleichung erscheint; nach der (1) Zeilenvertauschung werden die Elemente der neu entstandenen Zeilen 2 bis n mit aik (1) bzw. ai bezeichnet: (0) (0) (0) (0) a11 x1 + a12 x2 + . . . +a1n xn = a1 , (1) (1) (1) a22 x2 + . . . +a2n xn = a2 , (4.6) .. .. . . (1) (1) (1) an2 x2 + . . . +ann xn = an , (1)
wobei wegen det A 6= 0 gelten muss a22 6= 0. Verf¨ahrt man nun analog mit der 2. bis n-ten Gleichung von (4.6), so sind f¨ ur jeden
138
4. L¨osung linearer Gleichungssysteme
weiteren Eliminationsschritt j mit j = 2(1)n−1 die Elemente 0 f¨ ur k = 1(1)j, i = (j + 1)(1)n, (j) (j−1) e aik = (j−1) (j−1) aij a − a sonst, ik jk (j−1) ajj (j)
e ai
(j−1)
= ai
(j−1) (j−1) aij (j−1) , ajj
− aj
i = (j + 1)(1)n,
zu berechnen. Nach jedem Eliminationsschritt j sind die Gleichungen j + 1 bis n so um(j) zuordnen, dass das betragsgr¨ oßte Element der e ai,j+1 f¨ ur j + 1 ≤ i ≤ n in der (j + 1)-ten Gleichung steht; die Elemente der neu entstandenen Gleichungen j + 1 bis n werden mit (j) (j) aik bzw. ai bezeichnet. Man erh¨ alt so nach n−1 Eliminationsschritten das gestaffelte Gleichungssystem (0) (0) (0) (0) (0) a11 x1 + a12 x2 + a13 x3 + . . . + a1n xn = a1 , (1) (1) (1) (1) a22 x2 + a23 x3 + . . . + a2n xn = a2 , (2) (2) (2) (4.7) a33 x3 + . . . + a3n xn = a3 , .. .. . . (n−1) (n−1) ann xn = an . (i−1)
(i−1)
Mit rik = aik , ri = ai besitzt (4.7) die Gestalt (4.3). Aus dem zu (4.1) ¨aquivalenten System (4.7) berechnet man rekursiv die xi gem¨ aß xn =
a(n−1) n , a(n−1) nn
(j−1)
xj =
aj
(j−1)
ajj
−
(j−1) n X ajk (j−1)
k=j+1
ajj
xk ,
j = n−1, n−2, . . . , 1 .
(j−1)
Im Fall det A 6= 0 darf keines der Diagonalelemente ajj
(4.8)
verschwinden. Ist es nach ir(j−1)
gendeinem Eliminationsschritt nicht mehr m¨ oglich, ein Element ajj 6= 0 zu finden, so bedeutet dies, dass det A = 0 ist. Ob dann u ¨berhaupt eine L¨osung existiert und wenn ja, wieviele Parameter sie besitzt, folgt automatisch aus der Rechnung. F¨ ur die Determinante von A gilt det A = (−1)k r11 r22 . . . rnn , wobei k die Anzahl der Zeilenvertauschungen ist. Da der Rang r von A gleich der Anzahl der nicht verschwindenden Diagonalelemente (j−1) rjj = ajj der Superdiagonalmatrix R (gegebenenfalls unter Spaltenvertauschungen) ist, l¨asst sich die Anzahl n−r der Parameter nach Durchf¨ uhrung der n−1 Eliminationsschritte sofort angeben.
4.5 Der Gauß-Algorithmus
139
Rechenschema 4.46. (Gaußscher Algorithmus f¨ ur n = 3 ) Bezeichnung der Zeilen
A (0)
a12
a21
(0)
a
(0)
a13
a22
(0)
(0) a31
(0) a32
e 2(1)
0
e a22
e 3(1)
0
e a32
2(1)
0
a22
3(1)
0
e 3(2) = 3(2)
0
1(0)
a11
2(0) (0)
3
(0)
a1
a23
(0)
a2
(0) a33
(0) a3
(0)
(0)
(1)
e a23
(1)
e a33
(1)
a23
a32
(1)
a33
0
e a33 = a33
(2)
erfolgte Operationen
— (0)
(1)
−
a21 (0) + 2(0) (0) 1 a11
(1)
−
a31 (0) + 3(0) (0) 1 a11
(1)
e a2
(1)
e a3
(1)
a2
(1)
a3
(0)
(1)
Zeilenvertauschung von e 2(1) , e 3(1) in 2(1) , 3(1) , so dass gilt (1) (1) (1) |a22 | = max(|e a22 |, |e a32 |)
(1)
(2)
(2)
(2)
e a3 = a3
(1)
−
a32 (1) + 3(1) (1) 2 a22
Die Zeilen 1(0) , 2(1) , 3(2) bilden das gesuchte gestaffelte System (4.7), aus dem die L¨osungen xi rekursiv gem¨ aß (4.8) bestimmt werden. Die Zeilenvertauschung der Zeilen e 2(1) , (1) (1) (1) (1) (1) (1) (1) e 3 er¨ ubrigt sich, falls |e a22 | ≥ |e a32 | ist; dann ist e a2i = a2i und e a3i = a3i f¨ ur i = 2, 3 zu setzen. Beispiel 4.47. Gegeben: Das Gleichungssystem 3 3 A= 2 2 1 0 Gesucht:
Ax = a mit 6 x1 3 , x = x2 , 1 x3
Die L¨osung x mit Hilfe des Gaußschen Algorithmus.
−3 a = 1 0
140
4. L¨osung linearer Gleichungssysteme
L¨osung: Bezeichnung der Zeilen 1(0)
a
3m 3
6 −3
(0)
2
2
3
1
(0)
1
0
1
0
2 3
A
erfolgte Operationen
—
! 2 · 1(0) + 2(0) m 3 ! 1 · 1(0) + 3(0) 3m
e(1) 2
0
0
−1
3
−
e 3(1)
0 −1
−1
1
−
2(1) 3(1)
0 −1 −1 0 0 −1
1 3
Vertauschung der Zeilen e 2(1) und e 3(1)
3 Aus 3(1) folgt x3 = −1 = −3, mit 2(1) folgt x2 = 2, mit 1(0) folgt x1 = 3, T also: x = (3, 2, −3) .
Bemerkung: W¨ urde man hier ohne Zeilenvertauschung von e 2(1) und e 3(1) arbeiten, so k¨ame es beim 2. Eliminationsschritt zur Division durch Null; dies wird durch die Zeilenvertauschung vermieden. Bemerkung. (Homogene Systeme) Die L¨osung homogener Systeme Ax = 0 mit Rg(A) = r erfolgt so, dass mit dem Gaußschen Algorithmus die Dreiecksmatrix R hergestellt wird. Das System reduziert sich aufr linear unabh¨angige Gleichungen d. h. man erh¨ alt r Diagonalelemente rii 6= 0, i = 1(1)r . F¨ ur die restlichen n−r Unbekannten setzt man beliebige Parameter ein, so dass sich damit die ersten r Unbekannten aus Rx = 0 ermitteln lassen.
4.5 Der Gauß-Algorithmus
141
Beispiel 4.48. Gegeben: Ein homogenes System Ax = 0 . Gesucht:
Die L¨osungen des homogenen Systems mit dem Gaußschen Algorithmus.
L¨osung: Bezeichnung der Zeilen
A
a
erfolgte Operationen
1(0) 2(0) 3(0)
2 −2 4 −1 2 3 1 −1 2
0 0 0
—
2(1)
0
1
5
0
3(1)
0
0
0
0
− − 12 · 1(0) + 2(0) − 12 · 1(0) + 3(0)
Das gestaffelte System Rx = 0 lautet: 1(0) 2(1) 3(1)
: : :
2x1 − 2x2 + 4x3 = 0 x2 + 5x3 = 0 0 · x3 = 0
Wegen det A = 0 existiert eine nichttriviale L¨ osung. Aus 3(1) folgt: x3 = t, t ∈ R, aus (1) (0) 2 : x2 = −5t und aus 1 : x1 = −7t, so dass sich der vom Parameter t abh¨angige L¨osungsvektor ergibt x1 −7 x2 = t −5 x3 1 d. h. alle Punkte einer Gerade durch den Nullpunkt sind L¨osung des homogenen Systems.
4.5.2
Spaltenpivotsuche
Wenn die Koeffizienten gerundete Zahlen sind oder im Verlaufe der Rechnung gerundet werden muss, sind Zeilenvertauschungen unerl¨ asslich, um Verf¨alschungen des Ergebnisses durch Rundungsfehler m¨ oglichst zu d¨ ampfen. Man bezeichnet diese Strategie als (j−1) Spaltenpivotsuche oder teilweise Pivotsuche und die Diagonalelemente rjj = ajj als Pivotelemente. Unter Verwendung der Spaltenpivotsuche wird der Gauß-Algorithmus in den meisten F¨allen stabil. Vollkommen stabil wird er, wenn man als Pivotelement jeweils das betragsgr¨ oßte Element der gesamten Restmatrix verwendet, man spricht dann von vollst¨ andiger Pivotsuche. Hierf¨ ur ist der Aufwand sehr groß; f¨ ur die Praxis ist die Spaltenpivotsuche bzw. die weiter unten erl¨ auterte skalierte Pivotsuche in vielen Anwendungsf¨allen ausreichend.
142
4. L¨osung linearer Gleichungssysteme
Beispiel 4.49. Gegeben: Das lineare Gleichungssystem (1) 0.2420 · 10−3 x1 (2) 0.4000 · 100 x1 Gesucht:
+ +
0.6004 · 10−2 x2 0.9824 · 101 x2
= =
0.1743 · 10−2 , 0.2856 · 101 .
Zu bestimmen sind x1 und x2 nach dem Gaußschen Algorithmus; die exakten L¨osungen sind x1 = 1, x2 = 0.25.
L¨osung: 1. Fall:
Die Gleichungen werden in der obigen Reihenfolge benutzt. Zur Elimination von x1 aus Gleichung (2) wird (1) mit 0.4000 − = −0.1653 · 104 = c1 0.2420 · 10−3 multipliziert und c1 · (1) + (2) gebildet. Man erh¨alt das gestaffelte System 0.2420 · 10−3 x1 + 0.6004 · 10−2 x2 = 0.1743 · 10−2 0 −0.1010 · 10 x2 = −0.2500 · 10−1 . Als L¨osungen ergeben sich daraus: x1 = 0.1062 · 101 ; x2 = 0.2475, sie weichen stark von den exakten L¨ osungen ab.
2. Fall:
Die Reihenfolge der Gleichungen (1) das betragsgr¨ oßte Element der ersten (0) 1 0.4000 · 100 x1 + (0) 2 0.2420 · 10−3 x1 +
und (2) wird vertauscht, so dass jetzt Spalte in der ersten Gleichung steht 0.9824 · 101 x2 0.6004 · 10−2 x2
= =
0.2856 · 101 , 0.1743 · 10−2 .
Zur Elimination von x1 aus 2(0) wird 1(0) mit −
0.2420 · 10−3 = −0.6050 · 10−3 = c2 0.4000
multipliziert und c2 · 1(0) + 2(0) gebildet. Man erh¨alt das gestaffelte System 0.4000 · 100 x1 + 0.9824 · 101 x2 = 0.2856 · 101 , 0.6000 · 10−4 x2 = 0.15000 · 10−4 . Hieraus ergeben sich als L¨ osungen x1 = 0.1000 · 101 und x2 = 0.2500, sie stimmen mit den exakten L¨ osungen u ¨ berein. Die Abweichungen der L¨ osungen im 1. Fall sind dadurch entstanden, dass mit dem sehr großen Faktor c1 multipliziert wurde und die Rundungsfehler dadurch entsprechend angewachsen sind.
4.5 Der Gauß-Algorithmus
143
Beispiel 4.50. Gegeben: Das lineare Gleichungssystem 7 8 9 x1 24 8 9 10 x2 = 27 . 9 10 8 x3 27 Gesucht:
Eine n¨aherungsweise L¨ osung mit dem Gaußschen Algorithmus unter Verwendung der Gleitpunktarithmetik mit dreistelliger Mantisse (i) ohne Pivotisierung (ii) mit Spaltenpivotsuche. Die exakte L¨ osung ist xex = (1, 1, 1)T .
L¨osung: zu (i):
Gaußscher Algorithmus ohne Pivotisierung Bezeichnung der Zeilen
A
a
1(0) 2(0) 3(0)
7.00 8.00 9.00
2(1)
0.00 −0.12 −0.30 −0.400
3(1)
0.00 −0.30 −3.60
−4.00
3(2)
0.00
0.00 −2.85
−3.00
8.00 9.00 10.0
9.00 10.0 8.00
erfolgte Operationen
24.0 27.0 27.0
—
8.00 (0) · 1 + 2(0) 7.00 9.00 (0) − · 1 + 3(0) 7.00 −
−
−0.300 (1) · 2 + 3(1) −0.120
⇒ L¨osungskomponenten: x3 =1.05, x2 =0.708, x1 =1.27
1.27 x = 0.708 1.05
⇒
r = x −xex
1.27 1.00 0.270 = 0.708 − 1.00 = −0.292 1.05 1.00 0.0500
|r | = 0.401 (Abstand der L¨ osung x von der exakten L¨osung xex ).
144 zu (ii):
4. L¨osung linearer Gleichungssysteme Gaußscher Algorithmus mit teilweiser Pivotisierung Bezeichnung der Zeilen
A
a
Operationen
e 1(0) e 2(0) e 3(0)
7.00 8.00 9.00
8.00 9.00 24.0 9.00 10.0 27.0 10.0 8.00 27.0
—
1(0) 2(0) 3(0)
9.00 8.00 7.00
10.0 8.00 27.0 9.00 10.0 27.0 8.00 9.00 24.0
—
e 2(1)
0.00
0.110
2.89 3.00
e 3(1)
0.00
0.220
2.78 3.00
2(1) 3(1)
0.00 0.220 2.78 3.00 0.00 0.110 2.89 3.00
3(2)
0.00
0.00
1.50 1.50
8.00 (0) · 1 + 2(0) 9.00 7.00 (0) − · 1 + 3(0) 9.00 −
— −
0.110 (1) · 2 + 3(1) 0.220
⇒ L¨osungskomponenten: x3 = 1.00, x2 = 1.00, x1 = 1.00
1.00 x = 1.00 = xex , 1.00 d. h. hier erh¨ alt man die exakte L¨ osung auf 3 Mantissenstellen genau.
Bemerkung. Pivotsuche ist nur entscheidend wirkungsvoll, wenn alle Zeilen- und Spaltenbetragssummen ann¨ ahernd gleich groß sind: zi :=
n X j=1
|aij |
≈
sk :=
n X
|ajk | f¨ ur i, k = 1(1)n.
(4.9)
j=1
Matrizen, f¨ ur die (4.9) gilt, heißen ¨ aquilibriert (vgl. [MAES1985], 2.2.2). Da sich aber ¨ der Rechenaufwand bei einer Aquilibrierung (vgl. Abschnitt 4.14.3) betr¨achtlich erh¨ohen w¨ urde, f¨ uhrt man bei nicht ¨ aquilibrierten Matrizen statt der Spaltenpivotsuche eine sogenannte skalierte Spaltenpivotsuche durch. Man ersetzt bei der Elimination das Glied (j−1) (j−1) |ajj | = max |e aij | i=j(1)n
4.5 Der Gauß-Algorithmus
145
in Abschnitt 4.5.1 durch (j−1)
|ajj | := max zj i=j(1)n
4.5.3
(j−1)
|e aij | zi
! .
(4.10)
Gauß-Algorithmus als Dreieckszerlegung
Die Vorgehensweise beim Gaußschen Algorithmus entspricht genau dem Algorithmus 4.42, wenn ohne Zeilenvertauschung gearbeitet wird. Dann besteht der folgende Zusammenhang: F¨ ur die Elemente der Zerlegungsmatrizen L = (lij ), R = (rij ) und den Vektor r = (r1 , r2 , . . . , rn )T gilt rij =
(i−1)
aij 0
(i−1)
ri = ai
,
, ,
i≤j , i>j
(j−1) (j−1) aij /ajj lij = 1 0
, , ,
i>j i=j , i<j
i = 1(1)n,
und die L¨osungen xi ergeben sich rekursiv aus n , xn = rrnn
xi = r1ii ri −
n X
rij xj ,
i = n−1, n−2, . . . , 1.
j=i+1
W¨ahrend des Eliminationsprozesses k¨ onnen die Elemente von A zeilenweise mit den Elementen der Zerlegungsmatrizen u berspeichert werden; die lij f¨ ur i > j stehen dann ¨ unterhalb der Hauptdiagonale, die lii = 1 werden nicht abgespeichert und die rij (i ≤ j) stehen in und u ¨ber der Hauptdiagonale. Ebenso k¨onnen die Elemente von a durch die von r u berspeichert werden. ¨ Beispiel 4.51. Gesucht:
Die L¨osung x des Gleichungssystems Ax = a mit 2 1 1 x1 3 0 , A= 2 x = x2 , 4 −4 7 x3
4 a = 5 7
L¨osung (ohne Zeilenvertauschung): Wegen det(A1 ) = |2| = 2 6= 0,
2 det(A2 ) = 2
1 = 4 6= 0 3
sind die Voraussetzungen des Satzes 4.9 erf¨ ullt. Mit dem vorgenannten Algorithmus 4.42 erh¨alt man
146
4. L¨osung linearer Gleichungssysteme
1. Zerlegung A = LR: Durch Koeffizientenvergleich erh¨alt man zeilenweise (von oben nach unten) 2 1 1 1 0 0 2 1 1 3 0 = 1 1 0 0 2 −1 = LR A= 2 4 −4 7 2 −3 1 0 0 2 2. Vorw¨artselimination Lr = a: 1 0 0 r1 4 r1 4 1 1 0 r2 = 5 ⇒ r = r2 = 1 2 −3 1 r3 7 r3 2 3. R¨ uckw¨artselimination Rx 2 1 1 0 2 −1 0 0 2
y
= r: x1 4 x1 1 x2 = 1 ⇒ x = x2 = 1 x3 2 x3 1
x
Zum Vergleich wird der Gaußsche Algorithmus als Rechenschema angegeben: Bezeichnung der Zeilen ⇒
⇒
1(0) 2(0) 3(0) 2
3
⇒
3
(1)
(1)
(2)
A
2 2 4 =e 2(1) e(1)
=3
0
0
1 3 −4
1 0 7
2m −1
−6
5
a
erfolgte Operationen
Koeffizienten von L
4 5 7
—
—
1
−1
−
−
0
0
2
2
−
2
!
4 2
(0)
l21
· 1(0) + 3(0)
l31
·1
2
(0)
+2
!
−6 · 2(1) + 3(1) 2m
2 = =1 2 4 = =2 2
l32 =
−6 2
= −3
Aus den Zeilen 1(0) , 2(1) und 3(2) ergeben sich die obere Dreiecksmatrix R sowie die rechte Seite r des Systems R x = r . Die Faktoren der Operationen in den Klammern sind die lij . Man erh¨alt f¨ ur die Zerlegungsmatrizen L und R und den Vektor r : 1 0 0 2 1 1 4 1 0 , L= 1 R = 0 2 −1 , r = 1 2 −3 1 0 0 2 2 so dass aus Rx = r rekursiv die L¨ osung x = (1, 1, 1)T folgt.
4.5 Der Gauß-Algorithmus
147
Im folgenden Algorithmus soll die Vorgehensweise der Dreieckszerlegung mit Spaltenpi¨ votsuche unter Verwendung der Uberspeicherung der Elemente von A durch die Elemente von L und R formuliert werden. Algorithmus 4.52. (Dreieckszerlegung mit Spaltenpivotsuche) Gegeben: A = (aij ), i, j = 1(1)n, det A 6= 0, d. h. A ist regul¨ar. Gesucht: Dreieckszerlegung PA = LR, wobei L und R auf A u ¨berspeichert werden. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. Vorbesetzen des Pivotvektors p = (p1 , p2 , . . . , pn )T mit pi = i f¨ ur alle i. 2. F¨ ur jeden Wert j = 1(1)n−1 ist durchzuf¨ uhren: 2.1 Bestimme i0 ≥ j mit |ai0 j | = max{|aij |, i = j(1)n} (Pivotsuche) und vertausche pi0 mit pj und die i0 -te Zeile in A mit der j-ten Zeile. Gilt ajj = 0, dann ist A singul¨ ar und das Verfahren ist abzubrechen. Andernfalls: 2.2 F¨ ur jedes i = j + 1(1)n ist durchzuf¨ uhren: 2.2.1 Ersetze aij durch aij /ajj . 2.2.2 F¨ uhre f¨ ur k = j + 1(1)n durch: Ersetze aik durch aik − ajk aij . Dann ist L=
1 a21 .. .
0 1
an1
···
P = (ep1 , ep2 , . . . , epn )T , ··· 0 a11 0 0 .. , R = .. .. . . . an,n−1
1
0
a12 a22
··· ··· .. .
···
a1n a2n .. .
;
ann
epj ist der pj -te Standard-Einheitsvektor mit einer 1 in der pj -ten Komponente.
Algorithmus 4.53. (Gauß-Algorithmus mit Spaltenpivotsuche) Gegeben: Ax = a , det A 6= 0. Gesucht: L¨osung x . 1. Schritt: Bestimmung des Pivotvektors p und der Dreiecksmatrizen L und R nach Algorithmus 4.52. 2. Schritt: Berechnung von r = (r1 , r2 , . . . , rn )T durch Vorw¨artselimination aus Pa = Lr mit Pa r1
=
(ap1 , ap2 , . . . , apn )T
= ap1 ,
ri = api −
i−1 X j=1
nach der Vorschrift aij rj
f¨ ur i = 2(1)n.
148
4. L¨osung linearer Gleichungssysteme
3. Schritt: Berechnung der L¨ osung x aus Rx = r durch R¨ uckw¨artselimination mit xn
rn , ann
=
xi
1 aii ri −
=
n X
aij xj
f¨ ur i = n−1, n−2, . . . , 1.
j=i+1
Ganz analog lassen sich die letzten beiden Algorithmen unter Verwendung der skalierten Spaltenpivotsuche formulieren. Dann ist lediglich noch die in Abschnitt 4.5.2 angegebene Skalierung gem¨aß Formel (4.10) zu beachten. Beispiel 4.54. Gesucht:
Wiederum die L¨ osung x des Gleichungssystems Ax = a mit
3 A= 2 1
3 2 0
6 3 , 1
x1 x = x2 , x3
−3 a = 1 0
L¨osung durch den Gauß-Algorithmus mit Spaltenpivotsuche. Bezeichnung der Zeilen ⇒
3
6 −3
(0)
2
2
3
1
(0)
1
0
1
0
3
⇒
a
3m
1(0) 2
A
erfolgte Operationen
Koeffizienten von L
—
—
! 2 · 1(0) + 2(0) 3m ! 1 · 1(0) + 3(0) 3m
e 2(1)
0
0 −1
3
−
e 3(1)
0
−1 −1
1
−
(1)
0
−1 −1
1
Vertauschung von
l21
3(1)
0
0 −1
3
2. und 3. Zeile
l31
2
1 = = 3 2 = = 3
⇒
3
(2)
0
0 −1
3
0 · 2(1) + 3(1) − −1
—
l32 =
0 −1
1 3 2 3
=0
4.5 Der Gauß-Algorithmus
149
Daraus ergeben sich die Zerlegungsmatrizen L und R sowie der Vektor r 1 0 0 3 3 6 −3 1 L = 3 1 0 , R = 0 −1 −1 , r = 1 2 0 0 −1 3 0 1 3 so dass sich aus R x = r rekursiv die L¨ osung x T = (3, 2, −3) errechnen l¨asst. Wegen der Zeilenvertauschung gilt auch die Zerlegung 1 0 0 3 3 6 3 3 6 1 LR = 3 1 0 0 −1 −1 = 1 0 1 2 0 1 0 0 −1 2 2 3 3 1 0 0 3 3 6 0 0 1 2 2 3 = = PA 0 1 0 1 0 1 mit einer Permutationsmatrix P, die aus der Einheitsmatrix E durch Vertauschung der 2. und 3. Zeile entsteht. Der Vektor r ergibt sich aus −3 1 1 P a = 0 = Lr = 3 2 1 3 durch Vorw¨artselimination: r T = (−3, 1, 3).
4.5.4
0 0 r1 1 0 r2 0 1 r3
y
Gauß-Algorithmus fu ¨ r Systeme mit mehreren rechten Seiten
Liegen Systeme mit gleicher Matrix A und m rechten Seiten aj , j = 1(1)m, vor, so kann man statt Axj = aj schreiben AX = A∗
mit X = (x1 , x2 , . . . , xm ) und A∗ = (a1 , a2 , . . . , am ),
wobei A = (aik ), i, k = 1(1)n, die gemeinsame Matrix der m Systeme ist, X die (n, m)Matrix, die spaltenweise aus den m L¨ osungsvektoren xj , j = 1(1)m, aufgebaut ist und A∗ die (n, m)-Matrix, deren m Spalten die m rechten Seiten aj sind. Die Dreieckszerlegung der Matrix A braucht also nur einmal f¨ ur alle m Systeme durchgef¨ uhrt zu werden, w¨ahrend Vorw¨ arts- und R¨ uckw¨ artselimination m-mal zu machen sind. Es sind n3 /3 − n/3 + mn2 Punktoperationen erforderlich. Zusammengefasst ergibt sich damit folgender
150
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.55. (Ohne Spaltenpivotsuche) Gegeben: AX = A∗ , det(Ak ) 6= 0 f¨ ur k = 1(1)n−1, A∗ = (a1 , a2 , . . . , am ). Gesucht:
X = (x1 , x2 , . . . , xm )
1. Schritt: Faktorisierung A = LR gem¨ aß Satz 4.9. 2. Schritt: Vorw¨artselimination A∗ = LR∗ zur Berechnung von R∗ . 3. Schritt: R¨ uckw¨ artselimination RX = R∗ zur Berechnung von X .
Mit Spaltenpivotsuche muss analog mit der Permutationsmatrix P (vgl. Satz 4.12 bzw. Algorithmus 4.44) multipliziert werden. Das folgende Beispiel wird mit Spaltenpivotsuche im Gauß-Schema gerechnet. Beispiel 4.56. Gegeben sind A x1 = a1 und A x2 = a2 mit 3 3 6 −3 A = 2 2 3 , a1 = 1 , 1 0 1 0 Bezeichnung der Zeilen ⇒
⇒
a1
a2
−6 a2 = −3 −2 erfolgte Operationen
1(0) 2(0) 3(0)
3 2 1
3 2 0
e 2(1) e 3(1)
0
0 −1
3
1
−
0 −1 −1
1
0
−
2(1)
0 −1 −1
1
0
− −
6 −3 −6 3 1 −3 1 0 −2
(1)
0
0 −1
3
1
3(2)
0
0 −1
3
1
3 ⇒
A
Es ergeben sich aus 1(0) , 2(1) und 3(2) : 3 3 6 R = 0 −1 −1 , 0 0 −1
—
−
−3 r1 = 1 , 3
2 3 1 3
· 1(0) + 2(0)
1 3 2 3
· 1(0) + 3(0)
0 −1
· 1(0) + 3(0)
· 1(0) + 2(0)
· 2(1) + 3(1)
−6 r2 = 0 1
4.6 Matrizeninversion mit dem Gauß-Algorithmus
151
Die L¨osungen ergeben sich aus R x1 = r1
und
R x2 = r2
bzw. verk¨ urzt geschrieben R(x1 , x2 ) = (r1 , r2 )
bzw.
RX = R∗ ,
also
x1,1 3 3 6 0 −1 −1 x2,1 x3,1 0 0 −1 |{z} x1
x1,2 −3 x2,2 = 1 x3,2 3 |{z} |{z} r1 x2
Daraus ergeben sich rekursiv die L¨ osungen 3 −1 x1 = 2 , x2 = 1 −3 −1
4.6
−6 0 1 |{z} r2
Matrizeninversion mit dem Gauß-Algorithmus
Gegeben seien n lineare Gleichungssysteme aus n Gleichungen mit n Unbekannten Axi = ei ,
i = 1(1)n,
mit det A 6= 0, ei i-ter Einheitsvektor. Fasst man die n rechten Seiten ei zu der Einheitsmatrix E zusammen und die n L¨ osungsvektoren xi zu einer Matrix X , so lassen sich die n Systeme kompakt in der Form AX = E schreiben. Daraus resultiert gem¨ aß Definition der Inversen: X = A−1 , d. h. die n L¨osungsvektoren xi der n Systeme Axi = ei bauen spaltenweise die inverse Matrix A−1 auf. Man gewinnt A−1 , indem man die n Systeme mit dem Gaußschen Algorithmus l¨ost; auch hier ist die Spaltenpivotsuche unerl¨ asslich. Es sind 4n3 /3 − n/3 Punktoperationen erforderlich.
Algorithmus 4.57. (Ohne Spaltenpivotsuche) Gegeben: AX = E , A = (aik ), i, k = 1(1)n, streng regul¨ar. Gesucht:
X = A−1 .
1. Schritt: Faktorisierung A = LR gem¨ aß Satz 4.9 liefert L und R. 2. Schritt: Vorw¨artselimination E = LR∗ liefert R∗ . 3. Schritt: R¨ uckw¨ artselimination RX = R∗ liefert X = A−1 .
152
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.58. (Mit Spaltenpivotsuche) Gegeben: AX = E , A = (aik ), i, k = 1(1)n, A regul¨ar. Gesucht:
X = A−1 .
1. Schritt: Faktorisierung PA = LR gem¨ aß Satz 4.12 bzw. Algorithmus 4.52 liefert L und R. 2. Schritt: Vorw¨artselimination PE = LR∗ liefert R ∗ . 3. Schritt: R¨ uckw¨ artselimination RX = R∗ liefert X = A−1 . Man sollte dieses Verfahren nur anwenden, wenn A−1 explizit gebraucht wird. Auf keinen Fall sollte es zur L¨ osung von m Systemen Axi = yi , i = 1(1)m, durch xi = A−1 yi verwendet werden, weil dann 4n3 /3 − n/3 + mn2 Punktoperationen ben¨otigt werden im Gegensatz zu n3 /3 − n/3 + mn2 bei Anwendung des in Abschnitt 4.5.4 angegebenen Verfahrens. Beispiel 4.59. Gegeben: Die Matrix A = Gesucht:
2 1
3 4
.
Die Inverse A−1 .
L¨osung:
Rechenschema Bezeichnung der Zeilen
E
1(0) 2(0)
2 1
3 4
2(1)
0
+5 2
Gestaffeltes System ! ! 2 3 x11 x12 = 0 5 x21 x22 | {z } | {z 2 } R
A
A−1
1 −1 | 2{z
R∗
erfolgte Operationen
1 0 0 1 −1 2
1
!
0 1
⇒ A−1
— − 12 · 1(0) + 2(0)
1 = 5
}
Beispiel 4.60. Gegeben: Die Matrix
Gesucht:
Die Inverse A−1 .
2 −1 0 0 −1 2 −1 0 . A= 0 −1 2 −1 0 0 −1 2
4 −3 −1 2
! .
4.7 Verfahren f¨ ur Systeme mit symmetrischen Matrizen L¨osung:
Rechenschema Bezeichnung der Zeilen
A
1(0) 2(0) 3(0) 4(0)
2 −1 0 0 −1 2 −1 0 0 −1 2 −1 0 0 −1 2
1 0 0 0
3(1)
3 0 −1 0 2 0 −1 2 −1
1 2 0
4(1)
0
0 −1
3(2)
0
4(2)
0
4 3 0 −1
4(3)
0
0
x11 x21 x31 x41
(1)
2
Gestaffeltes System 2 −1 0 0 0 3 −1 0 2 4 0 0 −1 3 5 0 0 0 4 | {z }|
E 0 0 1 0
0 0 0 1
0
0
0
1
0
0
0
0
1
2 3 0
1
0
2
1 3 0
0
1
0
5 4
1 4
2 4
3 4
1
x12 x22 x32 x42
x13 x23 x33 x43
2 −1
0
x14 x24 x34 x44
{z
4 1 3 = 5 2 1
3 6 4 2
2 4 6 3
= }
A−1
⇒ A−1
0 1 0 0
erfolgte Operationen
1
R
4.7
153
|
—
−1 2
−2 3
−3 4
−
−
−
1 1 2 1 3 1 4
· 1(0) + 2(0)
· 2(1) + 3(1)
· 3(2) + 4(2)
0 0 0 0 2 1 0 3 2 3 1 4 {z 4 } 0 1
R∗
1 2 . 3 4
Verfahren fu ¨r Systeme mit symmetrischen Matrizen
Ist die Matrix A = (aik ), i, k = 1(1)n, in Ax = a symmetrisch (A = AT ), so gen¨ ugt es, die Elemente des oberen Dreiecks einschließlich der Diagonale zu speichern. F¨ ur Systeme mit symmetrischen, streng regul¨ aren Matrizen (det Ak 6= 0 f¨ ur alle k) und symmetrischen, positiv definiten (und damit streng regul¨aren) Matrizen, f¨ ur die det(Ak ) > 0 f¨ ur alle k gilt, werden im Folgenden L¨ osungsalgorithmen angegeben, die auf den S¨atzen 4.34,
154
4. L¨osung linearer Gleichungssysteme
4.37 und 4.38 aufbauen. Die Verfahren haben nur Sinn ohne Spaltenpivotsuche. Deshalb ist strenge Regularit¨ at stets Voraussetzung.
4.7.1
Systeme mit symmetrischer, streng regul¨ arer Matrix
Algorithmus 4.61. (Ohne Spaltenpivotsuche) Gegeben: Ax = a mit symmetrischer, streng regul¨arer Matrix A = (aik ), i, k = 1(1)n, und rechter Seite a = (ai ), i = 1(1)n. Gesucht: x = (xi ), i = 1(1)n. 1. Schritt: (Faktorisierung A = R T DR mit normierter oberer Dreiecksmatrix R und Diagonalmatrix D; es ergeben sich D und R bzw. RT ) 1.1 d11 = a11 a1k r1k = , d11
k = 2(1)n
1.2 F¨ ur jedes i = 2(1)n−1 i−1 P 2 1.2.1 dii = aii − djj rji j=1 i−1 X 1 1.2.2 ri,i+1 = ai,i+1 − djj rj,j+1 rj,j+2 dii j=1 n−1 P 2 1.3 dnn = ann − djj rjn j=1
2. Schritt: (Vorw¨ artselimination RT z = a ⇒ z a1 2.1 z1 = r11 2.2 F¨ ur jedes = 2(1)n j j−1 P 1 zj = aj − rij zi r jj i=1 2.3 F¨ ur jedes j = 1(1)n zj rj = djj 3. Schritt: (R¨ uckw¨ artselimination Rx = r ) rn 3.1 xn = rnn 3.2 F¨ ur jedes i = n−1(−1)1 n X 1 xi = ri − rik xk rii k=i+1
und
Dr = z ⇒ r )
4.7 Verfahren f¨ ur Systeme mit symmetrischen Matrizen
155
Die Durchf¨ uhrung des Verfahrens verl¨ auft analog zu Algorithmus 4.42. Hier ergeben sich auch negative Hauptdiagonalelemente der Matrix D (siehe auch Beispiel 4.43).
4.7.2
Systeme mit symmetrischer, positiv definiter Matrix. Cholesky-Verfahren
Ist die Matrix A in Ax = a symmetrisch (aik = aki ) und positiv definit (x T Ax > 0 f¨ ur alle x 6= 0 ), so kann das Cholesky-Verfahren angewandt werden; es ben¨otigt asymptotisch nur halb so viele Punktoperationen wie der Gaußsche Algorithmus und ca. halb so viel Speicherplatz. Im Anschluss werden zwei Darstellungsformen angegeben, die erste mit der Zerlegung A = RT R, die zweite mit der Zerlegung A = RT DR. Die zweite Form ist numerisch g¨ unstiger, da die Berechnung von Quadratwurzeln vermieden wird. Prinzip des Verfahrens f¨ ur die 1. Darstellungsform mit der Cholesky-Zerlegung A = RT R Mit der Zerlegung A = RT R, wo R = (rik ) eine obere Dreiecksmatrix mit rii > 0 ist, wird das System Ax = a in ein ¨ aquivalentes System Rx = r u uhrt in folgenden ¨berf¨ Schritten: 1. (Faktorisierung) A = RT R ⇒ R, 2. (Vorw¨artselimination) a = R T r ⇒ r , 3. (R¨ uckw¨artselimination) Rx = r ⇒ x . Durchf¨ uhrung des Verfahrens Die Elemente der Matrizen A, R, RT und des Vektors r werden wie folgt bezeichnet a11 a12 · · · a1n a2n a21 a22 · · · = AT , d. h. aik = aki A= .. .. ... . . an1 · · · an,n−1 ann r11 r12 · · · r1n r22 · · · r2n 0 , rii > 0 R= . .. ... . .. 0 ··· rnn r11 0 ··· 0 r1 0 r12 r22 r2 , rii > 0 . . RT = r = . . . .. .. .. .. r1n · · · r1,n−1 rnn rn Aus dem Koeffizientenvergleich A = RT R ergeben sich zeilenweise die Formeln f¨ ur die rik . Aus dem Koeffizientenvergleich a = RT r ergeben sich die ri durch Vorw¨artselimination und aus dem Koeffizientenvergleich Rx = r ergeben sich die xi durch R¨ uckw¨artselimination. Man erh¨ alt den
156
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.62. Gegeben: Ax = a mit symmetrischer, positiv definiter Matrix A = (aik ), i, k = 1(1)n, n ≥ 2, a = (ai ), i = 1(1)n. Gesucht: x = (xi ), i = 1(1)n. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. Schritt: (Zerlegung A = R T R) √ 1.1 r11 = a11 1.2 F¨ ur jedes j = 2(1)n−1 s 1.2.1 rjj =
ajj −
j−1 P i=1
2 rij
1.2.2 F¨ ur jedes k = j+1(1)n j−1 X 1 rjk = ajk − rik rij rjj i=1 s n−1 P 2 1.3 rnn = ann − rin i=1
2. Schritt: (Vorw¨ artselimination a = RT r ) a1 2.1 r1 = r11 2.2 F¨ ur jedes j = 2(1)n j−1 P 1 rj = aj − rij ri r jj i=1 3. Schritt: (R¨ uckw¨ artselimination Rx = r ) r n 3.1 xn = r nn 3.2 F¨ ur jedes i = n−1(−1)1 ! n X xi = r1 ri − rik xk ii k=i+1
F¨ ur die Determinante von A gilt: det A = det(RT ) det R = (r11 r22 . . . rnn )2 .
Beispiel 4.63. Gegeben: Das System Ax = a mit 2 0 −1 2 −1 , A= 0 −1 −1 2
1 a = 1 . 0
4.7 Verfahren f¨ ur Systeme mit symmetrischen Matrizen
157
Pr¨ ufung der Voraussetzungen f¨ ur die Anwendung des Cholesky-Verfahrens: Wegen aik = aki ist A = AT , also A symmetrisch. Außerdem sind s¨amtliche Hauptabschnittsdeterminanten (vgl. Definition 4.1) 2 0 =4>0, det(A1 ) = |2| = 2 > 0 , det(A2 ) = det A = 4 > 0 0 2 positiv, d. h. A ist positiv definit. 1. Weg: L¨osung des Systems Ax = a mit positiv definiter Matrix A gem¨aß Alg. 4.62 1. Schritt: A = RT R (Zerlegung) √ 2 2 0 −1 0 2 −1 = 0 − √12 −1 −1 2
√0 2 − √12
2. Schritt: a = RT r (Vorw¨ artselimination) √ 2 0 1 √ 1 = 2 0 0 0 0
√ 2 0 − √12 0 √ 0 0 2 − √12 . 1 0 0 1
√1 − √12 2 − √12 √12 . 1 1
3. Schritt: Rx = r (R¨ uckw¨ artselimination) √ √ 2 √0 − 12 √2 x1 0 2 − 12 2 x2 = x3 0 0 1
√
1 2 2√ 1 2 2
,
1
woraus sich rekursiv die L¨ osung x3 = x2 = x1 = 1 ergibt. Die L¨osung des Systems Ax = a mit dem Cholesky-Verfahren gem¨aß Algorithmus 4.62 kann verk¨ urzt wie folgt geschrieben werden (A, a) = (RT R, R T r ) = RT (R, r ) . Durch zeilenweisen Koeffizientenvergleich der Matrix (A, a) mit dem Matrizenprodukt RT (R, r ) k¨onnen die Matrix R und der Vektor r berechnet werden, danach aus Rx = r die L¨osung. √ √ 2 0 0 √1 2 0 −1 1 2 0 − √12 2 √ √ 2 0 √1 2 −1 1 = 0 0 0 2 − √12 . 2 − √12 − √12 1 −1 −1 2 0 0 0 1 1 |
{z A
}
|{z} a
|
{z RT
}
Das gestaffelte System Rx = r lautet √ √ 2 0 − 12 2 x1 √ √ 2 − 12 2 x2 = 0 x3 0 0 1
|
{z R
√
1 2 2 √ 1 2 2
1
.
}
|{z} r
158
4. L¨osung linearer Gleichungssysteme
2. Weg: Prinzip des Verfahrens in der 2. Darstellungsform mit der Zerlegung A = RT DR Mit der Zerlegung A = RT DR, wobei D eine Diagonalmatrix und R eine normierte obere Dreiecksmatrix ist, wird das System Ax = a gem¨aß Algorithmus 4.61 in ein a¨quivalentes System Rx = r u uhrt. Die Zerlegung wird so vorgenommen, dass die ¨bergef¨ Anzahl der Punktoperationen wie in der 1. Darstellung n3 /6 + O(n2 ) ist. Durchf¨ uhrung des Verfahrens Es werden folgende Bezeichnungen benutzt: d1 1 r12 · · · r1n r1 z1 · · · r2n d2 1 r23 r 2 .. , r = , z = z2 .. .. .. , R = D = . . . . ... ... . dn−1 1 rn−1,n rn zn dn 1
Algorithmus 4.64. Gegeben: Ax = a mit symmetrischer, positiv definiter Matrix A = (aik ), i, k = 1(1)n, n ≥ 2, a = (ai ), i = 1(1)n. Gesucht: x = (xi ), i = 1(1)n . Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. (Faktorisierung A = RT DR) 1.1 d1 = a11 1.2 F¨ ur jedes j = 1(1)n: 1.2.1 F¨ ur jedes i = 1(1)j−1 hi = rij di (Zwischenspeicher)
f¨ ur j > 1
j−1
1.2.2 dj = ajj −
X
hi rij
f¨ ur j = 2(1)n
i=1
1.2.3 F¨ ur jedes k = j+1(1)n ! j−1 X rjk = 1 ajk − hi rik dj i=1
2. (Vorw¨artselimination R T z = a, Dr = z ) 2.1 z1 = a1 2.2 zj = aj −
j−1 X
rij zi
f¨ ur j = 2(1)n
i=1
2.3 rj = zj /dj
f¨ ur j = 1(1)n
f¨ ur j ≤ n−1
4.7 Verfahren f¨ ur Systeme mit symmetrischen Matrizen
159
3. (R¨ uckw¨artselimination Rx = r ) 3.1 xn = rn n X
3.2 xj = rj −
rji xi
f¨ ur j = n−1(−1)1
i=j+1
Wenn man bei der Faktorisierung den Koeffizientenvergleich zwischen A und RT DR in etwas anderer Form ausf¨ uhrt, k¨ onnen gegen¨ uber Algorithmus 4.64 noch n(n − 1)/2 Punktoperationen eingespart werden, vgl. dazu [MAES1985], S. 77. Dann ergibt sich der folgende Algorithmus 4.65.
Algorithmus 4.65. Gegeben: Ax = a mit symmetrischer, positiv definiter Matrix A. Gesucht: x = (xi ), i = 1(1)n. 1. (Faktorisierung A = RT DR) F¨ ur jedes j = 1(1)n 1.1 F¨ ur jedes i = 1(1)j−1 1.1.1 h = aij 1.1.2 rij = h/di 1.1.3 F¨ ur jedes k = i+1(1)j akj wird durch akj − hrik ersetzt 1.2 dj = ajj 2. (Vorw¨artselimination RT z = a , Dr = z ) F¨ ur jedes j = 1(1)n 2.1 zj = aj 2.2 F¨ ur jedes i = 1(1)j−1 zj := zj − rij zi 2.3 rj = zj /dj 3. (R¨ uckw¨artselimination Rx = r ) F¨ ur jedes j = n(−1)1 3.1 xj = rj 3.2 F¨ ur jedes i = j+1(1)n xj := xj − rji xi F¨ ur die Determinante von A gilt: det A = det(RT ) det D det R = det D = d1 d2 . . . dn .
160
4. L¨osung linearer Gleichungssysteme
4.7.3
Systeme mit symmetrischer, positiv definiter Matrix. Verfahren der konjugierten Gradienten (CG-Verfahren)
Ist die Matrix A symmetrisch und positiv definit, so kann auch das Verfahren der konjugierten Gradienten (CG-Verfahren) angewandt werden. Anstelle des linearen Gleichungssystems Ax = a wird hier iterativ die ¨ aquivalente Minimierungsaufgabe gel¨ost. Es gilt der Satz 4.66. Die folgenden Aufgaben sind ¨ aquivalent: (i) l¨ose Ax = a und (ii) minimiere F (x ) = 12 x T Ax − x T a. Der Beweis ergibt sich sofort mit der Hilfsfunktion E(x ) =
1 (Ax − a )T A−1 (Ax − a ) . 2
Da auch A−1 positiv definit ist, ist E(x ) ≥ 0. Somit ist E(x ) genau dann minimal, wenn gilt Ax − a = 0 . Die Berechnung von E(x ) ergibt unter Verwendung von AT = A E(x ) = F (x ) +
1 T −1 a A a . 2 | {z } ≥0
Daraus folgt, dass E(x ) und F (x ) an derselben Stelle minimal sind, d. h. ! F (x ) = Min. ⇐⇒ Ax − a = 0 . Die Richtung des st¨ arksten Abstiegs einer Funktion ist durch ihren negativen Gradienten gegeben. F¨ ur F gilt : grad F (x ) = Ax − a . Es besteht also die Aufgabe, jenen Punkt zu suchen, in dem der Gradient verschwindet.
Algorithmus 4.67. (CG-Verfahren) Gegeben ist eine symmetrische, positiv definite (n, n)-Matrix A. Gesucht ist die L¨ osung x des linearen Gleichungssystems Ax = a . 1. Startpunkt x0 ∈ Rn (beliebig) d0 = −g0 = −(Ax0 − a). Falls g0 = 0 , kann abgebrochen werden, x0 ist dann L¨osung. 2. F¨ ur k = 0, 1, . . . , n−1 werden nacheinander berechnet: 2.1 αk = −
dkT gk dkT Adk
2.2 xk+1 = xk + αk dk
mit
{xk+1 ∈ x0 + Uk+1 (d0 , . . . , dk )}
4.7 Verfahren f¨ ur Systeme mit symmetrischen Matrizen
161
2.3 gk+1 = gk + αk Adk mit {gk+1 ⊥ d0 , . . . , dk , gk+1 ∈ / Uk+1 (d0 , . . . , dk )} Gilt zu vorgegebenem ε > 0 kgk+1 k∞ < ε, dann kann abgebrochen werden mit xk+1 als L¨ osung. 2.4 βk =
T gk+1 Ad k
dT k Ad k 2.5 dk+1 = −gk+1 + βk dk mit {dk+1 ⊥ Adk , dk+1 ∈ / Uk+1 (d0 , . . . , dk )}
F¨ ur k = n − 1 (d. h. im n-ten Schritt) erh¨ alt man Un (d0 , d1 , . . . , dn−1 ) = Rn , denn dn 6= 0 mit dn ∈ / Un = Rn kann nicht existieren! Das CG-Verfahren kann sowohl den direkten Verfahren zugerechnet werden, weil es nach genau n Schritten bis auf Rundungsfehler die exakte L¨osung liefert, als auch den iterativen Verfahren, weil es im Allgemeinen wegen der raschen Konvergenz bereits nach wenigen Schritten eine ausreichend gute L¨ osung liefert. Vorteile des Verfahrens sind • die leichte Vektorisierbarkeit und Parallelisierbarkeit • die rasche Konvergenz; ihre Geschwindigkeit h¨angt allerdings von der Kondition der Matrix A ab; je besser die Kondition um so geringer die ben¨otigte Schrittzahl bei vorgegebener Genauigkeit. Ein Nachteil des Verfahrens ist die große Empfindlichkeit gegen Rundungsfehler. Dass das Verfahren im Gegensatz zum Gauß-Algorithmus leicht vektorisierbar und parallelisierbar ist, ergibt sich aus der Art der Operationen, die pro Iterationsschritt auszuf¨ uhren sind. Es sind pro Schritt drei Skalarprodukte zu berechnen und eine MatrixVektor-Multiplikation (Adk ). Da diese Operationen bei herk¨ommlicher Verarbeitung ca. 97 % der Rechenzeit ausmachen, muss hier auf besonders effektive Berechnung geachtet werden. In der Literatur ist eine Variante des CG-Verfahrens, das sogenannte CG-Verfahren mit Vorkonditionierung zu finden. Man erreicht damit eine Verringerung der Zahl der Iterationsschritte bei erh¨ ohtem Rechenaufwand pro Schritt. Das Verfahren ist z. B. in [BUNS1995], S. 156 ff., [SCHW1991], [SCHW1988], [MAES1985], S. 132-133 beschrieben. Geometrische Interpretation des CG-Verfahrens f¨ ur den Fall n = 2: F (x, y) ist dann ein elliptisches Paraboloid, die H¨ ohenlinien sind Ellipsen, die Grundrisse der H¨ohenlinien sind a hnliche Ellipsen mit demselben Mittelpunkt. ¨ F¨ ur diesen Fall beinhaltet das Verfahren der konjugierten Gradienten folgende Konstruktionsschritte, die in der Abbildung erkennbar sind.
162
4. L¨osung linearer Gleichungssysteme
1. W¨ahle x0 auf einer Ellipse 2. Konstruiere die Tangente in x0 : t0 3. Konstruiere die Normale in x0 : n0 = t⊥ 0 4. Halbiere die auf n0 liegende Sehne der Ellipse : x1 5. Konstruiere den zu x0 x1 konjugierten Durchmesser durch x1 ; er verbindet die Punkte der Ellipse, deren Tangenten zu x0 x1 parallel sind. 6. Halbiere den Durchmesser : x2
....................................................................... ...................... ... ................... .............. ........... ... ... ........... ......... ... ... ......... . . . . ........ . . . ... ....... .... ..... . . . ... . . . ...... ... .... . . . ...... ... . . . . ... ... ..... .. .... . . . . . . ........ .. ... ... ............................................................. ..... ....... ... ... ......... ..... ............ .... ...... ... ....... ... ......... ... .... .... ...... ........ ... . ... . ... . . . ........ ... .. .... ........... ... . . . ... . 1 . . . . . . . . . . . . . . . . . ... ... ......... .... .... .. ...... ... .. . . . . . . . . . . . . . . . . ... .. ...... ... .. ...... ................ . . . . . . . . . 2 . . . . . ... .. . . . . .. .. . . . . . . . . ..... ..... ... ... ... .......................... ...... .. .... .. ... ..... ......................... . . . . . . . . . . . . . . .. .. . . . . . . . . . . . . . . . . . . . ..... . ... ................. . ..... . . . . . . . . . . . . 1 1 . . ..... . . . . . . .. ........ ... . .... .... .. . . . . . . . . . . . . . . . . . . . . . . . . . . 0 0 ... ....................... .......... ... .. .. .... .... ...... ..... ... .......... ... ... .... .... .. . . ... .... .... .... . ........ ........... .... ...... ... ... ......... ... .................................................................. ............... ... ... . ......... . . . . . . ... ...... ... ... ...... ... ....... ... ................. ... ... ........ ........... ..... ... .. ........ ... ... 0 ......... .. .. .. ......... ... ............. ................. .......... .. ................. ............. ............ ...... ................. 0 ......... ........................................................................................... ............ ... . ... ....... ... ....... ... ...... . . . . . . ... .... . . . . ... . . ..... ... . . . . . ... 1 ...... .
x r ]
x r9 −α d
Zur Richtung g konjugierter Durchmesser durch x
−α g x
r
Normale n0 in x0 ist Tangente t1 in x1
Tangente t0 in x0
Abb. 4.7. Geometrische Interpretation des CG-Verfahrens
Beispiel 4.68. Gegeben: Das Gleichungssystem Ax = b mit der symmetrischen und positiv definiten Matrix A sowie der rechte Seite b A=
5.0000 −2.0000
−2.0000 10.0000
,
b=
Gesucht:
Die L¨osung x mittels CG-Verfahren (Alg. 4.67)
1.
Es werden gesetzt x0 =
1.0000 1.0000
,
d0 =
−1.0000 −6.0000
2.0000 2.0000
,
g0 =
1.0000 6.0000
4.7 Verfahren f¨ ur Systeme mit symmetrischen Matrizen F¨ ur k = 0 wird berechnet
F¨ ur k = 1 wird berechnet
Schritt Rechnung 2.1 2.2 2.3
163
Schritt Rechnung
α0 = 0.108504 0.8915 x1 = x0 + α 0 d0 = 0.3490 1.7595 g1 = g0 + α0 A d0 = −0.2933
2.4
β0 = 0.085999
2.5
d1 = −g0 + β0 d0 =
2.1
α1 = 0.200353
2.2
x2 = x1 + α1 d1 =
2.3
0.5217 0.3043 −0.0000 g2 = g1 + α1 A d1 = 0.0000
−1.8455 −0.2227
Da die Norm von g2 verschwindet, wird x2 als L¨osung verwendet. Probe: A ·
0.5217 0.3043
=
2.0000 2.0000
! =a
Beispiel 4.69. Gegeben: Das lineare Gleichungssystem Ax = b mit A=
7 2 −1 2 −1 2 7 2 −1 2 −1 2 7 2 −1 , 2 −1 2 7 2 −1 2 −1 2 7
b =
−13 8 3 −8 19
Gesucht:
Die L¨osung x unter Anwendung des CG-Verfahrens (Alg. 4.67).
L¨osung:
Da A symmetrisch ist und alle Hauptabschnittsdeterminanten (7, 45, 272, 1280 und 3072) positiv sind, A also auch positiv definit ist, ist das CGVerfahren anwendbar. Der Algorithmus f¨ uhrt folgende Schritte durch: x0 =
1.0000 1.0000 1.0000 1.0000 1.0000
,
g0 =
22.0000 4.0000 6.0000 20.0000 −10.0000
,
d0 =
−22.0000 −4.0000 −6.0000 −20.0000 10.0000
164
4. L¨osung linearer Gleichungssysteme
α0 = 0.113646 , −1.5002 0.5454 x1 = 0.3181 −1.2729 2.1365 α1 = 0.169390 , −1.3693 0.6952 x2 = 0.7739 −1.4479 2.9170 α2 = 1.082218 1.0000 −2.0000 x3 = 3.0000 −4.0000 5.0000
, g1 =
, g2 =
, g3 =
Norm von g3 verschwindet
⇒
−1.4111 −1.0004 −2.8644 0.4528 −4.3177
−1.7809 2.9576 −0.6360 1.8127 0.5088
−0.0000 0.0000 −0.0000 −0.0000 0.0000
β0 = 0.029001 0.7731 0.8844 d1 = 2.6904 −1.0328 4.6077 β1 = 0.528165 2.1893 −2.4905 d2 = 2.0570 −2.3582 1.9248
x3 ist L¨osung.
Damit erh¨alt man als L¨ osung x des Gleichungssystems x3 = (1, −2, 3, −4, 5)T .
4.8
Das Gauß-Jordan-Verfahren
Das Gauß-Jordan-Verfahren ist eine Modifikation des Gaußschen Algorithmus, welche die rekursive Berechnung der L¨ osungen xi gem¨ aß (4.8) erspart. Der erste Schritt des Verfahrens ist identisch mit dem ersten Eliminationsschritt des Gaußschen Algorithmus; (1) man erh¨alt somit (4.6). Die Gleichungen 2 bis n sind so umgeordnet, dass a22 das be(1) tragsgr¨oßte Element der ai2 f¨ ur i = 2(1)n ist. Jetzt wird die 2. Gleichung von (4.6) (0) (1) (1) (1) nacheinander f¨ ur i = 1 mit −a12 /a22 und f¨ ur i = 3(1)n mit −ai2 /a22 multipliziert und jeweils zur i-ten Gleichung addiert. Man erh¨ alt nach diesem ersten Jordan-Schritt ein Gleichungssystem der Form (1) (1) (1) (1) (1) a11 x1 + a13 x3 + a14 x4 + . . . + a1n xn = a1 , (1) (1) (1) (1) (1) a22 x2 + a23 x3 + a24 x4 + . . . + a2n xn = a2 , (1) (1) (1) (1) a33 x3 + a34 x4 + . . . + a3n xn = a3 , (4.11) . .. (1) (1) (1) (1) an3 x3 + an4 x4 + . . . + ann xn = an .
4.9 Gleichungssysteme mit tridiagonaler Matrix (1)
(0)
(1)
165
(1)
Dabei ist a11 = a11 und a22 = a22 ; f¨ ur diese unver¨anderten und f¨ ur die neu gewonnenen Elemente soll die Bezeichnung mit dem oberen Index verwendet werden. Die Gleichungen (1) (1) 3 bis n von (4.11) sind bereits so umgeordnet, dass a33 das betragsgr¨oßte Element der ai3 f¨ ur i = 3(1)n ist. In einem zweiten Jordan-Schritt multipliziert man die dritte Gleichung (1) (1) von (4.11) mit −ai3 /a33 f¨ ur i = 1(1)n und i 6= 3 und addiert sie zur i-ten Gleichung. So fortfahrend erh¨ alt man nach n − 1 Jordan-Schritten schließlich n Gleichungen der (n−1) (n−1) Form aii xi = a i , i = 1(1)n, aus denen sich unmittelbar die xi berechnen lassen. Da die Anzahl der Punktoperationen n3 /2 + O(n2 ) ist und beim Gauß-Algorithmus nur n3 /3 + O(n2 ), ist der Gauß-Algorithmus vorzuziehen !
4.9
Gleichungssysteme mit tridiagonaler Matrix
4.9.1
Systeme mit tridiagonaler Matrix
Eine Matrix A = (aik ) heißt tridiagonal, falls gilt aik = 0 f¨ ur |i − k| > 1, i, k = 1(1)n, n ≥ 3. Ein Gleichungssystem (4.1) bzw. (4.2) mit tridiagonaler Matrix hat die Gestalt
a11 a21
a12 a22 a32
a23 a33 .. . an−1,n−2
a34 .. .
..
an−1,n−1 an,n−1
an−1,n ann
.
xn−1 xn
x1 x2 x3 .. .
a1 a2 a3 .. .
= an−1 an
.
(4.12)
Prinzip des Verfahrens Das System Ax = a l¨ asst sich mit der Zerlegung A = LR, wo L eine bidiagonale untere Dreiecksmatrix und R eine normierte bidiagonale obere Dreiecksmatrix ist, in ein ¨aquivalentes System Rx = r u uhren. Voraussetzung f¨ ur die Zerlegbarkeit ohne ¨berf¨ Zeilenvertauschung ist strenge Regularit¨ at von A, d. h. es muss gelten (siehe Satz 4.9) det(Ak ) 6= 0 f¨ ur
k = 1(1)n−1 .
Ist diese Voraussetzung verletzt, muss mit Spaltenpivotsuche gearbeitet werden, wodurch ¨ sich jedoch im Allgemeinen die Bandbreite erh¨ oht (vgl. Abschnitt 4.12). Die Uberf¨ uhrung von Ax = a in Rx = r erfolgt in den Schritten: 1. (Faktorisierung)
A = LR
⇒ L,R ,
2. (Vorw¨artselimination)
a = Lr
⇒ r,
3. (R¨ uckw¨artselimination)
Rx = r
⇒ x.
166
4. L¨osung linearer Gleichungssysteme
Durchf¨ uhrung des Verfahrens Die Elemente der Matrizen A , L , R werden wegen vektorieller Speicherung der Diagonalen wie folgt bezeichnet d1 c1 1 γ1 b2 d2 c2 1 γ2 .. .. .. .. .. A = , R = , . . . . . b d c 1 γ n−1 n−1 n−1 n−1 bn dn 1 (4.13) α1 r1 β2 α2 r2 L= r = . . , .. .. .. . . β n αn rn 1. A = LR =⇒ d1 c1 α1 1 γ1 b2 d2 c2 β2 α2 1 γ2 b3 d3 c3 β3 α3 1 γ3 A= = .. .. .. .. .. .. .. . . . . . . . bn−1 dn−1 cn−1 βn−1 αn−1 1 γn−1 b n dn βn αn 1 α1 α1 γ1 β2 β2 γ1 + α2 α2 γ2 β3 β3 γ2 + α3 α3 γ3 = .. .. .. . . . βn−1 βn−1 γn−2 + αn−1 αn−1 γn−1 βn βn γn−1 + αn Koeffizientenvergleich liefert: α1
= d1
⇒
α1 = d1
am
c1
= α1 γ 1
⇒
γ1 =
c1 α1
bm
βi = bi
cm i = 2(1)n dm i = 2(1)n
bi γi−1 + αi
= di
⇒
αi = di − bi γi−1
αi γi
= ci
⇒
γi =
ci αi
em i = 2(1)n−1
immer zeilenweise, also zuerst am, dann bm, dann dmund emf¨ ur i = 2(1)n−1 m m c und anschließend d f¨ ur i = n; ist nur Umbenennung.
4.9 Gleichungssysteme mit tridiagonaler Matrix 2. Vorw¨artselimination a = L r a1 α1 a2 b2 a3 .. = . an−1 an
167
α2 b3
α3 .. .
..
. bn−1
αn−1 bn
Beginnend mit der 1. Zeile erh¨ alt man a 1 = α 1 r1
=⇒
r1 =
αn
r1 r2 r3 .. .
rn−1 rn
a1 α1
und f¨ ur i = 2(1)n ri = (ai − bi ri−1 ) / αi . 3. R¨ uckw¨artselimination R x = r 1 γ1 1 γ2 1 γ3 .. .
.. 1
. γn−1 1
x1 x2 x3 .. .
xn−1 xn
r1 r2 r3 .. .
= rn−1 rn
Beginnend mit der letzten Zeile erh¨ alt man xn = rn und f¨ ur i = n−1, n−2, . . . , 2, 1 xi = ri − γi xi+1 .
Algorithmus 4.70. Gegeben: Ax = a mit tridiagonaler Matrix A, det (Ak ) 6= 0 f¨ ur k = 1(1)n−1, n ≥ 3. Gesucht: x = (xi ), i = 1(1)n. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. (Zerlegung A = LR) 1.1 α1 = d1 1.2 γ1 = c1 /α1 1.3 F¨ ur jedes i = 2(1)n−1 sind zu berechnen: 1.3.1 αi = di − bi γi−1 1.3.2 γi = ci /αi 1.4 αn = dn − bn γn−1
168
4. L¨osung linearer Gleichungssysteme
2. (Vorw¨artselimination a = Lr ) 2.1 r1 = a1 /d1 2.2 F¨ ur jedes i = 2(1)n sind zu berechnen: ri = (ai − bi ri−1 )/αi 3. (R¨ uckw¨artselimination Rx = r ) 3.1 xn = rn 3.2 F¨ ur jedes i = n−1(−1)1 sind zu berechnen: xi = ri − γi xi+1
Anzahl der Punktoperationen: zu 1. 1 + (n−1) + (n−2) = 2(n−1);
zu 2. 1 + 2(n−1);
zu 3. n−1.
Insgesamt sind dies 2(n − 1) + 1 + 2(n − 1) + n − 1 = 5n − 4 Punktoperationen. Im Vergleich dazu ben¨ otigt der Gauß-Algorithmus f¨ ur vollbesetzte Matrizen n3 n + n2 − 3 3 Punktoperationen, d. h. zum Beispiel bei n = 1000 ben¨otigt der Gauß-Algorithmus ∼ 109 /3 Punktoperationen, w¨ ahrend das Verfahren speziell f¨ ur tridiagonale Matrizen nur knapp 5 000 Punktoperationen erfordert. Beispiel 4.71. Gegeben: Das Gleichungssystem Ax = a mit 2 −1 0 0 −1 2 −1 0 0 −1 2 −1 0 0 −1 2 Gesucht:
x1 −5 x2 1 x3 = 4 x4 −1
Die L¨osung x mit dem Algorithmus 4.70.
L¨osung: 1. Zerlegung A = LR
2 −1 0 0
−1 2 −1 0
0 −1 2 −1
2 0 −1 0 = −1 0 2 0
0 3 2
−1 0
0 0 4 3
−1
0 1 0 0 0 0 5 0 4
−1 2
1 0 0
0 −2 3
1 0
0 0 −3 4 1
4.9 Gleichungssysteme mit tridiagonaler Matrix
169
2. Vorw¨artselimination Lr = a 2 0 0 0 3 −1 0 0 2 4 0 −1 0 3 5 0 0 −1 4
r1 −5 1 r2 = r3 4 r4 −1
3. R¨ uckw¨artselimination Rx = r 1 −1 0 0 2 0 1 −2 0 3 −3 0 0 1 4 0 0 0 1
−5 x1 2 x2 = −1 9 x3 4 x4 1
−5 r1 2 r2 −1 = 9 r3 4 r4 1
=⇒
=⇒
−2 1 x = 3 . 1
Die tridiagonale Matrix A (4.13) ist regul¨ ar, d. h. det A 6= 0, wenn gilt: |d1 | > |c1 | > 0 bi ci 6= 0 f¨ ur
i = 2(1)n−1
|di | ≥ |bi | + |ci | |dn | > |bn | > 0 .
f¨ ur
i = 2(1)n−1 .
Es liegt dann eine tridiagonale, diagonaldominante Matrix vor. ([CONT1987], S. 184). F¨ ur die Determinante einer tridiagonalen Matrix A gilt mit A = LR, (4.12) und (4.13) wegen det R = 1 det A = det L det R = det L = α1 α2 . . . αn . Bei Gleichungssystemen mit symmetrischen, tridiagonalen bzw. zyklisch tridiagonalen, diagonaldominanten und anderen positiv definiten Matrizen ist der Gaußsche Algorithmus auch ohne Pivotsuche numerisch stabil; Konditionsverbesserung und Nachiteration tragen nicht zur Verbesserung der L¨ osung bei (s. [FORS1971], 8, 10, 11; [SPAT1986], S.15, [WILK1961]). In allen anderen F¨ allen ist Pivotsuche erforderlich. Dadurch kann sich jedoch die Bandbreite (s. Abschnitt 4.12) erh¨ohen, sie kann sich aber h¨ochstenfalls verdoppeln.
4.9.2
Systeme mit symmetrischer, tridiagonaler, positiv definiter Matrix
Ist A eine symmetrische, tridiagonale, positiv definite (n, n)-Matrix, so kann bei der L¨osung des Systems Ax = a ein zum Cholesky-Verfahren ¨aquivalentes Verfahren an¨ gewandt werden; es kann dabei Speicherplatz eingespart werden. Die Uberf¨ uhrung von Ax = a in ein ¨aquivalentes System Rx = r geschieht gem¨aß Algorithmus 4.64 in den Schritten: 1. Faktorisierung: 2. Vorw¨artselimination: 3. R¨ uckw¨artselimination:
A = RT DR RT z = a Dr = z Rx = r
⇒ R und D , ⇒ z, ⇒ r, ⇒ x.
170
4. L¨osung linearer Gleichungssysteme
Durchf¨ uhrung des Verfahrens Die Elemente von A , R , D , r , z und x werden wie folgt bezeichnet:
d1 c1 A= D=
c1 d2 .. .
c2 ..
.
cn−2
α1
..
dn−1 cn−1
α2 ..
. cn−1 dn
, r =
. αn
1
γ1 1
, R = r1 r2 .. .
γ2 .. .
..
.
1
, z =
rn
z1 z2 .. .
, x =
zn
,
γn−1 1 x1 a1 a2 x2 .. , a = .. . . xn an
Algorithmus 4.72. Gegeben: Ax = a, A symmetrisch, tridiagonal, positiv definit. Gesucht: x = (xi ), i = 1(1)n. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. (Zerlegung A = R T DR) 1.1 α1 = d1 1.2 γ1 = c1 /α1 1.3 F¨ ur jedes i = 2(1)n−1 sind durchzuf¨ uhren: 1.3.1 αi = di − ci−1 γi−1 1.3.2 γi = ci /αi 1.4 αn = dn − cn−1 γn−1 2. (Vorw¨artselimination RT z = a , Dr = z ) 2.1 z1 = a1 2.2 F¨ ur jedes i = 2(1)n ist zu berechnen: zi = ai − γi−1 zi−1 2.3 F¨ ur jedes i = 1(1)n ist zu berechnen: ri = zi /αi 3. (R¨ uckw¨artselimination Rx = r ) 3.1 xn = rn 3.2 F¨ ur jedes i = n−1(−1)1 ist zu berechnen: xi = ri − γi xi+1 F¨ ur die Determinante von A gilt det A = det(RT DR) = det(R T ) det D det R = det D = α1 α2 . . . αn .
4.9 Gleichungssysteme mit tridiagonaler Matrix
171
Beispiel 4.73. Gegeben: Das Gleichungssystem
2 −1 0 0 Gesucht:
−1 2 −1 0
0 −1 2 −1
0 x1 x2 0 −1 x3 2 x4
−5 1 = 4 −1
Die L¨osung x mit dem Algorithmus 4.72.
L¨osung: 1. Zerlegung A = RT DR
2 −1 0 0 1 0 0 −1 −1 2 −1 0 1 0 = 2 0 −1 2 −1 0 − 23 1 0 0 −1 2 0 0 − 34
0 2 0 0 0 1 − 12 0 0 3 2 0 0 0 0 0 1 − 0 2 3 0 0 0 43 0 0 0 1 − 34 1 0 0 0 54 0 0 0 1
2. Vorw¨artselimination RT z = a, Dr = z
0 0 −1 0 0 2 0 −2 1 0 3 0 0 − 34 1 1
2 0 0 0
0 1
0 3 2
0 0
0 0 4 3
0
0 r1 r2 0 0 r3 5 r4 4
z1 −5 1 z2 = z3 4 z4 −1
−5 3 ⇒ z = −2 3
5 −5 −2 −3 −1 = 2 ⇒r = 9 3 4 5 1 4
5 4
3. R¨ uckw¨artselimination Rx = r 1 − 12 0 0 x1 0 x2 1 − 23 0 0 0 1 − 34 x3 x4 0 0 0 1
− 52 −2 −1 = 9 ⇒ x = 1 . 3 4 1 1
172
4. L¨osung linearer Gleichungssysteme
4.10
Gleichungssysteme mit zyklisch tridiagonaler Matrix
4.10.1
Systeme mit zyklisch tridiagonaler Matrix
Eine Matrix A = (aik ), i, k = 1(1)n, n ≥ 4, heißt zyklisch tridiagonal, falls gilt aik = 0 f¨ ur 1 < |i − k| < n − 1, i, k = 1(1)n. Es sei Ax = a ein System mit zyklisch tridiagonaler Matrix A. Prinzip des Verfahrens Das System kann mit der Zerlegung A = LR in ein a¨quivalentes System Rx = r u uhrt werden, sofern det(Ak ) 6= 0 f¨ ur k = 1(1)n−1 gilt. Die L¨osung erfolgt gem¨aß ¨ berf¨ Algorithmus 4.42 in den Schritten: 1. (Faktorisierung) A = LR ⇒ L und R , 2. (Vorw¨artselimination) Lr = a ⇒ r , 3. (R¨ uckw¨artselimination) Rx = r ⇒ x . Durchf¨ uhrung des Verfahrens Die Elemente von A, L, R, r , x , a werden wie folgt bezeichnet 1 γ1 d1 c1 e1 1 γ2 b2 d2 c2 .. .. .. .. .. . . A= , R = . . . bn−1 dn−1 cn−1 cn bn dn
α1 β2 L= ε3
α2 ..
.
ε4 · · ·
..
.
βn−1 εn
αn−1 βn
αn
r1 r2 , r = .. . rn
, a =
δ1 δ2 .. . γn−2 1
a1 a2 .. . an
δn−2 γn−1 1
,x =
,
x1 x2 .. .
.
xn
Analog zur Vorgehensweise bei den tridiagonalen Systemen (Algorithmus 4.70) ergeben sich auch hier durch Koeffizientenvergleich die Elemente von L, R, r und schließlich von der L¨osung x .
4.10 Gleichungssysteme mit zyklisch tridiagonaler Matrix
Algorithmus 4.74. Gegeben: Ax = a mit zyklisch tridiagonaler Matrix A und det (Ak ) 6= 0 f¨ ur k = 1(1)n−1, n ≥ 4. Gesucht: x = (xi ), i = 1(1)n. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. (Faktorisierung A = LR) 1.1 α1 = d1 1.2 γ1 = c1 /α1 1.3 δ1 = e1 /α1 1.4 F¨ ur jedes i = 2(1)n−2 sind durchzuf¨ uhren: 1.4.1 αi = di − bi γi−1 1.4.2 γi = ci /αi 1.4.3 βi = bi 1.4.4 δi = −βi δi−1 /αi 1.5 αn−1 = dn−1 − bn−1 γn−2 1.6 βn−1 = bn−1 1.7 ε3 = cn 1.8 F¨ ur jedes i = 4(1)n ist zu berechnen: εi = −εi−1 γi−3 1.9 γn−1 = (cn−1 − βn−1 δn−2 )/αn−1 1.10 βn = bn − εn γn−2 n X 1.11 αn = dn − εi δi−2 − βn γn−1 i=3
2. (Vorw¨artselimination Lr = a ) 2.1 r1 = a1 /α1 2.2 F¨ ur jedes i = 2(1)n−1 ist zu berechnen: ri = (ai − ri−1 βi )/αi n X 2.3 rn = (an − εi ri−2 − βn rn−1 )/αn i=3
3. (R¨ uckw¨artselimination Rx = r ) 3.1 xn = rn 3.2 xn−1 = rn−1 − γn−1 xn 3.3 F¨ ur jedes i = n−2(−1)1 ist zu berechnen: xi = ri − γi xi+1 − δi xn F¨ ur die Determinante von A gilt: det A = det L det R = det L = α1 α2 . . . αn .
173
174
4. L¨osung linearer Gleichungssysteme
Beispiel 4.75. Gegeben: Das Gleichungssystem Ax = a mit zyklisch tridiagonaler Matrix A und det(Ak ) 6=0 f¨ ur k = 1(1)4 2 −1 0 0 1 x1 5 −1 2 −1 0 0 x2 −8 0 −1 x3 = 9 . 2 −1 0 0 0 −1 2 −1 x4 −6 −1 0 0 −1 2 x5 2 Gesucht:
x = (xi ), i = 1(1)5 mit dem Algorithmus 4.74
L¨osung: 1. Faktorisierung A = LR: 2 0 0 0 2 −1 0 0 1 3 0 0 2 −1 0 0 −1 −1 2 4 0 −1 2 −1 0 = 0 −1 0 3 5 0 0 −1 2 −1 0 0 −1 4 −1 0 0 −1 2 −1 − 12 − 13 − 54 2. Vorw¨artselimination Lr = a 2 0 0 0 3 0 0 −1 2 4 0 −1 0 3 5 0 −1 0 4 1 −1 − 2 − 13 − 54
0 0 0 0 2
3. R¨ uckwartselimination Rx = r 1 1 − 12 0 0 2 1 1 − 23 0 0 3 3 1 0 0 1 −4 4 0 0 0 1 − 35 0 0 0 0 1
x1 x2 x3 x4 x5
r1 r2 r3 r4 r5
=
5 −8 9 −6 4
5 2 − 11 3
= 4 8 − 5 1
0 0 0 0 2
1 1 − 12 0 0 2 1 0 1 − 23 0 3 1 0 0 1 − 34 4 0 0 0 1 − 35 0 0 0 0 1
5 2 − 11 3
r = 4 8 −5 2
⇒
x =
⇒
1 −2 3 −1 1
4.10 Gleichungssysteme mit zyklisch tridiagonaler Matrix
4.10.2
175
Systeme mit symmetrischer, zyklisch tridiagonaler Matrix
Die Matrix A = (aik ), i, k = 1(1)n, sei zyklisch tridiagonal, symmetrisch und positiv definit. Prinzip des Verfahrens Zur L¨osung eines Systems Ax = a mit einer zyklisch tridiagonalen, symmetrischen, positiv definiten Matrix A kann ein zum Cholesky-Verfahren a¨quivalentes Verfahren angewandt werden. Es kann gegen¨ uber 4.11.1 Speicherplatz eingespart werden. Mit der Zerlegung A = RT DR wird Ax = a gem¨ aß Algorithmus 4.64 in ein a¨quivalentes System Rx = r u berf¨ u hrt in den Schritten: ¨ 1. (Faktorisierung) 2. (Vorw¨artselimination) 3. (R¨ uckw¨artselimination)
A = RT DR RT z = a Dr = z Rx = r
⇒ R und D, ⇒ z, ⇒ r, ⇒ x.
Durchf¨ uhrung des Verfahrens Die Elemente von A , R , D , r , z , x , a werden wie folgt bezeichnet: 1 γ1 d1 c1 cn 1 γ2 c1 d2 c2 .. .. .. .. .. . . A= ,R = . . . γn−2 cn−2 dn−1 cn−1 1 cn cn−1 dn D=
α1 α2 ..
, r =
. αn
r1 r2 .. . rn
, a =
a1 a2 .. . an
,x =
x1 x2 .. . xn
δ1 δ2 .. . δn−2 γn−1 1
,
, z =
z1 z2 .. .
.
zn
Durch Koeffizientenvergleich in den drei Schritten ergibt sich der folgende Algorithmus.
176
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.76. Gegeben: Ax = a mit symmetrischer, zyklisch tridiagonaler, positiv definiter Matrix A. Gesucht: x = (xi ), i = 1(1)n, n ≥ 4. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. (Faktorisierung A = RT DR) 1.1 α1 = d1 1.2 γ1 = c1 /α1 1.3 δ1 = cn /α1 1.4 F¨ ur jedes i = 2(1)n−2 sind zu berechnen: 1.4.1 αi = di − ci−1 γi−1 1.4.2 γi = ci /αi 1.4.3 δi = −δi−1 ci−1 /αi 1.5 αn−1 = dn−1 − cn−2 γn−2 1.6 γn−1 = (cn−1 − cn−2 δn−2 )/αn−1 1.7 αn = dn −
n−2 X
αi δi2 − cn−1 γn−1
i=1
2. (Vorw¨artselimination RT z = a , Dr = z ) 2.1 z1 = a1 2.2 F¨ ur jedes i = 2(1)n−1 ist zu berechnen: zi = ai − zi−1 γi−1 2.3 zn = an −
n−2 X
δi zi − γn−1 zn−1
i=1
2.4 F¨ ur jedes i = 1(1)n ist zu berechnen: ri = zi /αi 3. (R¨ uckw¨artselimination Rx = r ) 3.1 xn = rn 3.2 xn−1 = rn−1 − γn−1 xn 3.3 F¨ ur jedes i = n−2(−1)1 ist zu berechnen: xi = ri − γi xi+1 − δi xn F¨ ur die Determinante von A gilt: det A = det(RT DR) = det(R T ) det D det R = det D = α1 α2 . . . αn .
4.11 Gleichungssysteme mit f¨ unfdiagonaler Matrix
177
4.11
Gleichungssysteme mit fu ¨nfdiagonaler Matrix
4.11.1
Systeme mit fu ¨nfdiagonaler Matrix
Eine Matrix A = (aik ), i, k = 1(1)n, heißt f¨ unfdiagonal, falls gilt aik = 0 f¨ ur |i − k| ≥ 2, n ≥ 4, i, k = 1(1)n. Prinzip des L¨ osungsverfahrens Mit der Zerlegung A = LR, wobei L eine tridiagonale Subdiagonalmatrix und R eine normierte tridiagonale Superdiagonalmatrix ist, l¨asst sich ein System Ax = a mit f¨ unfdiagonaler Matrix A ohne Zeilenvertauschung gem¨aß Algorithmus 4.42 in ein ¨aquivalentes System Rx = r u uhren, sofern det(Ak ) 6= 0 f¨ ur k = 1(1)n−1: ¨ berf¨ 1. (Faktorisierung)
A = LR
⇒ L und R,
2. (Vorw¨artselimination)
a = Lr
⇒ r,
3. (R¨ uckw¨artselimination)
Rx = r
⇒ x.
Durchf¨ uhrung des Verfahrens Wegen der Speicherung der Diagonalen als Vektoren werden die Elemente der beteiligten Vektoren und Matrizen wie folgt bezeichnet und anschließend durch Koeffizientenvergleich in den Schritten 1., 2., 3. ermittelt: d1 e1 f1 c2 d2 e2 f2 a1 r1 g3 c3 d3 a2 r2 e3 f3 . . . . . . . .. .. .. .. .. A= , a = .. , r = .. , an−1 rn−1 gn−2 cn−2 dn−2 en−2 fn−2 gn−1 cn−1 dn−1 en−1 an rn gn cn dn
α1 β2 α2 ε3 β3 α3 L= .. .. .. . . . εn−1 βn−1 αn−1 εn βn αn
,
1 γ1 δ1 1 γ2 δ2 1 γ3 δ3 .. .. .. R= . . . 1 γn−2 δn−2 1 γn−1 1
.
178
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.77. Gegeben: Ax = a mit f¨ unfdiagonaler Matrix A, det(Ak ) 6= 0 f¨ ur k = 1(1)n−1. Gesucht: x = (xi ), i = 1(1)n, n ≥ 5. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. (Faktorisierung A = LR) 1.1 α1 = d1 1.2 γ1 = e1 /α1 1.3 δ1 = f1 /α1 1.4 β2 = c2 1.5 α2 = d2 − β2 γ1 1.6 γ2 = (e2 − β2 δ1 )/α2 1.7 δ2 = f2 /α2 1.8 F¨ ur jedes i = 3(1)n−2 sind zu berechnen: 1.8.1 βi = ci − gi γi−2 1.8.2 αi = di − gi δi−2 − βi γi−1 1.8.3 γi = (ei − βi δi−1 )/αi 1.8.4 δi = fi /αi 1.9 βn−1 = cn−1 − gn−1 γn−3 1.10 αn−1 = dn−1 − gn−1 δn−3 − βn−1 γn−2 1.11 γn−1 = (en−1 − βn−1 δn−2 )/αn−1 1.12 βn = cn − gn γn−2 1.13 αn = dn − gn δn−2 − βn γn−1 1.14 F¨ ur jedes i = 3(1)n εi = gi 2. (Vorw¨artselimination a = Lr ) 2.1 r1 = a1 /α1 2.2 r2 = (a2 − β2 r1 )/α2 2.3 F¨ ur jedes i = 3(1)n sind zu berechnen: ri = (ai − εi ri−2 − βi ri−1 )/αi 3. (R¨ uckw¨artselimination Rx = r ) 3.1 xn = rn 3.2 xn−1 = rn−1 − γn−1 xn 3.3 F¨ ur jedes i = n−2(−1)1 ist zu berechnen: xi = ri − γi xi+1 − δi xi+2 F¨ ur die Determinante von A gilt: det A = det L det R = det L = α1 α2 . . . αn .
4.11 Gleichungssysteme mit f¨ unfdiagonaler Matrix
179
Beispiel 4.78. Gegeben: A x = a mit 2 −2 −2 0 0 0 −2 5 −4 −3 0 0 −1 −2 11 −1 −4 0 , A= 0 −1 1 7 −4 −10 0 0 −1 −1 9 −8 0 0 0 −1 0 5 Gesucht:
a =
−2 −4 3 −7 −1 4
,
x =
x1 x2 x3 x4 x5 x6
x , det(A) mit Algorithmus 4.77
L¨osung: 1. Dreieckszerlegung A = LR mit normierter oberer Dreiecksmatrix R und unterer Dreiecksmatrix L 2 −2 −2 0 0 0 −2 5 −4 −3 0 0 −1 −2 11 −1 −4 0 = LR A = 1 7 −4 −10 0 −1 0 0 −1 −1 9 −8 0 0 0 −1 0 5
LR
=
2 0 0 0 0 −2 3 0 0 0 −1 −3 4 0 0 0 −1 −1 5 0 0 0 −1 −2 6 0 0 0 −1 −1
0 0 0 0 0 1
2. Vorw¨artselimination a = L r −2 2 0 0 0 0 −4 −2 3 0 0 0 3 −1 −3 4 0 0 −7 = 0 −1 −1 5 0 −1 0 0 −1 −2 6 4 0 0 0 −1 −1 3. R¨ uckw¨artselimination R x = r 1 −1 −1 0 0 0 0 1 −2 −1 0 0 0 0 1 −1 −1 0 0 0 0 1 −1 −2 0 0 0 0 1 −2 0 0 0 0 0 1
x1 x2 x3 x4 x5 x6
−1 −1 0 0 0 1 −2 −1 0 0 0 1 −1 −1 0 0 0 1 −1 −2 0 0 0 1 −2 0 0 0 0 1
1 0 0 0 0 0
0 0 0 0 0 1
=
r1 r2 r3 r4 r5 r6
−1 −2 −1 −2 −1 1
det(A) = det(L) · det(R) = det(L) = 2 · 3 · 4 · 5 · 6 = 720
r =
=⇒
x =
=⇒
−1 −2 −1 −2 −1 1
1 1 1 1 1 1
180
4. L¨osung linearer Gleichungssysteme
4.11.2
Systeme mit symmetrischer, fu ¨ nfdiagonaler, positiv definiter Matrix
Ist A symmetrisch, f¨ unfdiagonal und positiv definit, so kann zur L¨osung von Ax = a ein zum Cholesky-Verfahren ¨ aquivalentes Verfahren angewandt werden. Wegen der positiven Definitheit von A ist die Voraussetzung det(Ak ) 6= 0, k = 1(1)n, f¨ ur die Zerlegbarkeit ohne Zeilenvertauschungen immer erf¨ ullt, d. h. A ist streng regul¨ar. Es kann etwa die H¨alfte Speicherplatz eingespart werden. Prinzip des Verfahrens Mit der Zerlegung A = RT DR, wobei R eine normierte tridiagonale Superdiagonalmatrix ist und D eine Diagonalmatrix, l¨ asst sich das System Ax = a in ein ¨aquivalentes System Rx = r u uhren gem¨ aß Algorithmus 4.64: ¨berf¨ 1. (Faktorisierung) 2. (Vorw¨artselimination) 3. (R¨ uckw¨artselimination)
A = RT DR RT z = a Dr = z Rx = r
⇒ R und D, ⇒ z, ⇒ r, ⇒ x.
Durchf¨ uhrung des Verfahrens Wegen der vektoriellen Abspeicherung werden folgende Bezeichnungen eingef¨ uhrt: d 1 c1 e1 A=
D =
α1
c1 d2 c2 .. .
e1 c2 d3 .. . en−4
e2 c3 .. . cn−3 en−3
α2
,
α3 ..
. αn
r1 r2 r = ... , rn
a1 a2 .. .
e3 .. . dn−2 cn−2 en−2
..
. cn−2 dn−1 cn−1
en−2 cn−1 dn
1 γ1 1 R=
, δ1 γ2 1
a =
an−1 an
,
δ2 γ3 .. .
δ3 .. . 1
..
. γn−2 1
δn−2 γn−1 1
,
z1 z2 z = ... . zn
Mit Koeffizientenvergleich ergeben sich aus den Schritten 1., 2., 3. die Formeln des folgenden Algorithmus:
4.11 Gleichungssysteme mit f¨ unfdiagonaler Matrix
Algorithmus 4.79. Gegeben: Ax = a mit symmetrischer, f¨ unfdiagonaler, positiv definiter Matrix A. Gesucht: x = (xi ), i = 1(1)n. Dann sind nacheinander folgende Schritte auszuf¨ uhren: 1. (Zerlegung A = R T DR) 1.1 α1 = d1 1.2 γ1 = c1 /α1 1.3 δ1 = e1 /α1 1.4 α2 = d2 − c1 γ1 1.5 γ2 = (c2 − e1 γ1 )/α2 1.6 δ2 = e2 /α2 1.7 F¨ ur jedes i = 3(1)n−2 sind zu berechnen: 2 1.7.1 αi = di − ei−2 δi−2 − αi−1 γi−1 1.7.2 γi = (ci − ei−1 γi−1 )/αi 1.7.3 δi = ei /αi 2 1.8 αn−1 = dn−1 − en−3 δn−3 − αn−2 γn−2
1.9 γn−1 = (cn−1 − en−2 γn−2 )/αn−1 2 1.10 αn = dn − en−2 δn−2 − αn−1 γn−1
2. (Vorw¨artselimination RT z = a , Dr = z ) 2.1 z1 = a1 2.2 z2 = a2 − γ1 z1 2.3 F¨ ur jedes i = 3(1)n ist zu berechnen: zi = ai − γi−1 zi−1 − δi−2 zi−2 2.4 F¨ ur jedes i = 1(1)n ist zu berechnen: ri = zi /αi 3. (R¨ uckw¨artselimination Rx = r ) 3.1 xn = rn 3.2 xn−1 = rn−1 − γn−1 xn 3.3 F¨ ur jedes i = n−2(−1)1 ist zu berechnen: xi = ri − γi xi+1 − δi xi+2 F¨ ur die Determinante von A gilt: det A = det(RT ) det D det R = det D = α1 α2 . . . αn .
181
182
4. L¨osung linearer Gleichungssysteme
Beispiel 4.80. Gegeben: A x = a mit 2 −2 −2 5 −1 −2 −2 −1 9 A= 0 −3 −1 0 0 −4 0 0 0 A positiv Gesucht:
0 0 0 −3 0 0 −1 −4 0 , 12 −1 −5 −1 15 −1 −5 −1 12 definit
x 1 x2 x3 x = x4 x5 x6
−2 −1 1 a = 2 9 6
,
,
x , det(A)
L¨osung: 1. Schritt: Faktorisierung A = RT DR mit normierter oberer Dreiecksmatrix R und Diagonalmatrix D. A =
1 0 −1 1 −1 −1 0 −1 0 0 0 0
RT 0 0 0 0 0 0 1 0 0 −1 1 0 −1 −1 1 0 −1 −1
2. Schritt: RT z = a , D r 1 0 0 1 0 −1 −1 −1 1 0 −1 −1 0 0 −1 0 0 0 2 0 0 0 0 0 0 0
3 0 0 0 0
0 4 0 0 0
0 0 0 0 0 1
2 0 0 0 0 0
0 3 0 0 0 0
D 0 0 0 0 4 0 0 5 0 0 0 0
0 0 0 0 6 0
0 0 0 0 0 1
R 1 −1 −1 0 0 0 0 1 −1 −1 0 0 0 0 1 −1 −1 0 0 0 0 1 −1 −1 0 0 0 0 1 −1 0 0 0 0 0 1
=z 0 0 0 0 0 0 1 0 −1 1 −1 −1 0 0 0 5 0 0
0 0 0 0 6 0
0 0 0 0 0 1
0 0 0 0 0 1
z 1 z2 z3 z4 z5 z6 r 1
−2 −1 1 = 2 9 6 −2
⇒
r2 −3 r3 −4 r4 = −5 r5 0 r6 1
3. Schritt: Rx = r 1 −1 −1 0 0 0 0 1 −1 −1 0 0 0 0 1 −1 −1 0 0 0 0 1 −1 −1 0 0 0 0 1 −1 0 0 0 0 0 1
x1 x2 x3 x4 x5 x6
−1 −1 −1 = −1 0 1
⇒
=⇒
A positiv definit
det(A) = det(R) · det(D) · det(R) = det(D) = 2 · 3 · 4 · 5 · 6 = 720
−1 −1 r = −1 0 1
1 1 1 ⇒ z = 1 1 1
Es gilt: det(Ai ) > 0 f¨ ur i = 1(1)6, d. h.: s¨amtliche Hauptabschnittsdeterminanten gr¨ oßer Null
−2 −3 −4 z = −5 0 1 −1
4.12 Gleichungssysteme mit Bandmatrix
4.12
183
Gleichungssysteme mit Bandmatrix
Eine Matrix A = (aik ), i, k = 1(1)n, deren Elemente außerhalb eines Bandes l¨angs der Hauptdiagonale verschwinden, heißt Bandmatrix oder bandstrukturierte Matrix (vgl. Definition 4.22). Bei der Zerlegung A = LR werden die Dreiecksmatrizen R und L ebenfalls bandf¨ormig, wodurch sich der Rechenaufwand bei (gegen¨ uber n) kleinen Zahlen m` (Anzahl der unteren Nebendiagonalen), mr (Anzahl der oberen Nebendiagonalen) bedeutend verringert. Es sind somit die Algorithmen 4.42 und 4.44 anwendbar unter der Ber¨ ucksichtigung, dass die Zerlegungsmatrizen bandf¨ ormig sind. Im Folgenden werden drei Algorithmen angegeben, von denen der erste eine Transformation von A auf obere Dreiecksform beinhaltet, d. h. bei der LR-Zerlegung ist L normierte untere Dreiecksmatrix und R obere Dreiecksmatrix. Der zweite Algorithmus gibt eine Transformation auf untere Dreiecksform an, d. h. bei der LR-Zerlegung ist L normierte obere Dreiecksmatrix und R untere Dreiecksmatrix. Der dritte Algorithmus arbeitet mit einer gepackten Matrix A und transformiert je nach Rechenaufwand auf obere bzw. untere Dreiecksform. Das Packen von A wird so vorgenommen, dass die Diagonalen von A zu Spalten der gepackten Matrix werden; dieser Algorithmus wurde von Elmar Pohl entwickelt. Hier wird auf eine Darstellung mit der Permutationsmatrix P (vgl. Algorithmus 4.44) verzichtet. Stattdessen werden die Zeilenvertauschungen mit dem Vektor p verwaltet. Es bedeutet:
pi = k: Zeile i wurde mit der Zeile i + k vertauscht.
Falls pi = 0 wurde keine Vertauschung vorgenommen. Der Parameter SIG liefert das Vorzeichen der Determinante von A, es gilt nach der Zerlegung bzw. Transformation auf obere oder untere Dreiecksform det A = SIG r11 r22 . . . rnn mit SIG = (−1)k , k = Anzahl der Zeilenvertauschungen. In den folgenden Algorithmen wird A mit den Zerlegungsmatrizen u ¨ berspeichert, so dass sich f¨ ur die Determinante ergibt det A = SIG a11 a22 . . . ann .
184
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.81. (Transformation auf obere Dreiecksform) Gegeben: Ax = a mit der Bandmatrix A = (aik ), i, k = 1(1)n (m` = Anzahl der unteren Nebendiagonalen, mr = Anzahl der oberen Nebendiagonalen) und der rechten Seite a = (ai ), i = 1(1)n. Gesucht: x mit x = (xi ), i = 1(1)n. 1. Faktorisierung A = LR mit einer normierten unteren Dreiecksmatrix L und oberen Dreiecksmatrix R mit Pivotisierung, d. h. die Matrix A wird auf obere Dreiecksform transformiert. 1.1 SIG := 1 1.2 F¨ ur jedes i = 1(1)n−1 1.2.1 pi := ν f¨ ur |ai+ν,i | = max{|ai+k,i |, k = 0(1) min{m` , n − i}} 1.2.2 Wenn ν 6= 0, dann 1.2.2.1 SIG := −SIG 1.2.2.2 F¨ ur jedes k = 0(1) min{m` + mr , n − i} Vertausche ai,i+k mit ai+ν,i+k 1.2.3 F¨ ur k = 1(1) min{m` , n − i} 1.2.3.1 Ersetze ai+k,i durch ai+k,i /aii 1.2.3.2 F¨ ur j = 1(1) min{m` + mr , n − i} Ersetze ai+k,i+j durch ai+k,i+j − ai+k,i ai,i+j 1.3 pn := 0 (letzte Zeile wird nicht vertauscht) 2. Vorw¨artselimination a = Lr , a wird mit r u ¨ berspeichert, die Zeilenvertauschungen der Zerlegung werden ber¨ ucksichtigt. 2.1 F¨ ur i = 1(1)n−1 ist durchzuf¨ uhren 2.1.1 Wenn pi 6= 0, dann vertausche ai mit ai+pi 2.1.2 F¨ ur k = 1(1) min{m` , n − i} Ersetze ai+k durch ai+k − ai+k,i ai 3. R¨ uckw¨artselimination Rx = r , die L¨ osung x wird in a gespeichert. 3.1 Ersetze an durch an /ann 3.2 F¨ ur jedes i = n−1(−1)1 3.2.1 F¨ ur k = 1(1) min{n − i, m` + mr } Ersetze ai durch ai − ai,i+k ai+k 3.2.2 Ersetze ai durch ai /aii
4.12 Gleichungssysteme mit Bandmatrix
185
Algorithmus 4.82. (Transformation auf untere Dreiecksform) Gegeben: Ax = a mit A = (aik ), i, k = 1(1)n, bandf¨ormig, a = (ai ), i = 1(1)n, rechte Seite Gesucht: x = (xi ), i = 1(1)n 1. Faktorisierung A = LR mit einer normierten oberen Dreiecksmatrix L und unteren Dreiecksmatrix R, d. h. Transformation von A auf untere Dreiecksform. 1.1 SIG : = 1 1.2 F¨ ur jedes i = n(−1)2 1.2.1 pi := ν f¨ ur |ai+ν,i | = max{|ai+k,i |, k = 0(−1) max{1 − i, −mr }} 1.2.2 Wenn ν 6= 0, dann ¯ 1.2.2.1 SIG := −SIG 1.2.2.2 F¨ ur jedes k = 0(−1) max{1 − i, −mr − m` } Vertausche ai,i+k mit ai+ν,i+k 1.2.3 F¨ ur k = −1(−1) max{1 − i, −mr } 1.2.3.1 Ersetze ai+k,i durch ai+k,i /aii 1.2.3.2 F¨ ur j = −1(−1) max{1 − i, mr − m` } setze ai+k,i+j := ai+k,i+j − ai+k,i ai,i+j 1.3 p1 := 0 (Zeile 1 wird nicht vertauscht) 2. R¨ uckw¨artselimination (a = Lr , r wird auf a gespeichert) 2.1 F¨ ur i = n(−1)2 ist durchzuf¨ uhren: 2.1.1 Wenn pi 6= 0, dann vertausche ai mit ai+pi 2.1.2 F¨ ur k = −1(−1) max{1 − i, −mr } setze ai+k := ai+k − ai+k,i ai 3. Vorw¨artselimination (Rx = r , x wird auf a gespeichert) 3.1 a1 := a1 /a11 3.2 F¨ ur jedes i = 2(1)n 3.2.1 F¨ ur k = −1(−1) max{1 − i, −m` − mr } Ersetze ai durch ai − ai,i+k ai+k 3.2.2 Ersetze ai durch ai /aii
186
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.83. (Gepackte Matrix, Transformation auf obere bzw. untere Dreiecksform) Gegeben: Ax = a, A = (aik ), i, k = 1(1)n, bandf¨ormig, a = (ai ), i = 1(1)n, rechte Seite Gesucht: x = (xi ), i = 1(1)n 1. Packung der Matrix A zu einer Matrix A∗ mit a∗α,β := aα,α+β−m` −1 bzw. aik = a∗i,m` +1+k−i f¨ ur i = 1(1)n, k = max{1, i − m` }(1) min{n, i + mr } Die (n, n)-Matrix A wird zu einer Matrix A∗ mit n Zeilen und m = m` + mr + 1 Spalten. Bemerkung. (zur Speicherung der zus¨ atzlichen Nebendiagonalen) Bei der Transformation auf untere Dreiecksform werden zus¨atzliche Nebendiagonalen unterhalb des Diagonalbandes erzeugt. Nach der in 1. beschriebenen Packung w¨aren das hier Spalten links von Spalte 1 in A∗ . Da zu Beginn die Anzahl dieser Spalten unbekannt ist, werden die zus¨ atzlichen Nebendiagonalen rechts von A∗ gespeichert, so dass die Gesamtspaltenzahl von A∗ ist: m∗ := m + min{m` , mr }. 2. Faktorisierung 2.1 SIG: = 1 m∗ = m` + mr + 1 + min{m` , mr } 2.2 Wenn m` ≤ mr , dann wird gesetzt ia := 1, ie := n − 1, is := 1, ka := 1, ja := 1, andernfalls ia := n, ie := 2, is := −1, ka := −1, ja := −1 2.3 F¨ ur jedes i = ia (is )ie wird durchgef¨ uhrt: 2.3.1 Wenn m` ≤ mr , dann ke := min{m` , n − i} andernfalls ke := max{1 − i, −mr } 2.3.2 pi := µ f¨ ur |a∗i+µ,m` +1−µ | = max{|a∗i+k,m` +1−k |, k = 0(is )ke } 2.3.3 Wenn m` ≤ mr , dann je := min{µ + mr , n − i} andernfalls je := max{1 − i, µ − m` } 2.3.4 Wenn µ 6= 0, dann 2.3.4.1 SIG: = −SIG 2.3.4.2 F¨ ur k = 0(is )je 2.3.4.2.1 km := k + m` + 1
4.12 Gleichungssysteme mit Bandmatrix
2.3.4.2.2 Wenn km ≤ 0, dann km := km + m∗ 2.3.4.2.3 Vertausche a∗i,km mit a∗i+µ,km −µ 2.3.5 F¨ ur k = ka (is )ke a∗i+k,m` +1−k := a∗i+k,m` +1−k /a∗i,m` +1 F¨ ur j = ja (is )je jk := j + m` + 1 − k jm := j + m` + 1 Wenn jk ≤ 0, dann jk := jk + m∗ Wenn jm ≤ 0, dann jm := jm + m∗ Setze a∗i+k,jk := a∗i+k,jk − a∗i+k,m` +1−k a∗i,jm 2.4 pie +is := 0 3. R¨ uckw¨arts- oder Vorw¨ artselimination 3.1 m∗ := m` + mr + 1 + min{m` , mr } Wenn m` ≤ mr , dann ia := 1, ie := n − 1, is := 1, ka := 1 andernfalls ia := n, ie := 2, is := −1, ka := −1 3.2 F¨ ur i = ia (is )ie 3.2.1 Wenn pi 6= 0, vertausche ai mit ai+pi 3.2.2 Wenn m` ≤ mr , dann ke := min{m` , n − i} andernfalls ke := max{1 − i, −mr } 3.2.3 F¨ ur k = ka (is )ke ai+k = ai+k − a∗i+k,m` +1−k ai 3.3 aie +is = aie +is /a∗ie +is ,me +1 3.4 F¨ ur i = ie (−is )ia 3.4.1 Wenn m` ≤ mr , dann ke := min{n − i, m` + mr } andernfalls ke := max{1 − i, −m` − mr } 3.4.2 F¨ ur k = ka (is )ke 3.4.2.1 km := k + m` + 1 3.4.2.2 Wenn km ≤ 0, dann km := km + m∗ 3.4.2.3 ai := ai − a∗i,km ai+k 3.4.3 ai := ai /a∗i,m` +1
187
188
4. L¨osung linearer Gleichungssysteme
Bemerkung. (zur Wahl der Transformation auf untere bzw. obere Dreiecksform) Im Falle vollbesetzter Matrizen ist es gleichg¨ ultig, ob eine Transformation auf obere oder untere Dreiecksform erfolgt. Bei Bandmatrizen mit Zeilenvertauschungen ergibt sich jedoch ein Unterschied in der Rechenzeit und der Speichereffizienz im Falle m` 6= mr . Bei der Transformation auf obere Dreiecksform entstehen durch die Zeilenvertauschungen m` zus¨atzliche obere Nebendiagonalen, bei Transformation auf untere Dreiecksform mr zus¨atzliche untere Nebendiagonalen. Bei der oberen Dreiecksform sind pro Eliminationsschritt m` Zeilen zu behandeln, bei der unteren Dreiecksform mr Zeilen, so dass der Aufwand von der entsprechenden Wahl der Transformationsart abh¨angt. Beispiel 4.84. Problem:
Zur Dimensionierung der St¨ abe des skizzierten Kragarms sollen die durch die afte F1 und F2 hervorgerufenen Stabkr¨afte ermittelt werden. ¨außeren Kr¨ VI
A
y6 x
B
e
. ............ .......... .......... . .. .............. . ......... .. ........ . ......... .. ........ . . ........ . ......... . . . ... ..... . ............... .. . . . . .. ..... .......... . . ..... ......
10
9
e VII
IV
e @ @
@
7
8
e V F2
?
A und B sind Festlager
II
e @ @
4
5
@ @ 6
3
@e III
@
1
@ @ 2
@eI
↑ | | L | | ↓
F1 ?
←−−− L −−−→
Abb. 4.8. Die Formulierung der Gleichgewichtsbedingungen an den herausgeschnittenen Knotenpunkten liefert ein Gleichungssystem A · x = y . Gegeben:
F1 =10 kN und F2 =20 kN.
Anleitung: 1. Man skizziere die herausgeschnittenen Knotenpunkte mit den an den durchgeschnittenen St¨ aben angreifenden Stabkr¨aften und stelle das Gleichungssystem zur Bestimmung der Stabkr¨afte und der Auflagerkr¨afte Ax , Bx , Ay , By unter Vernachl¨ assigung des Eigengewichts der St¨abe auf. 2. Man l¨ ose das System mit Hilfe einer geeigneten Variante des Gauß-Algorithmus. L¨osung:
Man setzt zweckm¨ assig alle Stabkr¨ afte als Zugkr¨afte an (also die Pfeile von den Knotenpunkten weggerichtet), zerlegt sie in Komponenten bez¨ uglich des x, y-Koordinatensystems und setzt die Gleichgewichtsbedingungen (KnotenP P schnittbedingungen Fix = 0, Fiy = 0 ) f¨ ur alle Knoten an.
4.12 Gleichungssysteme mit Bandmatrix
189
Knoten I: 1
I @ 2 F ?1
P
Fix = 0 :
−S1 · cos 45o − S2 = 0
(1)
P
Fiy = 0 :
S1 · sin 45o − F1 = 0
(2)
P
Fix = 0 :
S1 · cos 45o − S4 = 0
(3)
P
Fiy = 0 :
−S1 · sin 45o − S3 = 0
(4)
P
Fix = 0 :
S2 − S5 · cos 45o − S6 = 0
(5)
P
Fiy = 0 :
S3 + S5 · sin 45o
(6)
P
Fix = 0 :
S4 + S5 · cos 45o − S9 · cos 45o − S10 = 0
(7)
P
Fiy = 0 :
− S5 · sin 45o − S7 − S9 · sin 45o = 0
(8)
P
Fix = 0 :
S6 − S8 = 0
(9)
P
Fiy = 0 :
S7 − F2 = 0
(10)
P
Fix = 0 :
S10 + Ax = 0
(11)
P
Fiy = 0 :
Ay = 0
(12)
P
Fix = 0 :
Knoten II: 4
1
R 3@ ? Knoten III: 3 5@ I6 6 2
=0
Knoten IV: 10 -4 9 @ 5 R 7 ?
Knoten V: 7 8 6 F2 ?6
Knoten VI: Ay
6 10 -
Ax
Knoten VII: By 9
6 8 -
Bx
P
Fiy = 0 :
S8 + S9 · cos 45o + Bx = 0 o
S9 · sin 45 + By = 0
(13) (14)
190
4. L¨osung linearer Gleichungssysteme
√ Mit w := 12 2 ergibt sich folgende Gleichung: (1) −w −1 0 0 0 0 0 0 0 0 (2) w 0 0 0 0 0 0 0 0 0 (3) w 0 0 −1 0 0 0 0 0 0 (4) −w 0 −1 0 0 0 0 0 0 0 (5) 0 1 0 0 −w −1 0 0 0 0 (6) 0 0 1 0 w 0 0 0 0 0 (7) 0 0 0 1 w 0 0 0 −w −1 (8) 0 0 0 0 −w 0 −1 0 −w 0 (9) 0 0 0 0 0 1 0 −1 0 0 (10) 0 0 0 0 0 0 1 0 0 0 (11) 0 0 0 0 0 0 0 0 0 1 (12) 0 0 0 0 0 0 0 0 0 0 (13) 0 0 0 0 0 0 0 1 w 0 (14)
0
0
0
0
0
0
0
0
w
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0 0 0 0 0 0 0 0 0 0 0 0 1
Durch Zeilenvertauschungen entsteht eine Bandmatrix (Breite 7): (2) w 0 0 0 0 0 0 0 0 0 0 0 0 0 (1) −w −1 0 0 0 0 0 0 0 0 0 0 0 0 (4) −w 0 −1 0 0 0 0 0 0 0 0 0 0 0 (3) w 0 0 −1 0 0 0 0 0 0 0 0 0 0 (5) 0 1 0 0 −w −1 0 0 0 0 0 0 0 0 (6) 0 0 1 0 w 0 0 0 0 0 0 0 0 0 (7) 0 0 0 1 w 0 0 0 −w −1 0 0 0 0 (8) 0 0 0 0 −w 0 −1 0 −w 0 0 0 0 0 (9) 0 0 0 0 0 1 0 −1 0 0 0 0 0 0 (10) 0 0 0 0 0 0 1 0 0 0 0 0 0 0 (13) 0 0 0 0 0 0 0 1 w 0 0 0 1 0 (14) 0 0 0 0 0 0 0 0 w 0 0 0 0 1 (11) 0 0 0 0 0 0 0 0 0 1 1 0 0 0 (12) 0 0 0 0 0 0 0 0 0 0 0 1 0 0
S1
0
S F 2 1 S3 0 S4 0 S5 0 S6 0 S 0 7 = . S8 0 S9 0 S10 F2 Ax 0 A 0 y Bx 0 By 0
S1
F1
S 0 2 S3 0 S4 0 S5 0 S6 0 S 0 7 = . S8 0 S9 0 S10 F2 Ax 0 A 0 y Bx 0 By 0
4.12 Gleichungssysteme mit Bandmatrix
191
Mit dem Gauß-Algorithmus f¨ ur Bandmatrizen erh¨alt man folgende L¨osung (jeweils in kN): Stabkr¨ afte i Si
1 √ 10 · 2
2 −10
3 −10
4 10
5 √ 10 · 2
6 −20
7 20
8 −20
9 √ −30 · 2
10 50
Auflagerkr¨ afte Ax −50
Ay 0
Bx 50
By 30
Beispiel 4.85. Gegeben ist ein Fachwerktr¨ ager mit 8 Knoten, 13 St¨aben (S1 bis S13 ), den Auflagerkr¨aften Ay , Bx und By und den ¨ außeren Kr¨ aften F1 und F2 . Um die unbekannten Stabkr¨ afte und Auflagerkr¨ afte zu bestimmen, soll ein Gleichungssystem A x = y formuliert und gel¨ ost werden. Hierzu sind die Gleichgewichtsbedingungen an den herausgeschnittenen Knotenpunkten aufzustellen und in Matrizenform A x = y zu u ¨ bertragen. Skizze des Fachwerktr¨ agers: F1
a
-
1 eI @
J /////@ @ 6 2@ @ Ay
F2 a
-
II 4 ? e eV @ @ 3 @ 5 7 @ @ @e @e III 6 IV
a
a
-
8
VI ? e 9
10
11
-
12
eVIII 6
J Bx ///// 13 6 b By
e VII
?
F1 = 30 kN, F2 = 50 kN, a = 0.3 m und b = 0.2 m Abb. 4.9. Festlegen der Winkel α und β:
a
β U
α
tan α =
a b
=
0.3 0.2
=⇒
α = 56.31◦
tan β =
b a
=
0.2 0.3
=⇒
β = 33.69◦
6 b ?
192
4. L¨osung linearer Gleichungssysteme
Gleichgewichtsbedingungen an herausgeschnittenen Knoten:
Knoten I d 6β Ay @ @ @ @
-S1
P
Fx = 0 = S1 + S2 cos β
P
Fy = 0 = Ay − S2 sin β
P
Fx = 0 = −S1 + S4 + S5 cos β
P
Fy = 0 = −F1 − S3 − S5 sin β
P
Fx = 0 = −S2 sin α + S6
P
Fy = 0 = S3 + S2 cos α
P
Fx = 0 = −S5 cos β − S6 + S9 cos β + S10
P
Fy = 0 = S5 sin β + S7 + S9 sin β
P
Fx = 0 = −S4 + S8
P
Fy = 0 = −S7
@ R S2 @
Knoten II F1 S1
S d ? -4 @β @ S5 R @ S3 ?
Knoten III S3 6 I S@ 2 @
@α @d
S6
Knoten V S5 @ I @ @ S6
S7 6 S9
@ β@d βI
S10
Knoten V S4
d
? S7
S -8
4.12 Gleichungssysteme mit Bandmatrix
193
Knoten VI S8
β R
S9
d
S -12
P
Fx = 0 = −S8 − S9 cos β + S12
P
Fy = 0 = −S11 − S9 sin β
P
Fx = 0 = −S10 + S13 sin α
P
Fy = 0 = S11 + S13 cos α
P
Fx = 0 = −S12 − S13 cos β + Bx
P
Fy = 0 = By − S13 sin β
? S11
Knoten VII S11 6 S13 S10
α d
Knoten VIII S12 S13
d β 6 R
B -x
By
Gleichungssystem: 1 cos β 0 0 0 0 0 0 0 0 0 0 −sin β 1 0 0 0 0 0 0 0 0 −1 0 0 0 1 cos β 0 0 0 0 0 0 0 0 −1 0 −sin β 0 0 0 0 0 0 −cos β 0 0 0 0 1 0 0 0 0 0 sin β 0 1 0 0 0 0 0 0 0 0 0 0 0 0 −cos β −1 0 0 cos β 1 0 0 0 0 0 sin β 0 1 0 sin β 0 0 0 0 0 −1 0 0 0 1 0 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 0 0 0 −1 −cos β 0 0 0 0 0 0 0 0 0 0 −sin β 0 0 0 0 0 0 0 0 0 0 0 −1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 mit sin β = 0.554700196 und cos β = 0.832050294.
0 0 0 0 0 0 0 0 0 0 0 −1 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 cos β 0 sin β −1 −cos β 0 −sin β
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 S1 0 S2 0 0 0 Ay 0 0 S3 F1 0 S4 0 0 S5 0 0 S6 0 0 S7 = 0 0 S8 0 0 S9 0 0 S10 0 0 S11 F2 0 S12 0 0 S13 0 0 0 Bx 1 By 0
194
4. L¨osung linearer Gleichungssysteme
Die L¨osung dieses Gleichungssystems sind folgende Kr¨afte: S1 S2 Ay S3 S4 S5 S6 S7
4.13
= −52.5 = 63.097 = 35. = −35. = −60. = 9.014 = 52.5 = 0.
kN kN kN kN kN kN kN kN
S8 S9 S10 S11 S12 S13 Bx By
= −60. = −9.014 = 67.5 = −45. = −67.5 = 81.125 = 0. = 45.
kN kN kN kN kN kN kN kN
Lo ¨sung u ¨berbestimmter linearer Gleichungssysteme mit Householdertransformation
Die L¨osung u ¨berbestimmter linearer Systeme mit Hilfe der Householdertransformation ist von besonderer Bedeutung, weil bei der Dreieckszerlegung von A in das Produkt einer orthogonalen Matrix Q und einer oberen Dreiecksmatrix R die Kondition von A nicht verschlechtert wird (vgl. [STOE1989]).
Algorithmus 4.86. (f¨ ur ein ¨ uberbestimmtes lineares Gleichungssystem) Gegeben: Ax = a mit (m, n)-Matrix A, m > n, Rang (A) = n und a ∈ Rm . Gesucht:
x ∈ Rn .
1. Schritt: Zerlegung A = QR mit einer orthogonalen (m, m)-Matrix Q und einer oberen (m, n)-Dreiecksmatrix R. Es gilt wegen der Orthogonalit¨at Q T = Q −1 . 2. Schritt: Berechnung von b ∈ Rm aus b = Q T a. 3. Schritt: R¨ uckw¨ artselimination Rx = b mit dem Ergebnis x ∈ Rn .
Householder-Transformation ¨ Ziel der Householder-Transformation ist die Uberf¨ uhrung der (m, n)-Matrix A vom Rang n in eine obere (m, n)-Dreiecksmatrix R = (rik ), i = 1(1)m, k = 1(1)n, rik = 0 f¨ ur i > k, durch sukzessive Linksmultiplikation von A mit symmetrischen, orthogonalen (m, m)-Matrizen Hi (Householder-Matrizen) mit Hi HiT = E , Hi−1 = HiT Aq+1 = Hq Hq−1 . . . H2 H1 A1 =: HA = R | {z } =:H
mit Ai+1 = Hi Ai f¨ ur i = 1(1)q, q = min(m−1, n), A1 := A.
4.13 Householdertransformation
195
Aus R = HA ergibt sich eine QR-Zerlegung A = H T R =: QR,
Q := H T
mit der orthogonalen Matrix Q(Q T = Q −1 ).
Durchf¨ uhrung der Householder-Transformation Es wird gesetzt (1)
A1 = (aik ) := A = (aik )
f¨ ur i = 1(1)m, k = 1(1)n.
Dann gilt A1 =
a11 (1) a21 .. .
(1)
a12 (1) a22
(1)
... ...
(1)
am2
(1)
...
am1 wobei
(1) aj
(1) a1n (1) a2n = (a (1) , a (1) , . . . , an(1) ), 1 2 (1) amn
die j-te Spalte von A1 ist.
Mit der (m, m)-Householder-Matrix H1 , die gem¨ aß Satz 4.20 konstruiert wird, 2 H1 := E − v1 v1T kv1 k2 mit (1) (1) (1) a11 + sign(a11 )ka1 k (1) a21 v1 = .. . (1)
am1 ergibt sich A2 = H1 A1 =
(2)
(2)
a11 0 .. .
a12 (2) a22
0
(2) am2
(2) a1n (2) a2n = (2) amn
... ... ...
(2)
a11 0 .. .
(2)
a12
(2)
...
a1n
e2 A
0
Analog fortfahrend erh¨ alt man Ai+1 = Hi Ai mit der (m, n)-Matrix (2) (2) a11 a12 (3) a22 .. . Ai =
... ... (i)
ai−1,i−1 0 .. . 0
... ei A
f¨ ur i = 1(1)p
(2)
a1n (3) a2n (i)
ai−1,n
,
(i)
a . ii e Ai = .. (i) ami
(i) . . . ain .. . (i) . . . amn
196
4. L¨osung linearer Gleichungssysteme
und der (m, m)-Matrix Hi =
Ei−1 O
O fi H
} }
i−1 Zeilen m−i+1 Zeilen
fi eine (m−i+1,m−i+1)-Matrix ist, die gem¨aß Satz 4.20 berechnet werden muss wobei H fi = E − H
2 vi viT . kvi k2
Der Vektor vi ∈ Rm−i+1 ergibt sich aus (i) (i) (i) aii + sign(aii )kai k (i) ai+1,i vi = .. . (i) ami Die (m, n)-Matrix Ai+1 hat (2) (2) a11 a12 (3) a22 .. . (i+1) Ai+1 = aii 0 .. .
dann die Form (2) ... a1n (3) ... a2n (i+1) ... ain e Ai+1
(i)
mit ai =
aii (i) ai+1,i .. . (i) ami
(i+1)
e i+1 mit A
.
a ... . i+1,i+1 = .. (i+1) am,i+1 . . .
(i+1) ai+1,n .. . . (i+1) am,n
0 Verwendet man die Householder-Transformation f¨ ur die Erzeugung der QR-Zerlegung in Algorithmus 4.86 und ber¨ ucksichtigt dabei die Beziehungen R = Hq Hq−1 · · · H1 A =: HA und Rx = HAx = H a =: r , so k¨onnen die beiden ersten Schritte in Algorithmus 4.86 ersetzt werden durch die gleichzeitige Erzeugung von R und r durch sukzessive Multiplikation von A und a mit den Transformationsmatrizen Hi ; d. h. man umgeht die explizite Herstellung von Q und Q T und erh¨alt den
4.13 Householdertransformation
197
Algorithmus 4.87. (Householder-Transformation) Gegeben: Ax = a, A = (aik ), i = 1(1)m, k = 1(1)n, a ∈ Rm , m > n, Rg(A) = n. Gesucht: x ∈ Rn mit Hilfe der Householder-Transformation. 1. (Householder-Transformation zur Erzeugung von R = HA, r = H a mit H = Hq Hq−1 · · · H1 ) F¨ ur jedes i = 1(1)n 1.1 Berechnung der folgenden Gr¨ oßen in der angegebenen Reihenfolge m X r := a2ki k=i √ α := r sign(aii ) ak := 1/(r + α · aii ) aii := aii + α 1.2 Multiplikation der Matrix A und der rechten Seite a (als (n + 1)-te Spalte von A) von links mit der neuen Transformationsmatrix di := −α F¨ ur jedes k = i+1(1)n+1 sind durchzuf¨ uhren f := 0 F¨ ur jedes j = i(1)m f := f + ajk aji f := f · ak F¨ ur jedes j = i(1)m ajk := ajk − f · aji 2. (R¨ uckw¨artselimination zur Bestimmung der L¨osung x aus Rx = r ) F¨ ur jedes i = n(−1)1 sind durchzuf¨ uhren: xi := ai,n+1 F¨ ur jedes k = i + 1(1)n xi := xi − aik xk xi := xi /di
Beispiel 4.88. Gegeben: Die Matrix
A=
Gesucht:
2 1
2 6
¨ Uberf¨ uhrung der Matrix A in eine obere Dreiecksmatrix R mit Hilfe der Householder-Transformation (Algorithmus 4.87, 1.).
198
4. L¨osung linearer Gleichungssysteme
L¨osung:
2 P = a2k1 = 4 + 1 = 5 k=1 √ √ 1 α = 5 · 1; ak = 5+√ ; a11 = a11 + α = 2 + 5 5·2
1.m i = 1
r
2.m
=
√ −α = − 5 a12 · a11 + a22 · a21 √ 2 · (2 + 5) + 6 · 1 √ √ 4 + 2 5 + 6 = 10 + 2 5
f
=
f · ak =
a12
=
2−
a22
=
v
=
6− √ √ 2 1 2+ 5 + 5 = 1 0 1
H1
=
d1 f
k = 2; j = 1(1)2
= = =
j = 1(1)2
T
v v
= (2 +
vv T
=
√
5, 1)
E−
√ 10+2√ 5 5+2 5 √ 10+2√ 5 · (2 + 5+2 5 √ 10+2√ 5 ·1 5+2 5
√
5)
2 T ||v ||2 vv
√ √ √ 2+ 5 = (2 + 5)2 + 1 = 10 + 4 5 1
√ √ 2+ 5 (2 + 5, 1) 1 √ √ √ (2 + √5)2 2 + 5 (9 + 4√5)2 = = 2+ 5 1 2+ 5
√ 2+ 5 1
√ √ √ √ 2 1 9+4√ 5 2+ 5 1 0 9+4√ 5 2+ 5 √ √ = − 0 1 2+ 5 1 2+ 5 1 10+4 5 5+2 5 √ √ √ √ √ 9+4 5 2+ 5 5+2 5−9−4 5 2+ 5 √ − √ √ √ − − 5+2 5 5+2 5 5+2 5 1 0 5+2 5 = + = √ √ 0 1 2+ √5 1 2+ 5 5+2 5−1 √ − √ √ √ − − 5+2 5 5+2 5 5+2 5 5+2 5
H1 =
1 0 0 1
−
Mit A1 = A folgt √ √ √ √ √ √ −4−2 5 2+ 5 −8−4 5−2− 5 −8−4 5−12−6 5 √ √ − 5+2√5 − 5+2√5 − 5+2 5 5+2 5 22 A2 = H1 A1 = = √ √ √ √ 2+ 5 4+2 5 1 6 −4−2 5+24+12 5 √ √ √ − 0 5+2 5 5+2 5 5+2 5 √ √ √ √ 1 −10−5 5 −20−10√ 5 − 5 −2√ 5 √ = = =R 0 20+10 5 0 2 5 5+2 5
4.14 Fehler, Kondition und Nachiteration
199
4.14
Fehler, Kondition und Nachiteration
4.14.1
Fehler und Kondition
Die mit Hilfe direkter Methoden ermittelte L¨ osung eines linearen Gleichungssystems ist meist nicht die exakte L¨ osung, da 1. im Verlaufe der Rechnung Rundungsfehler auftreten, deren Akkumulation zur Verf¨alschung der Ergebnisse f¨ uhren kann. 2. Ungenauigkeiten in den Ausgangsgr¨ oßen bestehen k¨onnen, die Ungenauigkeiten in den L¨ osungen hervorrufen. ¨ ¨ Wenn kleine Anderungen in den Ausgangsdaten große Anderungen in der L¨osung hervorrufen, heißt die L¨osung instabil ; man spricht von einem schlecht konditionierten System.
Beispiel 4.89. (zu Punkt 2.) Gegeben: Das Gleichungssystem
3.3x1 + 1.2x2 6.9x1 + 2.5x2
= 1.1 = 2.7
(4.14)
dessen exakte L¨osung x1 = 16.3, x2 = −44 ist. Der Koeffizient a11 = 3.3 wird geringf¨ ugig abge¨ andert, so dass man zu dem neuen System 3.31x1 + 1.2x2 = 1.1 (4.15) 6.9 x1 + 2.5x2 = 2.7 ¨ gelangt. Dieses System hat die exakte L¨ osung x1 = 98, x2 = −269.4; d. h. die Anderung ¨ des Koeffizienten a11 um 1 · 10−2 ruft also eine sehr große Anderung in der L¨osung hervor. Das System (4.14) ist demnach schlecht konditioniert und seine L¨osung instabil. Woher kommt diese Instabilit¨ at? Man betrachte das System Ax = a und stelle sich die Aufgabe, x = A−1 a zu berechnen. Sind nun die aik nur n¨aherungsweise gegeben, so hat m¨oglicherweise die Frage, ob det A = 0 ist oder nicht, gar keinen Sinn; denn es k¨onnte der Fall eintreten, dass det A 6= 0 ist, wenn man die aik als exakt gegeben ansieht, dass ¨ jedoch bei einer Anderung der aik in ihren Genauigkeitsgrenzen det A = 0 wird. Es ist v¨ollig klar, dass sich ein solches System nicht befriedigend l¨osen l¨asst. Es ist erforderlich, ein Maß f¨ ur die G¨ ute einer N¨ aherungsl¨osung x (0) f¨ ur x zu finden. Das (0) Einsetzen der N¨aherungsl¨ osung x in das System Ax = a liefert den Fehlervektor r (0) = a − Ax (0) ;
(4.16)
man bezeichnet r (0) auch als das Residuum. Ist x (0) eine gute Approximation der exakten L¨osung x , so werden notwendig die Komponenten von r (0) sehr klein sein, so dass gilt |r (0) | < ε. Umgekehrt ist |r (0) | < ε nicht hinreichend daf¨ ur, dass x (0) eine gute Approximation f¨ ur x darstellt; das gilt nur f¨ ur die L¨osungen gut konditionierter Systeme. Das Residuum ist also als Maß f¨ ur die G¨ ute einer N¨aherungsl¨osung nicht geeignet.
200
4. L¨osung linearer Gleichungssysteme
Ebensowenig reicht als Kennzeichen f¨ ur schlechte Kondition die Kleinheit des Betrages der Determinante aus. Beispiel 4.90. (Fortsetzung von Beispiel 4.89) Angenommen, man h¨ atte die exakte L¨ osung des Systems (4.14) als N¨aherungsl¨osung x (0) f¨ ur das System (4.15) erhalten. Dann ergibt sich f¨ ur das Residuum nach (4.15) r (0) =
1.1 2.7
−
3.31 6.9
1.2 2.5
16.3 −44
=
−0.163 0
,
also |r (0) | = 0.163 < 0.2. Mit ε = 2 · 10−1 sieht das Residuum vern¨ unftig aus, obwohl die L¨osung, wie man weiß, v¨ ollig falsch ist. Da das System schlecht konditioniert ist, kann man aus |r (0) | < ε nicht auf die G¨ ute der L¨ osung schließen. Nun entsteht die Frage, wie man die Kondition definieren kann. Sicher ist die Kleinheit des Betrages der Determinante ein Kennzeichen f¨ ur schlechte Kondition (die Determinante des Systems (4.14) ist 3 · 10−2 , die von (4.15) ist 5 · 10−3 ). Multipliziert man jedoch eine Zeile eines Systems, dessen Determinante klein“ ist, mit einem gen¨ ugend großen ” Faktor, so wird auch die Determinante gr¨ oßer“, ohne dass damit an der Kondition eines ” Systems etwas verbessert w¨ are. Dividiert man jedoch die Elemente jeder Zeile einer Matrix A = (aik ) durch die Quadratwurzel aus der Summe der Quadrate ihrer Elemente (also durch den Betrag des Zeilenvektors), so erh¨ alt man dadurch eine Matrix a 11 α1 a21 α2 A∗ = .. . an1 αn
a12 α1 a22 α2 .. . an2 αn
... ...
a2i1
a2i2
...
a1n α1 a2n α2 .. . ann αn
s
mit
αi =
p
+
+... +
a2in
=
n P k=1
a2ik ,
i = 1(1)n,
deren Determinante det A∗ invariant gegen¨ uber Multiplikationen der Zeilen von A mit beliebigen von Null verschiedenen Faktoren ist. Ebenso ist | det A∗ | invariant gegen¨ uber Zeilenvertauschungen in A. Damit ist eine M¨ oglichkeit zur Einf¨ uhrung eines Konditionsmaßes gefunden. Erstes Konditionsmaß Die Zahl KH (A) =
| det A| α1 α2 . . . αn
mit αi =
q
a2i1 + a2i2 + . . . + a2in , i = 1(1)n,
(4.17)
heißt Hadamardsches Konditionsmaß der Matrix A. Eine Matrix A heißt schlecht konditioniert, wenn gilt KH (A) 1 .
4.14 Fehler, Kondition und Nachiteration Erfahrungswerte:
KH (A) < 0.01 KH (A) > 0.1 0.01 ≤ KH (A) ≤ 0.1
201 schlechte Kondition, gute Kondition, keine genaue Aussage.
F¨ ur Gleichungssysteme, bei denen KH = O(10−k ) ist, kann – muss aber nicht – eine ¨ ¨ Anderung in der k-ten oder fr¨ uheren sicheren Stelle eines Koeffizienten von A zu Anderungen der Ordung O(10k ) in der L¨ osung f¨ uhren (s. dazu [CONT1987], 4.6; [WILK1969], S.116ff., S.133ff., S.143ff.). Beispiel 4.91. (Fortsetzung von Beispiel 4.89) Nachtr¨aglich wird das Konditionsmaß KH (A) f¨ ur das System (4.15) bestimmt: KH (A) =
| det A| 5 · 10−3 √ =√ = 0.194 · 10−3 < 0.01, α1 · α2 3.312 + 1.22 6.92 + 2.52
das System ist schlecht konditioniert.
Beispiel 4.92. Gegeben: Das Gleichungssystem Ax = a mit 1.1 1.7 1.3 2.0 A = 1.3 1.9 2.3 , a = 1.6 , 2.1 3.1 2.9 2.2
x1 x = x2 . x3
(4.18)
Es besitzt die exakte L¨ osung x1 = −21, x2 = 14, x3 = 1. Mit det A = 0.72 · 10−1 folgt f¨ ur das Konditionsmaß | det A| 0.72 · 10−1 KH (A) = =√ ≈ 0.19 · 10−2 < 0.01. α1 α2 α3 5.79 · 10.59 · 22.43 Daraus kann man auf eine schlechte Kondition schließen. Es soll nachgepr¨ uft werden, wie sich diese schlechte Kondition auswirkt, wenn man ein Element von A in (4.18) um 1·10−1 ab¨andert; es sei a11 = 1.0. Dann erh¨ alt man die L¨osung x T = (−6.4615; 4.4872; 0.6410). Diese L¨osung weicht sehr stark von der L¨ osung des Systems (4.18) ab. Das ist eine Folge der schlechten Kondition. (Bei stetiger Ab¨ anderung des Elementes a11 von (4.18) bis zu dem angegebenen Wert ¨ andert sich jedoch auch die L¨osung stetig bis zur L¨osung des ge¨anderten Systems.) Zweites Konditionsmaß cond(A) = kAk kA−1 k. (vgl. Abschnitt 5.2 zur Definition der Matrixnorm) Drittes Konditionsmaß
max |λi | µ(A) =
i
min |λi |
,
i
wo λi , i = 1(1)n, die Eigenwerte der Matrix A sind (s. Kapitel 7).
202
4. L¨osung linearer Gleichungssysteme
Im Falle der Konditionsmaße cond(A), µ(A) zeigen große Werte f¨ ur cond(A) bzw. µ(A) schlechte Kondition an. Keine der drei genannten Konditionszahlen gibt eine ersch¨opfende Auskunft u ¨ber die Kondition einer Matrix. Eine Reihe anderer M¨ oglichkeiten zur Einf¨ uhrung eines Konditionsmaßes sind in [BERE1971] Bd.2, S.270ff.; [COLL1968], S.81/82; [FADD1979] S.149-159; [ISAA1973], S.39/40; [SPEL1985], S.39/40; [MAES1985], [NIEM1987], 6.1, 6.2 angegeben. Testmatrizen beliebiger Ordnung mit freien Parametern findet man in [ZIEL1974], [ZIEL1975], [ZIEL1986]. Auf schlechte Kondition eines linearen Gleichungssystems kann man auch im Verlaufe (j−1) seiner L¨osung mit Hilfe des Gaußschen Algorithmus schließen, wenn die Elemente ajj des gestaffelten Systems (4.7) nacheinander einen Verlust von einer oder mehreren sicheren Stellen erleiden, der z. B. bei der Subtraktion fast gleich großer Zahlen entsteht. Beispiel 4.93. (Fortsetzung von Beispiel 4.92) Gegeben: Das lineare Gleichungssystem Ax = a aus Beispiel 4.92. Gesucht:
Seine L¨ osung mit Hilfe des Gaußschen Algorithmus. L¨asst sich eine Aussage u ¨ ber die Kondition des Systems aus dem Rechnungsverlauf machen?
L¨osung:
Man erh¨ alt bei Rechnung mit 3-stelliger Mantisse nach Rechenschema 4.46: (j)
Bezeichnung der Zeilen
(j)
(j)
aik , e aik
(j)
ai , e ai
erfolgte Operationen
e 1(0) e 2(0) e 3(0)
1.1 1.3 2.1
1.7 1.9 3.1
1.3 2.3 2.9
2.0 1.6 2.2
—
1(0) 2(0) 3(0)
2.1 1.3 1.1
3.1 1.9 1.7
2.9 2.3 1.3
2.2 1.6 2.0
—
e 2(1)
0 −0.0200
0.500
0.240
(0) (0) − 1.3 2.1 · 1 + 2
e 3(1)
0
0.0800
−0.220
0.850
(0) (0) − 1.1 2.1 · 1 + 3
2(1) 3(1)
0 0.0800 0 −0.0200
−0.220 0.500
0.850 0.240
3(2)
0
0.445
0.453
0
— (1) (1) − 0.0200 0.0800 · 2 + 3
4.14 Fehler, Kondition und Nachiteration
203
Man erh¨alt also das gestaffelte System Rx = r , aus dem die N¨aherungsl¨osung x (0) f¨ ur x folgt 2.10 3.10 2.900 2.20 −20.1 R = 0.00 0.0800 −0.220 , r = 0.850 ⇒ x (0) = 13.4 . 0.00 0.00 0.445 0.453 1.02 Man erkennt aus dem Rechnungsverlauf, dass die gegebene Matrix schlecht konditioniert ist; denn die Diagonalelemente des gestaffelten Systems haben zwei bzw. eine sichere Ziffer verloren. Zusammenfassend l¨ asst sich sagen, dass ein System Ax = a mit A = (aik ) schlecht konditioniert ist, wenn eine der folgenden Aussagen f¨ ur das System zutrifft: 1. KH (A) < 0.01; 2. cond(A) 1; 3. µ(A) 1; ¨ ¨ 4. kleine Anderungen der Koeffizienten aik bewirken große Anderungen der L¨osung; (j−1)
5. die Koeffizienten ajj des nach dem Gaußschen Algorithmus erhaltenen gestaffelten Systems verlieren nacheinander eine oder mehrere sichere Stellen; 6. die Elemente der Inversen A−1 von A sind groß im Vergleich zu den Elementen von A selbst; 7. langsame Konvergenz der Nachiteration (vgl. Abschnitt 4.14.4).
4.14.2
Konditionssch¨ atzung
Von den vorgenannten Konditionsmaßen ist nur das Hadamardsche Konditionsmaß KH (A) mit vertretbarem Aufwand zu berechnen, sofern eine LR-Zerlegung von A vorliegt. Mit der LR-Zerlegung l¨ asst sich die Determinante von A leicht berechnen, ebenso ist der Aufwand zur Berechnung der αi relativ gering. Insgesamt ist die Anzahl der erforderlichen Punktoperationen O(n2 ). Der Aufwand zur Berechnung der Konditionszahl cond(A) = kAk kA−1 k ist wegen der erforderlichen Berechnung von A−1 nicht gerechtfertigt; deshalb gibt man sich hier mit Sch¨atzungen zufrieden. Konditionssch¨ atzung nach Forsythe/Moler In [FORS1971], 13. ist eine M¨ oglichkeit zur Berechnung der heuristischen Sch¨atzung der Konditionszahl cond(A) = kAk kA−1 k angegeben, die recht brauchbare Ergebnisse liefert, wie eine Reihe von Tests ergeben haben. Es gilt cond(A) ≈
kz (1) k 1 · kx (0) k EPS
wobei z (1) der Korrekturvektor aus der ersten Nachiteration (vgl. Abschnitt 4.14.4) ist, x (0) die L¨osung von Ax = a mit dem Gauß-Algorithmus und EPS die Maschinengenauigkeit (Def. 1.13).
204
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.94. (Konditionssch¨ atzung nach Forsythe/Moler ) Gegeben: (i) Ax = a, (n, n)-Matrix A, det(A) 6= 0 (ii) x (0) = L¨ osung des Systems (i) mit dem Gauß-Algorithmus (iii) die Maschinengenauigkeit EPS Gesucht: Sch¨atzung der Konditionszahl cond(A) = kAk kA−1 k Es sind folgende Schritte durchzuf¨ uhren: 1. Berechnung des Fehlervektors r (0) mit doppelter Genauigkeit r (0) := a − Ax (0) 2. L¨osung des Gleichungssystems Az (1) = r (0) unter Verwendung der Dreieckszerlegung von A mit dem Gauß-Algorithmus 3. Berechnung des Sch¨ atzwertes cond(A) ≈
kz (1) k 1 · kx (0) k EPS
Konditionssch¨ atzung nach Cline (und anderen) [CLIN1979] Der folgende Algorithmus geht auf eine Arbeit von Cline, Moler, Stewart und Wilkinson [CLIN1979] zur¨ uck, wurde in modifizierter Form in LINPACK eingesetzt und ist in [KIEL1988], 5.4 sehr gut beschrieben und bewiesen. Der Algorithmus beruht auf der f¨ ur Az = x mit x 6= 0 folgenden Ungleichung (1)
kA−1 k∞ ≥
kz k∞ kx k∞
bzw. (2)
kA−1 k∞ = k(A−1 )T k1 = k(LR−1 )T k1 ≥
kz k1 kx k1
f¨ ur (LR)T z = x bei x 6= 0 . In beiden Darstellungen muss kz k so vergr¨oßert werden, dass kz k/kx k eine gute N¨ aherung f¨ ur kA−1 k ist. Im zweiten Fall sind wegen T T T (LR) z = R L z = x die beiden Dreiecksysteme RTy LT z
= x = y
zu l¨osen. Beim Einsatz von Spaltenpivotsuche ist es sinnvoll, x und y so zu ermitteln, dass ky k1 /kx k1 maximiert wird und anschließend LT z = y gel¨ost und damit kz k1 /kx k1 berechnet; dieser Fall wird hier beschrieben. Der Beweis sowie weitere Fallunterscheidungen sind in [KIEL1988], 5.4 zu finden.
4.14 Fehler, Kondition und Nachiteration
205
Algorithmus 4.95. (Konditionssch¨ atzung nach Cline u.a.) Gegeben: LR-Zerlegung von A bzw. PA mit normierter unterer Dreiecksmatrix L = (lik ) und regul¨ arer oberer Dreiecksmatrix R = (rik ), i, k = 1(1)n. Gesucht: Sch¨atzwert f¨ ur cond∞ (A) = kAk∞ kA−1 k∞ 1. F¨ ur RT werden x = (xi ) mit xi = ±1 und y = (yi ) = (RT )−1 x , i = 1(1)n, so n P bestimmt, dass ky k1 = |yi | m¨ oglichst groß wird. Dazu werden folgende Schritte i=1
durchgef¨ uhrt: 1.1 Setze x1 := 1, y1 := 1/r11 und yi = −r1i · y1 /rii f¨ ur i = 2(1)n 1.2 F¨ ur jedes k = 2(1)n 1.2.1 v := r1kk 1.2.2 xk := yk − v, yk := yk + v 1.2.3 SMI := |xk |, SPL := |yk | 1.2.4 F¨ ur jedes i = k+1(1)n v := rki /rii xi := yi − v · xk , yi := yi − v · yk SMI := SMI + |xi |, SPL := SPL + |yi | 1.2.5 Falls SMI > SPL ist, wird gesetzt yi := xi f¨ ur i = k(1)n xk := −1 andernfalls xk := 1 2. Durch R¨ uckw¨ artselimination wird die L¨ osung z des Dreieckssystems LT z = y berechnet. 3. Die Zahl K∞ :=kz k1 /kx k1 wird in [KIEL1988] und [NIEM1987] als N¨aherungswert f¨ ur kA−1 k∞ verwendet. (Wegen (1) und (2) l¨asst sich auch K∞ := kz k∞ /kx k∞ verwenden; damit erh¨ alt man einen besseren Sch¨atzwert f¨ ur cond∞ (A), wie umfangreiche Tests gezeigt haben.) 4. Der Sch¨atzwert cond∞ (A) ≈ kAk∞ · K∞ wird berechnet.
Beispiel 4.96. Gegeben: Das sehr schlecht konditionierte Gleichungssystem 1.985 −1.358 x1 2.212 = 0.953 −0.652 x2 1.062
206
4. L¨osung linearer Gleichungssysteme hat auf 5 Stellen gerundet die exakte L¨osung 0.60870 xex = −0.73913
Gesucht:
Die Konditionszahl, nachdem f¨ ur das voranstehende Gleichungssystem die L¨osung mit dem Gauß-Algorithmus berechnet wurde.
L¨osung:
Aussagen zur Konditionszahl der Matrix A nach den Verfahren: (1) (2) (3)
Ermittlung des Hadamardschen Konditionsmaßes Konditionssch¨ atzung nach Forsythe/Moler Konditionssch¨ atzung nach Cline (und anderen)
(1) Ermittlung des Hadamardschen Konditionsmaßes gem¨aß (4.17) . 1.985 −1.358 A= mit det A = 1.985·(−0.652)−0.953·(−1.358) = −4.6·10−5 0.953 −0.652 KH (A) =
| det A| α1 α2
= =
| − 4.6 · 10−5 | p p 1.9852 + (−1.358)2 · 0.9532 + (−0.6522 ) 4.6 · 10−5 4.6 · 10−5 √ √ = = 1.656 · 10−5 2.777 5.784 · 1.333
<
0.01
⇒ schlechte Kondition (2) Konditionssch¨ atzung nach Forsythe/Moler. cond(A) ≈
||z (1) || 1 · ||x (0) || ε
A x 1.985 −1.358 x 0.953 −0.652 0.60870 xex = ; −0.73913
=
r (0)
= =
Az (1) = r (0) cond(A) =
= x (0)
Ax (0) 2.211994315 − 1.061997271 0.000013689 z (1) = 0.000016086
a 2.212 1.062 ⇒
a 2.212 1.062 0.60868842 = −0.73913682
−
0.000021239 1 2.218 · 10−5 · = >1 0.957509703 ε ε
=
⇔
Da Maschinengenauigkeit ε im Allgemeinen 2 · 10−5
0.00000568474 0.0000027291
ε < 2.218 · 10−5 ⇒
schlechte Kondition
4.14 Fehler, Kondition und Nachiteration
207
(3) Konditionssch¨ atzung nach Cline (und anderen). Bei dieser Sch¨atzung von cond(A) wird vorausgesetzt, dass eine ohne oder mit Spaltenpivotsuche erzeugte LR-Zerlegung von A bzw. PA vorliegt mit normierter unterer Dreiecksmatrix L und regul¨ arer oberer Dreiecksmatrix R. Aus den Faktoren L und R wird ein Sch¨atzwert f¨ ur k(LR)−1 k∞ berechnet und damit wegen kA−1 k = k(LR)−1 k (Invarianz der Matrixnormen 1,2 und ∞ gegen¨ uber Zeilen- und Spaltenvertauschungen) einen Sch¨ atzwert f¨ ur cond(A).
A 1.985 −1.358 0.953 −0.652
= =
L 1 0.4801
0 1
R 1.985 −1.358 0 −2.3173 · 10−5
Mit Algorithmus 4.95 erh¨ alt man: 1.1
x1 := 1 ;
y1 :=
y2 := 1.358 ·
1 = 0.5038 1.985
1 = −29527 1.985 · (−2.317 · 10−5 )
1 = −43159 −2.317 · 10−5
1.2.1
v :=
1.2.2
x2 := y2 − v = 13632 ;
y2
1.2.3
SMI := |x2 | = 13632 ;
SPL := |y2 | = 72686
1.2.4
SMI < SPL
x2
1 0
⇒
LT 0.4801 1
z z1 z2
z2 = −72686; n P
K∞
||z ||1 := = i=1 n P ||x ||1
= =
:=
:=
y2 + v = −72686
1
y 0.5038 −72686
z1 = 34890 |zi | = |xi |
107576 = 53788 2
i=1
||A||∞ := Zeilensummennorm = max
n P k=1
cond∞ (A) ≈ ||A||∞ · K∞
=
⇒
schlechte Kondition
|aik | i = 1, . . . , n
3.343 · 53788
1
n o = max 3.343, 1.605
208
4.14.3
4. L¨osung linearer Gleichungssysteme
Mo ¨glichkeiten zur Konditionsverbesserung
¨ (a) Aquilibrierung (s. [WERN1993], S.160): Man multipliziert die Zeilen von A mit einem konstanten Faktor, d. h. man geht vom gegebenen System Ax = a zu D1 Ax = D1 a, u are Diagonalmatrix darstellt. Nach Ergebnissen von ¨ ber, wobei D1 eine nicht singul¨ Wilkinson erh¨alt man im Allgemeinen dann optimale Konditionszahlen, wenn man so multipliziert, dass alle Zeilenvektoren der Matrix A gleiche Norm haben. (b) Skalierung (s. [BJOR1979], 5; [FORS1971], 11): Man multipliziert die k-te Spalte ¨ von A mit einem konstanten Faktor. Physikalisch bedeutet dies die Anderung des Maßstabs f¨ ur die Unbekannte xk . Das gleiche kann man f¨ ur die rechte Seite machen. Auf alle Spalten bezogen ergibt sich statt Ax = a das System AD2 x = D2 a. (c) Auch Linearkombination von Gleichungen kann zur Konditionsverbesserung f¨ uhren. Die Kondition kann dadurch allerdings auch verschlechtert werden (s. Beispiel dazu in [POLO1964], S.345/346).
4.14.4
Nachiteration
Wenn die Koeffizienten aik eines linearen Gleichungssystems Ax = a mit A = (aik ) exakt gegeben sind, das System aber schlecht konditioniert ist, kann eine mit Rundungsfehlern behaftete N¨ aherungsl¨ osung, die mittels einer direkten Methode bestimmt wurde, iterativ verbessert werden. Sei x (0) die mit Hilfe des Gaußschen Algorithmus gewonnene N¨aherungsl¨osung des Systems Ax = a , dann ist durch (4.16) das Residuum (Fehlervektor) r (0) definiert (vgl. Abschnitt 4.14.1). Mit einem Korrekturvektor z (1) macht man den Ansatz x = x (0) + z (1) und erh¨ alt Az (1) = a − Ax (0) = r (0) .
(4.19)
Da a, A und x (0) bekannt sind, l¨ asst sich das Residuum r (0) berechnen. Zur Berechnung von x (0) ist das System Ax = a mit Hilfe des Gaußschen Algorithmus bereits auf obere Halbdiagonalform gebracht worden, so dass sich z (1) aus (4.18) rasch bestimmen l¨asst; man muss nur noch die rechte Seite transformieren. Statt der exakten L¨osung z (1) von (4.19) erh¨alt man nur eine N¨ aherungsl¨ osung, so dass sich aus x (0) +z (1) statt des exakten x ein N¨aherungswert x (1) = x (0) + z (1) errechnet. F¨ ur x (1) ergibt sich dann der Fehlervektor r (1) = a − Ax (1) , so dass sich der soeben beschriebene Prozess wiederholen l¨ asst. Die allgemeine Vorschrift zur Berechnung eines (ν +1)-ten Korrekturvektors z (ν+1) lautet Az (ν+1) = a − Ax (ν) = r (ν) ,
ν = 0, 1, 2, . . .
4.14 Fehler, Kondition und Nachiteration
209
Es wird so lange gerechnet, bis sich f¨ ur ein ν die Komponenten aufeinander folgender Korrekturvektoren in der gew¨ unschten Stellenzahl nicht mehr a¨ndern bzw. zu vorgegebenem ε > 0 die relative Verbesserung kz (ν+1) k∞ / kx (ν) k∞ < ε ist. Dann gilt f¨ ur die gesuchte L¨osung x ≈ x (ν+1) = x (ν) + z (ν+1) . Es empfiehlt sich, die Residuen mit doppelter Stellenzahl zu berechnen und jeweils erst das Ergebnis auf die einfache Stellenzahl zu runden.
Algorithmus 4.97. (Nachiteration) Gegeben: A, a , N¨ aherungsl¨ osung x (0) von Ax = a. Gesucht: Verbesserte L¨ osung x (ν+1) ≈ x . Dann sind f¨ ur jedes ν = 0, 1, 2, . . . nacheinander folgende Schritte auszuf¨ uhren: 1. r (ν) = a − Ax (ν) , 2. Az (ν+1) = r (ν) , 3. x (ν+1) = x (ν) + z (ν+1) . Da eine Dreieckszerlegung A = LR (bzw. PA = LR bei Spaltenpivotsuche) bereits mit dem direkten Verfahren durchgef¨ uhrt wurde, ist bei 2. nur noch auszuf¨ uhren: 2.1 (Vorw¨artselimination) r (ν) = Lr ⇒ r (ν) (bzw. Pr = Lr bei Spaltenpivotsuche) 2.2 (R¨ uckw¨artselimination) Rz (ν+1) = r ⇒ z (ν+1) Die Rechnung wird abgebrochen, wenn die relative Verbesserung kleiner als eine vor||z (ν+1) ||∞ zugebende Schranke ε ist: < ε. ||z (ν) ||∞
Eine hinreichende Konvergenzbedingung f¨ ur die Nachiteration ist zwar bekannt ([WILK1969], S.155), jedoch f¨ ur die Praxis zu aufw¨andig. Die Konvergenz ist umso schlechter, je schlechter die Kondition des Systems ist (vgl. auch [MCCA1967], 5.8; [STIE1976], S.24/25; [ZURM1965], S.163).
Beispiel 4.98. (Fortsetzung von Beispiel 4.92) Gegeben: Das Gleichungssystem Ax = a mit (4.18) und seine mit Hilfe des Gaußschen Algorithmus gewonnene N¨ aherungsl¨ osung x (0) . Gesucht:
Eine Verbesserung von x (0) durch einen Nachiterationsschritt.
210
4. L¨osung linearer Gleichungssysteme
L¨osung: Mit x (0)T = (−20.1, 13.4, 1.02) folgt bei Rechnung mit 6-stelliger und Rundung auf 3-stellige Mantisse f¨ ur das Residuum r (0) gem¨ aß (4.15) 0.00400 r (0) = a − Ax (0) = −0.0760 , |r (0) | = 0.0010. −0.0880 Aus Az (1) = r (0) folgt mit Hilfe des Gaußschen Algorithmus f¨ ur den Korrekturvektor −0.857 0.571 . z (1) = −0.0202 Daraus ergibt sich eine gegen¨ uber x (0) verbesserte N¨aherung x (1) f¨ ur x mit −20.957 x (1) = x (0) + z (1) = 13.971 ; 0.9998 d. h. nach Rundung auf die 3-stellige Mantisse erh¨alt man f¨ ur x (1) die exakte L¨osung T (−21, 14, 1) .
4.15
Gleichungssysteme mit Blockmatrix
4.15.1
Vorbemerkungen
Es liege ein Gleichungssystem von n Gleichungen mit n Unbekannten der Form von (4.2) vor: Ax = a vor. Eine Zerlegung der (n, n)-Matrix A = (aik ) in Bl¨ ocke (Untermatrizen) geschieht durch horizontale und vertikale Trennungslinien, die die ganze Matrix durchschneiden. Man erh¨alt eine sogenannte Blockmatrix, die aus Untermatrizen Aik kleinerer Ordnung aufgebaut ist: A = (Aik ). Zerlegt man nun die quadratische Matrix A so, dass die Diagonalbl¨ ocke Aii quadratische (ni , ni )-Matrizen sind und die Bl¨ ocke Aik Matrizen mit ni Zeilen und nk Spalten, so erh¨alt man bei entsprechender Zerlegung der Vektoren x und a das System Ax = a in der Form A11 A12 · · · A1N x1 a1 A21 A22 · · · A2N x2 a2 (4.20) .. .. = .. . .. .. .. . . . . . . AN 1 AN 2 · · · AN N xN aN
4.15 Gleichungssysteme mit Blockmatrix Es gilt
N P
N P
ni = n,
i=1
211
Aik xk = ai , i = 1(1)N .
k=1
Es werden nur solche Zerlegungen betrachtet, deren Diagonalbl¨ocke quadratisch sind, weil man mit ihnen so operieren kann, als w¨ aren die Bl¨ocke Zahlen. Man kann deshalb zur L¨osung von Gleichungssystemen (4.20) mit Blockmatrix im Wesentlichen die bisher behandelten Methoden verwenden, nur rechnet man jetzt mit Matrizen und Vektoren statt mit Zahlen. Divisionen durch Matrixelemente sind jetzt durch Multiplikationen mit deren Inversen zu ersetzen. Die Pivotsuche kann nicht angewendet werden.
Beispiel 4.99.
z |
1 2 3 4 5
A11 }| 6 7 8 9 10 {z A21 ⇒
−1 −2 −3 −4 −5
A11 A21
A12 { z }| −7 5 −10 6 2 7 3 8 4 9 }| {z A22 A12 A22
x1 z }| { { x1 x2 x3 = x4 x5 } | {z } x2
1 1 1 1 1
a1 a2
x1 a1 · = . x2 a2
Hier wird zur Veranschaulichung der Vorgehensweise bei Blockmethoden der Gaußsche Algorithmus f¨ ur vollbesetzte Blocksysteme und f¨ ur blockweise tridiagonale Systeme angegeben. Anschließend werden Methoden zur Behandlung spezieller Blocksysteme mit entsprechenden Literaturangaben genannt.
4.15.2
Gauß-Algorithmus fu ¨r Blocksysteme
1. Eliminationsschritt. Formal verl¨auft die Elimination analog zu Abschnitt 4.5 ohne Pivotisierung. Die Division durch das Diagonalelement wird hier ersetzt durch die Multiplikation mit der Inversen −1 (j−1) Ajj . Multiplikation von 1(0) : (0)
(0)
(0)
(0)
(0)
(0)
A11 x1 + A12 x2 + . . . + A1N xN = a1
mit −Ai1 (A11 )−1 von links und Addition zur i-ten Zeile (nacheinander f¨ ur i = 2, 3, . . . , N ) liefert das System
212
4. L¨osung linearer Gleichungssysteme
(0)
1(0) : 2(1) : 3(1) : .. .
(0)
+ . . . + A1N xN = (1) + . . . + A2N xN = (1) + . . . + A3N xN = .. .
(1)
+ . . . + AN N xN =
A11 x1 + A12 x2 (1) A22 x2 (1) A32 x2 .. .
N (1) :
AN2 x2
(0)
a1 , (1) a2 , (1) a3 , .. .
(0)
(1)
aN .
(1)
2. Eliminationsschritt. −1 (1) (1) Multiplikation von 2(1) mit −Ai2 A22 von links und Addition zur i-ten Zeile nacheinander f¨ ur i = 3, 4, . . . , N liefert das System 1(0) : 2(1) : 3(2) : .. .
(0)
(0)
(0)
+ . . . + A1N xN = (1) + . . . + A2N xN = (2) + . . . + A3N xN = .. .
(2)
+ . . . + A N N xN = aN .
A11 x1 + A12 x2 + A13 x3 (1) (1) A22 x3 + A23 x3 (2) A33 x3 .. .
N (2) :
AN 3 x3
(0)
a1 , (1) a2 , (2) a3 , .. .
(0)
(2)
(2)
Nach N − 1 analogen Eliminationsschritten erh¨ alt man das blockweise gestaffelte System Bx = b, wobei B eine Block-Superdiagonalmatrix ist, der Form 1(0) : 2(1) : .. .
(0)
(0)
A11 x1 + A12 x2 + . . . + (1) A22 x2 + . . . + .. .
(0)
A1N xN = (1) A2N xN = .. . (N −1)
N (N −1) :
AN N
(0)
a1 , (1) a2 , .. . (N −1)
xN = aN
.
Durch R¨ uckrechnung ergeben sich daraus die xi , i = 1(1)N , man erh¨alt N Gleichungssysteme (N−1)
AN N
xN
(j−1)
Ajj
xj
(N −1)
= aN
(j−1)
= aj
,
−
N X
(j−1)
Ajk
xk ,
k=j+1 (j−1)
wobei die Ajj quadratisch sind. Diese Systeme lassen sich jetzt mit dem Gaußschen Algorithmus (mit Pivotisierung) gem¨ aß Abschnitt 4.5 behandeln. Bei der numerischen L¨ osung partieller Differentialgleichungen und Integralgleichungen treten h¨aufig Gleichungssysteme mit blockweise tridiagonalen Matrizen auf. Im Folgenden wird ein Algorithmus f¨ ur diesen Fall angegeben.
4.15 Gleichungssysteme mit Blockmatrix
4.15.3
213
Gauß-Algorithmus fu ¨r tridiagonale Blocksysteme
Gegeben sei das lineare Gleichungssystem (4.20) mit tridiagonaler Blockmatrix der Form D1 C1 B2 D2 C2 . . . .. .. .. A= BN −1 DN−1 CN −1 BN DN Dann ergeben sich die L¨ osungen des Systems, indem man die Matrix A analog zu Abschnitt 4.9 in das Produkt CB zweier bidiagonaler Blockmatrizen zerlegt und damit das System Ax = a in ein ¨ aquivalentes System Bx = b mit b = C −1 a u uhrt, welches ¨berf¨ rekursiv gel¨ost werden muss. Mit 1 G1 b1 A1 b2 1 G2 B2 A2 .. .. .. C = , B = , b= . . . . . .. .. 1 GN−1 bN −1 BN AN 1 bN berechnet man aus A = CB
und
a = Cb
die Elemente der Matrizen C , B und des Vektors b und die L¨osung x durch R¨ uckrechnung aus Bx = b. Dies wird an einem Blocksystem mit einer tridiagonalen (3,3)Blockmatrix demonstriert: D1 C1 0 x1 a1 B2 D2 C2 · x2 = a2 . 0 B3 D3 x3 a3 Aus der Zerlegung A = CB ergeben sich mit den Einheitsmatrizen Z wegen A1 0 0 D1 C1 0 Z G1 0 e 2 A2 0 · 0 Z B2 D2 C2 = B G2 e 3 A3 0 B3 D 3 0 0 Z 0 B A1 A1 G1 0 e2 B e 2 G1 + A2 A2 G2 = B e e 0 B3 B3 G2 + A3 die Beziehungen D1 C1 B2 D2
= = = =
A1 A1 G1 e2 B e 2 G1 + A2 B
C2 B3 D3
= A2 G2 e3 = B e 3 G2 + A3 , = B
214
4. L¨osung linearer Gleichungssysteme
also allgemein A1 Gi Ai
= D1 = A−1 i Ci = Di − Bi Gi−1
i = 1, 2 i = 2, 3.
Analog erh¨alt man aus a = C b mit der bereits bestehenden Matrix C die Vektoren bi b1 bi
= A−1 1 a1 = A−1 i (ai − Bi bi−1 ),
i = 2, 3.
Schließlich wird die R¨ uckrechnung Bx = b durchgef¨ uhrt, um die L¨osungen xi zu erhalten: Z G1 0 x1 b1 0 Z G2 x2 = b2 . 0 0 Z x3 b3 ⇒ Z x3 = x3 = b3
xi = bi − Gi xi+1 ,
i = 2, 1.
Zusammengefasst und auf (N, N )-Systeme erweitert, ergeben sich die L¨osungen eines tridiagonalen Blocksystems, wenn man die folgenden Berechnungen in der angegebenen Reihenfolge ausf¨ uhrt (siehe auch [ISAA1973], S.61-64): (1)
A1 = D1 , G1 = A−1 1 C1
(2)
Ai = Di − Bi Gi−1 Gi = A−1 i Ci
, i = 2(1)N , i = 2(1)N−1
(3)
b1 = A−1 i a1 bi = A−1 i (ai − Bi bi−1 )
, i = 2(1)N
xN = bN xi = bi − Gi xi+1
, i = N−1, N−2, . . . , 1.
(4)
4.15.4
Weitere Block-Verfahren
(1) Ist A = (Aik ) positiv definit und besitzen alle Diagonalbl¨ocke Aii eine und dieselbe Ordnung n1 = n2 = . . . = nN = n/N , so l¨ asst sich die in [BERE1971], Bd.2, S.4951 beschriebene Quadratwurzelmethode (Analogon zum Verfahren von Cholesky) anwenden. (2) Sind alle Bl¨ocke Aik quadratische Matrizen der gleichen Ordnung, so l¨asst sich eine Blockmethode anwenden, die eine Modifikation des Verfahrens von Gauß-Jordan darstellt, (s. [BERE1971], Bd.2, S.51-54). (3) Ein Beispiel zu Systemen mit tridiagonalen Blockmatrizen ist in [SCHW1972], S.210 zu finden. Dort liegt speziell eine diagonal blockweise tridiagonale Matrix vor, d. h. eine blockweise tridiagonale Matrix, deren Diagonalbl¨ocke Diagonalmatrizen sind. (4) Zur Blockiteration und Blockrelaxation s. [ISAA1973], S.63ff.; [SCHW1972], S.216ff.
4.16 Algorithmus von Cuthill-McKee
4.16
215
Algorithmus von Cuthill-McKee fu ¨r du ¨nn besetzte, symmetrische Matrizen
Etwa bei der L¨osung von Randwertproblemen f¨ ur gew¨ohnliche und partielle Differentialgleichungen sowie beim Einsatz von Finite-Element-Methoden treten h¨aufig d¨ unn besetzte Matrizen auf. Hier ist folgende Vorgehensweise zu empfehlen: 1. Die Anwendung des Algorithmus von Cuthill-McKee [CUTH1969] u uhrt die ¨berf¨ d¨ unnbesetzte Matrix (z. B. Steifigkeitsmatrix) in eine Bandmatrix mit fast optimaler Bandbreite, aber eben im Allgemeinen noch nicht mit der m¨oglichen minimalen Bandbreite. 2. Anschließend wird mit den Nummerierungen aus Cuthill-McKee als Startnummerierung der Algorithmus von Rosen angewandt, der im Allgemeinen die Bandbreite weiter verringert. Es gibt aber auch F¨ alle, bei denen damit keine weitere Verminderung der Bandbreite erzielt werden kann. Hier wird der Algorithmus von Cuthill-McKee in exakt der Form aus [ENGE1996], Programmteil, verwendet. Die Theorie zu dem Algorithmus ist z. B. in [WEIS1990], 1.5.2 zu finden.
Algorithmus 4.100. (Cuthill-McKee-Algorithmus) Gegeben: Die Nichtnull-Elemente aik einer symmetrischen, d¨ unn besetzten (n, n)Matrix A und ihre Zeilen- und Spaltenindizes i, k. Gesucht: Die Cuthill-McKee-Nummerierung der Matrix. 1. Die Matrix A ist in Listenform zu speichern: 1.1 Setze N V := 0 1.2 F¨ ur i = 1(1)n: 1.2.1 Setze IRi := N V + 1 1.2.2 F¨ ur alle Nichtnull-Elemente in Zeile i: 1.2.2.1 Bestimme das n¨ achste Nichtnull-Element aik 1.2.2.2 Setze N V := N V + 1; VN V := aik ; ICN V := k 1.3 Setze IRn+1 := N V + 1 2. Konstruktion des Besetzungsgraphen: 2.1 Setze µ := 0 2.2 F¨ ur i = 1(1)n: 2.2.1 Setze IN Bi := µ + 1 2.2.2 F¨ ur k = IRi (1)IRi+1 − 1:
216
4. L¨osung linearer Gleichungssysteme
2.2.2.1 Wenn ICk 6= i, dann µ := µ + 1; N EIGHBµ := ICk 2.2.3 IDEGi := µ + 1 − IN Bi 2.3 IN Bn+1 := µ + 1 3. Berechnung der Cuthill-McKee-Nummerierung: 3.1 Felder initialisieren: F¨ ur i = 1(1)n: 3.1.1 Setze Marke f¨ ur Knoten i auf falsch“. Setze ICMi := 0. ” 3.2 Setze N F OU N D := 0 3.3 F¨ ur i = 1(1)n: 3.3.1 Wenn Knoten i noch nicht markiert ist: 3.3.1.1 Suche zu der von Knoten i induzierten Komponente des Graphen einen Startknoten IROOT , der eine m¨oglichst lange Stufenstruktur ergibt (Unter-Algorithmus 4.101). 3.3.1.2 Berechne die Cuthill-McKee-Nummerierung dieser Komponente mit dem Startknoten IROOT und der Anfangsnummer IST ART := N F OU N D + 1. Markiere alle Knoten dieser Komponente. (Unter-Algorithmus 4.102). 3.3.1.3 Setze N F OU N D := N F OU N D + Anzahl der Knoten der neuen Komponente. 3.4 Das Feld ICM enth¨ alt jetzt die CM -Nummerierung des ganzen Graphen: F¨ ur i = 1(1)n ist ICMi die urspr¨ ungliche Nummer des Knotens mit der CM -Nummer i. Berechne die Umkehrpermutation ICM REV : F¨ ur i = 1(1)n: Setze ICM REVICMi := i. Durch die CM -Permutation geht ein lineares Gleichungssystem Ax = b u ¨ber in ein ¨aquivalentes Gleichungssystem A∗ x ∗ = b ∗ , wobei a∗ik b∗i x∗i bzw. aik bi xi
= aICMi ,ICMk , = bICMi , = xICMi , i = 1(1)n, k = 1(1)n = a∗ICM REVi ,ICM REVk , = b∗ICM REVi , = x∗ICM REVi , i = 1(1)n, k = 1(1)n.
4.16 Algorithmus von Cuthill-McKee
217
Algorithmus 4.101. (Unter-Algorithmus zu Algorithmus 4.100 ) Gegeben: (a) Der Besetzungsgraph einer (n, n)-Matrix A in den Feldern N EIGHB und IN B aus Algorithmus 4.100 Schritt 2. (b) Feld IDEG mit Knotengraden aus Algorithmus 4.100 Schritt 2.2.3. (c) Gewisse Knoten in N EIGHB k¨ onnen von fr¨ uheren Ausf¨ uhrungen des Schrittes 3.3.1 im Algorithmus 4.100 her markiert sein. (d) Die Nummer IROOT eines nicht markierten Knotens. Gesucht: Ein Startknoten f¨ ur eine m¨ oglichst lange Stufenstruktur der von IROOT erzeugten Komponente des Graphen. 1. Setze N LV OLD := 0. N LV OLD ist die bisher gefundene maximale Stufenstrukturl¨ange. 2. Bilde die Stufenstruktur zu IROOT in den Feldern LEV EL und ILV : 2.1 Setze N LV := 0; LEV EL1 := IROOT ; µ := 1; LEV EN D := 0. Markiere Knoten IROOT . 2.2 Setze N LV := N LV + 1; LEV BEG := LEV EN D + 1; LEV EN D := µ; ILVN LV := LEV BEG. Hiernach ist N LV die Anzahl der bisher gefundenen Stufen (die erste Stufe besteht aus IROOT ). LEV BEG zeigt auf den Anfang, LEV EN D auf das Ende der zuletzt gefundenen Stufe (N LV ) im Feld LEV EL. 2.3 Bestimme die Knoten der n¨ achsten Stufe N LV +1. Dazu finde alle noch nicht markierten Nachbarn von Knoten der Stufe N LV und trage sie in LEV EL ein: F¨ ur i = LEV BEG(1)LEV EN D: 2.3.1 F¨ ur j = IN BLEV ELi (1)IN BLEV ELi +1 − 1: 2.3.1.1 Wenn Knoten N EIGHBj noch nicht markiert ist, dann setze µ := µ + 1; LEV ELµ := N EIGHBj und markiere Knoten N EIGHBj . 2.4 Wenn µ > LEV EN D, d. h. wenn in 2.3 neue Knoten gefunden wurden, gehe zu 2.2. Ansonsten ist die Stufenstruktur der von IROOT erzeugten Komponente fertig. 2.5 Setze LV N ODES := LEV EN D. Dies ist die Anzahl der Knoten in dieser Komponente. Setze ILVN LV +1 := LV N ODES + 1. 2.6 Setze alle in 2.1 bis 2.3 gesetzten Knotenmarkierungen zur¨ uck. 3. Wenn N LV ≤ N LV OLD, dann hat sich die Stufenstruktur gegen¨ uber der letzten Ausf¨ uhrung von Schritt 2 nicht verl¨ angert. In diesem Fall beende Algorithmus 4.101. Andernfalls: 4. Setze N LV OLD := N LV . 5. Suche einen Knoten minimalen Grades auf der letzten Stufe, d. h. suche i0 mit IDEGi0 = min{IDEGLEV ELi |i = ILVN LV (1)ILVN LV +1 − 1} Ersetze IROOT durch LEV ELi0 . 6. Gehe zu 2.
218
4. L¨osung linearer Gleichungssysteme
Algorithmus 4.102. (Unter-Algorithmus zu Algorithmus 4.100 ) Gegeben: (a) Der Besetzungsgraph einer (n, n)-Matrix A in den Feldern N EIGHB und IN B aus Algorithmus 4.100 Schritt 2. (b) Feld IDEG mit Knotengraden aus Algorithmus 4.100 Schritt 2.2.3. von Algorithmus 4.101 bestimmt. (d) Anfangsnummer IST ART f¨ ur die CM -Nummerierung dieser Komponente. (e) In fr¨ uheren Ausf¨ uhrungen von Algorithmus 4.100 Schritt 3.3.1 wurden ggf. schon Komponenten des Graphen erfasst. Die CM -Nummerierung dieser Komponenten steht im Feld ICM in den Elementen ICMi , i = 1(1)IST ART − 1. Die Knoten dieser Komponente sind markiert, alle anderen sind nicht markiert. Gesucht: Die CM -Nummerierung der von IROOT erzeugten Komponente. 1. Setze ICMIST ART := IROOT , N EW EN D := IST ART ; LEV EN D := IST ART − 1. Markiere Knoten IROOT . 2. Bilde die Stufenstruktur zu IROOT im Feld ICM : 2.1 Setze LEV BEG := LEV EN D + 1; LEV EN D := N EW EN D. Hiernach zeigt LEV BEG auf den Anfang, LEV EN D auf das Ende der zuletzt gefundenen Stufe im Feld ICM . (Die erste Stufe besteht nur aus IROOT .) 2.2 Bestimme die Knoten der n¨ achsten Stufe: dazu finde alle noch nicht markierten Nachbarn von Knoten der letzten Stufe und trage sie in ICM ein: F¨ ur i = LEV BEG(1)LEV EN D: 2.2.1 Setze N EW BEG := N EW EN D + 1. N EW BEG zeigt auf den Anfang der jetzt neu zu bildenden Stufe in ICM . N EW EN D zeigt immer auf den zuletzt gefundenen Knoten in ICM . 2.2.2 F¨ ur j = IN BICMi (1)IN BICMi +1 − 1: 2.2.2.1 Wenn Knoten N EIGHBj noch nicht markiert ist, dann setze N EW EN D := N EW EN D + 1; ICMN EW EN D := N EIGHBj und markiere Knoten N EIGHBj . 2.2.3 Sortiere die Elemente ICMi , i = N EW BEG(1)N EW EN D, nach steigendem Grad. 2.3 Wenn N EW EN D > LEV EN D, d. h. wenn in Schritt 2.2 neue Knoten gefunden werden, gehe zu 2.1, andernfalls ist die Durchf¨ uhrung des Algorithmus 4.102 beendet.
Programme dazu sind in der Programmsammlung enthalten. Ein Nachvollziehen per ” Hand“ ist hier nicht sinnvoll.
4.17 Entscheidungshilfen
4.17
219
Entscheidungshilfen fu ¨r die Auswahl des Verfahrens
Trotz der Vielzahl numerischer Verfahren, die zur L¨osung linearer Gleichungssysteme zur Verf¨ ugung stehen, ist die praktische Bestimmung der L¨osungen f¨ ur große Werte von n eine problematische numerische Aufgabe. Die Gr¨ unde hierf¨ ur sind (1) der Arbeitsaufwand (die Rechenzeit), (2) der Speicherplatzbedarf, (3) die Verf¨alschung der Ergebnisse durch Rundungsfehler oder mathematische Instabilit¨ at des Problems. Zu (1): Der Arbeitsaufwand l¨ asst sich u ¨ber die Anzahl erforderlicher Punktoperationen (Multiplikationen, Divisionen) absch¨ atzen. Die folgende Tabelle liefert die Anzahl der Punktoperationen, die erforderlich sind, um ein lineares Gleichungssystem aus n Gleichungen mit n Unbekannten nach den angegebenen Verfahren zu l¨ osen. Die Anzahl erforderlicher Additionen und Subtraktionen bleibt in diesem Vergleich unber¨ ucksichtigt. Tabelle. (Anzahl der Punktoperationen bei n Gleichungen mit n Unbekannten) VERFAHREN Gauß-Algorithmus Cholesky-Verfahren Gauß-Jordan-Verfahren Austauschverfahren Verf. f¨ ur tridiagonale Matrizen
ANZAHL DER PUNKTOPERATIONEN n3 + n2 − n 3 3 3 n + O(n2 ) 6 n3 + n2 + n 2 2 n3 + n2 5n − 4
Verf. f¨ ur zyklisch tridiagonale Matrizen
11n − 16
Verf. f¨ ur f¨ unfdiagonale Matrizen
11n − 16
Iterationsverf. (pro Iterationsschritt)
2n2 − 2n
220
4. L¨osung linearer Gleichungssysteme
Zu (2): Vom Computer her gesehen ergeben sich bez¨ uglich des Speicherplatzes zwei kritische Gr¨ oßen f¨ ur sehr große n: (a) der f¨ ur die Speicherung der aik verf¨ ugbare Platz im Arbeitsspeicher (Hauptspeicher), (b) der daf¨ ur verf¨ ugbare Platz in den Hintergrundspeichern. Der Speicherplatzbedarf verringert sich, wenn A spezielle Eigenschaften, z. B. Bandstruktur, besitzt, d¨ unn besetzt ist oder symmetrisch ist. Es entsteht praktisch kein Speicherplatzbedarf, wenn sich die aik aufgrund einer im Einzelfall gegebenen Vorschrift jeweils im Computer berechnen lassen ( generated Ma” trix“), siehe auch die folgende Bemerkung. Zu (3): Durch geeignete Gestaltung des Ablaufs der Rechnung kann die Akkumulation von Rundungsfehlern unter Kontrolle gehalten werden, sofern die Ursache nicht in mathematischer Instabilit¨ at des Problems liegt. Deshalb sollte grunds¨atzlich mit skalierter teilweiser Pivotisierung gearbeitet werden, es sei denn, die spezielle Struktur des Systems garantiert numerische Stabilit¨at. Mit relativ geringem Aufwand lassen sich die Ergebnisse jeweils durch Nachiteration verbessern. Im Allgemeinen lassen sich weder die Kondition des Systems noch die Frage, ob die Bedingungen f¨ ur die eindeutige L¨ osbarkeit erf¨ ullt sind, vor Beginn der numerischen Rechnung pr¨ ufen. Daher sollten die Programme so gestaltet sein, dass sie den Benutzern im Verlaufe der Rechnung dar¨ uber Auskunft geben. Bemerkungen zu großen Systemen und d¨ unnbesetzten Matrizen: Bei sehr großen Systemen, bei denen die Elemente von A und a nicht vollst¨andig im Arbeitsspeicher unterzubringen sind (selbst nicht in gepackter Form), k¨onnen sogenannte Blockmethoden angewandt werden, s. dazu Abschnitt 4.15. Solche Systeme treten vorwiegend im Zusammenhang mit der numerischen L¨ osung partieller Differentialgleichungen auf. Sind die Matrizen d¨ unn besetzt, wie es h¨ aufig bei der L¨osung von Randwertproblemen f¨ ur gew¨ohnliche und partielle Differentialgleichungen durch Differenzenverfahren oder die Finite-Elemente-Methode auftritt, sollten entsprechende L¨osungsalgorithmen verwendet werden, siehe dazu z. B. [MAES1985] und [WEIS1990], 1. 1. Die Anwendung des Algorithmus von Cuthill-McKee [CUTH1969] u uhrt die ¨berf¨ d¨ unnbesetzte Matrix (z. B. Steifigkeitsmatrix) in eine Bandmatrix mit fast optimaler Bandbreite, aber eben im Allgemeinen noch nicht mit der m¨oglichen minimalen Bandbreite. 2. Anschließend wird mit den Nummerierungen aus Cuthill-McKee als Startnummerierung der Algorithmus von Rosen angewandt, der im Allgemeinen die Bandbreite weiter verringert. Es gibt aber auch F¨ alle, wo damit keine weitere Verminderung der Bandbreite erzielt werden kann. Weitere geeignete Verfahren, insbesondere auch Iterationsverfahren, sind in [WEIS1990] zu finden.
4.17 Entscheidungshilfen
221
Erg¨ anzende Literatur zu Kapitel 4 [BARW2007], Kap.2; [DAHM2008], Kap.3; [DEUF2002] Bd.1, Kap.1; [GRAM2000], Kap.5; [HAMM1994], Kap.2; [KNOR2003], Kap.3; [KOCK1990]; [OPFE2002], Kap.6, [PLAT2000], Kap.4; [PREU2001], Kap.3; [QUAR2002] I, Kap.3; [STOE1999], Kap.4; [STOE2002A], Kap.4; [TORN1990] Bd.1; [WERN1993] III 1, 2, S.149/150; [YOUN2003], 14, 18; [ZURM1997], 6.1, 6.6, 6.7, 8.
Kapitel 5
Iterationsverfahren zur L¨ osung linearer Gleichungssysteme
5.1
Vorbemerkungen
Bei den direkten Methoden besteht aufgrund der großen Anzahl von Punktoperationen proportional zu n3 die Gefahr der Akkumulation von Rundungsfehlern, so dass bei schlecht konditioniertem System die L¨ osung v¨ ollig unbrauchbar werden kann. Dagegen sind die iterativen Methoden gegen¨ uber Rundungsfehlern weitgehend unempfindlich, da jede N¨aherungsl¨osung als Ausgangsn¨ aherung f¨ ur die folgende Iterationsstufe angesehen werden kann. Die Iterationsverfahren konvergieren jedoch nicht f¨ ur alle l¨osbaren Systeme. Die hier angegebenen Verfahren in Gesamt- und Einzelschritten konvergieren nur linear und außerdem (wegen eines f¨ ur wachsendes n ung¨ unstiger werdenden Wertes der Lipschitzkonstante) bei den meisten in der Praxis vorkommenden Problemen auch noch sehr langsam. Deshalb sind die iterativen Methoden den direkten nur in sehr speziellen F¨allen u ¨ berlegen, n¨amlich dann, wenn A schwach besetzt, sehr groß und so strukturiert ist, dass bei Anwendung eines der direkten Verfahren die zu verarbeitenden Matrizen nicht mehr in den oder die verf¨ ugbaren Speicher passen. Die Konvergenz kann im Allgemeinen mit einem auf dem Gesamt- bzw. Einzelschrittverfahren aufbauenden Relaxationsverfahren beschleunigt werden. Dies erfordert jedoch zus¨ atzlich eine m¨oglichst genaue Bestimmung des betragsgr¨oßten und des betragskleinsten Eigenwertes der Iterationsmatrix bei Anwendung des Gesamtschrittverfahrens bzw. des betragsgr¨oßten Eigenwertes bei Anwendung des Einzelschrittverfahrens.
5.2
Vektor- und Matrizennormen
Rn sei ein n-dimensionaler Vektorraum und x ein Element von Rn . Unter der Norm von x versteht man eine diesem Vektor zugeordnete reelle Zahl kx k, die die folgenden Vektor-Norm-Axiome erf¨ ullt: G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_5, © Springer-Verlag Berlin Heidelberg 2011
224
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
1) kx k ≥ 0 f¨ ur alle x ∈ Rn , kx k = 0 genau dann, wenn x = 0 ist, 2) kαx k = |α| kx k f¨ ur alle x ∈ Rn und beliebige Zahlen α ∈ R. 3) kx + y k ≤ kx k + ky k f¨ ur alle x , y ∈ Rn (Dreiecksungleichung).
Vektor-Normen sind z. B.: kx k∞
:=
kx k1
:=
max |xi |
(sup-Norm oder Maximumnorm),
n P
(Norm der Komponenten-Betragssumme),
1≤i≤n
|xi |
i=1
s kx k2
:=
n P
|xi |2
(Euklidische Norm).
i=1
Beispiel 5.1. x
=
(2, −4, 8)T
kx k∞
=
max{2, 4, 8} = 8
kx k1
= |2| + | − 4| + |8| = 14 √ √ = 22 + 42 + 82 = 84 = 9.17
kx k2
Ist A eine (n, n)-Matrix mit A = (aik ), aik ∈ R, so heißt eine reelle Zahl kAk Norm der (n, n)-Matrix A, wenn sie den Matrix-Norm-Axiomen gen¨ ugt: 1) kAk ≥ 0 f¨ ur alle A, kAk = 0 genau dann, wenn A = 0 (Nullmatrix, d. h. alle aik = 0) ist, 2) kαAk = |α| kAk f¨ ur alle A und beliebige Zahlen α ∈ R, 3) kA + B k ≤ kAk + kBk f¨ ur alle A, B. Außerdem gilt f¨ ur die hier betrachteten Matrixnormen: kABk ≤ kAk kB k. Matrix-Normen sind z. B.: kAk∞
:=
kAk1
:=
kAk2
:=
max
n P
1≤i≤n k=1 n P
max s n P
1≤k≤n i=1
i,k=1
|aik |
(Zeilensummennorm),
|aik |
(Spaltensummennorm),
|aik |2
(Euklidische Norm).
5.3 Das Iterationsverfahren in Gesamtschritten
225
Beispiel 5.2.
A
1 −2 3 5 −6 = 4 −7 8 9
kAk∞
=
kAk1
=
kAk2
max{6, 15, 24} = 24
max{12, 15, 18} = 18 √ √ = 1 + 4 + 9 + 16 + 25 + 36 + 49 + 64 + 81 = 285 = 16.88
Die eingef¨ uhrten Matrix-Normen m¨ ussen mit den Vektor-Normen vertr¨aglich sein.
Definition 5.3. Eine Matrix-Norm heißt mit einer Vektor-Norm vertr¨aglich, wenn f¨ ur jede Matrix A und jeden Vektor x die Ungleichung kAx k ≤ kAk kx k erf¨ ullt ist. Die Bedingung heißt Vertr¨ aglichkeitsbedingung. Die Matrix-Normen kAkj sind mit den Vektor-Normen kx kj vertr¨aglich f¨ ur j = 1, 2, ∞.
5.3
Das Iterationsverfahren in Gesamtschritten
Gegeben sei das lineare Gleichungssystem die Form a11 x1 + a12 x2 + a21 x1 + a22 x2 + .. . an1 x1 + an2 x2 +
Ax = a mit det A 6= 0, das ausgeschrieben ... ... ...
+ a1n xn + a2n xn
= a1 , = a2 , .. .
+ ann xn
= an ,
(5.1)
besitzt. Um einen N¨ aherungsvektor f¨ ur x zu finden, konstruiert man eine Folge {x (ν) }, ν = 1, 2, . . . , f¨ ur die unter gewissen Voraussetzungen lim x (ν) = x gilt. ν→∞
Es sei o. B. d. A. vorausgesetzt, dass keines der Diagonalelemente ajj von A verschwindet, andernfalls werden die Zeilen entsprechend vertauscht. Indem man jeweils die i-te Gleichung von (5.1) nach xi aufl¨ ost, bringt man das System auf die ¨aquivalente Form: n X aik ai xi = − xk + , i = 1(1)n, (5.2) a a ii ii k=1 k6=i
226
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
die mit den Abk¨ urzungen ai ci = , aii
( bik =
− aaik
f¨ ur i 6= k
0
f¨ ur i = k
ii
(5.3)
in Matrizenschreibweise lautet x = Bx + c
c1 c = ... . cn
mit B = (bik ),
(5.4)
Man definiert eine vektorielle Schrittfunktion durch ϕ(x ) := Bx + c und konstruiert mit einem Startvektor x (0) und der Vorschrift (ν+1) x = ϕ(x (ν) ) = Bx (ν) + c (ν) x1 (ν) mit x (ν) = x2 .. , ν = 0, 1, 2, . . . , . (ν) xn
(5.5)
eine Folge {x (ν) }; komponentenweise lautet die Iterationsvorschrift (s. auch Kapitel 2, Abschnitt 2.3) n n X X ai aik (ν) i = 1(1)n, (ν+1) (ν) xi = ci + bik xk = − xk , (5.6) aii a ν = 0, 1, 2, . . . ii k=1 k=1
k6=1
Die Matrix B heißt Iterationsmatrix. Die Rechnung wird zweckm¨aßig in einem Schema der folgenden Form durchgef¨ uhrt: Rechenschema 5.4. (Iteration in Gesamtschritten f¨ ur n = 3 ) ci
(0)
bik
xi
a1 a11
0
12 −a a
13 −a a
0
a2 a22
21 −a a22
0
23 −a a22
0
a3 a33
31 −a a33
32 −a a33
0
0
11
11
(1)
xi
···
5.3 Das Iterationsverfahren in Gesamtschritten
227
Beispiel 5.5. Gegeben: Das lineare Gleichungssystem 10x1 + 2x2 x1 + 10x2 2x1 + x2
+ + +
x3 2x3 10x3
= = =
13, 13, 13;
(5.7)
es besitzt die exakte L¨ osung x T = (1,1,1). Durch Aufl¨osen jeder Zeile von (5.7) nach dem Diagonalelement erh¨ alt man die ¨ aquivalente Form (5.2): x1 = 1.3 − 0.2x2 − 0.1x3 , x2 = 1.3 − 0.1x1 − 0.2x3 , x3 = 1.3 − 0.2x1 − 0.1x2 bzw. x = Bx + c mit
0 −0.2 0 B = −0.1 −0.2 −0.1
−0.1 −0.2 , 0
1.3 c = 1.3 . 1.3
(5.8)
Die zugeh¨orige Iterationsvorschrift (5.5) lautet ausgeschrieben (ν+1) (ν) x1 x1 0 −0.2 −0.1 1.3 (ν+1) −0.1 0 −0.2 x(ν) 1.3 x2 = + 2 (ν+1) (ν) −0.2 −0.1 0 1.3 x x 3
3
Rechenschema c
B
x (0)
x (1)
x (2)
x (3)
1.3
0
−0.2
−0.1
0
1.3
0.91
1.027
1.3
−0.1
0
−0.2
0
1.3
0.91
1.027
1.3
−0.2
−0.1
0
0
1.3
0.91
1.027
...
Man erkennt schon aus den ersten drei Iterationsschritten, dass die Folge {x (ν) } wahrscheinlich konvergiert. Benutzt man allerdings die Gleichungen (5.7) in der Reihenfolge 2x3 = 13, x1 + 10x2 + 2x1 + x2 + 10x3 = 13, 10x1 + 2x2 + x3 = 13, so erh¨alt man die Iterationsvorschrift
228
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
(ν) (ν+1) x1 x1 0 −10 −2 13 (ν+1) −2 0 −10 x(ν) x2 = + 13 2 (ν+1) (ν) −10 −2 0 13 x3 x3 und damit das Rechenschema c
B
x (0)
x (1)
x (2)
x (3)
13
0
−10
−2
0
13
−143
1729
13
−2
0
−10
0
13
−143
1729
13
−10
−2
0
0
13
−143
1729
Die so konstruierte Folge {x (ν) } divergiert offensichtlich.
...
Aus diesem Beispiel erkennt man bereits, dass in dem zu l¨osenden System die Diagonalelemente betragsm¨ aßig u ¨berwiegen sollten. Mit den Begriffen Vektor-Norm und Matrix-Norm kann nun die Frage beantwortet werden, unter welchen Bedingungen die Folge {x (ν) } konvergiert.
Satz 5.6. Es sei x ∈ Rn eine L¨ osung der Gleichung x = ϕ(x ); ϕ(x ) erf¨ ulle die Lipschitzbedingung bez¨ uglich einer Vektornorm kϕ(x ) − ϕ(x 0 )k ≤ Lkx − x 0 k mit 0
0≤L<1
n
f¨ ur alle x , x ∈ R . Dann gilt f¨ ur die durch x (ν+1) = ϕ(x (ν) ) mit dem beliebigen Startvektor x (0) ∈ Rn definierte Iterationsfolge {x (ν) }: 1) lim x (ν) = x ; ν→∞
2) x ist eindeutig bestimmt; 3) kx (ν) − x k
≤ ≤
L (ν) 1−L kx ν
L (1) 1−L kx
− x (ν−1) k (a posteriori-Fehlerabsch¨atzung) − x (0) k
(a priori-Fehlerabsch¨atzung).
Es interessieren nun die Bedingungen, die an die Elemente aik der gegebenen Matrix A eines Systems der Form (5.1) zu stellen sind, damit die Lipschitzbedingung aus Satz 5.6 bez¨ uglich einer Vektor-Norm k.k erf¨ ullt ist. Siehe dazu auch Abschnitt 2.3.4.
5.3 Das Iterationsverfahren in Gesamtschritten
229
Satz 5.7. Ist f¨ ur die Koeffizienten aik des linearen Gleichungssystems Ax = a mit A = (aik ), i, k = 1(1)n, das a) Zeilensummenkriterium max
n X
1≤i≤n
k=1
n X aik |bik | = max aii ≤ L∞ < 1, 1≤i≤n
(5.9)
k=1 k6=i
b) Spaltensummenkriterium n n X X aik max |bik | = max aii ≤ L1 < 1, 1≤k≤n 1≤k≤n i=1
(5.10)
i=1 i6=k
c) Kriterium von Schmidt - v. Mises v v u n n u n n uX X aik 2 uX X u 2 t |bik | = t aii ≤ L2 < 1 i=1 i=1 k=1 k=1
(5.11)
k6=i
erf¨ ullt, dann konvergiert die durch (5.5) bzw. (5.6) definierte Iterationsfolge mit (5.3) und (5.4) f¨ ur jeden Startvektor x (0) ∈ Rn gegen die eindeutig bestimmte L¨osung x , und es gilt die Fehlerabsch¨ atzung (ν)
f∞
(ν)
:= kx (ν) − x k∞ = max |xi 1≤i≤n
− xi |
L∞ max |x(ν) − x(ν−1) | i i 1 − L∞ 1≤i≤n
≤
Lν∞ (1) (0) max |xi − xi | 1 − L∞ 1≤i≤n n X (ν) := kx (ν) − x k1 = |xi − xi |
≤ bzw.
(ν)
f1
(a posteriori)
(5.12)
(a priori)
i=1
≤ ≤ bzw.
(ν)
f2
:=
L1 1 − L1 Lν1 1 − L1
n X i=1 n X
(ν)
− xi
(1)
− xi |
|xi |xi
(ν−1)
|
(0)
(a posteriori)
(5.13)
(a priori)
i=1
v uX u n (ν) kx (ν) − x k2 = t |xi − xi |2 i=1
≤
≤
L2 1 − L2
v uX u n (ν) t |x − x(ν−1) |2 i
i
(a posteriori)
i=1
v uX n Lν2 u t |x(1) − x(0) |2 i i 1 − L2 i=1
(a priori)
(5.14)
230
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
Beweis. Mit ϕ(x ) := Bx + c und der Vertr¨ aglichkeitsbedingung (Definition 5.3) lautet die Lipschitzbedingung aus Satz 5.6: kϕ(x ) − ϕ(e x )k = kB(x − xe )k ≤ kBk kx − xe k ≤ Lkx − xe k ; daraus folgt 0 ≤ kB k ≤ L < 1. Hiermit und mit (5.3) erh¨ alt man unter Verwendung der Zeilensummennorm als hinreichende Konvergenzbedingung das sogenannte Zeilensummenkriterium: kBk∞ = max
1≤i≤n
n X
n X aik aii ≤ L∞ < 1. 1≤i≤n
|bik | = max
k=1 k6=i
k=1
Unter Verwendung der sup-Norm ergeben sich die Fehlerabsch¨atzungen f¨ ur die ν-te N¨aherung gem¨aß Satz 5.6: L∞ Lν∞ (ν) f∞ = kx (ν) − x k∞ ≤ kx (ν) − x (ν−1) k∞ ≤ kx (1) − x (0) k∞ , 1 − L∞ 1 − L∞ d. h. ausgeschrieben (ν)
(ν)
f∞ = max |xi 1≤i≤n
− xi |
L∞ (ν) (ν−1) max |x − xi | 1 − L∞ 1≤i≤n i Lν∞ (1) (0) ≤ max |x − xi | 1 − L∞ 1≤i≤n i ≤
a posteriori a priori.
Unter Verwendung der Spaltensummennorm erh¨alt man das sogenannte Spaltensummenkriterium: n X aik kB k1 = max aii ≤ L1 < 1. 1≤k≤n i=1 i6=k
Mit der Norm der Komponenten-Betragssumme ergeben sich hier als Fehlerabsch¨atzungen f¨ ur die ν-te N¨aherung gem¨ aß Satz 5.6: (ν)
(ν)
f1
= kx (ν) − x k1 ≤
bzw. (ν) f1
=
n P i=1
(ν) |xi
L1 L1 kx (ν) − x (ν−1) k1 ≤ kx (1) − x (0) k1 , 1 − L1 1 − L1
− xi |
n L1 X (ν) (ν−1) ≤ |xi − xi | 1 − L1
≤
Lν1 1 − L1
i=1 n X
(1)
|xi
(0)
− xi |
i=1
Dabei muss die Lipschitzkonstante L1 der Bedingung n X aik max aii ≤ L1 < 1 1≤k≤n i=1 i6=k
gen¨ ugen.
a posteriori a priori.
5.3 Das Iterationsverfahren in Gesamtschritten
231
Entsprechend erh¨alt man mit der Euklidischen Norm als hinreichende Konvergenzbedingung das Kriterium von Schmidt-v. Mises: v u n uX X aik 2 u t aii ≤ L2 < 1. i=1
k=1 i6=k
Mit der zugeordneten Euklidischen Vektor-Norm erh¨alt man hier als Fehlerabsch¨atzung f¨ ur die ν-te N¨aherung: v s u n n X (ν) P L2 u (ν) (ν) (ν−1) 2 t f2 = |xi − xi |2 ≤ |x − xi | a posteriori 1 − L2 i=1 i i=1 v u n X (1) Lν2 u (0) t ≤ |x − xi |2 a priori. 1 − L2 i=1 i (ν)
F¨ ur die fi , i = ∞, 1, 2, gilt die Ungleichung (ν)
(ν) f∞ ≤ f1
(ν)
≤ f2 .
Bemerkung. Im Fall (5.9) konvergiert die Iterationsfolge sogar komponentenweise.
Algorithmus 5.8. (Iteration in Gesamtschritten) Gegeben: Das lineare Gleichungssystem Ax = a mit x1 A = (aik ), x = ... , a = xn Gesucht:
a1 .. , . an
i, k = 1(1)n,
Seine L¨ osung x mittels Iteration in Gesamtschritten.
1. Schritt: Das gegebene System wird auf die ¨aquivalente Form (5.4) gebracht mit den Gr¨ oßen (5.3). 2. Schritt: Man pr¨ ufe, ob eines der in Satz 5.7 angegebenen hinreichenden Konvergenzkriterien erf¨ ullt ist. Falls nicht, versuche man, durch geeignete Linearkombinationen von Gleichungen ein System mit u ¨berwiegenden Diagonalelementen herzustellen, welches einem der Konvergenzkriterien gen¨ ugt. Ist dies nicht m¨ oglich, so berechne man die L¨osung mit einer direkten Methode. 3. Schritt: Falls eines der Konvergenzkriterien erf¨ ullt ist, w¨ahle man einen beliebigen Startvektor x (0) ; o. B. d. A. kann man x (0) = 0 w¨ahlen. 4. Schritt: Man erzeuge eine Iterationsfolge {x (ν) } nach der Vorschrift (5.5) bzw. (5.6). Dazu verwende man zweckm¨ aßig das Rechenschema 5.4. Es wird so lange iteriert, bis eine der drei folgenden Abfragen erf¨ ullt ist:
232
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
a) Abfrage auf den absoluten Fehler: (ν+1)
max |xi
1≤i≤n
(ν)
− xi | < δ,
δ>0
vorgegeben.
b) Abfrage auf den relativen Fehler: (ν+1)
max |xi
1≤i≤n
(ν)
(ν+1)
− xi | ≤ max |xi 1≤i≤n
|ε zu vorgegebenem ε > 0.
c) ν > ν 0 , ν 0 vorgegebene Zahl, die etwa aus einer a priori-Fehlerabsch¨ atzung ermittelt wurde. 5. Schritt: (Fehlerabsch¨ atzung). Falls (5.9) erf¨ ullt ist, wird die Fehlerabsch¨atzung (5.12) verwendet. Ist (5.9) nicht erf¨ ullt, sondern (5.10), so wird die Fehlerabsch¨ atzung (5.13) verwendet. Ist nur (5.11) erf¨ ullt, so kann nur die gr¨obste Fehlerabsch¨ atzung (5.14) benutzt werden.
Die Abfrage a) im 4. Schritt des Algorithmus 5.8 ist praktisch einem Konvergenznachweis gleichzusetzen; denn f¨ ur 0 ≤ L∞ < 1 und hinreichend großes ν kann 4a) immer erf¨ ullt werden wegen (ν+1)
max |xi
1≤i≤n
(ν)
− xi | = kx (ν+1) − x (ν) k∞ = kx (ν+1) − x + x − x (ν) k∞ ≤ kx (ν+1) − x k∞ + kx (ν) − x k∞ (0) ≤ Lν+1 − x k∞ + Lν∞ kx (0) − x k∞ ∞ kx
= Lν∞ (1 + L∞ )kx (0) − x k∞ < 2Lν∞ kx (0) − x k∞ < ε unter Verwendung der sup-Norm. Um f¨ ur die Abfrage c) im 4. Schritt des Algorithmus 5.8 den Index ν0 zu erhalten, gibt man f¨ ur kx (ν0 ) − x k eine Schranke α vor und bestimmt ν0 mittels der a prioriFehlerabsch¨atzung des Satzes 5.6 kx (ν0 ) − x k ≤
L ν0 kx (1) − x (0) k ≤ α . 1−L
Beispiel 5.9. (Fortsetzung von Beispiel 5.5) Gegeben:
Das lineare Gleichungssystem (5.7): 2x2 + x3 10x1 + x1 + 10x2 + 2x3 2x1 + x2 + 10x3
= 13, = 13, = 13.
Gesucht:
Eine N¨ aherungsl¨ osung f¨ ur x mit Hilfe des Iterationsverfahrens in Gesamtschritten.
L¨osung:
Die Vorgehensweise erfolgt nach Algorithmus 5.8.
5.3 Das Iterationsverfahren in Gesamtschritten
233
1. Schritt:
Das System (5.7) liegt bereits in der a¨quivalenten Form (5.8) vor.
2. Schritt:
Mit dem Zeilensummenkriterium erh¨alt man n 3 X X aik max max |bik | = 0.3 ≤ L∞ < 1 ; aii = 1≤i≤3 1≤i≤3 k=1 k=1
i6=k
es wird L∞ = 0.3 gesetzt. T
3. Schritt:
Wahl des Startvektors x (0) = (0, 0, 0).
4. Schritt:
Erzeugung der Iterationsfolge {x (ν) }. Bei 6-stelliger Mantisse und Vorgabe von ε = 1 · 10−5 erh¨ alt man
ci 1.3 1.3 1.3
(5)
xi
1.00243 1.00243 1.00243
5. Schritt:
(0)
xi
xi
−0.1 −0.2 0
0 0 0
1.3 1.3 1.3
0.91 0.91 0.91
(7)
xi
bik 0 −0.1 −0.2
xi
−0.2 0 −0.1
(6)
xi
0.999271 0.999271 0.999271
(1)
(8)
xi
1.00022 1.00022 1.00022
0.999934 0.999934 0.999934
(2)
(9)
(3)
(4)
xi
1.027 1.027 1.027
xi
0.9919 0.9919 0.9919
(10)
xi
(11)
xi
1.00002 1.00002 1.00002
xi
0.99994 0.99994 0.99994
1.00000 1.00000 1.00000
Fehlerabsch¨ atzung kx (11) − x k∞
(11)
= max |xi =
1≤i≤3 0.3 1−0.3 ·
− xi | ≤
(11) L∞ max |x 1−L∞ 1≤i≤3 i −5
6 · 10−5 ≤ 2.6 · 10
(10)
− xi
|
.
F¨ ur die a priori-Fehlerabsch¨ atzung folgt bei Vorgabe von α = 10−5 (ν0 ) f∞ ≤
Lν∞0 (1) (0) max |x − xi | < α, 1 − L∞ 1≤i≤3 i
Daraus ergibt sich ν0 ≥ 11.
d. h.
(0.3)ν0 · 1.3 < 10−5 1 − 0.3
234
5.4
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
Das Gauß-Seidelsche Iterationsverfahren, Iteration in Einzelschritten
Das Gauß-Seidelsche Iterationsverfahren unterscheidet sich vom Iterationsverfahren in Gesamtschritten nur dadurch, dass zur Berechnung der (ν + 1)-ten N¨aherung von xi die bereits berechneten (ν + 1)-ten N¨ aherungen von x1 , x2 , ..., xi−1 ber¨ ucksichtigt werden. Hat man das gegebene Gleichungssystem (5.1) auf die ¨aquivalente Form (5.4) mit (5.3) gebracht, so lautet hier die Iterationsvorschrift (ν+1) x = Br x (ν) + B` x (ν+1) + c mit 0 b12 b13 · · · b1n 0 · · · 0 .. .. 0 0 · b21 · (5.15) . . . . . B = , B = r . . ` .. · · · · · . . · · · bn−1,n · · · · · 0 0 · ··· 0 bn1 bn2 · · · bn,n−1 0 bzw. in Komponenten geschrieben f¨ ur i = 1(1)n, ν = 0,1,2,. . . (ν+1)
xi
=
n X
ci +
k=i+1
=
(ν)
bik xk +
i−1 X
(ν+1)
bik xk
(5.16)
k=1
n i−1 X ai aik (ν) X aik (ν+1) − xk − x . aii aii aii k k=i+1
k=1
Hinreichende Konvergenzkriterien f¨ ur das Iterationsverfahren in Einzelschritten sind: 1. das Zeilensummenkriterium (5.9); 2. das Spaltensummenkriterium (5.10); 3. ist A symmetrisch (aik = aki ) und positiv definit (x T Ax > 0 f¨ ur x 6= 0 ), so konvergiert das Verfahren. Jedes System Ax = a l¨ asst sich mit Hilfe der Gaußschen Transformation so umformen, dass das 3. Konvergenzkriterium erf¨ ullt ist. Dazu wird Ax = a von links mit AT multiT pliziert, so dass sich ergibt: A Ax = AT a . Falls das Iterationsverfahren jedoch bereits f¨ ur das urspr¨ ungliche System konvergiert h¨atte und dies lediglich nicht nachpr¨ ufbar war, wird durch die Gaußsche Transformation die Konvergenz verschlechtert. Die Zahl der erforderlichen Punktoperationen bei Anwendung der Gaußschen Transformation und anschließenden Iteration ist gr¨oßer als die Zahl der Punktoperationen beim Gaußschen Algorithmus. Es lohnt sich also nicht, diese Transformation durchzuf¨ uhren.
5.4 Das Gauß-Seidelsche Iterationsverfahren
235
Die Rechnung wird zweckm¨ aßig in einem Rechenschema der folgenden Form durchgef¨ uhrt: Rechenschema 5.10. (Iterationsverfahren in Einzelschritten f¨ ur n = 3) bik f¨ ur k ≥ i
ci
(0)
bik f¨ ur k < i
(1)
xi
a1 a11
0
12 −a a11
13 −a a11
·
·
·
0
a2 a22
·
0
23 −a a22
21 −a a22
·
·
0
a3 a33
·
·
0
31 −a a33
32 −a a33
·
0
xi
···
Hier wird kein eigener Algorithmus formuliert, weil der Wortlaut v¨ollig mit dem des Algorithmus 5.8 u urde; hier kommen lediglich f¨ ur den 2. Schritt andere ¨bereinstimmen w¨ Konvergenzkriterien in Frage, und im 4. Schritt lautet die Iterationsvorschrift (5.15) bzw. (5.16).
Beispiel 5.11. (Fortsetzung von Beispiel 5.9) Gegeben: Das Gleichungssystem (5.7). Gesucht:
Eine N¨ aherungsl¨ osung mit Hilfe des Gauß-Seidelschen Iterationsverfahrens (Rundung auf 6-stellige Mantisse).
L¨osung:
Die Iterationsvorschrift lautet f¨ ur ν = 0,1,2,. . . (ν+1) (ν) (ν) x = 1.3 − 0.2x2 − 0.1x3 , 1 (ν+1) (ν+1) (ν) x2 = 1.3 − 0.1x1 − 0.2x3 , (ν+1) (ν+1) (ν+1) x3 = 1.3 − 0.2x1 − 0.1x2 , (0)
ci bik f¨ ur k ≥ i bik f¨ ur k < i xi 1.3 0 −0.2 −0.1 1.3 ·
0
1.3 ·
·
·
(2)
xi
(3)
xi
(4)
xi
(5)
xi
(6)
(7)
xi = xi
·
·
0 1.3
·
·
0 1.17 1.01803 0.999704 0.999838 0.999993 1.00000
−0.2 −0.1 ·
0 0.923 1.00346 1.00082 1.00002 0.999995 1.00000
−0.2 −0.1 0
(1)
xi
0.973700 0.996048 0.999977 1.00003 1.00000
Fehlerabsch¨atzung: kx (6) − x k∞
(6)
= max |xi 1≤i≤3
=
− xi | ≤
(6) L∞ max |x 1−L∞ 1≤i≤3 i
L∞ kx(6) 1−L∞ (5)
− xi | ≤
0.3 0.7
− x(5) k∞ · 3 · 10−5 ≤ 0.13 · 10−4 .
236
5.5
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
Relaxation beim Gesamtschrittverfahren
Beim Gesamtschrittverfahren erfolgt die Iteration nach der Vorschrift x (ν+1) = c + Bx (ν) ,
ν = 0, 1, 2, . . .
(5.17)
mit der Iterationsmatrix B bzw. umgeformt nach der Vorschrift x (ν+1) = x (ν) + z (ν) mit
z (ν) B∗
(5.18)
= c − B ∗ x (ν) , = E − B;
(5.19)
z (ν) heißt Korrekturvektor. Man versucht nun, den Wert x (ν) durch ωz (ν) statt durch z (ν) zu verbessern; ω heißt Relaxationskoeffizient. Das Iterationsverfahren (5.18) erh¨alt so die Form x (ν+1) = x (ν) + ω(c − B ∗ x (ν) ), (5.20) ω ist so zu w¨ahlen, dass die Konvergenzgeschwindigkeit gegen¨ uber der des Gesamtschrittverfahrens erh¨oht wird. Besitzt nun die Iterationsmatrix B des Gesamtschrittverfahrens (5.17) die reellen Eigenwerte λ1 ≥ λ2 ≥ . . . ≥ λn mit λ1 6= −λn , so ist mit dem Relaxationskoeffizienten ω=
2 2 − λ1 − λn
die Konvergenz des Relaxationsverfahrens (5.20) mit (5.19) besser als die des Gesamtschrittverfahrens (Beweis s. [WERN1993], S.188ff.). ¨ Im Falle ω < 1 spricht man von Unterrelaxation; f¨ ur ω > 1 von Uberrelaxation. Zur Durchf¨ uhrung der Relaxation ben¨ otigt man scharfe Schranken f¨ ur die Eigenwerte von B, die das Vorzeichen ber¨ ucksichtigen. Verfahren zur n¨aherungsweisen Bestimmung der Eigenwerte sind in Kapitel 7 angegeben.
5.6
Relaxation beim Einzelschrittverfahren. SOR-Verfahren
Die Iterationsvorschrift f¨ ur das Einzelschrittverfahren lautet x (ν+1) = c + Br x (ν) + B` x (ν+1) ,
ν = 0, 1, 2, . . .
5.6 Relaxation beim Einzelschrittverfahren. SOR-Verfahren
237
bzw. umgeformt x (ν+1)
= x (ν) + z (ν)
z (ν)
= c + B` x (ν+1) − (E − Br )x (ν) .
mit (5.21)
Ersetzt man nun in (5.21) analog zu Abschnitt 5.5 den Korrekturvektor z (ν) durch ωz (ν) mit dem Relaxationskoeffizienten ω, so erh¨ alt man als Iterationsvorschrift f¨ ur das Verfahren der sukzessiven Relaxation x (ν+1) = x (ν) + ω(c + B` x (ν+1) − (E − Br )x (ν) ).
(5.22)
Die Berechnung des optimalen Wertes f¨ ur ω ist schwierig. Es l¨asst sich zeigen, dass Relaxationsverfahren (5.22) u ur 0 < ω < 2 ¨ berhaupt nur konvergent sein k¨onnen f¨ (s. [STOE1989], S.236). F¨ ur ein Gleichungssystem mit symmetrischer, positiv definiter, tridiagonaler bzw. diagonal blockweise tridiagonaler Matrix (d. h. einer tridiagonalen Blockmatrix, deren Dia¨ gonalbl¨ocke Diagonalmatrizen sind, siehe Abschnitt 4.15) ist der optimale Uberrelaxati¨ onsfaktor f¨ ur das Verfahren der sukzessiven Uberrelaxation (kurz SOR) ωopt =
2 p ; 1 + 1 − λ21
λ1 ist der gr¨oßte Eigenwert der Matrix B = B` + Br (s. [SCHW1972], S.60, S.208/210, S.214). Solche Matrizen treten bei der Diskretisierung von Randwertaufgaben vom elliptischen Typ auf. SOR mit ωopt konvergiert hier erheblich rascher als die Relaxation beim Gesamtschrittverfahren. F¨ ur Gleichungssysteme mit symmetrischer, aber nicht diagonal blockweise tridiagonaler Matrix sowie mit schiefsymmetrischer Matrix wird in [NIET1970] eine g¨ unstige N¨aherung f¨ ur ω angegeben. Im Falle d¨ unn besetzter Matrizen wird auf [WEIS1990] hingewiesen.
5.6.1
Sch¨ atzung des Relaxationskoeffizienten. Adaptives SOR-Verfahren
In [BUNS1995] ist ein adaptives Verfahren zur Berechnung des optimalen Relaxationskoeffizienten wopt angegeben, welches begleitend zur Anwendung des Gauß-SeidelVerfahrens mit Relaxation den Relaxationskoeffizienten ermittelt. Zur Beschleunigung des Verfahrens werden vorher einige Schritte (die Anzahl j ist frei w¨ahlbar, j ≥ 1) jeweils neu mit dem Einzelschrittverfahren mit festem Sch¨atzwert f¨ ur den Relaxationskoeffizienten w durchgef¨ uhrt, dann wird die Sch¨ atzung des Relaxationskoeffizienten neu angepasst (vgl. [BUNS1995]).
238
5. Iterationsverfahren zur L¨osung linearer Gleichungssysteme
Algorithmus 5.12. Gegeben: Ax = a, A erf¨ ulle die Voraussetzungen f¨ ur die Anwendung des GaußSeidel-Verfahrens; alle Eigenwerte der Iterationsmatrix B seien reell. Gesucht: N¨aherungsl¨ osung f¨ ur x . Setze:
w := 1, q := 1, v := 0
W¨ahle:
Genauigkeitsschranke ε ∈ R, ε > 0, H¨aufigkeit j der Anpassung des Relaxationsparameters j ≥ 1, j ∈ N, Startvektor x (0)
F¨ ur jedes v = 0, 1, 2, . . . wird wie folgt verfahren: 1. Berechnung von x (ν+1) nach der Vorschrift (5.22). Falls v ein ganzzahliges Vielfaches von j ist, wird mit dem 2. Schritt fortgesetzt, andernfalls mit dem 3. Schritt. 2. Zur Anpassung der Sch¨ atzung des Relaxationskoeffizienten wird berechnet (ν+1)
q := max k
|xk
(ν)
(ν)
− xk | (ν−1)
|xk − xk
|
Falls q > 1 ist, wird v um 1 erh¨ oht und mit 1. fortgesetzt, andernfalls wird mit q := max(q, w − 1) eine neue Anpassung f¨ ur den Relaxationskoeffizienten berechnet: 2
w := 1+
q
1−
1 q
q+w−1 2 w
3. Falls gilt kx (ν+1) − x (ν) k∞ ≤ εkx (ν+1) k∞ , wird mit dem Ergebnis x ≈ x (ν+1) die Rechnung abgebrochen, andernfalls wird mit v := v + 1 mit dem 1. Schritt fortgesetzt.
Beispiel 5.13. Gegeben: Das Gleichungssystem
4 −1 −1 0 Gesucht:
−1 4 0 −1
−1 0 4 −1
0 x1 x2 −1 −1 x3 4 x4
0 0 = 1000 1000
Anzahl der Iterationsschritte bei den Verfahren: adaptives SOR-Verfahren, SOR-Verfahren mit festen Relaxationskoeffizienten und Gauß-Seidel-Verfahren mit den vier verschiedenen Konvergenzkriterien: kein Konvergenzkriterium,
5.6 Relaxation beim Einzelschrittverfahren. SOR-Verfahren
239
Zeilensummenkriterium, Spaltensummenkriterium, Kriterum von Schmidtv. Mises. Die Genauigkeit soll sein: ε < 10−8 , außerdem soll der Relaxationskoeffizient erst wieder nach vier Iterationsschritten angepasst werden. Als Startvektor wird der Nullvektor gew¨ ahlt. L¨osung:
Anzahl der Iterationsschritte
adaptives SOR-Verfahren SOR-Verfahren mit festen Relaxationskoeffizienten Gauß-SeidelVerfahren
kein Konvergenzkriterium
Zeilensummenkriterium
Spaltensummenkriterium
Kriterium von Schmidtv. Mises
13
13
13
13
10
10
10
10
17
17
17
17
Erg¨ anzende Literatur zu Kapitel 5 [BARW2007], 7.5; [DAHM2008], 13.3; [GOLU1996], 10.; [GRAM2000], Kap.5; [HAMM1994], 2.; [NIEM1987], 6.5; [PREU2001], Kap.3; [QUAR2001] Bd.1, 4; [RICE1993], 6.3; [STOE1990], 8.3; [STOE2002A], Kap.8; [TORN1990] Bd.1, 6; [WERN1993], III §5; [YOUN2003], 6-8.
Kapitel 6
Systeme nichtlinearer Gleichungen
6.1
Aufgabenstellung und Motivation
Nichtlineare Gleichungssysteme sind einerseits eine Verallgemeinerung der linearen Gleichungssysteme (siehe Kapitel 4), andererseits der nichtlinearen Gleichungen (Kapitel 2). Es handelt sich hier um n nichtlineare Gleichungen, die zu einem System zusammengef¨ ugt sind, sich aber nicht in der Form A x = a linearer Systeme formulieren lassen. Im Gegensatz zu den linearen Systemen, die eine, unendlich viele oder keine L¨osung haben, besitzen nichtlineare Systeme keine, eine, mehrere oder unendlich viele L¨osungen. Ein Beispiel f¨ ur ein nichtlineares System ist f1 (x1 , x2 )
= x1 − 2 ln x2 = 0
f2 (x1 , x2 )
= −x21 + 2.5x1 − 5x2 + 20 = 0
Verallgemeinert man diese Schreibweise, so erh¨ alt man ein System aus n nichtlinearen Gleichungen (n ∈ N, n ≥ 2) f1 (x1 , x2 , . . . , xn ) = 0, f2 (x1 , x2 , . . . , xn ) = 0, (6.1) .. . fn (x1 , x2 , . . . , xn ) = 0. Df sei ein endlicher, abgeschlossener Bereich des Rn , auf dem die Funktionen fi (x1 , x2 , ..., xn ), i = 1(1)n, definiert sind, die fi seien stetig und reellwertig. Mit
x1 x 2 x = .. . xn
und
f 1 f2 f = .. . fn
l¨asst sich (6.1) ausdr¨ ucken durch f : D f ⊂ Rn → Rn ,
f (x ) = 0 .
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_6, © Springer-Verlag Berlin Heidelberg 2011
(6.2)
242
6. Systeme nichtlinearer Gleichungen
In dieser Schreibweise l¨ asst sich obiges Beispiel so darstellen f1 (x1 , x2 ) x1 − 2 ln x2 0 f (x ) = = = = 0. f2 (x1 , x2 ) −x21 + 2.5x1 − 5x2 + 20 0 Gesucht sind nun L¨ osungen x ∈ Df von (6.1) mit f (x ) = 0 . Beispiel 6.1. Gegeben: Zwei nichtlineare Gleichungen f1 (x1 , x2 ) f2 (x1 , x2 )
= x21 + x2 − 11 = x1 + x22 − 7
Gesucht:
Die L¨osungen des Gleichungssystems.
L¨osung:
In der Form (6.2) lautet (6.3) 2 f1 (x1 , x2 ) x1 f (x ) = = x1 f2 (x1 , x2 )
− 11 − 7
+ x2 + x22
= 0, = 0.
=
(6.3)
0 0
=0
x2 6 ............... ..... ........ ... ... ... ... .. ... . ... ... ... .. . ... .. . ... . . . ... . ... .... ... . . ... .... ... ... .. .. ... .. ... .. .. ... ... . . .. ... ... .... ... .. .. . 2 ... . .......................... . . ... ........................... ... .. .................................. .......................... ... 1 ................... ..... ............... ... ... ................... ... ............. ... .. .......... ... ........ ..... ...... ... ... .. .. . ... . .. ... ... .. ...... .. . . . . . . ... . .. ...... . . . . . . . .. . . . ... . .. .................... . .. .............. .. ................ .... .. ......................... .. .. .................................................. . .. 4 .................... .. .......................... ... .. . .. ... .. .. 3.... .. .. ..
x
b
b
x
1
−5
1
b
b
5
x1
x
x
Abb. 6.1. Abbildung 6.1 zeigt die durch f1 (x1 , x2 ) = 0 und f2 (x1 , x2 ) = 0 implizit dargestellten Kurven. Es zeigt sich, dass das System (6.3) vier reelle L¨osungen x k , k = 1(1)4, besitzt. (0) Ausgangsn¨aherungen xi , i = 1(1)4, f¨ ur diese L¨ osungen lassen sich aus Abb. 6.1 ablesen: 3 −2.8 (0) (0) x1 = , x2 = , 2 3.2 −3.8 3.4 (0) (0) x3 = , x4 = . −3.3 −1.7
6.1 Aufgabenstellung und Motivation
243
Beispiel 6.2. Gegeben: Ein unsymmetrischer Stabzweischlag. Gesucht:
F¨ ur das in Abbildung 6.2 dargestellte System soll die statische Gleichgewichtslage nach Aufbringen einer Kraft F ermittelt werden. Zu berechnen sind die Koordinaten xg , yg des Gelenkpunktes f¨ ur das angegebene Koordinatensystem. . . . ..... ....... ..... ..... ......... ..... ... .... .... .... .... ... ... ... ... ... . .......................................... 1 2 ............................................ . . ... .... ............ ............. ... ..................................... ... ..... ..... ..... ..... .. ...... ...... ... . ... ... ...... ... ...... ..... . .. ..... . . . . . . . . ...... ... .... ...... ....... ... ... .. ..... .. ... .. ...... .. ... . . . . ... .. ... .. ... ....... ... .. .. ... .. .. ... . .. ... . ... ... ... .. .. 1............. 2 . ... ... ... ... ... .. ... ... .. . . .. ... ... .. ..... ... ... ... ... . . . . . . . 1 . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . ............ ... ... ............ ...... ................. ... ................. . . .. .......... .... ........ ... . . . . ... .. . . . ... .. ... .... ... ... .... . ... . ... .. .. ... ... ... ... .. . . . . . . ... .. .. ... ... . ... ... ... ... . ... ... ... ...... .. .. ... .... .... . . . . ... ..... . . ... . .... .. ... .. ...... .. .. ... ... ... .. ........ ... .. . . . . ... .. ... .. .....
a
a
x -
b
b
? y
S
6
S
α
α
b
b
yg
?
- xg F ? Abb. 6.2. Unsymmetrischer Stabzweischlag L¨osung: Eingabeparameter: Stab S1 : Stab S2 : Kraft :
E1 E2 F
= = =
100 GPa , 200 GPa , 10 k N
d1 = 10 mm , d2 = 10 mm ,
l1 = 2 m , α1 = 30◦ l2 = 2 m , α2 = 30◦ (1 GPa = 109 N/m2 )
Ausgabeparameter: xg , yg Zur Ermittlung der Koordinaten xg , yg werden die Gleichgewichtsbedingungen f¨ ur den Gelenkpunkt X X Fix = 0, Fiy = 0 unter Ber¨ ucksichtigung der Beziehungen ∆li =
Fi li = lbi − li , E i Ai
i = 1, 2,
(6.4)
aufgestellt, wobei lbi die L¨ ange des belasteten Stabes Si und Ai die Querschnittsfl¨ache darstellt.
244
6. Systeme nichtlinearer Gleichungen
Man erh¨alt
P P Fix = − Fiy =
F1 cos α1 F1 sin α1
+ F2 cos α2 + F2 sin α2 − F
= =
0, 0.
(6.5)
Mit den geometrischen Beziehungen 1 = 1, 2 q = yg2 + (a2 − xg )2 ,
a1 = a2 = l1/2 · sin 30◦ q lb1 = yg2 + (a1 + xg )2
=
2·
,
lb2
cos α1 = (a1 + xg )/lb1 cos α2 = (a2 − xg )/lb2
, ,
sin α1 = yg /lb1 , sin α2 = yg /lb2
und den aus (6.4) folgenden Gleichungen F1
=
(lb1 − l1 )E1 A1 /l1 ,
F2
=
(lb2 − l2 )E2 A2 /l2
erh¨alt man schließlich nach Einsetzen in (6.5) das nichtlineare Gleichungssystem f¨ ur xg , yg : E1 A1 (1 + xg ) · z1 − E2 A2 (1 − xg ) · z2 = 0, E1 A1 yg · z1 + E2 A2 yg · z2 − F = 0, −1/2 mit z1 := 12 − (1 + xg )2 + yg2 , 1 2 2 −1/2 z2 := 2 − (1 − xg ) + yg . Mit dem Startvektor x (0) = (0.0, 1.0)T und wegen der Querschnittsfl¨achen A1 = A2 = d2 π = 14 · 10−4 · π[m2 ] erh¨ alt man schließlich nach 8 Iterationen und Rundung auf 5 4 Dezimalstellen mit dem Verfahren von Brown (s. Abschnitt 6.3.4) das Ergebnis: xg yg
6.2
= =
0.73416 mm, 1733.32335 mm.
Allgemeines Iterationsverfahren fu ¨r Systeme
Zu dem nichtlinearen System f (x ) = 0 wird ein ¨aquivalentes System T ϕ : Dϕ ⊆ Df ⊂ Rn → Rn , x = ϕ(x ); ϕ(x ) = ϕ1 (x), ϕ2 (x), . . . , ϕn (x) erzeugt. x heißt Fixpunkt von ϕ bzw. L¨ osung von x = ϕ(x ), falls gilt x = ϕ(x ). Mit Hilfe eines Startvektors x (0) ∈ Dϕ wird eine Iterationsfolge {x (ν) } konstruiert nach der Vorschrift x (ν+1) = ϕ(x (ν) ), ν = 0, 1, 2, . . . (6.6) ϕ heißt vektorielle Schrittfunktion, (6.6) Iterationsvorschrift.
6.2 Allgemeines Iterationsverfahren f¨ ur Systeme
245
Satz 6.3. (Fixpunktsatz f¨ ur Systeme) Es sei D ⊆ Dϕ ein endlicher, abgeschlossener Bereich und es gelte (i) ϕ(x ) ∈ D f¨ ur alle x ∈ D, d. h. ϕ ist eine Abbildung von D in sich. (ii) Es gibt eine Konstante L mit 0 ≤ L < 1 und eine Norm k · k, so dass f¨ ur alle x , x 0 ∈ D die Lipschitzbedingung erf¨ ullt ist kϕ(x ) − ϕ(x 0 )k ≤ Lkx − x 0 k.
(6.7)
Dann gilt: (a) Es gibt genau einen Fixpunkt x in D . (b) Die Iteration (6.6) konvergiert f¨ ur jeden Startwert x (0) ∈ D gegen x . (c) Es gelten die Fehlerabsch¨ atzungen kx (ν) − x k
≤
kx (ν) − x k
≤
Lν (1) (0) (a priori-Fehlerabsch¨atzung), 1 − L kx − x k L (ν) (ν−1) k (a posteriori-Fehlerabsch¨atzung). 1 − L kx − x
Zum Beweis siehe [HENR1972] Bd. 1, S.131 ff. Ein Analogon zur Bedingung |ϕ0 | ≤ L < 1 im eindimensionalen Fall l¨asst sich mit Hilfe der Funktionalmatrix formulieren. Besitzen die ϕi in D stetige partielle Ableitungen nach den xk , so kann mit der Funktionalmatrix (Jacobi-Matrix)
Jϕ :=
∂ϕi ∂xk
i=1(1)n k=1(1)n
∂ϕ 1 ∂x1 ∂ϕ2 ∂x = .1 .. ∂ϕn ∂x1
∂ϕ1 ∂x2 ∂ϕ2 ∂x2 .. . ∂ϕn ∂x2
...
∂ϕ1 ∂xn ∂ϕ2 ∂xn .. .
...
∂ϕn ∂xn
...
die Lipschitzbedingung (6.7) in Satz 6.3 ersetzt werden durch kJϕ k ≤ L < 1,
(6.8)
sofern D konvex und abgeschlossen ist. Unter Verwendung der verschiedenen Matrixnormen aus Abschnitt 5.2 ergeben sich f¨ ur (6.8) die folgenden Konvergenzkriterien:
246
6. Systeme nichtlinearer Gleichungen
Zeilensummenkriterium: kJϕ k∞
n X ∂ϕi = max ∂xk ≤ L∞ < 1, i=1(1)n x ∈D
(6.9)
k=1
Spaltensummenkriterium: n X ∂ϕi kJϕ k1 = max ∂xk ≤ L1 < 1, k=1(1)n x ∈D
(6.10)
i=1
Kriterium von E. Schmidt und R. v. Mises:
kJϕ k2 = max x ∈D
2 n X n X ∂ϕi i=1 k=1
!1/2
∂xk
≤ L2 < 1.
(6.11)
Ist das Kriterium (6.9) erf¨ ullt, so lassen sich unter Verwendung der Maximumnorm k·k∞ gem¨aß Satz 6.3 die zugeh¨ origen Fehlerabsch¨ atzungen angeben; entsprechendes gilt f¨ ur die Kriterien (6.10) und (6.11).
Definition 6.4. (Konvergenzordnung) Die Iterationsfolge {x (ν) } konvergiert von mindestens p-ter Ordnung gegen x , wenn eine Konstante 0 ≤ M < ∞ existiert, so dass gilt kx (ν+1) − x k = M < ∞. ν→∞ kx (ν) − x kp lim
Das Iterationsverfahren x (ν+1) = ϕ(x (ν) ) heißt dann ein Verfahren von mindestens p-ter Konvergenzordnung; es besitzt genau die Konvergenzordnung p f¨ ur M 6= 0.
Praktikable Fehlerabsch¨ atzung ohne Verwendung der Lipschitzkonstante (s. [KIOU1978]; [KIOU1979]; [MOOR1980]) Die Methode beruht auf einem Satz von Carlo Miranda: Sei K := x ∈ Rn | max |xi − x ei | ≤ p 1≤i≤n
ein n-dimensionaler Kubus und seien Ei+ und Ei− mit Ei± := {x ∈ K|xi = x ei ± p} ,
i = 1(1)n
6.2 Allgemeines Iterationsverfahren f¨ ur Systeme
247
jeweils die Paare von senkrecht zur xi -Achse liegenden Oberfl¨achenebenen von K. Ist dann f : K → Rn stetig und gilt bzw.
fi (Ei− ) < 0,
fi (Ei+ ) > 0, fi (x ) > 0,
x ∈
Ei+ ;
i = 1(1)n y∈
fi (y ) < 0,
Ei− ,
i = 1(1)n,
so gibt es in K eine Nullstelle x von f . Bei beliebigen stetigen Abbildungen f hat der Satz wenig praktischen Nutzen. Ist f jedoch differenzierbar, so l¨ asst sich auf der Grundlage des Satzes eine praktikable Fehlerabsch¨atzung ableiten, sofern man mit irgend einem Verfahren zur L¨osung nichtlinearer Gleichungssysteme bereits N¨ aherungen xe f¨ ur die L¨osung x mit f (e x ) ≈ 0 berechnet hat. e mit Hilfe der TaylorApproximiert man dann n¨ amlich f in einer Umgebung von x entwicklung bis zum linearen Glied, so gilt e ), f (x ) ≈ f (e x ) + Jf (e x )(x − xe ) ≈ Jf (e x )(x − x wobei Jf (e x ) :=
∂fi (e x) ∂xk
(6.12)
i=1(1)n k=1(1)n
die Funktionalmatrix von f im Punkt xe darstellt.
Aus (6.12) folgt e Jf−1 (e x ) f (x ) ≈ x − x
f¨ ur
xe ≈ x .
(6.13)
e hat aber genau die gew¨ Die Abbildung h(x ) := x − x unschte Eigenschaft hi (Ei+ ) = p > 0,
hi (Ei− ) = −p < 0,
i = 1(1)n.
Wegen (6.13) ist also zu erwarten, dass jede Abbildung der Form g (x ) :=
∂fi (e x) ∂xk
−1
f (x ) = Jf−1 (e x ) f (x )
(6.14)
auch diese Eigenschaft besitzt und sogar gi (Ei+ ) ≈ p,
gi (Ei− ) ≈ −p,
i = 1(1)n,
e gen¨ erf¨ ullt, wenn die Approximation g (x ) ≈ x − x ugend gut ist, der betrachtete Kubus K also klein genug. Da g (x ) dieselben Nullstellen wie f besitzt, besteht nun ein Fehlerabsch¨atzungsverfahren f¨ ur die N¨ aherungsl¨osung xe von f (x ) = 0 in folgenden Einzelschritten:
248
6. Systeme nichtlinearer Gleichungen
Algorithmus 6.5. (Fehlersch¨ atzung ohne Lipschitzkonstante) e. 1. Schritt: N¨aherungsweise Berechnung der Funktionalmatrix Jf (e x ) im Punkte x
2. Schritt: Berechnung der Inversen Jf−1 (e x ) zur Funktionalmatrix. Die praktische Erfahrung zeigt, dass die N¨ aherungen des 1. und 2. Schrittes nicht allzu gut sein m¨ ussen. ¨ 3. Schritt: Konstruktion von g (x ) gem¨ aß (6.14) und Uberpr¨ ufung der Bedingungen gi (e x + pui ) > 0,
gi (e x − pui ) < 0,
i = 1(1)n,
(6.15)
nacheinander f¨ ur p := pk = 0.5 · 10−k , k = k0 , k0 + 1, . . . , k0 ∈ N, wobei ui der Einheitsvektor in Richtung xi ist. 4. Schritt: Ist (6.15) f¨ ur p = pN , aber nicht mehr f¨ ur p = pN +1 erf¨ ullt, so m¨ usste mit Hilfe von Methoden der Intervallanalysis die G¨ ultigkeit der Bedingungen gi (x ) > 0,
x ∈ Ei+ ,
gi (y ) < 0,
y ∈ Ei− ,
i = 1(1)n,
(6.16)
f¨ ur alle Punkte x , y der Ebenen Ei+ , Ei− gepr¨ uft werden (vgl. dazu [MOOR1980]). Ist (6.16) erf¨ ullt, so gilt max ke xi − xi k < pN . Da das Nachpr¨ ufen von 1≤i≤n
(6.16) jedoch recht m¨ uhsam ist, kann man sich meistens auch mit dem Schritt 4∗ zufriedengeben. 4∗ . Schritt: Es ist zu pr¨ ufen, ob die Bedingungen gi (e x + pui ) ≈ +p,
gi (e x − pui ) ≈ −p,
i = 1(1)n
erf¨ ullt sind. Dies ist ein starkes Indiz (aber keine Garantie) f¨ ur die Richtigkeit der Behauptung, dass f¨ ur die L¨osung x gilt: max |e xi − xi | < pN .
1≤i≤n
Beispiel 6.6. (aus [MOOR1980]) Gegeben: Ein Gleichungssystem und eine N¨ aherungsl¨osung f (x ) =
x21 + x22 − 1 x1 − x22
=
0 0
,
e= x
x e1 x e2
=
0.618034 0.786151
.
Gesucht:
pN mit max |e xi − xi | < pN , x T = (x1 , x2 ) ist die exakte L¨osung.
L¨osung:
Gesucht wird der Schnittpunkt des Einheitskreises mit der Parabel im ersten Quadranten.
1≤i≤2
6.2 Allgemeines Iterationsverfahren f¨ ur Systeme x
249
.... 2 ........ ....... ....... ......................... ............. ....... ........ . . . . . . . . . . . . . ...... ...... ...... .. ..... .......... ..... ...... ........ ..... .... ...... ... ... ..... . . . . . . ... .... ... ... .... . .. . ... . . ... ... . .... .. ... .... .. .. .. . ... ... ... ... ... .. .. ... ... . . ... . ... . . ... ... . ..... ... ... ..... ... ... ..... .... ...... .... ..... ...... ........ ..... .......... ...... .......... ....... ......... ....... ............. ...................................... ....... ........ ........ .......
6
q
x1 = x22
x1
Abb. 6.3. Geometrische Interpretation 1. Schritt:
2e x1 2e x2 1.236068 1.572302 = . 1 −2e x2 1 −1.572302 −1 ∂fi (e x) 0.447214 0.447214 = = 0.284432 −0.351578 ∂xk
Jf (e x) =
2. Schritt:
Jf−1
3. Schritt: Jf−1
· f (x )
0.447214 0.447214 0.284432 −0.351578
0.447214(x21 + x22 − 1) 0.284432(x21 + x22 − 1)
= =
x21 + x22 − 1 x1 − x22
+ 0.447214(x1 − x22 ) − 0.351578(x1 − x22 )
=
g1 (x ) g2 (x )
> < > <
0 0 0 0
.
Annahme: p = 10−6 : Dann sind wegen g1 (e x + pu1 ) g1 (e x − pu1 ) g2 (e x + pu2 ) g2 (e x − pu2 )
= = = =
g1 (e x1 + p, x e2 ) g1 (e x1 − p, x e2 ) g2 (e x1 , x e2 + p) g2 (e x1 , x e2 − p)
= = = =
1.011 −0.988 0.622 −1.337
· · · ·
10−6 10−6 10−6 10−6
die Bedingungen der a priori-Fehlerabsch¨ atzung (Satz 6.3) erf¨ ullt. 4*. Schritt:
Man sieht, dass die im 3. Schritt berechneten gi (e x + pui ) und gi (e x − pui ) die Gr¨ oßenordnung von p bzw. −p besitzen, und kann daraus ohne exakten Beweis folgern max |e xi − xi | < 10−6 ; 1≤i≤n
eigentlich h¨atte man (um ganz sicher zu sein) nach dem 4. Schritt verfahren m¨ ussen. 4. Schritt:
g1 (e x + pu1 ) g1 (e x − pu1 ) g2 (e x + pu2 ) g2 (e x − pu2 )
∈ ∈ ∈ ∈
[ 0.95·10−6 , 1.45·10−6 −6 [ −0.62·10 , −0.56·10−6 [ 0.62·10−6 , 0.84·10−6 −6 [ −1.85·10 , −1.37·10−6
], ], ], ],
so dass die Bedingungen (6.16) erf¨ ullt sind. F¨ ur die absoluten Fehler der einzelnen Komponenten gilt dann die Absch¨ atzung max |e xi − xi | < 10−6 .
1≤i≤n
250
6. Systeme nichtlinearer Gleichungen
6.3
Spezielle Iterationsverfahren
6.3.1
Newtonsche Verfahren fu ¨r nichtlineare Systeme
6.3.1.1
Das quadratisch konvergente Newton-Verfahren
Es liege ein System (6.1) vor mit einer L¨ osung x im Inneren von Df . Die fi sollen in Df stetige zweite partielle Ableitungen besitzen, und f¨ ur die Funktionalmatrix (Jakobimatrix) ∂f1 ∂f1 ∂f1 f11 f12 . . . f1n ... ∂x ∂x ∂x 1 2 n ∂f f ∂f2 ∂f2 2 f . . . f 21 22 2n . . . ∂fi ∂xn Jf := = ∂x. 1 ∂x. 2 =: . .. .. .. .. ∂xk i=1(1)n .. .. k=1(1)n . . . ∂fn ∂fn ∂fn ... fn1 fn2 . . . fnn ∂x1 ∂x2 ∂xn gelte det (Jf ) 6= 0. Dann existiert immer eine Umgebung D ⊂ Df von x so, dass die Voraussetzungen des Satzes 6.3 f¨ ur die Schrittfunktion des Newton-Verfahrens ϕ(x ) := x − Jf−1 (x )f (x ) erf¨ ullt sind. Die Iterationsvorschrift lautet x (ν+1)
= x (ν) − Jf−1 (x (ν) )f (x (ν) )
x (ν+1)
= x (ν) + ∆x (ν+1) ,
bzw.
ν = 0, 1, 2, . . . ,
(6.17) mit
(6.18)
∆x (ν+1) = −Jf−1 (x (ν) )f (x (ν) ) . F¨ ur n = 2 ist die erforderliche Berechung der inversen Jakobimatrix unproblematisch (siehe Beispiel 6.8). Im Allgemeinen wird stattdessen das lineare Gleichungssystem gel¨ost: Jf (x (ν) )∆x (ν+1) = −f (x (ν) ). Algorithmus 6.7. F¨ ur jedes ν = 0,1,2,... sind nacheinander folgende Schritte auszuf¨ uhren: (i) L¨osung des linearen Gleichungssystems (6.19) zur Berechnung von ∆x (ν+1) . (ii) Berechnung von x (ν+1) gem¨ aß (6.18). M¨ogliche Abbruchbedingungen: (a)
ν ≥ νmax ,
(b)
kx (ν+1) − x (ν) k ≤ kx (ν+1) kε1 ,
(c) (d)
kx
(ν+1)
kf (x
νmax ∈ N.
−x
(ν+1)
(ν)
k ≤ ε2 ,
)k ≤ ε3 ,
ε1 > 0,
ε1 ∈ R.
ε2 > 0,
ε2 ∈ R.
ε3 > 0,
ε3 ∈ R.
(6.19)
6.3 Spezielle Iterationsverfahren
251
Mit Algorithmus 6.7 wird die Berechnung der Inversen in (6.17) durch die L¨osung eines linearen Gleichungssystems ersetzt. Die Konvergenz ist immer gew¨ahrleistet, wenn die Iteration nahe genug an der L¨ osung x beginnt. Beispiel 6.8. (Fortsetzung von Beispiel 6.1) Gegeben: Das System
x21 + x2 − 11 x1 + x22 − 7
f (x1 , x2 ) =
F¨ ur die Funktionalmatrix Jf (x ) gilt f11 Jf = f21
f12 f22
mit det (Jf ) = 4x1 x2 − 1 6= 0 f¨ ur x2 6=
=
2x1 1
=
0 0
.
1 2x2
1 . 4x1
I. N¨aherungsweise Berechnung der L¨ osung x 4 im 4. Quadranten (s. Abb. 6.1) mit Hilfe der direkt berechneten inversen Jakobimatrix 1 f22 −f12 −1 Jf = . −f21 f11 f11 f22 − f12 f21 Damit lautet die Iterationsvorschrift (6.17) des Newton-Verfahrens f¨ ur n = 2: (ν+1) (ν) f f − f2 f12 x1 = x1 − 1 22 f11 f22 − f12 f21 x =x(ν) ,x =x(ν) 1 2 1 2 (ν+1) (ν) f f − f1 f21 x2 = x2 − 2 11 f11 f22 − f12 f21 x =x(ν) ,x =x(ν) 1
(ν)
(ν+1)
x1
(ν)
= x1 − (ν)
= x2 −
(ν)
(ν)
2
2
(ν)
2(x1 )2 x2 + (x2 )2 − 22x2 − x1 + 7 (ν) (ν)
4x1 x2 − 1 (ν)
(ν+1)
x2
(ν)
1
(ν)
(ν)
(ν)
,
(ν)
2x1 (x2 )2 + (x1 )2 − 14x1 − x2 + 11 (ν) (ν)
4x1 x2 − 1
.
Als Startvektor wird x (0) = (3.4, −1.7)T verwendet. Man erh¨alt bei Rundung auf eine 5-stellige Mantisse (ν) (ν) ν x1 x2 0 3.4000 −1.7000 1 3.5901 −1.8529 2 3.5844 −1.8481 3 3.5844 −1.8481 Die Iteration bleibt ab ν = x 4 ≈ (3.5844, −1.8481)T ergibt.
2
stehen,
so
dass
sich
als
N¨aherung
252
6. Systeme nichtlinearer Gleichungen
II. N¨aherungsweise Berechnung von x 1 im ersten Quadranten nach Algorithmus 6.7: Es gilt exakt x 1 = (3, 2)T . Mit dem sehr groben Startvektor x (0) = (4, 1)T werden zwei Iterationsschritte ausgef¨ uhrt (Rechnung mit Rundung auf 6-stellige Mantisse). Man erh¨alt f¨ ur den 1. Iterationsschritt 8 1 ν=0: Jf (x (0) ) = , 1 2
f (x (0) ) =
6 −2
.
(i) Berechnung von ∆x (1) aus Jf (x (0) )∆x (1) = −f (x (0) ) ! (1) 8 1 ∆x1 −6 −0.93333 (1) = ⇒ ∆x = . (1) 1 2 2 1.46667 ∆x2 (ii) Berechnung von x (1) = x (0) + ∆x (1) 4 −0.93333 3.06667 (1) x = + = . 1 1.46667 2.46667 F¨ ur den 2. Iterationsschritt ergibt sich mit 6.13333 1 ν=1: Jf (x (1) ) = , 1 4.93333
f (x (1) ) =
0.87111 2.15111
.
(i) Berechnung von ∆x (2) aus Jf (x (1) )∆x (2) = −f (x (1) ) ! (2) 6.13333 1 ∆x1 −0.87111 = (2) 1 4.93333 −2.15111 ∆x1 −0.07336 ⇒ ∆x (2) = . −0.42117 (ii) Berechnung von x (2) = x (1) + ∆x (2) 3.06667 −0.07336 2.99331 (2) x = + = ≈ x1 , 2.46667 −0.42117 2.04550 kf (x (2) )k2 = 0.17746 . . .
Primitivform des Newton-Verfahrens f¨ ur Systeme Um sich die L¨osung eines linearen Gleichungssystems (6.19) in jedem Iterationsschritt zu ersparen, kann statt (6.19) das Gleichungssystem Jf (x (0) )∆x (ν+1) = −f (x (ν) )
(6.20)
mit fester Matrix Jf (x (0) ) f¨ ur alle Iterationsschritte verwendet werden. Dann ist die Dreieckszerlegung (LR-Zerlegung, siehe Abschnitt 4.2) der Matrix Jf nur einmal auszuf¨ uhren, Vorw¨arts- und R¨ uckw¨ artselimination sind f¨ ur jede neue rechte Seite notwendig, ebenso die Berechnung von x (ν+1) nach (6.18).
6.3 Spezielle Iterationsverfahren
253
Man kann auch so verfahren, dass man etwa ν0 Schritte mit fester Matrix Jf (x (0) ) gem¨aß (6.20) iteriert, dann die n¨ achsten ν1 Schritte mit fester Matrix Jf (x (ν0 ) ) usw.; auf diese Weise wird die Konvergenzgeschwindigkeit etwas erh¨oht.
6.3.1.2
Ged¨ ampftes Newton-Verfahren f¨ ur Systeme
Das ged¨ampfte Newton-Verfahren ist eine Variante des quadratisch konvergenten NewtonVerfahrens, (vgl. [CONT1987], 5.2). Eine Newton-Iterierte x (ν+1) wird erst akzeptiert, wenn in der Euklidischen Norm gilt kf (x (ν+1) )k2 < kf (x (ν) )k2 . Mit den gleichen Voraussetzungen wie f¨ ur das Newton-Verfahren in Abschnitt 6.3.1.1 gilt der Algorithmus 6.9. (Ged¨ ampftes Newton-Verfahren f¨ ur Systeme) F¨ ur ν = 0,1,2,... sind nacheinander folgende Schritte auszuf¨ uhren: (i)
Berechnung von ∆x (ν+1) aus (6.19).
(ii) Berechnung eines j so, dass j := min i i ≥ 0 (iii) x (ν+1) := x (ν) +
gilt
(ν+1)
f x (ν) + ∆x
2i
< f (x (ν) )
2 2
∆x (ν+1) . 2j
Den Schritt (ii) f¨ uhrt man zu vorgegebenem imax nur f¨ ur 0 ≤ i ≤ imax durch. Sollte die Bedingung dann noch immer nicht erf¨ ullt sein, rechnet man mit j = 0 weiter. Das Verfahren ist quadratisch konvergent. In der Praxis verwendet man das ged¨ ampfte Newton-Verfahren in zwei Varianten. Die eine arbeitet mit Vorgabe der Jakobi-Matrix, die zweite Variante sch¨atzt die Jakobi-Matrix mit dem vorderen Differenzenquotienten. Beim zweiten Verfahren ist es m¨oglich anzugeben, wieviele Iterationsschritte IUPD mit fester gesch¨atzter Jakobi-Matrix durchgef¨ uhrt werden sollen. Falls diese Anzahl > 1 ist, entspricht das Verfahren der ged¨ampften Primitivform des Newtonschen Iterationsverfahrens. Umfangreiche Tests haben ergeben, dass das ged¨ampfte Newton-Verfahren bzw. die ged¨ampfte Primitivform im Allgemeinen weit besser sind als das normale Newton-Verfahren, das Verfahren von Brown oder das Gradientenverfahren. Es hat sich auch gezeigt, dass die D¨ampfungsgr¨ oße imax stark vom Problem abh¨angig ist und das Verfahren bei gleichem Startvektor bei verschiedener Vorgabe von imax einmal konvergiert, ein anderes Mal nicht; es kann insbesondere bei verschiedenen imax gegen verschiedene Nullstellen konvergieren. Bei v¨ olliger Offenheit der Situation sollte deshalb zun¨achst mit imax = 4, IUPD = 1 und maximal 1000 Iterationen gearbeitet werden.
254
6. Systeme nichtlinearer Gleichungen
Beispiel 6.10. Gegeben: Ein System aus zwei nichtlinearen Gleichungen f1 = x21 − x2 − 1 f2 = (x1 − 2)2 + (x2 − 0.5)2 − 1 Gesucht:
= 0 = 0.
Die Anzahl der Iterationsschritte mit den verschiedenen Verfahren, wobei ε1 = ε2 = 1.0 · 10−14 , ε3 = 1.28 · 10−12 (vgl. Algorithmus 6.7).
L¨osung: Verfahren
Anzahl Iterationsschritte
Newton-Verfahren ged¨ampftes Newton-Verfahren Primitivform des Newton-Verfahrens Primitivform des ged¨ ampften Newton-Verfahrens Brown-Verfahren
7 7 10 10 8
6.3.2
Sekantenverfahren fu ¨r nichtlineare Systeme
Gegeben sei das nichtlineare Gleichungssystem (6.1). Man bildet damit die Vektoren 1 δf (xj , x ej ) = f (x1 , . . . , xj , . . . , xn ) − f (x1 , . . . , x ej , . . . , xn ) xj − x ej (6.21) e =: f (xj , xej ) , j = 1(1)n. Mit den Vektoren (6.21) wird die folgende Matrix gebildet e ) = fe (x1 , x Df (x , x e1 ), fe (x2 , x e2 ), . . . , fe (xn , x en ) . Sie entspricht der Funktionalmatrix beim Newton-Verfahren, wenn dort die Ableitungen durch Differenzenquotienten ersetzt werden; d. h. D ist die gesch¨atzte Jakobimatrix J . Ist x ∈ B eine L¨osung von (6.1) und sind x (ν−1) , x (ν) ∈ B N¨aherungen f¨ ur x , so errechnet sich f¨ ur jedes ν = 1,2,3,... eine weitere N¨ aherung x (ν+1) nach der Iterationsvorschrift des Sekantenverfahrens x (ν+1) = x (ν) − Df −1 (x (ν) , x (ν−1) ) f (x (ν) ) = ϕ(x (ν) , x (ν−1) ); (6.22) es sind also stets zwei Startvektoren x (0) , x (1) erforderlich. Die Berechnung der Inversen Df −1 kann analog zum Newton-Verfahren vermieden werden, wenn gesetzt wird: x (ν+1) ∆x (ν+1)
= x (ν) + ∆x (ν+1)
mit = − Df −1 (x (ν) , x (ν−1) ) f (x (ν) ),
(6.23)
6.3 Spezielle Iterationsverfahren
255
so dass ∆x (ν+1) als L¨ osung des linearen Gleichungssystems Df (x (ν) , x (ν+1) )∆x (ν+1) = −f (x (ν) ) gewonnen und in (6.23) eingesetzt wird. Hinreichende Bedingungen f¨ ur die Konvergenz sind in [SCHM1963] angegeben; die Bedingungen sind f¨ ur die praktische Durchf¨ uhrung unbrauchbar. Ist jedoch det J (x ) 6= 0, so konvergiert das Verfahren sicher, wenn die√Startvektoren nahe genug bei bei x liegen; die Konvergenzordnung ist dann p = (1 + 5)/2. Fehlerabsch¨ atzungen (vgl. [SCHM1963], S.3): ν−1 Y sk 1 − 2s1 (ν) kx − x k ≤ kx (2) − x (1) k, 1 − sk 1 − 3s1
ν = 2, 3, . . .
k=1
mit
s1
≤
2 , 7
s2 =
s1 , 1 − s1
sk =
sk−1 sk−2 , 1 − sk−1 1 − sk−2
k ≥ 3.
In [SCHM1963], S.99 ist eine Variante dieses Verfahrens zu finden.
6.3.3
Das Verfahren des st¨ arksten Abstiegs (Gradientenverfahren) fu ¨r nichtlineare Systeme
indexGradientenverfahren Gegeben sei ein nichtlineares Gleichungssystem (6.1). Es besitze in B eine L¨osung x . Bildet man die Funktion n X Q(x ) := fi2 (x ), Q(x ) = Q(x1 , x2 , . . . , xn ), (6.24) i=1
so ist genau dann, wenn fi (x ) = 0 f¨ ur i = 1(1)n gilt, auch Q(x ) = 0. Die Aufgabe, L¨osungen x zu suchen, f¨ ur die Q(x ) = 0 ist, ist also ¨aquivalent zu der Aufgabe, das System (6.1) aufzul¨ osen. Mit Hilfe von (6.24) und ∇Q(x ) = grad Q(x ) =
Qx1 Qx2 .. .
∂Q , , Qxi := ∂xi
i = 1(1)n,
Qxn ergibt sich ein Iterationsverfahren zur n¨ aherungsweisen Bestimmung von x mit der Iterationsvorschrift Q(x (ν) ) (ν) (ν) x (ν+1) = x (ν) − (6.25) 2 ∇Q(x ) := ϕ(x ), (ν) ∇Q(x ) n 2 X mit (∇Q x (ν) ) = Q2xi (x (ν) ). i=1
256
6. Systeme nichtlinearer Gleichungen
Die Schrittfunktion lautet somit ϕ(x ) = x −
Q(x ) ∇Q(x )
2 ∇Q(x ).
y6 MB grad Q B.............. ... ....................... ................................................... ....B . . ...... . . . . . . . . . . . . . ........
y
z=const.
...... . . . . ............ . . . . . . . . ..... ............................... . ......................................... ....... . . ....... . . . . . . . . . ......... . . . . ..... .................... ......................................... .... .......................................................................................................................................... . . . . . . ................................................................................ ... . . ....... . . ..... . . ............................. . . . .... . . . ... . . . .. ....................................................................................... .................................................................................. ....................................................................................................................... . ....... ............................................................................................................... . . . . .. . ... . ... . . . . . .. . . . . .. . . . ... . . .... . . .. ............................................................................................................................. .. . . . ... . . .. . . . ...... . . . ... . . ...... . . . .... . . . ... . . . ... ........................................................................................... ... . . . ... . . ...... . . . . ................. . . . . . ..... . . . . ... . . . .. ........................................................................................ ................................................................................................................ ........................... . .......... .................................. .......................................................................... ...... . . . .......... . . . . . ... . . . ........... . . . . . .... ............................................................................................. ............................................. ...... ........ . . . . . . . ... . . . . . . . ........ ................................ ............. ................................................. .... ... .
r
x
x
Abb. 6.4. Zum Gradientenverfahren Zur Konvergenz gelten die entsprechenden Aussagen wie beim Newtonschen Verfahren. Die Konvergenz der Folge {x (ν) } mit den nach der Vorschrift (6.25) gebildeten Vektoren gegen x ist wie dort gew¨ ahrleistet, wenn der Startvektor x (0) nahe genug bei x liegt. Im Allgemeinen kann man jedoch beim Gradientenverfahren mit gr¨oberen Ausgangsn¨aherungen (Startvektoren) x (0) arbeiten als beim Newtonschen Verfahren; das ¨ Gradientenverfahren konvergiert allerdings nur linear. Uber eine Methode zur Konvergenzverbesserung s. [BERE1971] Bd.2, S.150/151. Die Anwendung des Gradientenverfahrens wird allerdings erschwert, wenn in der Umgebung der gesuchten L¨ osung x auch Nichtnull-Minima der Funktion Q(x ) existieren. Dann kann es vorkommen, dass die Iterationsfolge gegen eines dieser Nichtnull-Minima konvergiert (vgl. dazu [BERE1971] Bd.2, S.152). ¨ Uber allgemeine Gradientenverfahren und die zugeh¨origen Konvergenzbedingungen s. [STOE1989], 5.4.1; [STUM1982], 9.2.2. Gradientenverfahren f¨ ur n = 2: Mit x1 = x, x2 = y, f1 = f, f2 = g und Q = f 2 (x, y) + g 2 (x, y) lautet (6.25) x(ν+1)
= x(ν) −
y (ν+1)
= y (ν) −
Q(x(ν) , y (ν) )Qx (x(ν) , y (ν) ) Q2x (x(ν) , y(ν) ) + Q2y (x(ν) , y (ν) ) Q(x(ν) , y (ν) )Qy (x(ν) , y (ν) ) . + Q2y (x(ν) , y (ν) )
Q2x (x(ν) , y (ν) )
Einen geeigneten Startvektor (x(0) , y (0) ) beschafft man sich hier durch grobes Aufzeichnen von f = 0 und g = 0 .
6.3 Spezielle Iterationsverfahren
257
Beispiel 6.11. (Fortsetzung von Beispiel 6.8) Gegeben: Das nichtlineare Gleichungssystem (6.3). L¨osung:
Es sind Q(x, y)
=
f 2 (x, y) + g 2 (x, y)
(x2 + y − 11)2 + (x + y 2 − 7)2 , 4x(x2 + y − 11) + 2(x + y 2 − 7) = , 2(x2 + y − 11) + 4y(x + y 2 − 7) =
∇Q
als Startwert wird wieder x(0) = 3.4, y (0) = −1.7 gesetzt. Die iterierten Werte x(ν) , y (ν) (ν) (ν) f¨ ur ν = 1,2,3 und die zu ihrer Berechnung ben¨ otigten Werte Q(ν) , Qx , Qy f¨ ur ν = 0,1,2 sind in der folgenden Tabelle zusammengestellt:
6.3.4
(ν)
(ν)
ν
x(ν)
y (ν)
Q(ν)
0
3.4000
−1.7000
1.8037
−16.9240
2.5480
1
3.5042
−1.7157
0.4952
−7.2196
2.9169
2
3.5632
−1.7395
0.1707
−1.4362
2.7731
3
3.5883
−1.7880
0.05385
Qx
Qy
Das Verfahren von Brown fu ¨ r Systeme
Das Verfahren von Brown [BROW1971] zur L¨ osung eines Systems (6.1) von n nichtlinearen Gleichungen mit n Unbekannten ist ein (lokal) quadratisch konvergentes, Newton¨ahnliches Iterationsverfahren, das ohne vorherige Kenntnis der partiellen Ableitungen arbeitet. Die Approximation des nichtlinearen Systems in der Umgebung der L¨osung geschieht hier durch ein lineares System nacheinander komponentenweise. Bei der Berechnung einer neuen Komponente kann deshalb die letzte Information u ¨ber die vorherbestimmten Komponenten bereits verwendet werden. Pro Iterationsschritt ben¨otigt das Verfahren nur etwa halb so viele Funktionsauswertungen wie das Newton-Verfahren.
Beispiel 6.12. Gegeben: Die Gleichungen
Gesucht:
f1 = x1 − e sin(x2 )
=
0
f2 = π · e sin(πx1 ) + x2
=
0.
Die Anzahl der L¨ osungsschritte mit den Verfahren 1. Newton-Verfahren 2. ged¨ ampftes Newton-Verfahren 3. Brown-Verfahren f¨ ur Systeme
258 L¨osung:
6. Systeme nichtlinearer Gleichungen Die f¨ unf L¨ osungen der Gleichungen lauten (1) (2) (3) (4) (5)
x1 x1 x1 x1 x1
= 0.733877 = 0.367895 = 1.0 = 2.074316 = 2.181405
Verfahren Newton-Verfahren Ged¨ampftes Newton-Verfahren Ged¨ampftes Newton-Verfahren Ged¨ampftes Newton-Verfahren Ged¨ampftes Newton-Verfahren Brown-Verfahren f¨ ur Systeme
(imax = 2) (imax = 3) (imax = 9) (imax = 19)
x2 x2 x2 x2 x2
= −6.597761 = −7.844702 = −3.141592 = −3.959375 = −5.388568
Anzahl Iterationsschritte
Nullstellen
100 51 13 18 68 100
(–) (1) (4) (4) (5) (–)
Es wurde mit der Numerik-Bibliothek gerechnet. Die Abbruchschranke lag bei ε = 0.5 · 10−8 . Bei 100 Iterationsschritten wurde die Berechnung beendet.
6.4 Entscheidungshilfen fu ¨ r die Auswahl der Methode Von den angegebenen Verfahren sind das ged¨ ampfte Newton-Verfahren bzw. die ged¨ampfte Primitivform des Newton-Verfahrens den u ur den ¨brigen Verfahren vorzuziehen. F¨ praktischen Einsatz ist besonders die Modifikation mit gesch¨atzter Jakobimatrix bei beiden Verfahren zu empfehlen, um die Erstellung der partiellen Ableitungen f¨ ur die Jakobimatrix umgehen zu k¨ onnen, siehe dazu auch die Bemerkungen am Ende des Abschnittes 6.3.1.2.
Erg¨ anzende Literatur zu Kapitel 6 [BARW2007], 7.4; [CARN1990], 5.9; [DAHM2008], 5.6; [DENN1996]; [DEUF2002] Bd.1, Kap.4; [HAMM1994], 8. §2; [OPFE2002], Kap.10; [PREU2001], Kap.4; [QUAR2002], Kap.7; [RICE1993], S.239; [SCHW1997], 5; [STOE2002A], Kap.5; [TORN1990] Bd.1, 7.1 f.
Kapitel 7
Eigenwerte und Eigenvektoren von Matrizen
7.1
Definitionen und Aufgabenstellungen
Gegeben ist eine (n, n)-Matrix A = (aik ), i, k = 1(1)n, und gesucht sind Vektoren x derart, dass der Vektor Ax dem Vektor x proportional ist mit einem zun¨achst noch unbestimmten Parameter λ Ax = λx .
(7.1)
Mit der (n, n)-Einheitsmatrix E l¨ asst sich (7.1) in der Form Ax − λx = (A − λE )x = 0
(7.2)
schreiben. (7.2) ist ein homogenes lineares Gleichungssystem, das genau dann nichttriviale L¨osungen x 6= 0 besitzt, wenn P (λ) := det(A − λE ) = 0 ist, ausf¨ uhrlich geschrieben a11 − λ a21 P (λ) = . .. an1
a12 a13 a22 − λ a23 .. .
··· ···
an2
···
an3
= 0. ann − λ a1n a2n .. .
(7.3)
(7.4)
(7.3) bzw. (7.4) heißt charakteristische Gleichung der Matrix A; P (λ) ist ein Polynom in λ vom Grade n und heißt entsprechend charakteristisches Polynom der Matrix A. Die Nullstellen λi , i = 1(1)n, von P (λ) heißen charakteristische Zahlen oder Eigenwerte (EWe) von A. Nur f¨ ur die EWe λi besitzt (7.2) nichttriviale L¨osungen. Ein zu einem EW λi geh¨origer L¨osungsvektor xi heißt Eigenvektor (EV) der Matrix A zum EW λi . Es gilt Axi = λi xi
bzw.
(A − λi E )xi = 0 .
(7.5)
Die Aufgabe, die EWe und EVen einer Matrix A zu bestimmen, heißt Eigenwertaufgabe (EWA). G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_7, © Springer-Verlag Berlin Heidelberg 2011
260
7. Eigenwerte und Eigenvektoren von Matrizen
Es wird zwischen der vollst¨ andigen und der teilweisen EWA unterschieden. Die vollst¨andige EWA verlangt die Bestimmung s¨ amtlicher EWe und EVen, die teilweise EWA verlangt nur die Bestimmung eines (oder mehrerer) EWes (EWe) ohne oder mit dem (den) zugeh¨origen EV (EVen). Man unterscheidet zwei Klassen von L¨ osungsmethoden: 1. Iterative Methoden: Sie umgehen die Aufstellung des charakteristischen Polynoms P (λ) und versuchen, die EWe und EVen schrittweise anzun¨ahern. 2. Direkte Methoden: Sie erfordern die Aufstellung des charakteristischen Polynoms P (λ), die Bestimmung der EWe λi als Nullstellen von P (λ) und die anschließende Berechnung der EVen xi als L¨ osungen der homogenen Gleichungssysteme (7.5). Sie sind zur L¨osung der vollst¨ andigen EWA geeignet; unter ihnen gibt es auch solche, die das Ausrechnen umfangreicher Determinanten vermeiden, z. B. das Verfahren von Krylov. Die Berechnung der Eigenwerte und Eigenvektoren einer komplexen (n, n)- Matrix kann auf die entsprechende Aufgabe f¨ ur eine reelle (2n, 2n)-Matrix zur¨ uckgef¨ uhrt werden. Es sei A = B + iC , B, C reelle Matrizen, x = u + iv , u, v reelle Vektoren. Dann erh¨alt man durch Einsetzen in (7.1) zwei reelle lineare homogene Gleichungssysteme Bu − C v = λu C u + Bv
= λv .
e und dem Vektor xe Diese lassen sich mit der (2n, 2n)-Matrix A B −C u e = A xe = C B v e x = λe zu der reellen Ersatzaufgabe Ae x zusammenfassen.
7.2
Diagonal¨ ahnliche Matrizen
Eine (n, n)-Matrix A, die zu einem kj -fachen EW stets kj linear unabh¨angige EVen und wegen Σkj = n genau n linear unabh¨ angige EVen zu der Gesamtheit ihrer EWe besitzt, heißt diagonal¨ ahnlich. Die n linear unabh¨ angigen EVen spannen den n-dimensionalen Vektorraum Rn auf. Die EVen sind bis auf einen willk¨ urlichen Faktor bestimmt. Der EV xi wird so normiert, dass gilt v xi,1 u n q uX x i,2 x2i,k = 1 mit xi = .. , (7.6) kxi k2 = |xi | = xiT xi = t . k=1 xi,n d. h. die Euklidische Norm von xi nimmt den Wert 1 an.
7.2 Diagonal¨ahnliche Matrizen
261
Bezeichnet man mit X die nicht singul¨ are Eigenvektormatrix (Modalmatrix) X = (x1 , x2 , . . . , xn ),
(7.7)
so gilt mit der Diagonalmatrix D (Spektralmatrix) der Eigenwerte λ1 0 . . . 0 0 λ2 0 . . 0 . . . D = . . . . . . 0 . . . 0 λn und wegen det X 6= 0 D = X −1 AX . Jede Matrix mit n linear unabh¨ angigen EVen xi l¨asst sich also auf Hauptdiagonalform transformieren. Es gilt der folgende
Satz 7.1. (Entwicklungssatz ) Ist x1 , x2 , ..., xn ein System von n linear unabh¨angigen Eigenvektoren, so l¨asst sich jeder beliebige Vektor z 6= 0 des n-dimensionalen Vektorraumes Rn als Linearkombination z = c x + c x + . . . + c x , c = const., 1 1
2 2
n n
i
darstellen, wobei f¨ ur mindestens einen Index i gilt ci 6= 0. Als Sonderfall enthalten die diagonal¨ ahnlichen Matrizen die hermiteschen Matrizen T H = (hik ) mit H = H bzw. hik = hki (hki sind die zu hki konjugiert komplexen Elemente) und diese wiederum die symmetrischen Matrizen S = (sik ) mit reellen Elementen sik = ski , d. h. S = S T . Hermitesche (und damit auch symmetrische) Matrizen besitzen die folgenden Eigenschaften: 1. S¨amtliche EWe sind reell; bei symmetrischen Matrizen sind auch die EVen reell. 2. Die zu verschiedenen EWen geh¨ orenden EVen sind unit¨ar (konjugiert orthogonal): xi T xk = 0 f¨ ur i 6= k; f¨ ur analog zu (7.6) normierte EVen gilt v u n uX kxi k2 = t xi,k xi,k = 1 k=1
xi T xk = δik =
1 0
f¨ ur i = k, f¨ ur i = 6 k. T
3. Die Eigenvektormatrix (7.7) ist unit¨ ar (X = X −1 ) . Bei symmetrischen Matrizen ist in 2. und 3. unit¨ ar durch orthogonal zu ersetzen.
262
7. Eigenwerte und Eigenvektoren von Matrizen
7.3
Das Iterationsverfahren nach v. Mises
7.3.1
Bestimmung des betragsgr¨ oßten Eigenwertes und des zugeh¨ origen Eigenvektors
Es sei eine EWA (7.2) vorgelegt mit einer diagonal¨ahnlichen reellen Matrix A, d. h. einer Matrix mit n linear unabh¨ angigen EVen x1 , x2 , ..., xn ∈ Rn . Man beginnt mit einem (0) beliebigen reellen Vektor z 6= 0 und bildet mit der Matrix A die iterierten Vektoren z (ν) nach der Vorschrift (ν) z1 z (ν) z (ν+1) := Az (ν) , z (ν) = 2.. , ν = 0, 1, 2, . . . (7.8) . (ν)
zn
Nach Satz 7.1 l¨asst sich z (0) als Linearkombination der n EVen xi , i = 1(1)n, darstellen n X z (0) = ci xi (7.9) i=1
mit ci 6= 0 f¨ ur mindestens ein i, so dass wegen (7.5) mit (7.8) und (7.9) folgt z (ν) = c1 λν1 x1 + c2 λν2 x2 + . . . + cn λνn xn . (ν)
Nun werden die Quotienten qi der i-ten Komponenten der Vektoren z (ν+1) und z (ν) gebildet (ν+1) z c1 λν+1 x1,i + c2 λν+1 x2,i + . . . + cn λν+1 (ν) n xn,i 1 2 qi := i (ν) = ν ν ν c1 λ1 x1,i + c2 λ2 x2,i + . . . + cn λn xn,i zi Die Weiterbehandlung erfordert folgende Fallunterscheidungen: 1. |λ1 | > |λ2 | ≥ |λ3 | ≥ . . . ≥ |λn | : (ν)
a) c1 6= 0, x1,i 6= 0 : F¨ ur die Quotienten qi gilt ν λ2 (ν) qi = λ1 + O bzw. λ1
(ν) lim q ν→∞ i
= λ1 .
Die Voraussetzung x1,i 6= 0 ist f¨ ur mindestens ein i erf¨ ullt. Es strebt also mindestens (ν) einer der Quotienten qi gegen λ1 , f¨ ur die u brigen λ , ¨ i i = 2(1)n, vgl. unter b). (ν)
F¨ ur gen¨ ugend große ν ist qi eine N¨ aherung f¨ ur den betragsgr¨oßten EW λ1 . Bezeichnet man mit λ∗i die N¨ aherungen f¨ ur λi , so gilt hier (ν)
λ∗1 = qi
≈ λ1 .
(7.10) (ν)
Bei der praktischen Durchf¨ uhrung des Verfahrens wird gerechnet, bis f¨ ur die qi einer vorgegebenen Genauigkeit gleichm¨ aßig f¨ ur alle i mit x1,i 6= 0 (7.10) gilt.
mit
7.3 Das Iterationsverfahren nach v. Mises
263
Der Vektor z (ν) hat f¨ ur große ν ann¨ ahernd die Richtung von x1 . F¨ ur ν → ∞ erh¨alt man das folgende asymptotische Verhalten z (ν) ∼ λν1 c1 x1 ,
z (ν) ∼ λ1 z (ν−1) .
Sind die EVen xi normiert und bezeichnet man mit xi∗ die N¨aherungen f¨ ur xi , so gilt mit (7.6) f¨ ur hinreichend großes ν z (ν) x1∗ = (ν) ≈ x1 . |z | b) c1 = 0 oder x1,i = 0, c2 6= 0, x2,i 6= 0, |λ2 | > |λ3 | ≥ · · · ≥ |λn | : Der Fall c1 = 0 tritt dann ein, wenn der Ausgangsvektor z (0) keine Komponente in Richtung von x1 besitzt. Im Falle symmetrischer Matrizen ist c1 = 0, wenn z (0) orthogonal ist zu x1 wegen xiT xk = 0 f¨ ur i 6= k; dann gilt ν λ (ν) 3 (ν) qi = λ2 + O bzw. lim qi = λ2 . ν→∞ λ2 c1 λν1 x1 f¨ ur c1 6= 0, (ν) z ∼ c2 λν2 x2 f¨ ur c1 = 0. F¨ ur hinreichend großes ν erh¨ alt man die Beziehungen z (ν) z (ν) ≈ x1 f¨ ur c1 6= 0, x2∗ = (ν) ≈ x2 f¨ ur c1 = 0, (ν) |z | |z | f¨ ur alle i = 1(1)n, falls c1 = 0, c2 6= 0, x2,i 6= 0 ist, (ν) ∗ λ2 = qi ≈ λ2 f¨ ur alle i mit x1,i = 0, falls c1 6= 0 ist. x1∗ =
(ν)
Es kann also vorkommen, dass die qi streben.
f¨ ur verschiedene i gegen verschiedene EWe
c) ci = 0 f¨ ur i = 1(1)j, cj+1 6= 0, xj+1,i 6= 0, |λj+1 | > |λj+2 | ≥ · · · ≥ |λn | : Man erh¨alt hier f¨ ur hinreichend großes ν die Beziehungen z (ν) (ν) ∗ λ∗j+1 = qi ≈ λj+1 , xj+1 = (ν) ≈ xj+1 . |z | (ν)
Gilt hier xj+1,i = 0 f¨ ur ein i, so strebt das zugeh¨orige qi
gegen λj+2 .
Rechenschema 7.2. (Verfahren nach v. Mises: Az (ν) = z (ν+1) ) A
z (0)
z (1)
z (2)
(0) z1 (0) z2
(1) z1 (1) z2
(2) z1 (2) z2
.. .
.. .
.. .
a11
a12
...
a1n
a21 .. . an1
a22 .. . an2
...
a2n .. . ann
...
(0)
zn
(1)
zn
(2)
zn
...
264
7. Eigenwerte und Eigenvektoren von Matrizen Bei der praktischen Durchf¨ uhrung berechnet man nicht nur die Vektoren z (ν) , sondern normiert jeden Vektor z (ν) dadurch, dass man jede seiner Komponenten durch die betragsgr¨oßte Komponente dividiert, so dass diese gleich 1 wird. Bezeichnet man (ν) (ν) den normierten Vektor mit zn , so wird z (ν+1) nach der Vorschrift Azn = z (ν+1) bestimmt. Eine andere M¨ oglichkeit ist, jeden Vektor z (ν) auf Eins zu normieren, was jedoch mehr Rechenzeit erfordert. Durch die Normierung wird ein zu starkes An(ν) wachsen der Werte zi (und auch der Rundungsfehler) vermieden. Beispiel 7.3. Gegeben: Die Matrix
0 0 −1
1 1 A= 1 1 0 0
Gesucht:
Die N¨ aherungen λ∗1 und x1∗ f¨ ur den betragsgr¨oßten EW λ1 und den zugeh¨ origen EV x1 nach dem Verfahren von v. Mises.
L¨osung:
Anhand linear unabh¨ angiger Vektoren z (0) als Ausgangsvektoren wird demonstriert, welche F¨ alle auftreten k¨onnen.
a) Wahl des Ausgangsvektors z (0)
1 1 0 2
A 1 0 1 0 0 −1 2 −1 (ν)
z (0) 1 2 1 —
1 = 2 1
z (1) 3 3 −1 5
(ν)
z (2 ) 6 6 1 13
z (3) 12 12 −1 23
z (4) 24 24 1 49
z (5) 48 48 −1 95
(ν)
...
Hier gilt exakt: q1 = q2 = 2 = λ1 ; q3 = −1 = λ2 f¨ ur alle ν. Es liegt also der Fall 1.b) mit x1,3 = 0 vor. F¨ ur x1∗ erh¨ alt man, wenn man bei ν = 5 abbricht: 48 1 (5) z 1 48 48 = √ ≈ x1 . 1 x1∗ = (5) = √ |z | 4609 482 + 482 + 1 −1 −0.0208
b) W¨ahlt man als Ausgangsvektor z (0)
1 1 0 2
A 1 0 1 0 0 −1 2 −1
1 = −1 , so folgt 1
z (0) 1 −1 1 —
z (1) 0 0 −1 −1
z (2) 0 0 1 1
...
7.3 Das Iterationsverfahren nach v. Mises
265
0 (ν) und es gilt q3 = −1 = λ2 , x2∗ = 0 ≈ x2 . 1 Im vorliegenden Fall ist c1 = 0 wegen z (0)T x1 = 0 (vgl. 1.b).
1 0 c) W¨ahlt man als Ausgangsvektor z (0) = −1 , so folgt aus Az (0) = z (1) = 0 , 0 0 bereits der EV x3 zum EW λ3 = 0. Es liegt der Fall 1.c) vor mit c1 = c2 = 0. Ist z (0) selbst EV zu λj , so gilt exakt Az (ν) = λj z (ν) f¨ ur alle ν. Da die exakten Werte der EWe und EVen nicht bekannt sind, muss zur Sicherheit die Rechnung mit mehreren (theoretisch mit n) linear unabh¨angigen Ausgangsvektoren z (0) durchgef¨ uhrt werden, um aus den Ergebnissen auf den jeweils vorliegenden Fall schließen zu k¨onnen. F¨ ur die Praxis gilt das jedoch nicht, denn mit wachsendem n wird die Wahrscheinlichkeit immer geringer, dass man zuf¨allig ein z (0) w¨ahlt, das z. B. keine Komponente in Richtung von x1 hat oder etwa bereits selbst ein EV ist.
Beispiel 7.4. Gegeben: Die Matrix
1.2 2.3 3.2 A = 2.3 3.2 4.4 3.2 4.4 5.1
Gesucht:
Die N¨ aherungen λ∗1 und x1∗ f¨ ur den betragsgr¨oßten EW λ1 und den zugeh¨ origen EV x1 nach dem Verfahren von v. Mises.
L¨osung:
(Die Rechnung wurde mit 15-stelliger Mantisse durchgef¨ uhrt. Um die Rechnung besser nachvollziehen zu k¨onnen, wurde auf eine Normierung der jeweiligen Vektoren verzichtet.) A
1.2 2.3 3.2
2.3 3.2 4.4
3.2 4.4 5.1 (13)
Man erh¨alt hier q1
x1∗
z (0)
z (1)
1 1 1
6.7 9.9 12.7 (13)
= q2
...
(13)
= q3
z (13)
z (14)
10359856639376.3 14949921641116.7 18861617281082.0
107173823041282 154658535558899 195125444600435
= 10.3451067685560 = λ∗1 ≈ λ1 und
0.395371930487755 z (14) = (14) = 0.570546445345872 ≈ x1 . |z | 0.719831779157857
266
7. Eigenwerte und Eigenvektoren von Matrizen
2. λ1 = λ2 = . . . = λp , |λ1 | > |λp+1 | ≥ . . . ≥ |λn | (mehrfacher EW): F¨ ur c1 x1,i + c2 x2,i + . . . + cp xp,i = 6 0 ergeben sich zu p linear unabh¨angigen Ausgangsvektoren z (0) die Beziehungen λp+1 ν (ν) (ν) qi = λ1 + O bzw. lim qi = λ1 . ν→∞ λ1 (r)
(r)
z (ν) ∼ λν1 (c1 x1 + c2 x2 + . . . + c(r) p xp ) = yr ,
r = 1(1)p, ν = 0, 1, 2, . . .
Die p Vektoren yr sind linear unabh¨ angig und spannen den sogenannten Eigenraum zu λ1 auf; d. h. sie bilden eine Basis des Eigenraumes zu λ1 (s. dazu [ZURM1997], (ν) S. 151). Als N¨aherung f¨ ur λ1 nimmt man f¨ ur hinreichend großes ν wieder λ∗1 = qi , f¨ ur die EVen xi , i=1(1)p, erh¨ alt man hier keine N¨aherungen, sondern nur die Linearkombinationen yr .
Beispiel 7.5. Gegeben: Die Matrix
Gesucht:
1 0 A= 0 2 1 0
1 0 . 1
Die λi und xi nach dem Verfahren von v. Mises. Exakte L¨osungen sind: λ1 = λ2 = 2, λ3 = 0; 1 0 1 1 1 0 , x2 = 1 , x3 = √ 0 . x1 = √ 2 2 1 0 −1
L¨osung:
a) Wahl des Ausgangsvektors z (0)
1 0 1 2
A 0 2 0 2
1 0 1 2
2 = 3 4
z (0) 2 3 4 —
z (1) 6 6 6 18
z (2) 12 12 12 36
(ν)
z (3) 24 24 24 72
...
So fortfahrend erh¨ alt man qi = 2 f¨ ur i = 1, 2, 3, ν = 1, 2, . . . . Um weitere Aussagen machen zu k¨ onnen, wird zun¨achst die Rechnung mit einem neuen Ausgangsvektor wiederholt, der vom ersten linear unabh¨angig ist.
b) Wahl des Ausgangsvektors z (0)
2 = 3 −1
7.3 Das Iterationsverfahren nach v. Mises
1 0 1 2
A 0 2 0 2
1 0 1 2
z (0) 2 3 −1 —
267 z (1) 1 6 1 8
z (2) 2 12 2 16
z (3) 4 24 4 32
...
(ν)
Man erh¨alt wie unter a) qi = 2 f¨ ur i = 1, 2, 3, ν = 1, 2, . . . . Allerdings streben die z (ν) hier gegen einen von den z (ν) in a) linear unabh¨angigen Vektor. Es gilt somit λ1 = λ2 = 2; wenn die Rechnung bei ν = 3 abbricht, erh¨alt man 1 0.16 y1 = 24 1 , y2 = 24 1 ; 1 0.16 y1 und y2 sind linear unabh¨ angig. Es zeigt sich, dass hier zuf¨allig y1 dem EV x1 entspricht und im Falle b) die normierten z (ν) gegen c · x2 strebt.
3. λ1 = −λ2 , |λ1 | > |λ3 | ≥ . . . ≥ |λn | : (ν) Man bildet die Quotienten qei der i-ten Komponenten der Vektoren z (ν+2) und z (ν) (ν+2)
(ν)
qei
:=
und erh¨alt mit c1 x1,i + (−1)ν c2 x2,i 6= 0 ν λ3 (ν) 2 qei = λ1 + O λ1
zi
(ν)
zi
bzw.
(ν) lim qe ν→∞ i
= λ21 .
(7.11)
F¨ ur ν → ∞ ergibt sich das folgende asymptotische Verhalten x1
∼ z (ν+1) + λ1 z (ν) ,
x2
∼ z (ν+1) − λ1 z (ν) .
Man erha¨lt somit als Na ¨herungen λ∗1 , λ∗2 fu ¨r λ1 und λ2 fu ¨r hinreichend großes ν wegen (7.11) q (ν) ∗ λ1,2 = ± qei ≈ λ1,2 und als N¨aherungen f¨ ur x1 und x2 x1∗
=
z (ν+1) + λ∗1 z (ν) ≈ x1 , kz (ν+1) + λ∗1 z (ν) k2
x2∗
=
z (ν+1) − λ∗1 z (ν) ≈ x2 . kz (ν+1) − λ∗1 z (ν) k2
268
7. Eigenwerte und Eigenvektoren von Matrizen Bei der praktischen Durchf¨ uhrung macht sich das Auftreten dieses Falles dadurch bemerkbar, dass gleiches Konvergenzverhalten nur f¨ ur solche Quotienten eintritt, bei denen die zum Z¨ ahler und Nenner geh¨ origen Spalten durch genau eine Spalte des Rechenschemas getrennt sind. Die F¨ alle 2 und 3 gelten auch f¨ ur betragsnahe EWe |λi | ≈ |λj | f¨ ur i 6= j.
Beispiel 7.6. Gegeben: Die Matrix
Gesucht:
1 0 A= 1
0 1 −2 0 . 0 1
Der betragsgr¨ oßte EW und die zugeh¨origen EVen n¨aherungsweise nach dem Verfahren von v. Mises. Exakte L¨osungen: λ1 = 2, λ2 = −2, λ3 = 0;
1 1 x1 = 0 √ , 2 1
0 1 1 x2 = −1 , x3 = 0 √ . 2 0 −1
L¨osung: 1 0 1 2
(2)
qei
A 0 −2 0 −2
1 0 1 2
z (0) 2 1 −1 —
z (1) 1 −2 1 0
z (2) 2 4 2 8
z (3) 4 −8 4 0
z (4) 8 16 8 32
...
(4)
=
zi ∗2 2 ur i = 1, 2, 3, (2) = 4 = λ1 = λ1 , f¨ zi
d. h. λ1 = 2, λ2 = −2 .
F¨ ur die zugeh¨origen EVen erh¨ alt man
8 1 1 0 = √1 0 = x , x1∗ = z (3) + 2z (2) = √ 1 2 |z + 2z | 8 2 8 1 0 0 (3) (2) 1 −16 = −1 = x . x2∗ = z (3) − 2z (2) = 16 2 |z − 2z | 0 0 (3)
(2)
Im vorliegenden Fall hat man die exakten Werte der EWe und EVen erhalten.
7.3 Das Iterationsverfahren nach v. Mises
7.3.2
269
Bestimmung des betragskleinsten Eigenwertes
In (7.1) wird λ = 1/κ 6= 0 gesetzt. Dann lautet die transformierte EWA A−1 x = κx . Mit dem Verfahren nach v. Mises bestimmt man nach der Vorschrift z (ν+1) = A−1 z (ν)
(7.12)
b von A erh¨alt man den betragsgr¨oßten EW κ b von A−1 . F¨ ur den betragskleinsten EW λ so die Beziehung b = 1 . |λ| |b κ| Zur Bestimmung von A−1 kann der Gaußsche Algorithmus verwendet werden (Abschnitt 4.6). Die Berechnung von A−1 sollte aber besser umgangen werden, indem die Vektoren z (ν+1) jeweils aus der Beziehung Az (ν+1) = z (ν) , die aus (7.12) folgt, berechnet werden – etwa mit Hilfe des Gaußschen Algorithmus, wobei die Zerlegung von A nur einmal, die Vorw¨arts- und R¨ uckw¨ artselimination in jedem Iterationsschritt durchgef¨ uhrt wird. Ist A b = 0 ist. symmetrisch und det A = 0, so verschwindet mindestens ein EW, so dass λ
7.3.3
Bestimmung weiterer Eigenwerte und Eigenvektoren
A sei eine symmetrische Matrix, die EVen xi seien orthonormiert. Dann gilt mit (7.9) c1 = z (0)T x1 . Man bildet y (0) := z (0) − c1 x1 = c2 x2 + c3 x3 + . . . + cn xn und verwendet y (0) als Ausgangsvektor f¨ ur das Verfahren von v. Mises. Wegen y (0)T x1 = z (0)T x1 − c1 = 0 ist y (0) orthogonal zu x1 , und der Fall 1.b) des Abschnittes 7.3.1 tritt ein, d. h. die (ν) Quotienten qi streben gegen λ2 . Da x1 nur n¨ aherungsweise bestimmt wurde, wird y (0) nicht vollst¨andig frei von Komponenten in Richtung von x1 sein, so dass man bei jedem Schritt des Verfahrens die y (ν) von Komponenten in Richtung x1 s¨aubern muss. Das geschieht, indem man e (ν) = y (ν) − (y (ν)T x1 )x1 y
(ν)
(ν)
e (ν)T = (e mit y y1 , ye2 , . . . , yen(ν) )
bildet und danach y (ν+1) = Ae y (ν) berechnet. So fortfahrend erh¨alt man f¨ ur hinreichend ∗ großes ν N¨aherungswerte λ2 f¨ ur λ2 und x2∗ f¨ ur x2 (ν+1)
(ν)
λ∗2 = qi
=
yei
(ν)
yei
≈ λ2 ;
x2∗ =
e (ν) y ≈ x2 . |e y (ν) |
270
7. Eigenwerte und Eigenvektoren von Matrizen
Zur Berechnung weiterer EWe und EVen wird ganz analog vorgegangen. Sollen etwa der im Betrag drittgr¨ oßte EW und der zugeh¨ orige EV bestimmt werden, so wird als Ausgangsvektor mit bekannten EVen x1 , x2 y (0) := z (0) − c1 x1 − c2 x2 gebildet mit c1 = z (0)T x1 , c2 = z (0)T x2 . Da x1 , x2 wieder nur n¨ aherungsweise durch x1∗ , x2∗ gegeben sind, m¨ ussen hier die y (ν) entsprechend von Komponenten in Richtung von x1 , x2 ges¨aubert werden usw. (siehe auch Gram-Schmidtsches-Orthogonalisierungsverfahren).
Beispiel 7.7. (Fortsetzung von Beispiel 7.4) Gegeben: Die Matrix A und die N¨ aherungen λ∗1 f¨ ur λ1 und x∗1 f¨ ur x1 . Gesucht:
Die N¨aherungen λ∗2 f¨ ur λ2 und x∗2 f¨ ur x2 mit Hilfe des Verfahrens von v. Mises.
L¨osung:
Rechnung mit 15-stelliger Mantisse.
1.2 2.3 3.2
A 2.3 3.2 4.4
3.2 4.4 5.1
e (1) y −0.194996003169750 −0.049910848322967 0.146662604183712
(30)
Hiermit ergibt sich: q1
z (0) 1 1 1 ...
(30)
= q2
y (0) 0.333501706900982 0.038201241328359 −0.213456533283150 e (30) y 3.83422614855210·10−7 1.28184681022692·10−7 −3.12197738471860·10−7
(30)
= q3
y (1) −0.194996003169674 −0.049910848322856 0.146662604183852 e (31) y (31) = y −2.44100858931504·10−7 −8.16070558365899·10−8 1.98756497830030·10−7
= −0.636636571433538 = λ∗2 ≈ λ2 ,
−0.750638776992176 (31) e y x2∗ = (31) = −0.250951270123549 ≈ x2 . |e y | 0.611199547201295 Analog erh¨alt man bereits nach drei Iterationsschritten λ∗3 = −0.208470197122534 ≈ λ3 und −0.529360428307665 x3∗ = 0.781984791237377 ≈ x3 . −0.329055197824559
7.4 Konvergenzverbesserung
7.4
271
Konvergenzverbesserung mit Hilfe des RayleighQuotienten im Falle hermitescher Matrizen
F¨ ur den betragsgr¨oßten EW λ1 einer hermiteschen Matrix l¨asst sich bei nur unwesentlich erh¨ohtem Rechenaufwand eine gegen¨ uber (7.10) verbesserte N¨aherung angeben. Man ben¨otigt dazu den Rayleigh-Quotienten. Definition 7.8. (Rayleigh-Quotient) Ist A eine beliebige (n, n)-Matrix und x ∈ Rn , so heißt R[x ] =
x T Ax x Tx
Rayleigh-Quotient von A an der Stelle x .
Wegen Axi = λi xi gilt R[xi ] = λi , d. h. der Rayleigh-Quotient zu einem EV xi ist gleich dem zugeh¨origen EW λi . Ist A hermitesch, so gilt der
Satz 7.9. Der Rayleigh-Quotient nimmt f¨ ur einen der n EVen einer hermiteschen Matrix A seinen Extremalwert an. F¨ ur |λ1 | ≥ |λ2 | ≥ · · · ≥ |λn | gilt |R[x ]| ≤ |λ1 | .
Beweis. Sind die EWe dem Betrage nach geordnet |λ1 | ≥ |λ2 | ≥ . . . ≥ |λn |, so folgt wegen R[xi ] = λi die Ungleichungskette |R[x1 ]| = |λ1 | ≥ |R[x2 ]| ≥ . . . ≥ |R[xn ]| = |λn |. Setzt man x = H y , wobei H die unit¨ are Eigenvektormatrix ist mit H −1 = H T H AH = J , so erh¨ alt man (J ist Diagonalmatrix) T
R[x ] = und daraus
T
x T Ax y T H AH y y TJ y λ1 y12 + λ2 y22 + . . . + λn yn2 = R[H y ] = = = T y12 + y22 + . . . + yn2 x Tx y Ty y TH H y
|R[x ]| ≤ |λ1 |
maxn x ∈R
mit
|R[x ]| = |R[x1 ]| = |λ1 |.
Der Rayleigh-Quotient zu dem iterierten Vektor z (ν) lautet R[z (ν) ] =
z (ν)T z (ν+1) z (ν)T z (ν)
.
und
272
7. Eigenwerte und Eigenvektoren von Matrizen
Wegen Satz 7.9 gilt die Ungleichung |R[z (ν) ]| ≤ |λ1 |, so dass man mit |R[z (ν) ]| eine untere Schranke f¨ ur |λ1 | erh¨ alt. Der Rayleigh-Quotient, gebildet zu der N¨ aherung z (ν) f¨ ur den EV x1 , liefert einen besse(ν) ren N¨aherungswert f¨ ur den zugeh¨ origen EW λ1 als die Quotienten qi . Es gilt n¨amlich 2ν ! λ2 (ν) R[z ] = λ1 + O , λ1 hier ist die Ordnung des Restgliedes O(|λ2 /λ1 |2ν ) im Gegensatz zur Ordnung O(|λ2 /λ1 |ν ) (ν) bei dem Quotienten qi . Beispiel 7.10. (Fortsetzung von Beispiel 7.4) Gegeben: Die Matrix und die iterierten Vektoren z (ν) , ν = 1(1)14. Gesucht:
Mit Hilfe des Rayleigh-Quotienten gebe man untere Schranken f¨ ur |λ1 | an.
L¨osung: z (1)T z (2) z (1)T z (1)
R[z (1) ] .. .
=
R[z (6) ]
= . . . = R[z (13) ]
=
10.3428679443768,
= 10.3451067685560.
Wegen Satz 7.9 gilt R[z (6) ] ≤ λ1 , (λ1 > 0).
7.5
Das Verfahren von Krylov
Es sei eine EWA (7.2) vorgelegt mit einer diagonal¨ahnlichen reellen Matrix A (¨ uber den Fall nicht diagonal¨ ahnlicher Matrizen s. [ZURM1997], S.175); gesucht sind s¨amtliche EWe und EVen.
7.5.1
Bestimmung der Eigenwerte
1. Fall. S¨amtliche EWe λi , i = 1(1)n, seien einfach. Das charakteristische Polynom P (λ) der Matrix A sei in der Form P (λ) =
n−1 X j=0
aj λj + (−1)n λn
(7.13)
7.5 Das Verfahren von Krylov
273
dargestellt. Dann k¨ onnen die aj aus dem folgenden linearen Gleichungssystem bestimmt werden: Z a + (−1)n z (n) = 0 (7.14) mit Z = (z (0) , z (1) , . . . , z (n−1) ), (ν) z = Az (ν−1) , ν = 1(1)n, T a = (a0 , a1 , . . . , an−1 ). Dabei ist z (0) ein Ausgangsvektor mit der Darstellung (7.9), der bis auf die folgenden Ausnahmen willk¨ urlich ist: (a) ci 6= 0 f¨ ur i = 1(1)n: Dann ist det Z 6= 0 und das System (7.14) ist eindeutig l¨osbar. Einschließlich z (0) gibt es n linear unabh¨ angige Vektoren z (ν) , ν = 1(1)n−1. (b) ci = 0 f¨ ur i = q + 1(1)n, wobei die ci o. B. d. A. so nummeriert werden: Dann gilt z (0) = c1 x1 + c2 x2 + . . . + cq xq
mit ci 6= 0 f¨ ur i = 1(1)q, q < n.
Die q + 1 Vektoren z (0) und z (ν+1) = Az (ν) , ν = 0(1)q−1, sind linear abh¨angig, d. h. es gilt: det Z = 0. Die (n, q)-Matrix Zq = (z (0) , z (1) , . . . , z (q−1) ) besitzt den Rang q, so dass sich mit b = (b0 , b1 , . . . , bq−1 )T das inhomogene lineare Gleichungssystem von n Gleichungen f¨ ur q Unbekannte bj , j = 0(1)q−1, ergibt Zq b + z (q) = 0 , (7.15) von denen q widerspruchsfrei sind und ausgew¨ahlt werden k¨onnen. Die bj , j = 0(1)q − 1, bq = 1 sind die Koeffizienten eines Teilpolynoms Pq (λ) von P (λ): Pq (λ) =
q X
bj λj .
(7.16)
j=0
Aus Pq (λ) = 0 lassen sich q der insgesamt n EWe λi bestimmen. Um s¨amtliche voneinander verschiedenen λi zu erhalten, muss das gleiche Verfahren f¨ ur verschiedene (h¨ochstens n) linear unabh¨ angige z (0) durchgef¨ uhrt werden.
2. Fall. Es treten mehrfache EWe auf. A besitze s verschiedene EWe λj , j = 1(1)s, s < n, der Vielfachheiten kj mit k1 + k2 + ... + ks = n; dann geht man so vor: Zun¨ achst ist festzustellen, wieviele linear unabh¨angige iterierte Vektoren z (ν+1) = Az (ν) , ν = 0, 1, 2, ..., zu einem willk¨ urlich gew¨ahlten Ausgangsvektor der Darstellung z (0) = c1 x1 + c2 x2 + . . . + cs xs ,
xr
EV zu λr ,
(7.17)
274
7. Eigenwerte und Eigenvektoren von Matrizen
bestimmt werden k¨ onnen. Sind etwa z (0) , z (1) , . . . , z (s) linear unabh¨angig, so liefert das lineare Gleichungssystem von n Gleichungen f¨ ur s < n Unbekannte bbj ( b + z (s) = 0 mit b b = (bb0 , bb1 , . . . , bbs−1 )T bb Z (7.18) b = (z (0) , z (1) , . . . , z (s−1) ) und Z die Koeffizienten bbj des Minimalpolynoms m(λ) =
s−1 X
bbj λj + λs =
j=0
s Y
(λ − λk ).
(7.19)
k=1
m(λ) hat die s verschiedenen EWe von A als einfache Nullstellen. Sind in (7.17) einige der ci = 0, so ist analog zu 1(b) vorzugehen.
7.5.2
Bestimmung der Eigenvektoren
1. Fall. S¨amtliche EW λi , i = 1(1)n, seien einfach. Die EVen lassen sich als Linearkombinationen der iterierten Vektoren z (ν) gewinnen. Es gilt xi =
n−1 X
e aij z (j) ,
j=0
wobei die e aij die Koeffizienten des Polynoms Pi (λ) =
n−1 (−1)n P (λ) X = e aij λj λ − λi j=0
sind. Die e aij lassen sich leicht mit dem einfachen Horner-Schema bestimmen. 2. Fall. Es treten mehrfache EWe auf. Das eben beschriebene Verfahren ist auch dann noch anwendbar. Hier erh¨alt man jedoch zu einem Ausgangsvektor z (0) jeweils nur einen EV, d. h. die Vielfachheit bleibt unber¨ ucksichtigt. Man muss deshalb entsprechend der Vielfachheit kj des EWes λj genau kj linear unabh¨angige Ausgangsvektoren z (0) w¨ ahlen und erh¨alt damit alle kj EVen zu λj . Das Verfahren von Krylov sollte nur angewandt werden, wenn die Systeme (7.14), (7.15) und (7.18) gut konditioniert sind, da sonst Ungenauigkeiten bei der Bestimmung der Koeffizienten in (7.13), (7.16) und (7.19) zu wesentlichen Fehlern bei der Bestimmung der λj f¨ uhren.
7.6 QD-Algorithmus
7.6
275
Bestimmung der Eigenwerte positiv definiter, symmetrischer, tridiagonaler Matrizen mit Hilfe des QD-Algorithmus
F¨ ur positiv definite symmetrische tridiagonale Matrizen A (vgl. Abschnitt 4.9.2) mit den Diagonalelementen di und den oberen Diagonalelementen ci 6= 0, i = 1(1)n−1, lassen sich die Eigenwerte mit Hilfe des QD-Algorithmus bestimmen. Das QD-Schema ist zeilenweise auszuf¨ ullen und hat die Form: (ν)
ν
(ν)
e0
(ν)
q1
e1
(ν)
(1)
q1
1
e2
(1)
(2)
(1)
(2)
(3)
(2)
3
(3)
↓ 0
↓ λ1
↓ 0
(3)
e2 ↓ λ2
↓ 0
0
···
q3
e1
···
↓ λ3
e3
(3)
···
↓ 0
···
(ν)
en
0 (2)
qn
···
e3 (3)
q2
0
(2)
e2 (3)
q1
qn
···
q3
e1
(ν)
···
···
e3 (2)
q2
0
(1)
e2 (2)
q1
(ν)
e3
0
e1
2
(ν)
q3
0
0
↓ ∞
(ν)
q2
0 (3)
qn
0 ↓ λn
↓ 0
Setzt man das QD-Schema mit den Werten (1)
(1)
(1)
(1)
ek = c2k /qk ,
q 1 = d1 ,
(1)
qk+1 = dk+1 − ek , (ν)
f¨ ur die beiden ersten Zeilen an und setzt e0 Zeilen des Schemas nach den Regeln (ν+1)
ek
(ν)
(ν)
(ν+1)
= qk+1 ek /qk
,
(ν)
= en
(ν+1)
qk
k = 1(1)n−1,
= 0, so erh¨alt man die weiteren
(ν)
(ν)
(ν+1)
= ek + qk − ek−1 .
Hierbei berechnet man f¨ ur festes ν nacheinander (ν)
q1 ,
(ν)
q2 ,
(ν)
e2 ,
...,
(ν)
en−1 ,
qn(ν) .
(ν)
= λk die der Gr¨ oße nach geordneten EWe von A gege-
(ν)
= 0. Die Matrix A hat lauter positive verschiedene EWe
Dann sind durch lim qk ν→∞
ben. Es gilt auch lim ek ν→∞
(ν)
e1 ,
λi ([SCHW1972], S.139 und 168).
276
7. Eigenwerte und Eigenvektoren von Matrizen
Bemerkung. Eine f¨ ur DVA geeignete direkte Methode stellt die Jakobi-Methode in der ihr durch Neumann gegebenen Form dar ([RALS1979] Bd. I, Kap. 7; ferner [BERE1971] Bd. 2, §8.8; [FADD1979], §81; [SCHW1972], 4.4; [COLL1973] I, S.56 ff.; [SELD1979], 5.5).
7.7
Transformationen auf Hessenbergform, LR- und QR-Verfahren
LR- und QR-Verfahren dienen zur gleichzeitigen Berechnung s¨amtlicher Eigenwerte einer (n, n)-Matrix A. Die Durchf¨ uhrbarkeit des LR-Verfahrens ist im Allgemeinen nicht gesichert, dagegen ist das QR-Verfahren immer durchf¨ uhrbar, wenn auch mit sehr großem Rechenaufwand. F¨ ur beide Verfahren nimmt der Rechenaufwand stark ab, wenn die Matrix A vor Anwendung der Verfahren auf obere Hessenbergform transformiert wird. Die Hessenbergmatrix hat dann die gleichen Eigenwerte wie A; nach Wilkinson werden bei der Transformation die Eigenwerte durch Rundungsfehler kaum gest¨ ort.
7.7.1
Transformation einer Matrix auf obere Hessenbergform
Jede (n, n)-Matrix A = (aik ), aik ∈ R, l¨ asst sich mit Hilfe von symmetrischen, orthogoe transformieren: nalen Householdermatrizen (vgl. Satz 4.20) auf obere Hessenbergform A ∗ ∗ ∗ ··· ∗ ∗ ∗ ∗ ··· ∗ ∗ ··· ∗ e = 0 ∗ A aik ) = (e .. . . . .. .. . . . . .. 0 ···
0
∗
∗
mit e aik = 0 f¨ ur i ≥ k + 2 . Ist A symmetrisch, d. h. AT = A, so ist die zugeh¨orige Hessenbergmatrix symmetrisch und tridiagonal. Durchf¨ uhrung des Verfahrens (1)
Man setzt zun¨achst A1 := A = (aik ), i, k = 1(1)n. Als erste Transformationsmatrix w¨ ahlt man 1 0 ... 0 0 H1 := . f .. H1 0
7.7 Transformationen auf Hessenbergform
277
f1 , die gem¨aß Satz 4.20 wie folgt gebildet wird: mit einer (n−1, n−1)-Householdermatrix H f1 = En−1 − H
2 v1 v1T kv1 k2
mit v1 =
(1)
v1 , a1 Mit
(1)
∈ Rn−1 , a1
(1) (1) (1) a21 + sign(a21 )ka1 k (1) a31 , .. . (1) an1
(1)
a1
=
(1)
a21 (1) a31 .. . (1)
,
an1
(1)
ist die erste Spalte der Ausgangsmatrix A1 ohne a11 . A1 =
(1)
a11 (1) a21 .. .
(1)
a12
(1)
...
a1n
e1 A
(1) an1
ergibt sich dann eine Matrix A2 := H1 A1 H1 =
(1)
a11 ∗ 0 .. .
∗
... f1 A e 1H f1 H
∗
.
0 f1 A e 1H f1 wird das Verfahren erneut angewandt, und man erh¨alt nach n−2 TransforAuf H mationen die obere Hessenbergform. Es wird nach dem folgenden Algorithmus verfahren (s. auch [NIEM1987], 8.5):
Algorithmus 7.11. (Transformation auf Hessenbergform) (1)
Gegeben: A =: A1 = (aik ),
i, k = 1(1)n,
Gesucht: A auf obere Hessenbergform transformiert . F¨ ur jedes i = 1(1)n−2 sind dann folgende Schritte auszuf¨ uhren: 1. Berechnung der (n−i)-reihigen Householdermatrix Hi nach der Vorschrift fi = En−i − H
2 vi viT kvi k2
278
7. Eigenwerte und Eigenvektoren von Matrizen
mit vi =
(i) (i) (i) ai+1,i + sign(ai+1,i )kai k (i) ai+2,i , .. . (i) an,i
2. Man setze
Hi =
Ei 0
0 fi H
(i+1)
und berechne Ai+1 := Hi Ai Hi = (ajk
} }
(i)
ai
=
(i)
ai+1,i (i) ai+2,i .. . (i) an,i
.
i Zeilen n−i Zeilen
)
Dann besitzt An−1 obere Hessenbergform, und der Rechenaufwand betr¨agt nach 5 [WERN1993] n3 + O(n2 ) Punktoperationen. 3
Beispiel 7.12. Gegeben: Die (4,4)-Matrix A Gesucht:
Die auf Hessenbergform transformierte Matrix zu A
L¨osung
(mit Algorithmus 7.11): A = A1
H1
A2
H2
A3
1 4 = 1 2 1 0 = 0 0
2 −5 0 −2
3 −4 6 −3 −3 1 0 −3
0 0 0 −0.8729 −0.2182 −0.4364 −0.2182 0.9746 −0.0509 −0.4364 −0.0509 0.8983
1 −0.6547 2.6907 −4.5826 −5.1905 −5.7976 = 0 −0.8951 −4.4763 0 0.8285 −2.4145 1 0 0 0 0 1 0 0 = 0 0 −0.7339 0.6793 0 0 0.6793 0.7339 1 −0.6547 −5.1120 −4.5826 −5.1905 5.1240 = 0 1.2196 −2.4681 0 0 3.4649
−4.6186 1.2797 1.2952 −1.3332
−1.5617 −2.9990 −0.2448 −3.3415
Die Matrix A3 ist die auf obere Hessenbergform transformierte Matrix zu A.
7.7 Transformationen auf Hessenbergform
279
Beispiel 7.13. Gegeben: Die symmetrische (5,5)-Matrix A Gesucht:
Die auf Hessenbergform transformierte Matrix zu A
L¨osung
(mit Algorithmus 7.11): −7 4 3 −4 5 4 −5 0 −3 4 3 0 −2 1 3 A = A1 = −4 −3 1 −3 2 5 4 3 2 1 1 0 0 0 0 0 −0.4924 −0.3693 0.4924 −0.6155 0.9086 0.1218 −0.1523 H1 = 0 −0.3693 0 0.4924 0.1218 0.8376 0.2031 0 −0.6155 −0.1523 0.2031 0.7462 −7 −8.1240 0 0 0 −8.1240 1.8333 0.2037 −2.6924 −1.3428 0 0.2037 −2.3176 1.5668 1.0647 A2 = 0 −2.6924 1.5668 −3.9468 4.8193 0 −1.3428 1.0647 4.8193 −4.5690 1 0 0 0 0 0 1 0 0 0 0.8928 0.4453 H2 = 0 0 −0.0675 0 0 0.8928 0.2533 −0.3724 0 0 0.4453 −0.3724 0.8143 −7 −8.1240 0 0 0 −8.1240 1.8333 −3.0155 0 0 0 −3.0155 −0.4837 0.6182 3.2447 A3 = 0 0 0.6182 −3.6429 2.7519 0 0 3.2447 2.7519 −6.7067 1 0 0 0 0 0 1 0 0 0 0 0 H3 = 0 0 1 0 0 0 −0.1872 −0.9823 0 0 0 −0.9823 0.1872 −7 −8.1240 0 0 0 −8.1240 1.8333 −3.0155 0 0 0 −3.0155 −0.4837 −3.3031 0 A4 = 0 0 −3.3031 −5.5875 3.1224 0 0 0 3.1224 −4.7622
Die Matrix A4 ist die auf obere Hessenbergform transformierte Matrix zu A. Da A symmetrisch ist, ist A4 tridiagonal.
280
7. Eigenwerte und Eigenvektoren von Matrizen
7.7.2
LR - Verfahren
Das LR-Verfahren l¨ auft nach dem folgenden Algorithmus ab.
Algorithmus 7.14. (LR-Verfahren) Gegeben: (n, n)-Matrix A Gesucht: S¨amtliche Eigenwerte λi , i = 1(1)n, von A 1. Setze A1 := A 2. F¨ uhre f¨ ur jedes i = 1, 2, 3, ... durch: 2.1 Die Faktorisierung Ai = Li Ri (sofern durchf¨ uhrbar) mit einer normierten unteren Dreiecksmatrix Li und einer oberen Dreiecksmatrix Ri (vgl. Abschnitt 4.2, Algorithmus 4.11). 2.2 Die Matrizenmultiplikation Ai+1 = Ri Li . Die Matrizen Ai sind a ¨hnlich zu A. Dann gilt unter gewissen Voraussetzungen λ1 · · · .. lim Ai = lim Ri = . i→∞ i→∞ 0
∗ .. , lim L = E . . i→∞ i λn
Satz 7.15. Sei A eine (n, n)-Matrix. Die LR-Zerlegung sei durchf¨ uhrbar und f¨ ur ihre Eigenwerte gelte |λ1 | > |λ2 | > . . . > |λn | > 0 . Dann gilt f¨ ur die zu A ¨ ahnlichen Matrizen Ai λ1 . . . ∗ . .. lim Ai = lim Ri = . .. i→∞ i→∞ 0 λn
Beispiel 7.16. Gegeben: Die symmetrische (5,5)-Matrix A Gesucht: L¨osung
lim Ai
i→∞
(mit Algorithmus 7.14):
und
lim Li = E .
i→∞
7.7 Transformationen auf Hessenbergform
281
−7 4 3 −4 5 0 −3 4 4 −5 3 0 −2 1 3 = −4 −3 1 −3 2 5 4 3 2 1 1 0 0 0 0 1 0 0 0 −0.5714 −0.4286 −0.6316 1 0 0 = 0.5714 1.9474 −11 1 0 −0.7143 −2.5263 25.7143 −2.5714 1 −7 4 3 −4 5 0 −2.7143 1.7143 −5.2857 6.8571 0 0.3684 −4.0526 9.4737 = 0 0 0 0 −35 90 0 0 0 0 9.7143
A1 = A
L1
R1
A2 = R1 L1
=
L2
=
R2
=
−16.4286 −18.3158 175.5714 −16.8571 5 −7.1020 −31.4135 236.1837 −22.9184 6.8571 −9.2406 −32.0582 288.5564 −28.4135 9.4737 −84.2857 −295.5263 2699.2857 −266.4286 90 −6.9388 −24.5414 249.7959 −24.9796 9.7143 1 0 0 0 0 0.4323 1 0 0 0 0.5625 0.9260 1 0 0 5.1304 8.5785 10.2336 1 0 0.4224 0.7153 1.4739 0.4738 1 −16.4286 −18.3158 175.5714 −16.8571 5 0 −23.4957 160.2845 −15.6311 4.6957 0 0 41.3853 −4.4581 2.3133 0 0 0 −0.2297 0.3922 0 0 0 0 0.6485
−9.9652 1.7874 A3 = R2 L2 = 1.3830 −1.0130 0.2739 .. . 1 0 0 0 1 0 L69 = 0 0 1 0 0 0 0 0 0 −12.0902 0 0 R69 = 0 0 −12.0902 0 0 A70 = R69 L69 = 0 0
3.2232 −5.8114 1.7316 −1.6903 0.4638 0 0 0 0 0 0 1 0 0 1 −0.6089 −9.0643 0 0 0 −0.6090 −9.0643 0 0 0
10.4310 7.2428 −0.8279 −1.7730 0.9558
−14.4881 −13.4062 −3.3621 −0.0439 0.3073
5 4.6957 2.3133 0.3922 0.6485
24.2068 20.4006 7.6109 0 0 24.2068 20.4006 7.6109 0 0
−16.4308 −15.4969 −7.8187 −3.3166 0 −16.4308 −15.4969 −7.8187 −3.3166 0
5 4.7767 3.4037 2.2114 0.8604 5 4.7767 3.4037 2.2114 0.8604
Ab Matrix A70 ¨andern sich die Diagonalelemente nicht mehr.
282
7. Eigenwerte und Eigenvektoren von Matrizen
Die Voraussetzungen des Satzes 7.15 sind sehr stark. Nicht einmal f¨ ur regul¨are Matrizen ist eine LR-Zerlegung gesichert, da keine Zeilenvertauschungen zugelassen sind. Deshalb ist es zu empfehlen, die Matrix zun¨ achst auf Hessenbergform zu transformieren und dann den LR-Algorithmus anzuwenden. Die Matrizen Ai haben dann alle Hessenbergform, der Rechenaufwand f¨ ur jede LR-Zerlegung wird deutlich geringer (O(n2 ) Punktoperationen); er wird besonders gering, wenn A symmetrisch ist, da dann die Hessenbergmatrizen symmetrisch und tridiagonal sind (Beispiel 7.16 wurde ohne Hessenbergform gerechnet).
7.7.3
QR - Verfahren
Die QR-Zerlegung einer Matrix A mit Hilfe der Householder-Transformation wurde in Abschnitt 4.13 besprochen; sie ist Grundlage f¨ ur das QR-Verfahren. Die QR-Zerlegung ist dann eindeutig, wenn die (n, n)-Matrix A nicht singul¨ar ist und die Vorzeichen der Diagonalelemente der Superdiagonalmatrix R fest vorgeschrieben sind (vgl. [WERN1993]). Will man die QR-Zerlegung auch f¨ ur allgemeinere Eigenwertprobleme verwenden, etwa f¨ ur komplexe Matrizen A, so muss Q nicht nur orthogonal (Q −1 = Q T ), sondern unit¨ar T vorausgesetzt werden (Q −1 = Q ). Das QR-Verfahren verl¨ auft nun analog zum LR-Verfahren, lediglich wird die LR-Zerlegung durch eine QR-Zerlegung ersetzt. Auch hier ist es empfehlenswert, vor Anwendung des Verfahrens die (n, n)-Matrix A auf obere Hessenbergform zu transformieren, um den erheblichen Rechenaufwand herabsetzen zu k¨ onnen.
Algorithmus 7.17. (QR-Verfahren von Rutishauser ) Gegeben: (n, n)-Matrix A Gesucht: S¨amtliche Eigenwerte von A 1. Setze A1 := A 2. F¨ uhre f¨ ur jedes i = 1, 2, 3, ... folgende Schritte durch: T
2.1 Faktorisierung Ai = Qi Ri mit der unit¨ aren Matrix Qi (d. h. Qi−1 = Q i ) und der oberen Dreiecksmatrix Ri . 2.2 Die Matrizenmultiplikation Ai+1 = Ri Qi . Dann gilt unter gewissen Voraussetzungen (etwa f¨ ur |λ1 | > |λ2 | > ... > |λn | > 0). λ1 . . . ∗ . .. lim Ai = . .. . i→∞ 0 λn Konvergenzs¨atze zum QR-Verfahren siehe in [NIEM1987], 8.; [WERN1993], IV.; [WILK1996]. Zum QR-Verfahren nach Peters und Wilkinson s. Abschnitt 7.8.
7.8 Verfahren von Martin, Parlett, Peters, Reinsch und Wilkinson
7.8
283
Ermittlung der Eigenwerte und Eigenvektoren einer Matrix nach den Verfahren von Martin, Parlett, Peters, Reinsch und Wilkinson
Besitzt die Matrix A = (aik ), i, k = 1(1)n, keine spezielle Struktur, so kann man sie durch sukzessive auszuf¨ uhrende Transformationen in eine Form bringen, die eine leichte Bestimmung der Eigenwerte und Eigenvektoren zul¨asst. Unter Verwendung der Arbeiten [MART1968], [PARL1969], [PETE1970] ergibt sich ein Algorithmus, der im Wesentlichen die folgenden Schritte beinhaltet: 1. Schritt. Vorbehandlung der Matrix A zur Konditionsverbesserung nach einem von B.N. Parlett und C. Reinsch angegebenen Verfahren [PARL1969]. 2. Schritt. Transformation der Matrix A auf obere Hessenbergform B (s. [WERN1993], S.223) mit b11 b12 ... b1n ... b2n b21 b22 B = (bik ) = , (7.20) .. .. .. . . . bnn−1 bnn d. h. bik = 0 f¨ ur i > k + 1, nach einem Verfahren von R.S. Martin und J.H. Wilkinson [MART1968]. Gesucht ist zu der gegebenen Matrix eine nicht singul¨are Matrix C , so dass gilt B = C −1 AC .
(7.21)
¨ Diese Transformation gelingt durch Uberf¨ uhrung des Systems (7.1) Ax = λx in ein dazu ¨aquivalentes gestaffeltes System By = λy
mit
y = C −1 x
(7.22)
in einer Weise, die dem Gaußschen Algorithmus, angewandt auf (4.2), entspricht. An die Stelle des bekannten Vektors a in (4.2) tritt hier der unbekannte Vektor λx . Mit (7.21) folgt det(B − λE ) = det(A − λE ), d. h. B und A besitzen dieselben Eigenwerte λi . Wegen der einfachen Gestalt (7.20) von B lassen sich die λi damit leichter bestimmen. 3. Schritt. Die Bestimmung der Eigenwerte λi wird nun mit dem QR-Algorithmus nach G. Peters und J.H. Wilkinson [PETE1970] vorgenommen. Ausgehend von B1 := B wird eine Folge {Bs }, s = 1, 2, 3, ..., von oberen Hessenbergmatrizen konstruiert, die gegen eine obere Dreiecksmatrix R = (rik ), i, k = 1(1)n, konvergiert (Konvergenzbedingungen s. [WERN1993], S.255). Es gilt dann f¨ ur alle i die Beziehung: rii = λi .
284
7. Eigenwerte und Eigenvektoren von Matrizen
Mit B1 := B lautet die Konstruktionsvorschrift f¨ ur jedes s = 1, 2, 3, ...: (i)
Bs − ks E = Qs Rs ,
(ii)
Bs+1 = Rs Qs + ks E .
Die Vorschrift (i) beinhaltet die Zerlegung der Hessenbergmatrix Bs − ks E in das Produkt aus einer Orthogonalmatrix Qs (QsT = Qs−1 ) und einer oberen Dreiecksmatrix Rs . Danach wird Bs+1 nach der Vorschrift (ii) gebildet, Bs+1 anstelle von Bs gesetzt und zu (i) zur¨ uckgegangen. Durch geeignete Wahl des sogenannten Verschiebungsparameters ks wird eine erhebliche Konvergenzbeschleunigung erreicht. Mit ks = 0 f¨ ur alle s ergibt sich der QR-Algorithmus von Rutishauser in Abschnitt 7.7.3. 4. Schritt. Die Bestimmung der Eigenvektoren erfolgt ebenfalls nach [PETE1970]. Wegen (7.22) gilt Byi = λi yi mit xi = C yi . Zu jedem λi lassen sich daraus rekursiv bei willk¨ urlich gegebenem yin die Komponenten yik , k = n−1(−1)1, von yi berechnen. Mit xi = C yi ergeben sich die gesuchten Eigenvektoren xi , i = 1(1)n. 5. Schritt. Normierung der Eigenvektoren xi .
7.9
Entscheidungshilfen
Das Verfahren von v. Mises kann dann verwendet werden, wenn man im Falle diagonal¨ahnlicher Matrizen nur etwa den betragsgr¨ oßten oder den betragskleinsten Eigenwert und den zugeh¨origen Eigenvektor zu ermitteln hat. Will man jedoch s¨amtliche Eigenwerte und Eigenvektoren einer Matrix berechnen, so ist die Transformation der Matrix auf obere Hessenbergform mit anschließender Anwendung des QR-Verfahrens zu empfehlen.
7.10 Anwendungsbeispiel
7.10
285
Anwendungsbeispiel
Beispiel 7.18. Gegeben: Der 2-Massen-Schwinger : ...... ..................... ............... ...... .................................................. . .... ... .......... ...... .. ...... ......... 1 .............. .......... ...... .. ..... ........... ... ... .. ..
c
...... ...... ...... ...... ...... ......
m1
c2
. .... ... .. .......... ...... ... ..... .......... ...... ... . . . . . .......... ...... . ...... .......... .. .. .... ..
x1 ?
...... ...... ...... ...... ...... ......
m2
x2 ?
Abb. 7.1. Zweimassenschwinger Bei Auslenkung einer oder beider Massen treten gekoppelte Schwingungen auf. Wird z. B. nur m2 ausgelenkt, so wandert die Energie der Masse m2 auf m1 , von dort allm¨ ahlich wieder auf m2 etc.
Gesucht:
Die Eigenwerte der Bewegungsgleichungen.
L¨osung: Die Differentialgleichungen f¨ ur die unged¨ ampfte Bewegung lauten:
m1 0
m1 x ¨1 + (c1 + c2 )x1 − c2 x2 = 0 m2 x ¨2 − c2 x1 + c2 x2 = 0 0 x ¨1 c1 + c2 −c2 x1 0 + = m2 x ¨2 −c2 c2 x2 0 ,
bzw. abgek¨ urzt mit den beiden (2,2)-Matrizen M und C und den Vektoren x und x¨ M x¨
+
Cx
=
0.
(7.23)
286
7. Eigenwerte und Eigenvektoren von Matrizen
Als L¨osungsansatz wird x (t) = a sin(ωt) gew¨ahlt. Differentiation ergibt x˙ (t) = aω cos(ωt) und x¨ (t) = −aω 2 sin(ωt) = −ω 2 x (t)
=:
−λ x (t).
Die Vektoren x und x¨ werden in (18) eingesetzt und f¨ uhren auf −λ M x (t) + C x (t) = 0
bzw.
(C − λ M ) x (t) = 0 .
Nur f¨ ur det(C − λ M ) = 0 gibt es nichttriviale L¨ osungen. Es sind daher die entsprechenden Werte f¨ ur λ zu bestimmen. c1 + c2 − λ m1 −c2 =0 det(C − λ M ) = −c2 c2 − λ m2 ⇐⇒
λ2 −
c1 + c2 c2 + m1 m2
Mit
λ+
c1 + c2 c2 c22 · − =0 m1 m2 m1 m2
c22 c1 + c2 = m1 m2 m | {z1 } ω1∗2
und der Abk¨ urzung 2 KA =
c2 c2 m2 c1 + c2 |{z} ω2∗2
c2 , c1 + c2
wobei aufgrund des physikalischen Hintergrunds (positive Federkonstanten) 2 0 ≤ KA ≤1
gilt, ergeben sich die L¨ osungen q 1 ω12 ∗2 ∗2 ∗2 ∗2 2 2 ∗2 ∗2 = ω + ω ± (ω − ω ) + 4K ω ω . 1 2 1 2 2 A 1 ω22 2 Hieraus ergeben sich sofort die Beziehungen 0 ≤ ω22 ≤ min(ω1∗2 , ω2∗2 )
und ω12 + ω22 = ω1∗2 + ω2∗2 .
Die Schwingung wird beschrieben durch x (t) = a sin(ω1 t) + b sin(ω2 t)
7.10 Anwendungsbeispiel
287
mit den beiden Komponenten x1 (t) = a1 sin(ω1 t) + b1 sin(ω2 t) x2 (t) = a2 sin(ω1 t) + b2 sin(ω2 t) .
Die vier Konstanten ai , bi , die Amplituden der jeweiligen Elementarschwingungen, ergeben sich aus den Anfangsbedingungen, d. h. aus dem Anfangszustand des Massenschwingers. Die Gr¨oßen ω1∗2 und ω2∗2 , die die Frequenzen des Systems festlegen, haben folgende physikalische Bedeutung: ω1∗2 ω2∗2
ist die Kreis-Eigenfrequenz der Masse m1 bei festgehaltener Masse m2 (d. h. f¨ ur x2 = 0) und ist die Kreis-Eigenfrequenz der Masse m2 bei festgehaltener Masse m1 (d. h. f¨ ur x1 = 0).
Bei ω1 (< ω2 ) schwingen beide Massen im Gleichtakt. Bei ω2 schwingen die Massen im Gegentakt. Es gibt noch einen anderen L¨ osungsweg mit Hilfe der Cholesky-Zerlegung: C x = λM x
mit
λ = ω2 .
Da M nicht singul¨ ar und eigentlich positiv definit ist, l¨asst sich eine Cholesky-Zerlegung anwenden. M Cx
⇒Cx
= RT R
mit R
=
··· .. .
r11
r1n
!
rnn 2j
λ RT |{z} R x = λ RT z =: z ⇓ x = R −1 z
=
= 1j
C R−1 z
(R T )−1 C R −1 z | {z } A
z
1j
= λ RT z 2j = λ (RT )−1 RT z = λ z | {z } = λz
Dies ist eine spezielle Eigenwertaufgabe (EWA).
E
288
7. Eigenwerte und Eigenvektoren von Matrizen
Algorithmus 7.19. (n-Massen-Schwinger ) x1 Gegeben: M , C , x = ... . xn M , C sind symmetrische (n × n)–Matrizen, M ist positiv definit. Gesucht: x (t)
DGL-System: M x¨ + C x = 0 Mit x = a sin ω t ⇒ allgemeine EWA C x = λMx Cholesky-Zerlegung: M = R T R
λ = ω2
mit
··· .. .
r11
mit R =
!
r1n rnn
Spezielle EWA: Az = λz
A = (R T )−1 C R−1
mit z = R x ,
L¨osung: x (t) =
n X
ck sin ωk t
k=1
Bei Schwingerkette mit n Massen ist A eine symmetrische tridiagonale Matrix mit positiven Diagonalelementen und negativen Nebendiagonalelementen, die diagonaldominant ist. Daraus folgt, dass die Matrix positiv definit ist.
Beispiel 7.20. (Fortsetzung von Beispiel 7.18; L¨osung nach Algorithmus 7.19) Das Eigenwertproblem ist C x = λM x . Zerlegt man die Matrix M in M
m1 0
RT
= 0 m2
√ =
so wird mit (R T )−1 = R−1 = √ A x = λ x mit
m1 0
1 m1 m2
R
√0 m2 √
m2 0
√
√0 m1
m1 0
√0 m2
,
das Eigenwertproblem zu
7.10 Anwendungsbeispiel
289
A = (RT )−1 C R−1 √ √ 1 1 m 2 √0 m 2 √0 c1 + c2 −c2 =√ −c2 c2 √m1 m2 0 m1 0 m1 m1 m2 √ √ 1 m 2 √0 m 2 √0 c1 + c2 −c2 = −c c 0 m1 0 m1 2 2 m1 m2 √ √ √ 1 m 2 √0 (c1 + c2 ) √m2 −c2 √m1 = 0 m1 −c2 m2 c2 m1 m1 m2 √ 1 (c1 + √ c2 ) m2 −c2 m1 m2 = c2 m1 m1 m2 −c2 m1 m2 c1 + c2 c2 −√ m1 m1 m2 = c2 c2 −√ m1 m2 m2 Daraus folgt: det(A − λ E )
= = =
c1 + c2 c2 c22 −λ −λ − m1 m2 m1 m2
c2 c1 + c2 c2 c1 + c2 c22 −λ −λ + λ2 − m2 m1 m2 m1 m1 m2 c2 c1 + c2 c1 + c2 c2 c22 λ2 − + λ+ − = 0. m2 m1 m1 m2 m1 m2
Man erh¨alt also dieselben Eigenwerte wie auf die vorige Weise!
Erg¨ anzende Literatur zu Kapitel 7 [BARW2007], Kap.4; [DAHM2008], Kap.7; [GOLU1996]; [HAMM1994], 3.; [KELL1990]; [OPFE2002], Kap.9; [PLAT2000], Kap.12,13; [PREU2001], Kap.5; [QUAR2002], Kap.5; [RALS2001], 10.3, 10.5; [SCHW1997], 6.; [STOE1990], 6.1; [STOE1999] Bd.2, Kap.6; [STOE2002A], Kap.6; [TORN1990] Bd.2, TEIL IV.
Kapitel 8
Lineare und nichtlineare Approximation
8.1
Aufgabenstellung und Motivation
Es sei f : [a, b] → R eine auf [a, b] stetige Funktion, die durch eine sogenannte Approximationsfunktion Φ ∈ C[a, b] angen¨ ahert werden soll. Φ ist von x ∈ [a, b] und von n + 1 freien Parametern c0 , c1 , ..., cn abh¨ angig: Φ(x) := Φ(x, c0 , c1 , . . . , cn ) = Φ(x, c) , c = (c0 , c1 , . . . , cn )T . Die Parameter c0 , c1 , ..., cn sind so zu bestimmen, dass der Abstand zwischen f und Φ in noch vorzuschreibender Weise minimiert wird. Auf die Stetigkeit von f und Φ kann meist verzichtet werden, etwa wenn Eindeutigkeitsaussagen keine Rolle spielen. Es werden zwei Aufgabenstellungen unterschieden: 1. Eine gegebene Funktion f ist durch eine Funktion Φ zu ersetzen, deren formelm¨aßiger Aufbau f¨ ur den geforderten Zweck besser geeignet ist, d. h. die sich z. B. einfacher differenzieren oder integrieren l¨ asst oder deren Funktionswerte leichter berechenbar sind. Man spricht hier von kontinuierlicher Approximation. 2. Eine empirisch gegebene Funktion f , von der endlich viele Wertepaare xi , f (xi ) an den (paarweise verschiedenen) diskreten St¨ utzstellen xi bekannt sind, ist durch eine formelm¨ aßig gegebene Funktion Φ zu ersetzen. Hier spricht man von diskreter Approximation. Je nach Art des Ansatzes f¨ ur die Approximationsfunktion Φ wird außerdem zwischen linearer und nichtlinearer Approximation unterschieden. Die Approximation heißt linear, wenn der Ansatz f¨ ur Φ die Form Φ(x, c) = c0 ϕ0 (x) + c1 ϕ1 (x) + . . . + cn ϕn (x) =
n X
ck ϕk (x)
k=0
mit gegebenen, linear unabh¨ angigen Funktionen ϕk ∈ C[a, b] besitzt, andernfalls heißt sie nichtlinear. Die Funktion Φ1 (x, c0 , c1 , c2 , c3 ) = c0 + c1 e2x + c2 ln x + c3 (x2 + 1) G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_8, © Springer-Verlag Berlin Heidelberg 2011
292
8. Lineare und nichtlineare Approximation
beschreibt einen linearen Approximationsansatz, dagegen l¨asst sich z. B. die Funktion 3
Φ2 (x, c0 , c1 , c2 , c3 , c4 ) = c0 cosh(c1 x) + c2 e−c3 (x−c4 )
nicht in der Form Σck ϕk (x) darstellen; es handelt sich bei Φ2 um einen nichtlinearen Approximationsansatz (oder ein nichtlineares Modell). Die lineare Approximation ist wesentlich einfacher handzuhaben und wird deshalb bevorzugt eingesetzt. Behandelt werden im Folgenden die kontinuierliche Approximation und die diskrete Approximation im quadratischen Mittel (diskrete) L2 -Approximation oder (diskrete) Gaußsche Fehlerquadratmethode oder (diskreter) Ausgleich genannt und die gleichm¨aßige Approximation durch Tschebyscheff-Polynome. Beim diskreten Ausgleich wird zus¨ atzlich der Einsatz der Householder-Transformation behandelt, um eine direkte L¨ osung der oft schlecht konditionierten Normalgleichungen zu umgehen und damit eine gr¨ oßere Genauigkeit der ermittelten L¨osungen erwarten zu k¨onnen. (x , y ) x i i δi .........x........................................... x y = Φ(x) x ............................. ............. x ..........x................x............. x x ................x...............x................x...........................x.... x . . ..... x .......... ... x....................x. x............................................... x x ........ x ....... ........... . . . . . . . . . . . .......... x x..............x......... .... y6
... ... ......... . .. .. .... . ... ..
... . . .... .. .. ... ..
x0
xN
xi
x
¨ Abb. 8.1. Uber N + 1 Wertepaare (x0 , y0 ), . . . , (xN , yN ) mit yk = f (xk ) gegebene Funktion f mit Approximationsfunktion Φ Beispiel 8.1. (Anwendungsbeispiel aus der Kunststofftechnik ) Gegeben: Ein T-Tr¨ ager aus Plexiglas wird einer Vierpunktbiegung ausgesetzt. Bei der Biegung werden die Dehnungen auf der Gurtplatte in der Mitte (εM ) und am Rand (εR ) mittels Dehnmessstreifen (DMS) gemessen. 1 P Gurt LP ............ ............................... ........................................................... .......... . . . . . . ....... ....... ... . . . ) ....... .......... .......... . . . . . . . . . . . . . . . . . . ? . . . .... . . . . . . .................. ......... ε.......M ........... ε .................. ......... ......... ......... ............ ...... .................R ........ ........ ........ .............. ...... ................... .......... .......... . ....... ........ .......... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ......... ...? ........... ...................... .......... .......... ?......................................................................................................................................@ .......... .... ........... .......... .. H ...................................................................................................................@ ... ... . DMS .......... . . . . . . . . . . ... . ..... . . . . . . . . . . . . 6.... ... B 6 .......... 6 ......... .......... h ........ ....... .......... H ......... . . . . . . ... . . . ... H . ... . .................. . Rippe B ?................ - 6
. ........ ........ ........ .................................. ..................... . . . . . . . . ....... ....... ....... .......................... krit,G ........ ........ ........ . . . . . . . .... ........
ε6
ε
εM εR
0.5%
b
A
Abb. 8.2. Plexiglas–T-Tr¨ ager, kritische Dehnung
-
8.1 Aufgabenstellung und Motivation
293
Es interessiert nun die kritische Dehnung εkrit,G = εM − εR im Gurt; sie darf eine vorgegebene Toleranzgrenze nicht u ¨berschreiten. Die kritische Dehnung ist eine Funktion der geometrischen Tr¨agergr¨oßen Gurth¨ohe (H), Gurtbreite (B), Tr¨ agerl¨ ange (L), Rippenh¨ ohe (h) und Rippenbreite (b). Diese kritische Dehnung entsteht durch gleichzeitige Querverw¨olbung neben der L¨angsdurchbiegung durch die Einwirkung der Kr¨ afte P , A, B.
Gesucht:
P ?
P ?
..................... ........... ................................................................... .... ... ..... ... .......... ......... ..... . . . . . .. ........................ . . . . . . . . . ... .............................................. .. ... ... . .. ... . . ... .. ... . ... .. . . ... . .. . . . ......... . .... . ......... ......... . . .. . . . ........... . . . . ....... . ................ . . . . . . . . . . . . . . ............................................... ... .. .
6
................................................................... ............. .......... ............ . ... .................................................................................. ... ........... .. ........... .. ... . . .... .... ... ... ... ... ... ... ... ... ... .. .....................
6
A
? Querverw¨olbung 6
B Abb. 8.3. L¨ angsdurchbiegung mit Querverw¨olbung
L¨osung:
In Versuchen wird z. B. εkrit,G jeweils bei Variation von nur einer geometrischen Gr¨ oße und Festhalten aller u ¨ brigen gemessen. Die Ergebnisse werden in Diagrammen festgehalten. So erh¨ alt man das Diagramm 1 Abb. 8.4(a) mit Kurven H = b = const., wenn nur die Gurtbreite B variiert und h = 50 mm, L = 600 mm festhalten werden. Das Diagramm 2 Abb. 8.4(b) ergibt sich bei Variation der Gurth¨ohe H = Rippenbreite b mit Kurven B = const. bei festem h = 50 mm, L = 600 mm. 1
(a) h = 50 mm L = 600 mm
% 6 0.6
... .. ... .. ... .. ... .. ... ... .. ... .. ... .. ... ... ... .. ... ... .. ... ... ... .. ... ... .. ... ... .. ... ... ... ... .. ... .. ... ... ... . ... .. ... . ... . ... . ... ... .... .. .... ..... .... ..... .... ... ..... . . .. ..... .. ..... ...... ..... ..... . ...... ..... ....... ...... ..... ....... ....... ..... ....... ...... ....... ........ ....... ....... .. ......... ....... ..... ....... ........... ......... ....... ............. ......... .................... ....... .. ................................... ..... ....... ....... ....... ....... .......
εkrit,G 0.5 6 mm 0.4 0.3 0.2 0.1
H = b = 8 mm
4 mm
100
200
Gurtbreite B
300 mm
(b) % 6 h = 50 mm 0.6 εkrit,G L = 600 mm .. B = 75 mm ... 0.5 ... .. 0.4 0.3 0.2 0.1
. ... ... .. . ... ... ... .. .. . . .. ... ... ... .... . .. . . . . ... ... ... ..... ... . ... . ... ..... ...... . . . ... .... ... ... ..... ...... . . . . . . . .... ..... .... .... ... ...... ....... ....... .... .... ..... ... .... ......... ......... ........ .. .. ... ... ..... ..... ..... .... ... . ......... ......... .. ... ... ... .. ... ..... .... ..... .... ......... .. .. ... ... ..... .... ................. ....... . ... ....... ...........
2
4
6
100 mm 125 mm 150 mm
8 mm
Gurth¨ohe H = Rippenbreite b
Abb. 8.4 (a), (b). Diagramme, εkrit,G = kritische Gurtdehnung 1 Die
Messungen wurden am Lehrstuhl f¨ ur Kunststoffverarbeitung der RWTH Aachen durchgef¨ uhrt.
294
8. Lineare und nichtlineare Approximation
Gesucht sind nun funktionale Zusammenh¨ ange Φ f¨ ur die verschiedenen Messkurven. Die Gestalt der Kurven im jeweiligen Diagramm l¨ asst auf die Form des Ansatzes f¨ ur die Modellfunktion Φ schließen (vgl. dazu Abschnitt 8.2.1 und Beispiel 8.14 in Abschnitt 8.2.3.1).
8.2 8.2.1
Lineare Approximation Approximationsaufgabe und beste Approximation
Jeder Funktion f ∈ C[a, b] wird eine reelle nichtnegative Zahl kf k, genannt Norm von f , zugeordnet, die den folgenden Normaxiomen gen¨ ugt: 1. kf k ≥ 0 . 2. kf k = 0 genau dann, wenn f = 0 u ¨ berall in [a, b] . (8.1) kαf k = |α| kf k f¨ ur beliebige Zahlen α ∈ R . 3. 4. kf + gk ≤ kf k + kgk f¨ ur f, g ∈ C[a, b] . F¨ ur je zwei Funktionen f1 , f2 ∈ C[a, b] kann mit Hilfe einer Norm ein Abstand % (f1 , f2 ) := kf1 − f2 k erkl¨art werden, f¨ ur den die folgenden Abstandsaxiome gelten: 1. % (f1 , f2 ) ≥ 0 . 2. % (f1 , f2 ) = 0 genau dann, wenn f1 = f2 u ¨berall in [a, b] . 3. % (f1 , f2 ) = % (f2 , f1 ) . 4. % (f1 , f3 ) ≤ % (f1 , f2 ) + % (f2 , f3 ) f¨ ur f1 , f2 , f3 ∈ C[a, b] . Nun wird ein System von n + 1 linear unabh¨angigen Funktionen ϕ0 , ϕ1 , . . . , ϕn ∈ C[a, b] vorgegeben. Die Funktionen ϕ0 , ϕ1 , . . . , ϕn heißen linear abh¨ angig, wenn es Zahlen c0 , c1 , ..., cn gibt, die nicht alle Null sind, so dass f¨ ur alle x ∈ [a, b] gilt c0 ϕ0 (x) + c1 ϕ1 (x) + . . . + cn ϕn (x) = 0 ; andernfalls heißen ϕ0 , ϕ1 , . . . , ϕn linear unabh¨ angig. Mit den Funktionen ϕk , k = 0(1)n, werden als Approximationsfunktionen die Linearkombinationen n Φ(x) := Φ(x, c , c , . . . , c ) = Φ(x, c) = P ck ϕk (x) , 0 1 n (8.2) k=0 x ∈ [a, b] , ck ∈ R , ck = const. , c = (c0 , c1 , . . . , cn )T , gebildet. Φ heißt Approximationsfunktion oder Modellfunktion, ein Ansatz der Form (8.2) heißt lineare Approximation.
8.2 Lineare Approximation
295
C sei die Menge aller zul¨ assigen Φ nach (8.2). Jede Linearkombination Φ ist durch das (n + 1)-Tupel (c0 , c1 , ..., cn ) ihrer Koeffizienten bestimmt. Der Abstand einer Funktion f ∈ C[a, b] von Φ h¨ angt bei festgehaltenem f nur von c ab; es ist % (f, Φ) = kf − Φk =: D(c0 , c1 , . . . , cn ) .
(8.3)
H¨aufig verwendete Funktionensysteme ϕ0 , ϕ1 , . . . , ϕn sind: 1. ϕ0 = 1, ϕ1 = x, ϕ2 = x2 , ..., ϕn = xn ; die Approximationsfunktionen Φ sind dann algebraische Polynome vom H¨ ochstgrad n. 2. ϕ0 = 1, ϕ1 = cos x, ϕ2 = sin x, ϕ3 = cos 2x, ϕ4 = sin 2x, ... ; die Approximationsfunktionen Φ sind dann 2π-periodische trigonometrische Polynome. 3. ϕ0 = 1, ϕ1 = eα1 x , ϕ2 = eα2 x , . . . , ϕn = eαn x mit paarweise verschiedenen reellen Zahlen αi . 1 1 1 4. ϕ0 = 1, ϕ1 = , ϕ2 = , . . . , ϕn = , αi ∈ R, pi ∈ N; (x–α1 )p1 (x–α2 )p2 (x–αn )pn alle Paare (αi , pi ) m¨ ussen untereinander verschieden sein. Die Approximationsfunktionen Φ sind dann spezielle rationale Funktionen (s. auch Bemerkung 8.3). 5. Orthogonale Funktionensysteme, s. dazu Sonderf¨alle in Abschnitt 8.2.2 und Abschnitt 8.2.3.2. Ein Kriterium f¨ ur die lineare Unabh¨ angigkeit eines Funktionensystems ϕ0 , ϕ1 , . . . , ϕn ∈ C n [a, b] ist das Nichtverschwinden der Wronskischen Determinante f¨ ur x ∈ [a, b] ϕ0 ϕ1 · · · ϕn ϕ00 ϕ01 · · · ϕ0n W (ϕ0 , ϕ1 , . . . , ϕn ) = .. .. .. 6≡ 0 . . . . (n) (n) (n) ϕ ϕ1 · · · ϕn 0 Approximationsaufgabe Zu einer auf einem Intervall [a, b] definierten Funktion f und zu einem auf [a, b] vorgegebenen Funktionensystem ϕ0 , ϕ1 , ..., ϕn ist unter allen Funktionen Φ ∈ C der Gestalt (8.2) eine Funktion (0)
(0)
Φ(0) (x) := Φ(0) (x, c0 , c1 , . . . , c(0) n )=
n X
(0)
ck ϕk (x)
(8.4)
k=0
zu bestimmen mit der Eigenschaft (0) (0) (0) D(c(0) k = 0 , c1 , . . . , cn ) = kf − Φ
=
min kf − Φk Φ∈C
min D(c0 , c1 , . . . , cn ) .
(8.5)
ci ∈R
Φ(0) heißt beste Approximation von f bez¨ uglich des vorgegebenen Systems ϕ0 , ϕ1 , ..., ϕn und im Sinne der gew¨ ahlten Norm k.k.
296
8. Lineare und nichtlineare Approximation
Satz 8.2. (Existenzsatz ) Zu jeder Funktion f ∈ C[a, b] existiert f¨ ur jedes System linear unabh¨angiger Funktionen ϕ0 , ϕ1 , ..., ϕn ∈ C[a, b] und jede Norm k.k mindestens eine beste Approximation Φ(0) der Gestalt (8.4) mit der Eigenschaft (8.5).
Das Funktionensystem ϕ0 , ϕ1 , ..., ϕn wird im Hinblick auf die jeweilige Aufgabenstellung gew¨ahlt, z. B. sind zur Bestimmung einer besten Approximation f¨ ur eine periodische Funktion trigonometrische Polynome als Modellfunktionen zweckm¨aßig (s. Abschnitt 8.2.5). Bemerkung 8.3. (Rationale Approximation) Bei manchen Aufgabenstellungen, z. B. dann, wenn bekannt ist, dass f f¨ ur bestimmte Werte Pole besitzt, empfiehlt sich als Approximationsfunktion eine Funktion der Gestalt m P ak ϕk (x) Ψ(x) = k=0 , ϕk , ϕ ek ∈ C[a, b] . (8.6) j P bk ϕ ek (x) k=0
k
F¨ ur ϕk (x) = ϕ ek (x) = x liefert der Ansatz eine rationale Funktion, deren Z¨ahler den H¨ochstgrad m und deren Nenner den H¨ ochstgrad j besitzt. Wird bj = 1 gesetzt, was bei passender Wahl von j o. B. d. A. m¨ oglich ist, so ist unter allen Funktionen Ψ aus der = zul¨assigen Menge C der Gestalt (8.6) eine beste Approximation Ψ(0) mit der Eigenschaft (0)
(0)
(0)
(0)
(0)
(0)
D(a0 , a1 , . . . , am , b0 , b1 , . . . , bj−1 ) = kf − Ψ(0) k = min= kf − Ψk = min D(a0 , a1 , . . . , am , b0 , b1 , . . . , bj−1 ) ai ,bj ∈R
Ψ∈C
zu bestimmen (siehe auch Abschnitt 8.3).
8.2.2
Kontinuierliche lineare Approximation im quadratischen Mittel
Man legt f¨ ur eine auf [a, b] definierte Funktion g die folgende L2 -Norm zugrunde b 12 Z kgk2 = w(x)g 2 (x) dx ;
(8.7)
a
dabei ist w(x) > 0 eine gegebene, auf [a, b] integrierbare Gewichtsfunktion. Die Norm (8.7) l¨asst sich mit Hilfe des Skalarproduktes Zb (g, h) :=
w(x) g(x) h(x) dx a
8.2 Lineare Approximation
297
erkl¨aren durch kgk2 := (g, g)1/2 . Eigenschaften des Skalarproduktes (s. [BERE1971] Bd. 1, S.317 ff.) sind: 1. (g1 , g2 ) = (g2 , g1 ) ; 2. (α1 g1 + α2 g2 , g3 ) = α1 (g1 , g3 ) + α2 (g2 , g3 ) f¨ ur beliebige α1 , α2 ∈ R ; 3. (g, g) ≥ 0 und (g, g) = 0 genau dann, wenn g(x) = 0 f¨ ur alle x ∈ [a, b] . Setzt man g = f − Φ und betrachtet das Quadrat des Abstandes (8.3), das die gleichen Extremaleigenschaften wie der Abstand selbst hat, so lautet die (8.5) entsprechende Bedingung kf −
Φ(0) k22
= min kf − Φ∈C
Zb
Φk22
=
w(x) f (x) − Φ(x)
min
2
dx
(8.8)
Φ∈C a
min D2 (c0 , c1 , . . . , cn ) ,
=
ci ∈ R
d. h. das Integral u ¨ber die gewichteten Fehlerquadrate ist zum Minimum zu machen. Die 2 (0) (0) daf¨ ur notwendigen Bedingungen ∂D ur j = 0(1)n liefern mit (8.2) ∂cj (c0 , . . . , cn ) = 0 f¨ und ∂Φ/∂cj = ϕj (x) insgesamt n + 1 lineare Gleichungen zur Bestimmung der n + 1 (0) Koeffizienten ck einer besten Approximation (8.4): n X
(0) ck
k=0
Zb
Zb w(x)ϕj (x)ϕk (x) dx =
a
w(x)f (x)ϕj (x) dx ,
j = 0(1)n ,
(8.9)
a
oder mit den Abk¨ urzungen (Skalarprodukten) Zb (ϕk , ϕj ) :=
Zb w(x)ϕk (x)ϕj (x) dx ;
(f, ϕj ) :=
a
w(x)f (x)ϕj (x) dx , a
in Matrizenform
Gc (0) = a G :=
c (0)
mit
(ϕ0 , ϕ0 ) (ϕ1 , ϕ0 ) .. .
(ϕ0 , ϕ1 ) (ϕ1 , ϕ1 ) .. .
··· ···
(ϕ0 , ϕn ) (ϕ1 , ϕn ) .. .
(ϕn , ϕ0 )
(ϕn , ϕ1 ) · · ·
(ϕn , ϕn )
(0)
c0 (0) c1 = .. . (0) cn
(f, ϕ0 ) (f, ϕ1 ) , a = .. . (f, ϕn )
.
, (8.10)
298
8. Lineare und nichtlineare Approximation
Die Gleichungen (8.9) bzw. (8.10) heißen Gaußsche Normalgleichungen, die resultierende n P (0) Funktion Φ(0) (x) = ck ϕk (x) aufgrund der gew¨ahlten Norm (8.7) beste Approximak=0
tion im quadratischen Mittel und die gesamte Vorgehensweise auch Gaußsche Fehlerquadratmethode. Wegen (ϕj , ϕk ) = (ϕk , ϕj ) gilt G = G T . Die Determinante det G des Gleichungssystems (8.10) heißt Gramsche Determinante des Systems ϕ0 , ϕ1 , ..., ϕn . Es gilt der
Hilfssatz 8.4. Ein Funktionensystem ϕ0 , ϕ1 , . . . , ϕn ∈ C[a, b] ist genau dann linear abh¨angig, wenn seine Gramsche Determinante verschwindet (s. [BERE1971] Bd.1, S.319; [STUM1982], S.133). Nach Voraussetzung ist das System ϕ0 , ϕ1 , . . . , ϕn linear unabh¨angig, die Gramsche De(0) (0) (0) terminante also verschieden von Null, so dass die c0 , c1 , . . . , cn durch (8.9) bzw. (8.10) eindeutig bestimmt sind. Es folgt daher mit Satz 8.2 und Hilfssatz 8.4 der
Satz 8.5. Zu jeder Funktion f ∈ C[a, b] existiert f¨ ur jedes System linear unabh¨angiger Funktionen ϕ0 , ϕ1 , . . . , ϕn ∈ C[a, b] und die Norm (8.7) genau eine beste Approximation (0) Φ(0) der Gestalt (8.4) mit der Eigenschaft (8.8), deren Koeffizienten ck sich aus (8.9) bzw. (8.10) ergeben.
Sonderf¨ alle 1. Algebraische Polynome Die Approximationsfunktionen Φ sind mit ϕk (x) = xk algebraische Polynome vom H¨ochstgrad n Φ(x, c) =
n X
ck xk .
(8.11)
k=0 (0)
Die Normalgleichungen (8.9) zur Bestimmung der ck lauten hier n X k=0
(0) ck
Zb w(x)x a
j+k
Zb dx =
w(x)f (x)xj dx ,
j = 0(1)n ,
(8.12)
a
und mit w(x) = 1 f¨ ur alle x ∈ [a, b] (vgl. Bemerkung 8.6) ergibt sich f¨ ur (8.10) Gc (0) = a
mit
(8.13)
8.2 Lineare Approximation
Rb
G
299
Rb
dx x dx a a Rb Rb 2 x dx x dx a a Rb Rb 3 = x2 dx x dx a a .. .. . . b Rb R xn dx xn+1 dx a
a
Rb a Rb a Rb a
Rb
c (0)
=
(0) c0 (0) c1 (0) c2
.. .
(0)
,
cn
···
x dx x3 dx
···
x4 dx
···
.. .
xn+2 dx · · ·
a
Rb
n
x dx
n+1 x dx a Rb n+2 x dx , a .. . b R 2n x dx a Rb
a
Rb f (x) dx a Rb f (x)x dx a Rb a = f (x)x2 dx a .. . Rb f (x)xn dx
2
.
a
F¨ ur [a, b] = [0, 1] stimmt G mit der sehr schlecht konditionierten Hilbert-Matrix Hn = (hij ), hij = 1/(i + j + 1) f¨ ur i, j = 0(1)n, u ¨berein, was eine brauchbare direkte L¨osungsbestimmung normalerweise zunichte macht. Ein Ausweg kann u ¨ber den Einsatz der Householder-Transformation geboten werden (siehe Abschnitt 8.2.3.4 f¨ ur den analogen diskreten Fall), ein anderer u ber besser geeignete Funktionensysteme, beispielsweise ¨ das sich nach dem weiter unten beschriebenen Schmidtschen Orthogonalisierungsverfahren ergebende System. 2. Orthogonale Funktionensysteme Die Funktionen ϕk bilden ein orthogonales System, wenn gilt Zb w(x) ϕj (x) ϕk (x) dx = 0 f¨ ur j 6= k .
(ϕj , ϕk ) = a
Dann erh¨alt (8.9) bzw. (8.10) die besonders einfache Gestalt (0)
(ϕj , ϕj )cj
= (f, ϕj ) ,
j = 0(1)n .
(8.14)
Bei einer Erh¨ohung von n auf n + 1 im Ansatz (8.2) bleiben also hier im Gegensatz (0) (0) zu nicht orthogonalen Funktionensystemen die cj f¨ ur j = 0(1)n unver¨andert und cn+1 errechnet sich aus (8.14) f¨ ur j = n + 1. Zum diskreten Ausgleich durch orthogonale Polynome siehe Abschnitt 8.2.3.2.
300
8. Lineare und nichtlineare Approximation
Beispiele orthogonaler Funktionensysteme a) ϕk (x) = cos kx , x ∈ [0, 2π] , k = 0(1)n , w(x) = 1 . b) ϕk (x) = sin kx , x ∈ [0, 2π] , k = 1(1)n , w(x) = 1 . c) ϕ0 (x) = 1 , ϕ1 (x) = cos ωx , ϕ2 (x) = sin ωx , ϕ3 (x) = cos 2ωx , ϕ4 (x) = sin 2ωx , . . . f¨ ur x ∈ [0, L] , w(x) = 1 und ω = 2π L (L-periodische trigonometrische Polynome, vgl. Abschnitt 8.2.5). d) Legendresche Polynome Pk f¨ ur x ∈ [−1, +1] mit 1 Pk+1 (x) = (2k + 1)xPk (x) − kPk−1 (x) , k+1 k = 1, 2, 3, . . . , P0 (x) = 1, P1 (x) = x, w(x) = 1. e) Tschebyscheffsche Polynome Tk f¨ ur x ∈ [−1, +1] mit Tk+1 (x) = 2x Tk (x) − Tk−1 (x), k = √1, 2, 3, . . ., T0 (x) = 1, T1 (x) = x, w(x) = 1/ 1 − x2 (vgl. Abschnitte 8.2.4.2 und 8.2.6.1). Orthogonalisierungsverfahren von E. Schmidt: Es seien ϕ0 , ϕ1 , ..., ϕn ∈ C[a, b] n + 1 vorgegebene, linear unabh¨angige Funktionen. Dann l¨asst sich ein diesem System gleichwertiges orthogonales Funktionensystem ϕ e0 , ϕ e1 , . . . , ϕ en ∈ C[a, b] konstruieren. Man bildet dazu, ausgehend von ϕ e0 = ϕ0 , die Linearkombinationen ϕ ek = ak0 ϕ e0 + ak1 ϕ e1 + . . . + ak,k−1 ϕ ek−1 + ϕk ,
k = 1(1)n ,
und bestimmt die konstanten Koeffizienten akj der Reihe nach so, dass die Orthogonalit¨atsrelationen (ϕ ej , ϕ ek ) = 0 f¨ ur j < k erf¨ ullt sind; man erh¨alt auf diese Weise akj = −(ϕk , ϕ ej )/(ϕ ej , ϕ ej ) ,
k = 1(1)n ,
j = 0(1)k−1 .
F¨ ur ϕk (x) = xk , x ∈ [−1, +1], und w(x) = 1 liefert das Verfahren die Legendreschen Polynome. Bemerkung 8.6. Als Gewichtsfunktion wird in vielen F¨ allen w(x) = 1 f¨ ur alle x ∈ [a, b] gew¨ahlt; dadurch wird kein Teilbereich des Intervalls [a, b] gegen¨ uber einem anderen besonders betont oder vernachl¨assigt. Bei manchen Problemen sind jedoch andere Gewichtsfunktionen sinnvoll. 2 Erh¨alt man z. B. mit w(x) = 1 eine beste Approximation Φ(0) , f¨ ur die f (x) − Φ(0) (x) etwa in der Umgebung von x = a und x = b besonders groß wird, so w¨ahlt man statt w(x) = 1 ein w(x), e das f¨ ur x → a und x → b besonders groß wird. Dann ergibt e (0) , f¨ sich eine zu dieser Gewichtsfunktion w(x) e geh¨ orige beste Approximation Φ ur die 2 (0) e (x) f¨ f (x) − Φ ur x → a und x → b klein wird. F¨ ur a = −1 und b = +1 kann z. B. √ w(x) e = 1/ 1 − x2 eine solche Gewichtsfunktion sein.
8.2 Lineare Approximation
301
Algorithmus 8.7. (Kontinuierliche Gaußsche Fehlerquadratmethode) Gegeben sei eine auf dem Intervall [a, b] definierte Funktion f ; gesucht ist f¨ ur f die beste Approximation Φ(0) nach der kontinuierlichen Gaußschen Fehlerquadratmethode. 1. Schritt. Wahl eines geeigneten Funktionensystems ϕ0 , ϕ1 , ..., ϕn zur Konstruktion der Approximationsfunktion Φ. 2. Schritt. Wahl einer geeigneten Gewichtsfunktion w(x) > 0; vgl. dazu Bemerkung 8.6. 3. Schritt. Aufstellung und L¨ osung des linearen Gleichungssystems (8.9) bzw. (8.10) (0) f¨ ur die Koeffizienten ck der besten Approximation (8.4). Sind die Approximationsfunktionen ϕk = xk speziell algebraische Polynome, so ist das System (8.12) bzw. f¨ ur w(x) ≡ 1 das System (8.13) zu l¨osen; bilden die ϕk ein orthogonales System, so ist u ¨ber (8.14) die L¨osung gegeben.
Beispiel 8.8. Gegeben:
Die Funktion f (x) = 1/(1 + x2 ) f¨ ur x ∈ [−1, +1].
Gesucht:
Die beste Approximation Φ(0) f¨ ur f unter allen quadratischen Polynomen Φ(x) = c0 + c1 x + c2 x2 im Sinne von (8.8).
L¨osung:
Die Vorgehensweise erfolgt nach Algorithmus 8.7.
1. Schritt. Das Funktionensystem ϕ0 (x) = 1, ϕ1 (x) = x, ϕ2 (x) = x2 ist hier naheliegend, da als Approximationsfunktionen alle quadratischen Polynome Φ mit Φ(x) = c0 + c1 x + c2 x2 f¨ ur x ∈ [−1, +1] dienen sollen. 2. Schritt. Es wird w(x) ≡ 1 gesetzt, da nichts dar¨ uber ausgesagt ist, dass bestimmte Intervallanteile anders zu gewichten sind als andere. (0)
3. Schritt. Das Gleichungssystem (8.13) f¨ ur die ck R +1 R +1 R +1 2 dx xdx x dx −1 −1 −1 R R +1 2 R +1 3 +1 x dx −1 x dx −1 x dx −1 R R +1 3 R +1 +1 2 x dx −1 x dx −1 x4 dx −1 bzw.
2
0
0
2 3
2 3
0
(0) c0 (0) 0 c 1 2 (0) c2 5 2 3
lautet dann R +1 (0) c0 −1 (0) R +1 c1 = −1 R +1 (0) c2 −1
=
2 arctan 1 0
1 1+x2
dx
x 1+x2
dx dx
x2 1+x2
;
2 − 2 arctan 1
es besitzt die eindeutige, auf 4 Mantissenstellen angegebene L¨osung
302
8. Lineare und nichtlineare Approximation
(0)
c0 = 0.9624;
(0)
(0)
c2 = −0.5310.
c1 = 0;
Unter allen quadratischen Polynomen Φ ist somit 2 X (0) Φ(0) (x) = ck xk = 0.9624 − 0.5310x2 f¨ ur
x ∈ [−1, +1]
k=0
die beste kontinuierliche Approximation f¨ ur f im quadratischen Mittel. F¨ ur x = 0.8 ∈ [−1, +1] erh¨ alt man auf vier Dezimalen genau den Wert Φ(0) (0.8) = 0.6226. Mit f (0.8) = 1/1.64 und 0.6097 < f (0.8) < 0.6098 folgt f¨ ur den absoluten Fehler die Absch¨atzung |f (0.8) − Φ(0.8)| ≤ |0.6097 − 0.6226| = 1.29 · 10−2 . (0)
Bemerkung. Da f eine gerade Funktion ist, war c1 Anmerkung unter Satz 8.23.
= 0 zu erwarten; siehe auch
8.2.3
Diskrete lineare Approximation im quadratischen Mittel
8.2.3.1
Normalgleichungen f¨ ur den diskreten linearen Ausgleich
Hier wird eine beste Approximation Φ(0) der Gestalt (8.4) f¨ ur eine auf [a, b] definierte Funktion f gesucht, von der an N + 1 diskreten Stellen xi ∈ [a, b], i = 0(1)N , N ≥ n, die Funktionswerte f (xi ) gegeben sind. Es wird f¨ ur eine Funktion g in Analogie zum kontinuierlichen Fall mit (8.7) die Seminorm ! 12 N X kgkd,2 = wi g 2 (xi ) i=0
zugrunde gelegt mit den Zahlen wi > 0 als Gewichte. F¨ ur eine Seminorm gelten die Axiome (8.1) mit Ausnahme von 2. Diese Norm l¨asst sich mit Hilfe des Skalarproduktes (g, h) :=
N X
xi ∈ [a, b] ,
wi g(xi )h(xi ) ,
i=0
erkl¨aren durch kgkd,2 := (g, g)1/2 . Setzt man g = f −Φ und betrachtet wieder vorteilhafterweise das Quadrat des Abstandes (8.3), so lautet die (8.5) entsprechende Bedingung f¨ ur eine beste Approximation unter Verwendung der Seminorm N X 2 kf − Φ(0) k2d,2 = min kf − Φk2d,2 = min wi f (xi ) − Φ(xi , c) (8.15) Φ∈C
=
Φ∈C
i=0
2
min D (c0 , c1 , . . . , cn ) ,
ci ∈ R
d. h. die Summe der gewichteten Fehlerquadrate ist zum Minimum zu machen (diskrete Gaußsche Fehlerquadratmethode).
8.2 Lineare Approximation
303
Die notwendigen Bedingungen N X ∂Φ(xi , c (0) ) ∂D 2 (0) (c0 , . . . , c(0) ) = −2 wi f (xi ) − Φ(xi , c (0) ) = 0, n ∂cj ∂cj i=0
j = 0(1)n , (0)
liefern n +1 lineare Gleichungen zur Bestimmung der n +1 Koeffizienten ck einer besten Approximation. Mit Φ(xi , c) = Φ(xi , c0 , . . . , cn ) =
n X
∂Φ(xi , c) = ϕj (xi ) ∂cj
ck ϕk (xi ) ,
k=0
erh¨alt man als lineares Gleichungssystem die Gaußschen Normalgleichungen n X k=0
(0)
ck
N X
wi ϕj (xi )ϕk (xi ) =
i=0
N X
wi f (xi )ϕj (xi ) , j = 0(1)n , N ≥ n ,
(8.16)
i=0
die unter Verwendung der Skalarprodukte N P wi ϕj (xi )ϕk (xi ) , (ϕj , ϕk ) := i=0
(f, ϕj )
:=
N P
(8.17)
wi f (xi )ϕj (xi )
i=0
die Form besitzen (vgl. 8.10): Gc (0) = a mit (0) (ϕ0 , ϕ0 ) · · · (ϕ0 , ϕn ) c0 (0) .. .. . G= , c = . . .. (0) (ϕn , ϕ0 ) · · · (ϕn , ϕn ) cn
(f, ϕ0 ) .. , a = . . (f, ϕn )
(8.18)
Wegen (ϕj , ϕk ) = (ϕk , ϕj ) gilt G = G T . Die Normalgleichungen (8.18) sind oft schlecht konditioniert. Die direkte numerische Berechnung der L¨osungen kann zu einer Vergr¨ oßerung der Rundungsfehler f¨ uhren und damit zur Verf¨alschung der Ergebnisse. In diesen F¨ allen sollte man z. B. mit der HouseholderTransformation arbeiten (s. Abschnitt 8.2.3.4).
Definition 8.9. (abk¨ urzende Schreibweise) Jeder Funktion ϕk ∈ C[a, b] wird im Falle wi = 1 f¨ ur alle i der Vektor T ϕk := ϕk (x0 ), ϕk (x1 ), . . . , ϕk (xN ) zugeordnet bzw. im Falle beliebiger wi > 0 der Vektor ϕk :=
√
T √ √ w0 ϕk (x0 ), w1 ϕk (x1 ), . . . , wN ϕk (xN ) .
304
8. Lineare und nichtlineare Approximation
Mit dieser Definition gilt f¨ ur die Skalarprodukte (8.17) (ϕj , ϕk ) = ϕT j ϕk ,
(f, ϕj ) = f T ϕj
unter Verwendung von f := f (x0 ), f (x1 ), ..., f (xN ) f :=
√
T
(8.19)
bzw.
T √ w0 f (x0 ), . . . , wN f (xN ) .
Satz 8.10. Die Gaußschen Normalgleichungen (8.16) sind genau dann eindeutig l¨osbar, wenn die Vektoren ϕk linear unabh¨ angig sind. Notwendig daf¨ ur ist die Bedingung n ≤ N .
Im Falle n > N sind die Vektoren ϕk immer linear abh¨angig, so dass die Eindeutigkeitsaussage entf¨allt. Im Falle n = N liegt Interpolation vor, d. h. die Summe der Fehlerquadrate (8.15) f¨ uhrt auf den denkbar kleinsten Wert 0. Bemerkung 8.11. H¨aufig werden gleiche Gewichte (wi = 1 f¨ ur alle i) gew¨ahlt. Eine andere Wahl ist sinnvoll, wenn bekannt ist, dass die Werte f (xi ) f¨ ur verschiedene xi unterschiedlich genau sind. Dann werden im Allgemeinen den weniger genauen Funktionswerten kleinere Gewichte P zugeordnet. Normiert man die Gewichte wi außerdem so, dass wi = 1 ist, kann man sie als die Wahrscheinlichkeiten f¨ ur das Auftreten von Werten der Funktion f an den Stellen xi deuten. Man kann auch in (8.15) f¨ ur die Gewichte wi = 1/f 2 (xi ) setzen. Dies ist gleichbedeutend damit, dass man die Quadratsumme der relativen Fehler minimiert: 2 N X f (xi ) − Φ(xi ) i=0
f (xi )
!
=
Min.
f (xi ) 6= 0 .
Algorithmus 8.12. (Diskrete Gaußsche Fehlerquadratmethode) Von einer auf dem Intervall [a, b] definierten Funktion f seien an N + 1 untereinander verschiedenen Stellen xi ∈ [a, b], i = 0(1)N , die Werte f (xi ) gegeben. Gesucht ist f¨ ur f die beste Approximation Φ(0) nach der diskreten Gaußschen Fehlerquadratmethode. 1. Schritt: Wahl eines geeigneten Funktionensystems ϕ0 , ϕ1 , ..., ϕn zur Konstruktion der Approximationsfunktion Φ, wobei n ≤ N gelten muss. 2. Schritt: Festlegen der geeigneten Gewichte wi > 0, vgl. dazu Bemerkung 8.11. 3. Schritt: Aufstellen der Normalgleichungen (8.16) bzw. (8.18) zur Berechnung der (0) Koeffizienten ck der besten Approximation Φ(0) . Die Forderung xi 6= xk f¨ ur i 6= k kann fallengelassen werden, sofern N 0 +1 St¨ utzstellen xi untereinander verschieden sind und n ≤ N 0 ≤ N gilt.
8.2 Lineare Approximation
305
Beispiel 8.13. (vgl. Beispiel 8.8) Gegeben:
Die Wertetabelle der Funktion f ∈ C[−1, +1]; f (x) = 1/(1 + x2 ) i
0
1
2
3
4
xi
−1.0
−0.5
0
0.5
1
0.5
0.8
1
0.8
0.5
f (xi ) Gesucht:
F¨ ur f die beste Approximation Φ(0) unter allen quadratischen Polynomen Φ(x) = c0 +c1 x+c2 x2 nach der diskreten Gaußschen Fehlerquadratmethode.
L¨osung:
Die Vorgehensweise erfolgt gem¨ aß Algorithmus 8.12.
1. Schritt: Durch die Aufgabenstellung ist das Funktionensystem ϕ0 (x) = 1, ϕ1 (x) = x, ϕ2 (x) = x2 naheliegend. 2. Schritt: Alle Funktionswerte f (xi ) sind mit gleicher Genauigkeit angegeben; deshalb wird wi = 1 f¨ ur alle i gesetzt. 3. Schritt: Das System der Normalgleichungen lautet mit n = 2, N = 4 bei Rundung auf 4-stellige Mantisse (0) c0 5.000 0.000 2.500 3.600 (0) 0.000 2.500 0.000 c1 = 0.000 . (0) 2.500 0.000 2.125 1.400 c2 Es hat die L¨ osung (0)
(0)
(0)
c0 = 0.9486, c1 = 0, c2 = −0.4571. Unter allen quadratischen Polynomen Φ ist das Polynom Φ(0) (x) = 0.9486 − 0.4571x2 (Ausgleichsparabel) f¨ ur x ∈ [−1, +1] die beste Approximation f¨ ur die u ¨ ber die Wertetabelle gegebene Funktion f nach der diskreten Gaußschen Fehlerquadratmethode. F¨ ur x = 0.8 ∈ [−1, +1] erh¨ alt man Φ(0) (0.8) = 0.6561. Da f bekannt ist, kann man den absoluten Fehler absch¨ atzen. Mit 0.6097 < f (0.8) = 1/1.64 < 0.6098 folgt |f (0.8) − Φ(0) (0.8)| ≤ |0.6097 − 0.6561| = 4.64 · 10−2 . Nat¨ urlich unterscheidet sich das hier ermittelte diskrete Ausgleichspolynom von dem kontinuierlichen Ausgleichspolynom derselben Funktion f aus Beispiel 8.8, da von f nur noch die Information an f¨ unf diskreten Stellen in den Ausgleich eingeflossen ist. Aber bez¨ uglich des zugrunde liegenden diskreten Fehlermaßes (8.15) hat das diskrete Ausgleichspolynom eine kleinere Fehlerquadratsumme! (0)
Bemerkung. Da f eine gerade Funktion ist, war c1 Anmerkung unter Satz 8.25.
= 0 zu erwarten; siehe auch
306
8. Lineare und nichtlineare Approximation
Beispiel 8.14. Gegeben: Die Wertetabelle xi , f (xi ) , i = 0(1)N , N = 3
Gesucht:
i
0
1
2
3
xi
0.02
0.10
0.50
1.00
f (xi )
50
10
1
0
P Unter allen Φ ∈ C[0.02, 1.00] mit Φ(x) = ck ϕk (x) die beste Approximation Φ(0) im Sinne der diskreten Gaußschen Fehlerquadratmethode (wi = 1 f¨ ur alle i) mit folgenden Ansatzfunktionen: (i)
ϕ0 = 1
ϕ1 = x
(Ausgleichsgerade)
(ii)
ϕ0 = 1
ϕ1 = x
ϕ 2 = x2
(iii)
ϕ0 = 1
ϕ1 = x
ϕ 2 = x2
(iv)
ϕ0 = 1
ϕ1 =
(quadratische Ausgleichsparabel) ϕ3 = x3
1 x
(kubische Ausgleichsparabel bzw. wegen N = n = 3 interpolierende kubische Parabel) (rationale Approximation)
L¨osung zu (ii): Man erh¨ alt das lineare Gleichungssystem (exakt) (0) c0 4.00000000 1.62000000 1.26040000 61 1.62000000 1.26040000 1.12600800 c(0) = 2.5 . 1 (0) 1.26040000 1.12600800 1.06260016 0.37 c2 Bei 14-stelliger dezimaler Rechnung und Rundung der Ergebnisse auf 6-stellige Mantisse erh¨ alt man: (0)
c0 = 39.6789,
(0)
c1 = −136.551,
(0)
c2 = 97.9830,
(0)
Φ2 (x) = 39.6789 − 136.551x + 97.9830x2 , (0)
Φ2
ist die quadratische Ausgleichsparabel zu den vorgegebenen Punkten.
L¨osung zu (iv): Hier erh¨ alt man mit
P
:=
3 P
das System
i=0
P
1
P 1 xi ⇒
P 1 P ! (0) f (xi ) c0 xi = , P 1 P 1 (0) f (x ) 2 i c x 1 i xi ! (0) ! 4 63 c0 61 = . (0) 63 2605 2602 c1
8.2 Lineare Approximation
307
Man erh¨ alt: (0)
(0)
c0 = −0.778329,
c1 = 1.01767,
(0)
Φrat (x) = −0.778329 + 1.01767 · x1 . Die folgende Abbildung 8.5(a) enth¨ alt die Graphen der besten Approximationsfunktionen zu den Polynomans¨ atzen (i), (ii), (iii), Abbildung 8.5(b) zeigt den Graphen der besten Approximation zu dem rationalen Ansatz (iv). Auf sechs Dezimalen gerundet lauten diese Approximationsfunktionen: (0)
(i)
Φ1 (x) = 30.131723 − 36.744994x,
(ii)
Φ2 (x) = 39.678891 − 136.551407x + 97.982954x2 ,
(iii)
Φ3 (x) = 62.981434 − 680.869756x + 1609.739229x2 − 991.850907x3 ,
(iv)
Φrat (x) = −0.778329 + 1.017672 ·
(0) (0) (0)
1 x
.
Man erkennt unschwer, dass der rationale Ansatz hier der einzig geeignete Ansatz unter den vier Modellfunktionen (i), (ii), (iii), (iv) ist. y6
y6
b
b
... ... . ... .... ... ... ... ... ... ... ... .. (0) ...... .... .......................... ..... .... 3 ..... ..... ... ... . . . . . ....... .. .... ... ....... .. ... ... ... ......... ... .. ... ................ .. ... .. ... ............ .. .. . . . ... . ... .. ............. .. ... ... ... .... ....... . . ... .... ....... . . . .. . . . . ... .... ... ... .... .............. .... ... ... ..... ....... .. ... ... ... ....... ..... ... ... . ... .. ... ..... ... .. ... .. ............. ..... . . . .. ....... ... ..... .. ... .. ....... ...... .. .. ....... .. ....... ........ ... ..... ... ....... . ... ....... ............... ... ....... . . . . . . . . . . . . . . . . . . . . . . ... .......... .............. .. ................ ... ... .................................. ................. .. ... ... ....... .. .. .. .. ........... .. .. .. ....... ... . ... .... ... .. .. ... .. . .. . ... .... ....... ..............
Φ
b
(x)
Φ
(0)
Φ2 (x)
b
b
.. .. .. ... ... ... ... ... ... ... ... (0) .. .. .. rat ... ... ... ... ... ... ... ... ... ..... ...... .......... ............................ ........................................................................... ...........................................................
x
b
(x)
b
b
x
(0)
Φ1 (x)
(0)
Abb. 8.5(a). Graphen von Φ1
(0)
bis Φ3
(0)
Abb. 8.5(b). Graph von Φrat
Nur unter der Voraussetzung, dass der Ansatz f¨ ur die Modellfunktion Φ im Sinne der Anwendung vern¨ unftig ist, ist mit der Fehlerquadratmethode eine gute Approximation zu erwarten. Ist keine Modellvorstellung vorhanden, so sollten Ausgleichssplines (siehe Kapitel 10) verwendet werden. Liegen mehrere Modelle vor, so kann man nicht generell unter den besten Approximationen Φ(0) diejenige ausw¨ahlen, die die kleinste Feh(0) lerquadratsumme besitzt: In unserem Beispiel hat Φ3 als Interpolationspolynom die (0) kleinstm¨ogliche Fehlerquadratsumme 0 und diesbez¨ uglich einen besseren Wert als Φrat !
308 8.2.3.2
8. Lineare und nichtlineare Approximation Diskreter Ausgleich durch algebraische Polynome unter Verwendung orthogonaler Polynome
Werden als Approximationsfunktionen Φ algebraische Polynome (8.11) verwendet, dann lautet (8.16) mit ϕk (xi ) = xki n X
(0)
ck
k=0
N X
wi xk+j = i
i=0
N X
wi f (xi )xji ,
j = 0(1)n .
(8.20)
i=0
F¨ ur gleiche Gewichte wi = 1 gilt speziell P N P+ 1 P x2i xi P 2 P xi3 xi xi .. .. . P n P .n+1 xi xi
P 2 P xi3 P xi4 xi .. P .n+2 xi
··· ··· ··· ···
P n P xin+1 P xin+2 xi .. .P x2n i
(0) c0 (0) c1 c(0) 2 . .. (0) cn
=
P P f (xi ) P f (xi )xi2 f (xi )xi .. P. f (xi )xni
,
(8.21)
wobei jede Summe u auft. Die Matrix in (8.20) bzw. (8.21) ist oft schlecht ¨ber i = 0(1)N l¨ konditioniert. Dann ergeben sich bei Rechnung mit endlicher Stellenzahl im Allgemeinen total verf¨alschte L¨osungen. Deshalb sollte man grunds¨atzlich nicht das System (8.21) direkt l¨osen, sondern zumindest die Householder-Transformation einsetzen (vgl. Abschnitt 8.2.3.4) oder mit einem Ansatz u ¨ber diskrete orthogonale Polynome ϕk ≡ Qk genau k-ten Grades f¨ ur die Approximationsfunktion Φ arbeiten: Φ(x)
n X
=
ck Qk (x)
k=0
= c0 Q0 (x) + c1 Q1 (x) + . . . + cn Qn (x) . Wegen (ϕj , ϕk ) ≡ (Qj , Qk ) = 0 f¨ ur j 6= k haben dann die Gaußschen Normalgleichungen (0) (8.16) Diagonalgestalt, und man kann direkt nach den cj aufl¨osen: (0)
cj
=
(f, Qj ) , (Qj , Qj )
j = 0(1)n ,
mit den Skalarprodukten (f, Qj )
:=
N X
wi f (xi ) Qj (xi ) ,
i=0
(Qj , Qj )
:=
N X
wi Qj (xi ) Qj (xi ) .
i=0
Die orthogonalen Polynome Qk sind abh¨ angig von den gegebenen Stellen xi und den Gewichten wi und lassen sich rekursiv wie folgt berechnen:
8.2 Lineare Approximation Q0 (x)
=
Q1 (x)
= x − b1
Qk (x)
=
bk
=
dk
=
309
1
(x − bk ) Qk−1 (x) − dk Qk−2 (x) , (xQk−1 , Qk−1 ) , (Qk−1 , Qk−1 ) (Qk−1 , Qk−1 ) , (Qk−2 , Qk−2 )
k≥2
mit
k ≥ 1, k ≥ 2,
wobei f¨ ur das Skalarprodukt im Z¨ ahler von bk gilt (xQk−1 , Qk−1 ) :=
N X
wi xi Qk−1 (xi ) Qk−1 (xi ) ,
i=0
die u aß der Definition f¨ ur die (Qj , Qj ). Mit Hilfe ¨brigen Skalarprodukte ergeben sich gem¨ (0) der bk , dk und ck = (f, Qk )/(Qk , Qk ) kann man das Ausgleichspolynom Φ(0) an jeder beliebigen Stelle x (hornerartig) wie folgt berechnen: (0)
1. sn = cn (0) sn−1 = cn−1 + sn (x − bn ) 2. F¨ ur jedes k = n − 2, n − 3, ..., 0 (0) sk = ck + sk+1 (x − bk+1 ) − sk+2 dk+2 ⇒ Φ(0) (x) = s0 . Ein Vorteil dieser Art des polynomialen Ausgleichs ist die Tatsache, dass man mit dem (0) (0) Ausgleichspolynom Φ(0) (x) = Φn (x) n-ten Grades auch jedes Ausgleichspolynom Φm m-ten Grades mit m ≤ n kennt: Φ(0) m (x) =
m X
(0)
ck Qk (x) ;
k=0 (0)
(0)
es hat dieselben Koeffizienten ck wie Φn .
Beispiel 8.15. (vgl. Beispiel 8.14) Gegeben: Die Wertetabelle xi , f (xi ) , i = 0(1)N , N = 3
Gesucht:
i
0
1
2
3
xi
0.02
0.10
0.50
1.00
f (xi )
50
10
1
0
P Unter allen Φ ∈ C[0.02, 1.00] mit Φ(x) = ck ϕk (x) die beste Approximation Φ(0) mit algebraischen Polynomen unter Verwendung orthogonaler Polynome.
310 L¨osung:
8. Lineare und nichtlineare Approximation Man erh¨ alt die Qj mit 14-stelliger dezimaler Rechnung und Rundung der Ergebnisse auf 6-stellige Mantissen: Q0 (x) = Q1 (x) = Q2 (x) = Q3 (x) =
1, x − b1 , (x − b2 )(x − b1 ) − d2 , (x − b3 )(x − b2 )(x − b1 )− d2 (x − b3 ) − d3 (x − b1 ) (0)
Als Koeffizienten cj Rechnung: (0)
c0 (0) c1 (0) c2 (0) c3
= = = =
b1 = 0.405 b2 = 0.613610, b3 = 0.505567,
(0)
ergeben sich aus der Formel cj
d2 = 0.151075 d3 = 0.0636221
=
(f,Qj ) (Qj ,Qj )
bei gleicher
15.2500 −36.7450 97.9830 −991.852
Damit erh¨ alt man gleichzeitig als Ausgleichskurven: (0)
(0)
(0)
Φ1 (x) = c0 + c1 Q1 (x) (0) (0) (0) (0) Φ2 (x) = c0 + c1 Q1 (x) + c2 Q2 (x) (0) (0) (0) (0) (0) Φ3 (x) = c0 + c1 Q1 (x) + c2 Q2 (x) + c3 Q3 (x)
(Gerade) (quadr. Parabel) (kub. Parabel)
Diese Funktionen stimmen mit denen aus Beispiel 8.14 u ¨berein!
8.2.3.3
Lineare Regression. Ausgleich durch lineare algebraische Polynome
Als eine wichtige Anwendung f¨ ur den diskreten Ausgleich durch lineare algebraische Polynome wird die lineare Regression (Statistik) behandelt. Gegeben sind in der x, y-Ebene N + 1 Punkte (xi , yi ), i = 0(1)N , die N+1 Auspr¨agungen der Merkmale x, y in der Merkmalsebene darstellen. Gesucht sind zur Beschreibung des Zusammenhangs beider Merkmale in der Merkmalsebene zwei Regressionsgeraden, je eine f¨ ur die Abh¨ angigkeit des Merkmals y von x bzw. x von y, mit den Gleichungen (0)
(0)
g1 : y
=
Φ(0) (x) = c0 + c1 x
(Regression von y auf x),
g2 : x
(0) (0) e (0) (y) = e = Φ c0 + e c1 y
(Regression von x auf y).
(0)
(0)
Die Koeffizienten c0 , c1 zu g1 ergeben sich aus den Normalgleichungen (8.16) mit wi = 1, ϕ0 (x) = 1, ϕ1 (x) = x bzw. (8.21) f¨ ur n = 1.
8.2 Lineare Approximation
311 (0)
Die Normalgleichungen zur Berechnung von c0
P N + 1 x i P P 2 xi xi
(0)
c0 (0) c1
!
(0)
und c1
lauten demnach:
P y i P = xi y i
mit
P
:=
N P
.
(8.22)
i=0
Da sie im Allgemeinen schlecht konditioniert sind, sollte man die in Abschnitt 8.2.3.2 beschriebene Methode verwenden. Fasst man nun y als unabh¨ angige und x als abh¨angige Variable auf, so ergeben sich (0) (0) entsprechend die Koeffizienten e c0 , e c1 f¨ ur g2 . Der Schwerpunkt (x, y) mit N
1 X x= xi , N + 1 i=0
N
1 X y= yi N + 1 i=0
ist stets der Schnittpunkt der beiden Regressionsgeraden. Eine geringe Abweichung der Geraden voneinander ist daf¨ ur maßgebend, ob mit Recht n¨aherungsweise von einem linearen Zusammenhang der Merkmale x, y gesprochen werden kann (ohne deren Kausalit¨at festzulegen).
Beispiel 8.16. Gegeben: Von 24 Sch¨ ulern einer Klasse werden ihre K¨orperl¨ange und ihr Gewicht erfasst:
Nr.
x K¨orperl¨ ange [cm]
y K¨ orpergewicht [kg]
Nr.
x K¨orperl¨ange [cm]
y K¨orpergewicht [kg]
1 2 3 4 5 6 7 8 9 10 11 12
162 155 172 163 163 166 168 170 159 155 172 169
50 49 68 45 50 49 58 61 52 47 61 55
13 14 15 16 17 18 19 20 21 22 23 24
168 164 163 164 160 170 163 159 168 168 157 163
52 65 55 52 50 53 57 50 58.5 67 47 47
Gesucht:
Eine Regressionsgerade von K¨ orpergewicht auf -l¨ange und eine Regressionsgerade von K¨ orperl¨ ange auf -gewicht.
312
8. Lineare und nichtlineare Approximation
L¨osung: 1. Regression von K¨ orpergewicht (y) auf -l¨ ange (x): Das zugeh¨orige lineare Gleichungssystem (8.22) ! lautet (0) 24 3941 c0 1298.5 = . (0) 3941 647723 213728 c1 Bezeichnet A die Matrix dieses Gleichungssystems, dann ist deren Konditionszahl (siehe Kapitel 4) gegeben durch cond∞ (A) = kAk∞ · kA−1 k∞ ≈ 3 · 107 , so dass eine direkte Aufl¨ osung dieses Systems mit auf Rechnern gebr¨auchlicher etwa sechsstelliger dezimaler Arithmetik zu keiner unbedingt sicheren Stelle im Ergebnis mehr f¨ uhrt! Deshalb sollte man besser die Methode aus dem letzten Abschnitt anwenden. Man erh¨alt schließlich: K¨ orpergewicht: Φ(0) (x) = 0.871134x − 88.9433 . 2. Regression von K¨ orperl¨ ange (x) auf -gewicht (y): Durch Vertauschung der Rollen von x und y folgt analog e (0) (y) = 0.510633y + 136.581 . K¨ orperl¨ ange: Φ Die beiden Geraden schneiden sich im Schwerpunkt (x, y) mit x = 3941 cm/24 = 164.2 cm, y = 1298.5 kg/24 = 54.1 kg. K¨orpergewicht 70 65 60 55 50 45
... .... ..... r . . . . r .... ..... .... . r . . . ..... ....... e (0) (y) ........... ........... Φ ........... . .. . . . . . . . . . . . . r ...........r....... . .... ..... ........... .... r ..................... . . . . . . . . . r . . . . . . . . .. Φ(0) (x) r ..... ........... .... ..................... . . . . . . r ................................. r .. ................. . . . . . r . . . . . .... . r r ........... .... r ........... ........ . . . . . . . . . . r.............r.... r.... r ..... ........... r r .... ........... . . . . . . . . . . . . . . .. r............................r r .... . . . . .... ........... ..... r ........... .... ........... . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . ........... .... ........... .... ..... .....
40 150
155
160
165
170
K¨orperl¨ange
175
Abb. 8.6. Darstellung der beiden Regressionsgeraden mit den gegebenen Wertepaaren
8.2 Lineare Approximation
313
Nur wenn alle gegebenen Punkte (xi , yi ) auf einer Gerade l¨agen, w¨aren beide Regressionsgeraden deckungsgleich. So besteht zwar kein strenger linearer Zusammenhang zwischen den Merkmalen K¨orperl¨ ange und K¨ orpergewicht (zur Information: der empirische Korrelationskoeffizient ist r = 0.667), wohl aber eine deutlich gleichsinnige Tendenz.
8.2.3.4
Householder-Transformation zur L¨ osung des linearen Ausgleichsproblems
Gegeben seien N + 1 Wertepaare xi , f (xi ) , i = 0(1)N , und N + 1 Gewichte wi > 0. Gesucht sind die Koeffizienten c0 , . . . , cn im linearen Approximationsmodell Φ(x, c) = c0 ϕ0 (x) + c1 ϕ1 (x) + . . . + cn ϕn (x) , so dass die gewichtete Fehlerquadratsumme N X
wi f (xi ) − Φ(xi , c0 , c1 , . . . , cn )
2
i=0
minimiert wird (vgl. 8.15). Ohne Beschr¨ankung der Allgemeinheit wird zwecks einfacherer Darstellung f¨ ur alle i wi = 1 gesetzt. Mit c = (c0 , c1 , . . . , cn )T und wegen Φ(xi , c) = c0 ϕ0 (xi ) + c1 ϕ1 (xi ) + . . . + cn ϕn (xi ) f¨ ur i = 0(1)N gilt Φ(x0 , c) ϕ0 (x0 ) ϕ1 (x0 ) Φ(x1 , c) ϕ0 (x1 ) ϕ1 (x1 ) = .. .. .. . . . Φ(xN , c) ϕ0 (xN ) ϕ1 (xN )
··· ··· ···
ϕn (x0 ) ϕn (x1 ) .. . ϕn (xN )
c0 c1 .. .
=: Ac
(8.23)
cn
mit der (N + 1, n + 1)-Matrix A, die spaltenweise aus den Vektoren T ϕj := ϕj (x0 ), ϕj (x1 ), . . . , ϕj (xN ) , j = 0(1)n aufgebaut ist. Mit f := f (x0 ), f (x1 ), . . . , f (xN )
T
gelten f¨ ur die Skalarprodukte (8.17) mit wi = 1 die Aussagen in (8.19), und es ergibt sich f¨ ur die Normalgleichungen (8.18) wegen G = AT A und a = AT f AT Ac = AT f . Im Falle beliebiger wi > 0 m¨ ussen in (8.23), (8.24) die Vektoren √ √ w0 ϕj (x0 ) w0 f (x0 ) . .. ϕj := , f := .. . √ √ wN ϕj (xN ) wN f (xN )
(8.24)
314
8. Lineare und nichtlineare Approximation
verwendet werden. Es ist nun N X
2 ! f (xi ) − Φ(xi , c) = Min
i=0
gleichbedeutend mit !
kf − Ack2d,2 = Min,
(8.25)
d. h. c ist genau dann L¨ osung der Normalgleichungen (8.24), wenn c auch Optimall¨osung f¨ ur (8.25) ist. (Beweis siehe [STOE1989]). Dann ergibt sich das Problem, das u ¨berbestimmte lineare Gleichungssystem Ac = f in dieser Weise optimal zu l¨ osen. Geschieht dies mit Hilfe der Householder-Transformation, kommen dabei die vorgenannten Konditionsprobleme nicht zur Wirkung, da bei der ¨ Uberf¨ uhrung von A in eine obere Dreiecksmatrix, die zur L¨osungsbestimmung direkt genutzt werden kann, keine Konditionsverschlechterung eintritt. Mit dem folgenden Algorithmus wird hier eine kurze Beschreibung des Verfahrens angegeben.
Algorithmus 8.17. (Linearer Ausgleich mit Householder-Transformation) Gegeben: (N + 1, n + 1)-Matrix A, N ≥ n, f ∈ RN +1 , Rang(A) = n + 1, A gem¨aß (8.23) Gesucht: Optimale L¨ osung c = c (0) ∈ Rn+1 des u ¨ berbestimmten Systems Ac = f bez¨ uglich des mittleren quadratischen Fehlers (8.25). Man setze A(0) := A, f (0) := f und berechne f¨ ur jedes i = 0(1)n 1.
A(i+1) = Hi A(i)
2.
f (i+1) = Hi f (i)
mit den Householder-Transformationen Hi . Hi sind orthogonale (N + 1, N + 1)Matrizen, die gem¨ aß Abschnitt 4.13 konstruiert werden. Es gilt wegen der unit¨ aren Transformationen kf − Ackd,2 = kf (n+1) − A(n+1) ckd,2 . Man erh¨alt mit
b1 b2
B f = , A = 0 b1 − Bc f (n+1) − A(n+1) c = , b2 (n+1)
(n+1)
wobei B eine (n+1, n+1)-Matrix von oberer Dreiecksgestalt ist, 0 eine (N −n, n+1)Nullmatrix, b1 ∈ Rn+1 , b2 ∈ RN −n .
8.2 Lineare Approximation
315
kf − Ackd,2 und damit (8.25) wird minimiert, wenn c = c (0) so gew¨ahlt wird, dass Bc (0) = b1 gilt. Dieses gestaffelte Gleichungssystem kann direkt rekursiv gel¨ost werden. Wegen Rang(A) = n + 1 gilt det(B) 6= 0, und es existiert immer eine eindeutige L¨osung c (0) des linearen Ausgleichsproblems.
Beispiel 8.18. (vgl. Beispiel 8.14) Gegeben: Die Wertetabelle xi , f (xi ) , i = 0(1)N , N = 3 i
0
1
2
3
xi
0.02
0.10
0.50
1.00
f (xi )
50
10
1
0
Gesucht:
Unter allen Φ ∈ C[0.02, 1.00] mit der Modellfunktion Φ(x) = c0 ϕ0 (x) + c1 ϕ1 (x) mit ϕ0 (x) = 1, ϕ1 (x) = 1/x die beste Approximation Φ(0) mit Hilfe des linearen Ausgleichs durch die Householder-Transformation.
L¨osung:
Aufstellen des u ¨ berbestimmten Gleichungssystems Ac = f : ϕ0 (x0 ) ϕ1 (x0 ) f0 ϕ0 (x1 ) ϕ1 (x1 ) f1 c0 = ϕ0 (x2 ) ϕ1 (x2 ) f2 c1 ϕ0 (x3 ) ϕ1 (x3 ) f3 1 50 50 1 10 c 10 0 = 1 1 2 c1 1 1 0 Nach Anwenden des Algorithmus 8.17 erh¨alt man folgende auf 6 Mantissenstellen angegebene L¨ osung: (0) c0 =−0.778329 (0) c1 =1.01767, also Φ(0) (x) = −0.778329 + 1.01767 · x1 .
Mit Hilfe der Gaußschen Fehlerquadratmethode erh¨alt man die gleiche L¨osung f¨ ur dieses Beispiel s. Beispiel 8.14. (iv) . Dies ist im Allgemeinen bei Rechnung mit endlicher Stellenzahl jedoch nicht der Fall, da der lineare Ausgleich mit Householder-Transformation nicht so wie das direkte L¨ osen der Gaußschen Normalgleichungen von der schlechten Kondition der Matrix des Gleichungssystems negativ beeinflusst wird.
316
8.2.4
8. Lineare und nichtlineare Approximation
Approximation von Polynomen durch Tschebyscheff-Polynome
Wenn von einer Funktion f ∈ C[a, b] viele Funktionswerte berechnet werden m¨ ussen, kann es zweckm¨aßig sein, sie durch eine Funktion Φ zu approximieren, deren Auswertung weniger aufw¨andig ist als die von f . Dann muss allerdings gew¨ahrleistet sein, dass f¨ ur alle x aus [a, b] f¨ ur den absoluten Fehler |f (x) − Φ(x)| ≤ ε gilt mit einer von x unabh¨angigen Schranke ε > 0. Bei der Approximation im quadratischen Mittel kann eine solche von x unabh¨angige Schranke f¨ ur den absoluten Fehler nicht vorgegeben werden, dagegen ist dies bei der sogenannten gleichm¨ aßigen oder Tschebyscheffschen Approximation m¨oglich. Hier wird nur der Fall der gleichm¨ aßigen Approximation von Polynomen durch Tschebyscheff-Polynome angegeben. Auf diesen Fall l¨ asst sich die gleichm¨aßige Approximation einer Funktion f durch eine Approximationsfunktion Φ wie folgt zur¨ uckf¨ uhren: Die nach einem bestimmten Glied abgebrochene Taylorentwicklung von f , deren Restglied im Intervall [a, b] nach oben abgesch¨ atzt wird und den Abbruchfehler liefert, stellt ein Polynom dar, das mit Hilfe einer Linearkombination von Tschebyscheff-Polynomen gleichm¨aßig approximiert werden kann. Abbruch- und Approximationsfehler sollen dabei die gleiche Gr¨oßenordnung haben und eine unterhalb der vorgegebenen Schranke ε liegende Summe besitzen. Der Grad des Approximationspolynoms ist in der Regel kleiner als der des Polynoms, das durch Abbrechen der Taylorentwicklung entsteht. Dann ist auch die Berechnung von Werten des Approximationspolynoms weniger aufw¨andig als die von Werten der abgebrochenen Taylorentwicklung. Die Ermittlung des Approximationspolynoms erfordert einen einmaligen Rechenaufwand, der sich allerdings nur dann lohnt, wenn zahlreiche Funktionswerte nach der geschilderten Methode berechnet werden sollen.
8.2.4.1
Beste gleichm¨ aßige Approximation, Definition
Als Norm einer auf dem Intervall [a, b] gegebenen Funktion g wird die sogenannte Maximumnorm kgk∞ = max |g(x)| w(x) x∈[a,b]
zugrunde gelegt mit der Gewichtsfunktion w(x) > 0; zur Gewichtsfunktion vergleiche Bemerkung 8.6. Mit C wird die Menge aller Linearkombinationen Φ der Gestalt (8.2) zu einem auf [a, b] gegebenen System linear unabh¨angiger Funktionen ϕ0 , ϕ1 , ..., ϕn bezeichnet. Eine beste Approximation Φ(0) der Gestalt (8.4) unter allen Funktionen Φ ∈ C besitzt gem¨aß (8.5) mit der Maximumnorm die Eigenschaft kf − Φ(0) k∞
=
max |f (x) − Φ(0) (x)| w(x) x∈[a,b]
=
min Φ∈C
max |f (x) − Φ(x)| w(x) , x∈[a,b]
(8.26)
8.2 Lineare Approximation
317
so dass das Maximum des absoluten Fehlers |f (x) − Φ(0) (x)|, gewichtet mit der Funktion w(x), auf dem ganzen Intervall [a, b] minimal wird. Damit ist gew¨ahrleistet, dass der gewichtete absolute Fehler w|f − Φ(0) | auf [a, b] einen bestm¨oglichen Wert ε > 0 nicht u ur alle x ∈ [a, b], d. h. f wird durch ¨ berschreitet; es gilt also w(x)|f (x) − Φ(0) (x)| ≤ ε f¨ Φ(0) bez¨ uglich w mit der Genauigkeit ε approximiert. Eine beste Approximation Φ(0) im Sinne der Maximumnorm heißt deshalb beste gleichm¨ aßige Approximation f¨ ur f in der Funktionenklasse C. Im Falle der gleichm¨ aßigen Approximation einer beliebigen Funktion f ∈ C[a, b] gibt es im Gegensatz zur Approximation im quadratischen Mittel kein allgemeines Verfahren zur (0) Bestimmung der in Φ(0) auftretenden Koeffizienten ck (¨ uber N¨aherungsverfahren vgl. [BERE1971] Bd.1, 4.5; [MEIN1967], §7; [WERN1993], II, §§4-6). Hier wird nur der f¨ ur die Praxis wichtige Sonderfall der gleichm¨ aßigen Approximation von Polynomen durch sogenannte Tschebyscheff-Polynome behandelt.
8.2.4.2
Approximation durch Tschebyscheff-Polynome
Jedes Intervall [a, b] kann durch lineare Transformation in das Intervall [−1, +1] u uhrt ¨berf¨ werden (vgl. auch die Anmerkung nach Algorithmus 8.21). A. Einf¨ uhrung der Tschebyscheff-Polynome Als Funktionensystem ϕ0 , ϕ1 , ..., ϕn werden die Tschebyscheff-Polynome T0 , T1 , . . . , Tn mit Tk (x) = cos(k arccos x), k = 0(1)n, x ∈ [−1, +1], (8.27) gew¨ahlt, es sind f¨ ur n = 5 T3 (x) = 4x3 − 3x , T0 (x) = 1 , T1 (x) = x , T4 (x) = 8x4 − 8x2 + 1 , 2 T2 (x) = 2x − 1 , T5 (x) = 16x5 − 20x3 + 5x .
(8.28)
Allgemein lassen sich die Tschebyscheff-Polynome mit Hilfe der Rekursionsformel Tk+1 = 2xTk − Tk−1 ,
T0 = 1,
T1 = x,
k = 1(1)n (n ∈ N)
(8.29)
berechnen. Wichtige Eigenschaften der Tschebyscheff-Polynome sind: 1.
Tk ist ein Polynom in x vom Grade k.
2.
Der Koeffizient von xk in Tk ist 2k−1 .
3.
F¨ ur alle k und alle x ∈ [−1, +1] gilt |Tk (x)| ≤ 1.
jπ , Die Extremwerte Tk (xj ) = ±1 werden an den k + 1 Stellen xj = cos k j = 0(1)k, angenommen. 2j + 1 π 5. Tk besitzt in [−1, +1] genau k reelle Nullstellen xj = cos , j = 0(1)k − 1 . k 2 (Siehe auch [SAUE1969] Bd. III, S.356-360). 4.
318
8. Lineare und nichtlineare Approximation
B. Darstellung von Polynomen als Linearkombination von Tschebyscheff-Polynomen Die Potenzen von x lassen sich wegen (8.28) bzw. (8.29) als Linearkombinationen von Tschebyscheff-Polynomen schreiben (T0 , T2 , T4 , . . . sind gerade, T1 , T3 , T5 , . . . ungerade Funktionen). Es sind x3 = 2−2 (3T1 + T3 ) , 1 = T0 , x = T1 , x4 = 2−3 (3T0 + 4T2 + T4 ) , (8.30) 2 −1 x = 2 (T0 + T2 ) , x5 = 2−4 (10T1 + 5T3 + T5 ) , und allgemein gilt f¨ ur k = 0, 1, 2, . . . k k xk = 21−k (Tk + Tk−2 + Tk−4 + . . . + T ∗ ) , 1 2
(8.31)
wobei das letzte Glied T ∗ f¨ ur ungerades k die Form k T∗ = T1 k−1 2
besitzt und f¨ ur gerades k die Form T∗ =
1 2
k
k 2
T0 .
Jedes Polynom in x vom Grad m m X
a i xi ,
ai ∈ R ,
(8.32)
l¨asst sich eindeutig als Linearkombination (T-Entwicklung) m X Pm (x) = bj Tj (x)
(8.33)
Pm (x) =
i=0
j=0
von Tschebyscheff-Polynomen ausdr¨ ucken. Man erh¨alt (8.33), indem man in (8.32) die Potenzen von x durch (8.30) bzw. (8.31) ersetzt. Zur Bestimmung der Koeffizienten bj der T-Entwicklung (8.33) aus den Koeffizienten ai von (8.32) dient f¨ ur i, j = 0(1)10 das folgende Rechenschema. Rechenschema 8.19. a0 a2 2 a4 8 a6 32 a8 128 a10 512
1
a1 a3 4 a5 16 a7 64 a9 256
1
1
3
4
1
10
15
6
1
35
56
28
8
1
126 210 120 45
10
1
b8
b10
b0
b2
b4
b6
1 3
1
10
5
1
35
21
7
1
126 84 36
9
1
b7
b9
b1
b3
b5
8.2 Lineare Approximation
319
Die (außer a0 ) durch 2i−1 dividierten Koeffizienten ai (linke Spalte) werden jeweils mit derjenigen Zahl in der zugeh¨ origen Zeile multipliziert, die in der Spalte u ¨ber dem gesuchten Koeffizienten bj steht und auch dort eingetragen. Die Spaltensumme der eingetragenen Zahlen liefert dann den Koeffizienten bj der T-Entwicklung. So f¨ uhrt P (x) = x5 mit a5 = 1, a4 = a3 = a2 = a1 = a0 = 0 auf die Koeffizienten 5 1 b0 = 0, b2 = 0, b4 = 0 und b1 = 10 , b3 = 16 , b5 = 16 (vgl. 8.30). 16 C. Beste gleichm¨ aßige Approximation Es ist zweckm¨aßig, neben der T-Entwicklung (8.33) auch deren Teilsummen n X Sn (x) = bj Tj (x) , n ≤ m , j=0
zu betrachten. Insbesondere ist Pm (x) = Sm (x) = Sm−1 (x) + bm Tm (x) . Als Approximationsfunktionen f¨ ur Pm werden die Linearkombinationen Φ mit n X Φ(x) = ck Tk (x) , n < m , k=0
gew¨ahlt. Die Frage nach einer besten gleichm¨ aßigen Approximation Φ(0) mit n X (0) Φ(0) (x) = ck Tk (x) , n < m , k=0
f¨ ur Pm im Sinne von (8.26) beantwortet der folgende Satz.
Satz 8.20. Die beste gleichm¨ aßige Approximation Φ(0) eines Polynoms Pm durch ein Polynom (0) (m − 1)-ten Grades im Intervall [−1, +1] ist mit ck = bk f¨ ur k = 0(1)m − 1 die eindeutig bestimmte Teilsumme Φ(0) (x) = Sm−1 (x) =
m−1 X
bk Tk (x)
k=0
von dessen T-Entwicklung Sm . F¨ ur w(x) ≡ 1 gilt kPm − Sm−1 k∞ =
max x∈[−1,+1]
|Pm (x) − Sm−1 (x)| ≤ |bm |
(s. [DEMI1968] I, §12; [STIE1976], S.202). Um Φ(0) zu erhalten, streicht man also nur in der T-Entwicklung Sm das letzte Glied bm Tm .
320
8. Lineare und nichtlineare Approximation
D. Gleichm¨ aßige Approximation Da die Koeffizienten bj der T-Entwicklung mit wachsendem j in den meisten F¨allen dem Betrage nach rasch abnehmen, wird auch beim Weglassen von mehr als einem Glied der T-Entwicklung Sm noch eine sehr gute Approximation des Polynoms Pm erreicht, die nur wenig von der besten gleichm¨ aßigen Approximation Sm−1 abweicht. Ist dann Sn (x) =
n X
bj Tj (x) ,
n ≤ m −1,
j=0
eine Teilsumme der T-Entwicklung Sm , so gilt wegen Eigenschaft 3 der T-Polynome kPm − Sn k∞ =
max x∈[−1,+1]
|Pm (x) − Sn (x)| ≤
m X
|bj | = ε1 .
j=n+1
Da ε1 unabh¨angig von x ist, ist Sn eine gleichm¨ aßige Approximation f¨ ur Pm , f¨ ur n = m−1 ist es die beste gleichm¨ aßige Approximation. Um f¨ ur eine gen¨ ugend oft differenzierbare Funktion f im Intervall [−1, +1] eine entsprechende Approximationsfunktion Φ zu finden, geht man aus von ihrer Taylorentwicklung an der Stelle x = 0 f (x) = Pm (x) + Rm+1 (x) , die sich aus einem Polynom Pm und dem Restglied Rm+1 zusammensetzt. F¨ ur alle x ∈ [−1, +1] gelte mit dem von x unabh¨ angigen Abbruchfehler ε2 |Rm+1 (x)| ≤ ε2 . Als Approximationsfunktion f¨ ur f w¨ ahlt man die Teilsumme Sn der T-Entwicklung Sm f¨ ur Pm (n ≤ m − 1). Dann ist max x∈[−1,+1]
|f (x) − Sn (x)|
= kf − Sn k∞ = kPm + Rm+1 − Sn k∞ ≤
kPm − Sn k∞ + kRm+1 k∞ ≤ ε1 + ε2 .
Der maximale absolute Fehler bei der Approximation von f durch Sn setzt sich somit aus dem Fehler ε1 bei der gleichm¨ aßigen Approximation von Pm durch Sn und dem Abbruchfehler ε2 zusammen. Wenn bei vorgegebener Genauigkeit ε die Ungleichung ε1 + ε2 ≤ ε erf¨ ullt ist, dann wird wegen kf − Sn k∞ ≤ ε die Funktion f durch das Polynom Sn im Intervall [−1, +1] gleichm¨ aßig approximiert.
8.2 Lineare Approximation
321
Algorithmus 8.21. (Gleichm¨aßige Approximation durch TschebyscheffPolynome) Gegeben: Eine f¨ ur x ∈ [−1, +1] gen¨ ugend oft differenzierbare Funktion f . Gesucht:
Ein Approximationspolynom Sn f¨ ur f mit |f (x) − Sn (x)| ≤ ε f¨ ur alle x ∈ [−1, +1] zu vorgegebener Genauigkeitsschranke ε > 0.
1. Schritt: Taylorentwicklung f¨ ur f an der Stelle x = 0: f (x) = Pm (x) + Rm+1 (x) =
m X
ai xi + Rm+1 (x),
i=0
ai =
f (i) (0) , i!
wobei sich das kleinste m aus der Forderung |Rm+1 (x)| ≤ ε2 < ε f¨ ur alle ε x ∈ [−1, +1] ergibt (beispielsweise mit ε2 = 2 ). 2. Schritt: T-Entwicklung f¨ ur Pm unter Verwendung des Rechenschemas 8.19: m X Pm (x) = bj Tj (x) ≡ Sm (x). j=0
3. Schritt: Wahl des kleinstm¨ oglichen n ≤ m − 1, so dass gilt |f (x) − Sn (x)| ≤ ε2 + |bn+1 | + |bn+2 | + . . . + |bm | ≤ ε2 + ε1 ≤ ε ε beispielsweise mit ε1 = ε2 = . Sn ist das gesuchte Approximationspolynom f¨ ur f 2 mit der f¨ ur das ganze Intervall [−1, +1] g¨ ultigen Genauigkeit ε. Zur Berechnung von N¨ aherungswerten f¨ ur die Funktion f mit Hilfe von Sn k¨onnte Sn mit (8.28) bzw. (8.29) nach Potenzen von x umgeordnet werden; man erh¨alt dann n n X X Sn (x) = bj Tj (x) ≡ e ak xk = Pen (x) . j=0
k=0
G¨ unstiger ist die folgende hornerartige Auswertung von Sn (x) an jeder beliebigen Stelle x unter Ausnutzung von (8.29): 1. Setze: t0 = 1, t1 = x, s1 = b1 x + b0 2. F¨ uhre f¨ ur jedes k = 2(1)n durch: tk = 2 x tk−1 − tk−2 ;
sk = bk tk + sk−1 .
Dann ist Sn (x) = sn . Ein Intervall [a, b] 6= [−1, +1] wird durch eine lineare Transformation in das Intervall [−1, +1] u uhrt. Durch x = (2x0 − b − a)/(b − a) geht das x0 -Intervall [a, b] in das ¨bergef¨ x-Intervall [−1, +1] u ¨ber.
322
8. Lineare und nichtlineare Approximation
Beispiel 8.22. Gegeben:
Die Funktion f : f (x) = ex .
Gesucht:
Ein Approximationspolynom Φ : Φ(x) = Sn (x), das f mit einer Genauigkeit von ε = 5 · 10−6 im ganzen Intervall [−1, +1] approximiert.
L¨osung:
Die L¨osung erfolgt nach Algorithmus 8.21.
1. Schritt: Taylorentwicklung f¨ ur f an der Stelle x = 0 : Es gilt f (x) = ex = P9 (x) + R10 (x) mit P9 (x) =
9 X xi i=0
i!
und dem Restglied e < 7.5 · 10−7 = ε2 10!
|R10 | ≤
2. Schritt: T-Entwicklung von P9 : Es gilt P9 (x) =
9 X
f¨ ur alle x ∈ [−1, 1] .
bj Tj (x) .
j=0
Nach dem Rechenschema 8.19 ergeben sich die folgenden Koeffizienten (auf 8 Mantissenstellen genau): b0
=
b1
=
b2
=
b3
=
b4
=
b5
=
b6
=
b7
=
b8
=
b9
=
186689 147456 833361 737280 25021 92160 49033 1105920 1009 184320 1401 2580480 29 645120 33 10321920 1 5160960 1 92897280
=
1.2660658
=
1.1303182
=
2.7149523 · 10−1
=
4.4336842 · 10−2
=
5.4741753 · 10−3
=
5.4292225 · 10−4
=
4.4952877 · 10−5
=
3.1970796 · 10−6
=
1.9376240 · 10−7
=
1.0764578 · 10−8
3. Schritt: Es ist |b7 | + |b8 | + |b9 | = 3.4016066 · 10−6 = ε1 , damit folgt |f (x) − S6 (x)|
6 P
= |f (x) − =
j=0 −6
4.16 · 10
bj Tj (x)| ≤ ε1 + ε2 ≤ 3.41 · 10−6 + 7.5 · 10−7 ≤ ε = 5 · 10−6 .
8.2 Lineare Approximation
323
Es reicht also ein Approximationspolynom 6. Grades aus, um die gew¨ unschte Genauigkeit zu erzielen. In gew¨ ohnlicher Polynomdarstellung erh¨alt man dann S6 (x) ≡ Pe6 (x) =
6 X
e ak xk
k=0
mit den auf 8 Mantissenstellen angegebenen Koeffizienten e a0 = 1, e a1 = 1.0000223, e a2 = 5.0000620 · 10−1 , e a3 = 1.6648892 · 10−1 , e a4 = 4.1635665 · 10−2 , e a5 = 8.6867560 · 10−3 , e a6 = 1.4384921 · 10−3 . In der Form Pe6 (x) kann man nun einfach mit Hilfe des Horner-Schemas die N¨aherungswerte f¨ ur f berechnen. Wegen |R9 | ≤ 9!e < 7.5 · 10−6 f¨ ur x ∈ [−1, +1] h¨atte man bei der Approximation von f durch eine abgebrochene Taylorentwicklung ein Polynom 8. Grades ben¨otigt, um die geforderte Genauigkeit zu erreichen. Sind zahlreiche Funktionswerte ein und derselben Funktion f zu berechnen, so lohnt sich also die Ermittlung des Approximationspolynoms nach der angegebenen Methode.
8.2.5
Approximation periodischer Funktionen
Eine Funktion f heißt L-periodisch, wenn es eine kleinste Zahl L > 0 gibt, f¨ ur die f (x ± L) = f (x) f¨ ur alle x gilt. L heißt die Periode der Funktion. So ist sin(x) 2πperiodisch, tan(x) π-periodisch und cos(αx) f¨ ur α > 0 2π α -periodisch. Periodische Funktionen haben die beachtliche Eigenschaft, dass man ihren Verlauf auf ganz R kennt, wenn sie nur ausschnittsweise auf einem beliebigen Intervall der L¨ange einer Periode, beispielsweise [− L2 , L2 ) oder [0, L), gegeben sind. Soll eine L-periodische Funktion f approximiert werden, so liegt es nahe, diese Eigenschaft schon im Ansatz f¨ ur die Approximationsfunktion zu ber¨ ucksichtigen. Dazu bietet sich ein einfach zu handhabendes trigonometrisches, L-periodisches Polynom n-ten Grades an, das durch n
a0 X Φ(x) ≡ Φ(x, a , b) = + {ak cos(kωx) + bk sin(kωx)} 2
(8.34)
k=1
gegeben ist, wobei man den Faktor ω = 2π L als Kreisfrequenz bezeichnet; im Fall einer 2π-periodischen Funktion wird ω zu 1. Das absolute Glied in (8.34) wird als a20 , also mit Faktor 12 versehen angegeben, weil dann im Folgenden bei den Berechnungen dieses Koeffizienten und der ak f¨ ur k ≥ 1 keine Unterscheidung mehr getroffen werden muss.
324
8. Lineare und nichtlineare Approximation
8.2.5.1
Kontinuierliche Approximation periodischer Funktionen im quadratischen Mittel
Ist f 2π-periodisch und w¨ ahlt man als Approximationsfunktion ein 2π-periodisches trigonometrisches Polynom n-ten Grades n
Φ(x) ≡ Φ(x, a, b) =
a0 X + {ak cos(kx) + bk sin(kx)} , 2
(8.35)
k=1
so besteht die Approximationsaufgabe darin, die Koeffizienten a = (a0 , a1 , . . . , an )T und b = (b1 , . . . , bn )T so zu w¨ ahlen, dass der mittlere quadratische Fehler u ¨ber ein Periodenintervall, etwa [−π, π) oder [0, 2π), minimal wird (vgl. 8.8): kf − Φ(0) k22 = min kf − Φk22 = min D2 (a0 , . . . , an , b1 , . . . , bn ) . ai ,bj ∈ R
Φ
Das trigonometrische Polynom (8.35) stellt einen linearen Approximationsansatz mit den linear unabh¨angigen Funktionen ϕ0 (x) = 1 ,
ϕ1 (x) = cos(x) , ϕ2 (x) = sin(x) , ϕ3 (x) = cos(2x) , ϕ4 (x) = sin(2x) , . . .
dar, und die f¨ ur die Gaußschen Normalgleichungen (8.9) bzw. (8.10) ben¨otigten Skalarprodukte sind dann mit w(x) ≡ 1 gegeben durch Zπ Z2π 0 , j 6= k π , j = k 6= 0 (ϕj , ϕk ) = ϕj (x)ϕk (x) dx = ϕj (x)ϕk (x) dx = 2π , j = k = 0. −π 0 Es handelt sich also im Fall der Gleichgewichtung um ein orthogonales Funktionensystem. Dies folgt aus den bekannten Identit¨ aten 0 , j 6= k 2π R π , j = k 6= 0 cos(jx) cos(kx) dx = , j, k = 0(1)n , 0 2π , j = k = 0 2π R 0 , j 6= k sin(jx) sin(kx) dx = , j, k = 1(1)n , π, j = k 0 2π R
sin(jx) cos(kx) dx
=
0,
j = 1(1)n, k = 0(1)n .
0
Daher lassen sich die Gaußschen Normalgleichungen sofort aufl¨osen, und man erh¨alt (0) (0) (0) (0) (0) nach (8.14) als Koeffizienten a (0) = (a0 , a1 , . . . , an ) und b (0) = (b1 , . . . , bn ) der (0) bestausgleichenden Funktion Φ Zπ Z2π 1 1 (0) a = f (x) cos(kx) dx = f (x) cos(kx) dx, k = 0(1)n , π π k (0) b k
=
1 π
−π Zπ
0
f (x) sin(kx) dx −π
=
1 π
Z2π f (x) sin(kx) dx, 0
k = 1(1)n .
8.2 Lineare Approximation
325
Auf den Fall einer allgemeinen L-periodischen Funktion u ¨bertragen heißt das: Satz 8.23. Eine L-periodische Funktion f ∈ C[0, L] besitzt unter allen trigonometrischen, L-periodischen Polynomen n-ten Grades als beste Approximation im quadratischen Mittel zur Gewichtsfunktion w(x) ≡ 1 das trigonometrische Polynom n
(0)
Φ(0) (x) =
X (0) a0 (0) + {ak cos(kωx) + bk sin(kωx)}, 2
ω=
k=1
2π , L
mit den Koeffizienten L
(0) ak
2 = L
Z2
2 f (x) cos(kωx) dx = L
L 2
2 = L
Z
f (x) cos(kωx) dx ,
k = 0(1)n ,
f (x) sin(kωx) dx ,
k = 1(1)n .
0
−L 2 (0) bk
ZL
2 f (x) sin(kωx) dx = L
ZL 0
−L 2
Da der Kosinus eine gerade und der Sinus eine ungerade Funktion ist und sich die Bestimmung der Koeffizienten als Integration u ¨ ber ein zum Nullpunkt symmetrisches Intervall darstellen l¨asst, gilt weiter: (0) ak = 0 f¨ ur alle k, wenn f ungerade ist f (−x) = −f (x) , (0) bk = 0 f¨ ur alle k, wenn f gerade ist f (−x) = f (x) . Beispiel 8.24. Die Funktion f (x) = | sin x| ist L-periodisch mit L = π und eine gerade Funktion. Daher (0) hat man ω = 2π = 2, bk = 0 f¨ ur alle k und mit zweimaliger partieller Integration: L (0)
ak =
2 π
π
π
Z2
Z2
| sin x| cos(2kx) dx = −π 2
4 π π
sin x cos(2kx) dx 0
Z2 π2 4 8k = − cos x cos(2kx) − cos x sin(2kx) dx π π 0 0 π Z2 π2 4 8k = − sin x sin(2kx) − 2k sin x cos(2kx) dx π π 0 π
=
4 4 + 4k 2 π π
0
Z2 sin x cos(2kx) dx =
4 (0) + 4k 2 ak π
0 (0)
Das Integral auf der rechten Seite ist bis auf den Faktor 4k 2 der gesuchte Koeffizient ak . (0) L¨ost man diese Gleichung nach ak auf, so erh¨ alt man
326
8. Lineare und nichtlineare Approximation
4 4 1 (0) bzw. ak = − · 2 π π 4k − 1 Damit ist das bestausgleichende trigonometrische Polynom n-ten Grades gegeben durch n 2 4X 1 (0) Φ (x) = − cos(2kx) , π π 4k 2 − 1 (0)
(1 − 4k 2 )ak =
k=1
also speziell das 1. Grades (0)
Φ1 (x) = und das 2. Grades (0)
Φ2 (x) =
8.2.5.2
2 4 − cos(2x) π 3π
2 4 4 − cos(2x) − cos(4x) . π 3π 15π
Diskrete Approximation periodischer Funktionen im quadratischen Mittel
Die Anwendung der im letzten Abschnitt beschriebenen Approximation periodischer Funktionen durch trigonometrische Polynome kann aus zweierlei Sicht problematisch sein: Zum einen lassen sich die Integrale zur Berechnung der optimalen Koeffizienten (0) (0) ak und bk nach Satz 8.23 meist nicht exakt berechnen, und zum anderen ist die zugrunde liegende periodische Funktion wom¨ oglich nur an diskreten Stellen (etwa u ¨ber eine Messreihe) bekannt. In diesen F¨ allen hilft die diskrete lineare Approximation im quadratischen Mittel weiter. Unter der Voraussetzung, dass N + 1 Werte einer L-periodischen Funktion an im Periodenintervall, etwa [0, L), gleichverteilten Stellen L xi = i , i = 0(1)N , N +1 bekannt sind und keine unterschiedliche Gewichtung vorgenommen werden soll (d. h. wi = 1 f¨ ur alle i), werden die Gaußschen Normalgleichungen (8.16) bzw. (8.17) besonders einfach, wenn wieder trigonometrische Polynome als Approximationsfunktionen dienen sollen. Das zugrunde liegende Funktionensystem mit ω = ϕ0 (x) = 1 ,
2π L
ϕ1 (x) = cos(ωx) , ϕ2 (x) = sin(ωx) , ϕ3 (x) = cos(2ωx) , ϕ4 (x) = sin(2ωx) , . . . ,
das anzahlm¨aßig h¨ ochstens N + 1 Funktionen umfassen darf, bildet dann ein orthogonales System, weil f¨ ur die in der Matrix der Gaußschen Normalgleichungen ben¨otigten Skalarprodukte gem¨ aß (8.17) gilt: N 0, j 6= k X N+1 (ϕj , ϕk ) = ϕj (xi ) ϕk (xi ) = , j = k 6= 0 2 i=0 N + 1, j = k = 0 f¨ ur j, k = 0(1)N + 1, wobei sich diese Formel f¨ ur ungerades N und j = k = N + 1 auf den Wert N + 1 korrigiert. Dies f¨ uhrt zur Unterscheidung, ob die Anzahl der Wertepaare ungerade oder gerade ist.
8.2 Lineare Approximation
327
Satz 8.25. (a) Sind die Funktionswerte f (xi ) einer L-periodischen Funktion f an im Periodenintervall ¨aquidistant verteilten Stellen (ungerade Anzahl, M = N2 ) L xi = i , i = 0, 1, . . . , 2M 2M + 1 bekannt, so wird f¨ ur jede Teilsumme Φ des trigonometrischen Polynoms M
Ψ(x) =
a0 X 2π + {ak cos(kωx) + bk sin(kωx)} , ω = , 2 L k=1
die Fehlerquadratsumme kf − Φk2d,2 =
2M X
2 f (xi ) − Φ(xi )
i=0
genau dann minimal, wenn die ben¨ otigten Koeffizienten gem¨aß 2M P (0) ak = 2M2+1 f (xi ) cos(kωxi ) , k ≥ 0 , (0) bk
=
2 2M +1
i=0 2M P
f (xi ) sin(kωxi ) ,
k ≥ 1,
i=0
gew¨ahlt werden. Im Fall Φ(0) = Ψ(0) , d. h. mit 2M + 1 Koeffizienten, wird die Fehlerquadratsumme Null, es liegt trigonometrische Interpolation vor. (b) Sind die Funktionswerte f (xi ) einer L-periodischen Funktion f an im Periodenintervall ¨aquidistant verteilten Stellen (gerade Anzahl, M = N+1 2 ) L xi = i , i = 0, 1, . . . , 2M−1 2M bekannt, so wird f¨ ur jede Teilsumme Φ des trigonometrischen Polynoms M−1 a0 X aM 2π Ψ(x) = + {ak cos(kωx) + bk sin(kωx)} + cos(M ωx) , ω = , 2 2 L k=1
die Fehlerquadratsumme kf − Φk2d,2 =
2M−1 X
2 f (xi ) − Φ(xi )
i=0
genau dann minimal, wenn die ben¨ otigten Koeffizienten gem¨aß 2M−1 P (0) 1 ak = M f (xi ) cos(kωxi ) , k ≥ 0 , (0) bk
=
1 M
i=0 2M−1 P
f (xi ) sin(kωxi ) ,
k ≥ 1,
i=0
gew¨ahlt werden. Im Fall Φ(0) = Ψ(0) , d. h. mit 2M Koeffizienten, wird die Fehlerquadratsumme Null, es liegt trigonometrische Interpolation vor. s. [NIED1987].
328
8. Lineare und nichtlineare Approximation
Wie im kontinuierlichen Fall liegt auch hier wieder die vorteilhafte Situation vor, dass sich die beteiligten Koeffizienten in der Approximationsfunktion nicht a¨ndern, wenn der Grad des trigonometrischen Ausgleichspolynoms modifiziert wird. Die im n¨achsten Abschnitt angesprochene FFT liefert n¨ amlich auf sehr effiziente Weise alle Koeffizienten f¨ ur die trigonometrische Interpolation Ψ(0) auf einmal, und man hat damit die Informationen f¨ ur alle denkbaren trigonometrischen Ausgleichspolynome Φ(0) . Ebenfalls in Analogie zum kontinuierlichen Sachverhalt wird die Eigenschaft einer geraden bzw. ungeraden Funktion auf die Approximationsfunktion u ¨bertragen, wenn man sie auf die im Periodenintervall gegebenen gleichverteilten Wertepaare L xi , f (xi ) mit xi = i , i = 0(1)N N +1 bezieht: Es gilt (0)
ak = 0 f¨ ur alle k, falls f (xN+1−i ) = −f (xi ) (0) bk = 0 f¨ ur alle k, falls f (xN+1−i ) = f (xi )
f¨ ur alle i , f¨ ur alle i .
Beispiel 8.26. (vgl. Beispiel 8.24) Von der π-periodischen Funktion f (x) = | sin x| seien nur N + 1 = 16 Funktionswerte π an im Periodenintervall gleichverteilten Stellen xi = i 16 , i = 0(1)15, bekannt. Man erh¨alt dann nach Satz 8.25(b) mit M = 8, L = π und der Eigenschaft von f , eine gerade Funktion zu sein, 15 1X (0) (0) ak = f (xi ) cos(k · 2 · xi ) , bk = 0 . 8 i=0 Auf 6 Mantissenstellen angegeben lauten die berechenbaren Koeffizienten: (0)
a1 = −4.28538 · 10−1 ,
(0)
a4 = −2.48640 · 10−2 ,
(0)
a7 = −1.28035 · 10−2 ,
a0 = 1.26915 , a3 = −4.07728 · 10−2 , a6 = −1.44478 · 10−2 ,
(0)
a2 = −8.91056 · 10−2 ,
(0)
(0)
a5 = −1.78855 · 10−2 ,
(0)
a8 = −1.23114 · 10−2 .
(0) (0)
Die trigonometrischen Ausgleichspolynome 1. und 2. Grades sind damit gegeben durch (0)
(0)
=
a0 2
(0)
=
a0 2
Φ1 (x) Φ2 (x)
(0)
(0)
+ a1 cos(2x) , (0)
(0)
+ a1 cos(2x) + a2 cos(4x) ,
und ein Vergleich mit Beispiel 8.24 zeigt, dass sich diese trigonometrischen Ausgleichspolynome im kontinuierlichen und im diskreten Fall kaum unterscheiden – eine Tatsache, die sehr allgemein gilt (vgl. Abschnitt 8.2.6.2). Bez¨ uglich des kontinuierlichen Fehlermaßes (8.8) (mit w(x) = 1) f¨ uhrt die gem¨ aß Beispiel 8.24 ermittelte Approximationsfunktion auf einen kleineren Wert, im Hinblick auf das diskrete Fehlermaß (8.15) (mit wi = 1) hingegen ist jede der hier ermittelten Approximationen der entsprechenden aus Beispiel
8.2 Lineare Approximation
329
8.24 u ¨berlegen. Mit den berechneten Koeffizienten kann auch das trigonometrische Interpolationspolynom angegeben werden: 7
(0)
Ψ(0) (x) =
(0)
X (0) a0 a + ak cos(2kx) + 8 cos(16x) . 2 2
k=1
8.2.5.3
Fourier-Transformation und FFT
F¨ ur die Approximation einer L-periodischen Funktion f kann auch ein anderer Zugang gew¨ahlt werden: Man zerlegt f (x) in ihre zu den harmonischen Schwingungen cos(kωx) und sin(kωx) , ω = 2π orenden Bestandteile, also solche, die ganzzahlige Vielfache L , geh¨ der Grundfrequenz L1 sind. Ber¨ ucksichtigt man alle diese Anteile, die sich u ¨brigens nach Satz 8.23 berechnen lassen, so gilt unter wenig einschr¨ankenden Bedingungen ∞
(0)
f (x) =
X (0) a0 (0) + {ak cos(kωx) + bk sin(kωx)} 2
(8.36)
k=1
f¨ ur alle x; die rechte Seite wird Fourierreihe von f genannt, ihre Koeffizienten nach Satz 8.23 heißen dementsprechend auch Fourierkoeffizienten von f und deren Bestimmung (endliche bzw. periodische) Fourier-Transformation oder harmonische Analyse. Man kann zeigen, dass der mittlere quadratische Fehler, der dazu in Abschnitt 8.2.5.1 betrachtet wurde, gegen den kleinstm¨ oglichen Wert Null strebt, wenn der Grad n der Fourierteilsummen von f (0)
n
X (0) a0 (0) + {ak cos(kωx) + bk sin(kωx)} 2
(8.37)
k=1
gegen Unendlich strebt. Daraus folgt noch nicht unbedingt die Identit¨at (8.36)! (8.36) gilt auf jeden Fall f¨ ur alle differenzierbaren periodischen Funktionen f , aber sogar auch an jeder Unstetigkeitsstelle, wenn dort die Funktion f den arithmetischen Mittelwert annimmt und die links- und rechtsseitige Ableitung existieren. Die Gleichung (8.36) sagt aus, dass zur vollst¨ andigen Wiedergabe der periodischen Funk(0) (0) tion f auf ganz R nur abz¨ ahlbar viele Koeffizienten ak , bk , die Fourierkoeffizienten von f , ben¨otigt werden. Diese vortreffliche Eigenschaft zeichnet periodische Funktionen aus und geht bei einer Erweiterung der Fourier-Transformation auf nichtperiodische Prozesse verloren (s. [NIED1984]). Viele Ph¨anomene aus Natur und Technik lassen sich im Detail durch eine harmonische Analyse erfassen. So k¨ onnen etwa Luftdruckschwankungen durch Schallwellen – analog zum menschlichen Geh¨ orvorgang – in reine T¨ one mit bestimmten Frequenzen kω zerlegt (0) (0) werden; dabei wird u oßen ak und bk jedem reinen Teilton des Ger¨ausches ei¨ ber die Gr¨ ne anteilige St¨arke oder Amplitude zugeordnet. Equalizer-Anzeigen von HiFi-Verst¨arkern veranschaulichen solche Intensit¨ atsspektren: Tiefe T¨one geh¨oren zu niedrigen Frequenzen,
330
8. Lineare und nichtlineare Approximation
hohe T¨one setzen sich vorwiegend aus h¨ oheren Frequenzen zusammen. St¨orendes Rau¨ schen etwa als systembedingte Folge einer Ubertragung (elektronisches oder thermisches Rauschen) zeichnet sich durch einen geringen, bei allen Frequenzen etwa gleichstarken Beitrag aus und l¨asst sich, wenn man die anteiligen Amplituden kennt, leicht herausfiltern. Bei einem solchen Filtervorgang werden diejenigen Summanden aus (8.37) ignoriert, (0) (0) die zu Amplituden ak , bk geh¨ oren, deren Betrag unterhalb eines vorgegebenen Schwellenwertes liegt (siehe Abbildung 8.7). b) 6
a) 6 .. ... ...... ...... ...... .. ....... .... ........ ........ ........ ....... ..... .... .... ..... ...... ...... ... .. ..... .... .. .. ........... .... .................... ...... ...... ...... ........... .. .... ...................... .... ........ ........ .......... .... ....... ........ ...... ......... ... ... . ...... ....... .......... ... .... . ...... ........ ..... .. .. .. .. ....... .. ..... ... ..... . . ... . .... .......... . .......... ..... ...... .. ...... ... ... ...... .......... ..... ............ .. ........ ... ........... ..... .......... .. ......... ....... ... ........... .. ... ... .................... .... ... ................... ............ .. .. . . . . . . . . . ............. . . ........... . . ........ .... . . . . . . . . . . . .. ... ......... ... ... ... ........ .. . .... .... . ... ........... ... ... .............. . ........... ... ... .... ... .... . ...... ... .... .... .... .. .. ....... .. .. . .... . ...... .. ............... .. .... . ................. ........ .. .............. .. ................... .... . . . . . . . . ............ . . . . . . . . . . . . . . . . . . . . .. . ........ .. .. .. . . .. ............. .. .... ............... ..... ............... ... ............ ........ ... ......... ..... ........ . .... ................... .... ......... ..... ........ ..... ................ .............. . ...... .. ....... ...... ........ .. ....... ... ........ ......... ............... . . . . . . ...... . . .. . .. .. ..... ..... ..... ...... .. ... . ......... . . . . . ...... . . . . . . . . . ..... .... ... .... ....... ..... ... ...... ......... ...... ....... .... .. ....... ..... ... .. ....... ... ..... .... . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . ... .... ............. ... .... ............. ... . . . . . . . . . .. .. ..... ..... .... ..... . . . ..... ..... ..... .... ... ... . . . . .... .... ..... ..... . .... .. .... ..... ..... ..... .... .
x
c) 6
.... ..... .. ... ... .. .. ... ... ... .. .. ... ... .. .... ....... ....... . . ..... .... . . . ... ... .... ... .. .. .. ... .. .... .... .... ... .... ... .... .. .. .. ... .. .. .. .... . .. .. ... ... ... ... ...... ... ... .. ..... ... ... ....... ... .. .... ... .. ... ... ... ... .. ... .. .. .. .. ... ... .. ... ... .. .... .... .. .... . . ... .. . . . . . . . . . .. ... . . ... ...... .. ... .. .. ........ ... ....... ... ... .... .. .. ... .... .. ... ... ... ... ... ... ... .. ... . ... .... .. ... .... ... .. .. .. .. ... ... .. ... ... ... ... ... ... .. ... .. ...... ... .. ... .. .... ... ... .. ... .. .. ... ... ... .. ...... ...
qqqq qqq qq qqqq qqqq q qqqq qqqq qqqq qqqq qqqq qqqq qqqq qqqq qqqq qqqq qqqq qq qqqq q q q qq q q q qq q q q q qq q qq q qq q qqqqqqqq q qq qqqqqqqqqqqqqqqqqqk
d) 6
x
qqq qqqq q qqqq qqqq qqqq qqqq qqqq qqqq qqqq qqqq qqqq qqqq qq qq
qqqq qqqq qq qqq qqq
k
Abb. 8.7. Verrauschtes Signal (a) mit zugeh¨ origem Amplitudenspektrum (b), das u ¨ ber q (0) (0) (0) a / 2 und (a )2 + (b )2 f¨ ur k ≥ 1 gegeben ist, sowie gefiltertes Spektrum (d), 0 k k das alle Amplitudenanteile unterhalb eines Schwellenwertes unterdr¨ uckt, mit zugeh¨origem Signal (c) Die nach Satz 8.25 berechneten Koeffizienten zur Approximation einer diskret gegebenen Funktion gehen aus den Fourierkoeffizienten von f nach Satz 8.23 hervor, wenn man auf deren Integrale die ¨ aquidistant zusammengesetzte Trapezregel anwendet. Sie heißen deshalb auch diskrete Fourierkoeffizienten, und das damit gebildete trigonometrische Polynom (8.36) heißt diskrete Fourierteilsumme von f. (0)
(0)
Der komplette Satz der diskreten Fourierkoeffizienten ak und bk nach Satz 8.25 kann mit Hilfe der Schnellen Fourier-Transformation (Fast Fourier Transform: FFT) auf ein-
8.2 Lineare Approximation
331
mal berechnet werden; sie nutzt gewisse Eigenschaften der komplexen Einheitswurzeln vorteilhaft aus und arbeitet in dem Fall, dass die Anzahl N + 1 der Wertepaare mit einer Zweierpotenz 2τ (τ ∈ N) u ¨bereinstimmt, am effektivsten. Die Anzahl der n¨otigen Operationen reduziert sich damit von der Gr¨ oßenordnung 2τ · 2τ auf die Gr¨oßenordnung τ ·2τ . Die Effizienz erh¨ oht sich also mit wachsendem τ : Bei 26 = 64 Wertepaaren wird der Aufwand gegen¨ uber einer direkten Berechnung mit gut 4000 (komplexen) Multiplikationen und gleichvielen (komplexen) Additionen auf knapp 23,5 % gedr¨ uckt, wohingegen bei 212 = 4096 Wertepaaren die direkte Berechnung jeweils rund 224 ≈ 16, 8 Millionen derartige Multiplikationen und Additionen erfordert, die FFT aber insgesamt nur etwa 233.500 Operationen, also nur noch 0,7 % davon! Die FFT bedient sich dazu einer komplexen Schreibweise der diskreten Fourierkoeffizienten: Unter Ausnutzung der Eulerschen Formel eix = cos x + i sin x , (0)
wobei i mit i2 = −1 hierbei die imagin¨ are Einheit darstellt, k¨onnen die Koeffizienten ak (0) und bk mit Hilfe der komplexen Gr¨ oßen (komplexe Fourierkoeffizienten) (0)
ck
1 N +1
=
1 N +1
=
N P `=0 N P
f (x` )e−i kωx` k ` −i 2π N+1 f (x` ) e ,
mit x` = `
`=0
L N +1
u arteile folgendermaßen angegeben werden: ¨ ber deren Real- und Imagin¨ (0)
=
(0)
= −2 · Im(ck )
ak bk
(0)
2 · Re(ck ) (0)
Durch fortw¨ahrend geschicktes Zerlegen und erneutes Zusammenfassen auftretender Faktoren bei der Berechnung aller ben¨ otigten komplexen Fourierkoeffizienten l¨asst sich der Rechenaufwand wie oben beschrieben erheblich reduzieren. Im Fall einer geraden Anzahl von Wertepaaren, also N + 1 = 2M , werden dazu die 2M Summen f¨ ur die komplexen Fourierkoeffizienten (0)
ck =
2M −1 1 X f` · Ωk` 2M 2M
−
mit
f` = f (x` ) , Ω2M = e
2π i 2M
,
(8.38)
`=0
k = 0(1)2M −1, auf genausoviele Summen gleicher Struktur zur¨ uckgef¨ uhrt, die jeweils nur noch halb so viele Summanden enthalten. Es gilt n¨amlich f¨ ur die Fourierkoeffizienten mit geraden Inidzes (k = 2j) (0)
c2j =
2M −1 M −1 o 1 X 1 Xn 2j(M +`) 2j` f` · Ω2j` = f · Ω + f · Ω . ` M +` 2M 2M 2M 2M 2M `=0
`=0
Wegen −
2π i 2M · 2j`
−
i 2π M j`
Ω2j` 2M
=
e
2j(M +`)
=
2j` −i 2πj · Ωj` = 1 · Ωj` Ω2jM 2M · Ω2M = e M M
Ω2M
=e
= Ωj` M,
332
8. Lineare und nichtlineare Approximation
folgt daraus (0)
c2j =
M −1 o 1 Xn j` f` · Ωj` , M + fM +` · ΩM 2M `=0
was einer Summe urspr¨ unglichen Typs, jedoch nur halb so umfangreich, entspricht, wenn man f`0 = f` + fM +` , ` = 0(1)M−1 , abk¨ urzt: M −1 1 X 0 j` (0) c2j = f ` · ΩM , j = 0(1)M−1 . (8.39) 2M `=0
Analog ergibt sich f¨ ur die Fourierkoeffizienten mit ungeraden Indizes (k = 2j + 1) (0)
c2j+1 =
2M −1 M −1 o 1 X 1 Xn (2j+1)` (2j+1)` (2j+1)(M +`) f` · Ω2M = f` · Ω2M + fM +` · Ω2M . 2M 2M `=0
`=0
Dies f¨ uhrt mit −
2π i 2M (2j + 1)`
Ω2M
(2j+1)`
=
e
(2j+1)(M +`)
=
Ω2M
Ω2M
(2j+1)M
(2j+1)`
· Ω2M
−
=e
i 2π M j`
−
·e
2π i 2M `
` = Ωj` M · Ω2M ,
j` ` ` = e−i π (2j + 1) · Ωj` M · Ω2M = −ΩM Ω2M
auf (0)
c2j+1 =
M −1 o 1 Xn j` ` f` · Ω`2M Ωj` M − fM +` · Ω2M ΩM 2M `=0
und somit u urzung ¨ ber die Abk¨ f`00 = (f` − fM +` ) Ω`2M ebenfalls auf eine halb so umfangreiche Summation gleicher Struktur: (0)
c2j+1 =
M −1 1 X 00 j` f` · ΩM , 2M
j = 0(1)M−1 .
(8.40)
`=0
(8.39) und (8.40) sind zusammen v¨ ollig ¨ aquivalent zur Ausgangsformel (8.38) und lassen sich bei geradem M in gleicher Weise weiter zerlegen. Ist die Anzahl der gegebenen Wertepaare eine Zweierpotenz, N + 1 = 2τ f¨ ur ein τ ∈ N, so gelingt dieser jeweilige Reduktionsvorgang so lange, bis schließlich die beteiligten Summen nur noch aus einem Summanden bestehen. Im Fall N + 1 = 4 = 22 lauten die Berechnungsgleichungen f¨ ur die komplexen Fourierkoeffizienten demnach c0
(0)
=
(0) c2 (0) c1 (0) c3
= = =
1 4 1 4 1 4 1 4
{f0 + f1 + f2 + f3 } f0 + f1 Ω24 + f2 Ω44 + f3 Ω64 f0 + f1 Ω4 + f2 Ω24 + f3 Ω34 f0 + f1 Ω34 + f2 Ω64 + f3 Ω94
= = = =
1 4 1 4 1 4 1 4
{f00 + f10 } {f00 + f10 Ω2 } {f000 + f100 } {f000 + f100 Ω2 }
8.2 Lineare Approximation wobei
gesetzt wurde. menfassen: (0) c0 (0) c2 (0) c1 (0) c3
f00 f000
333
= =
f0 + f2 , f0 − f2 ,
f10 f100
= f1 + f3 , = (f1 − f3 )Ω4
In Matrixschreibweise l¨ asst sich das folgendermaßen u ¨bersichtlich zusam
=
1 4
=
1 4
=
1 4
1 1 1 1
1 Ω24 Ω4 Ω34
1 1 0 0
1 Ω24 0 0
1 1 0 0
1 Ω2 0 0
1 Ω24 Ω34 Ω4 0 0 0 0 1 1 1 Ω24 0 0 0 0 1 1 1 Ω2 1 1 Ω24 Ω24
f0 f1 f2 f3
1 0 1 0
0 1 0 Ω4
f00 f10 f000 f100
1 0 Ω24 0
0 1 0 Ω34
f0 f1 f2 f3
Hierbei wurden die Identit¨ aten Ω44 = 1, Ω64 = Ω24 = Ω2 = −1, Ω94 = Ω54 = Ω4 und 3 Ω4 = −Ω4 ausgenutzt. Aus speicherplatzsparenden Gr¨ unden wird auf Computern u ¨blicherweise nur ein eindimensionales Feld der L¨ ange N + 1 eingesetzt, das in diesem Fall (N + 1 = 4) folgende Zwischenschritte durchl¨ auft: 0 (0) f0 f0 c0 f f0 (0) 1 1 c2 −→ 00 −→ (0) f2 f0 c1 (0) 00 c3 f3 f1 Das Feld enth¨alt schließlich die komplexen Fourierkoeffizienten, allerdings nicht in durchnummerierter Weise. Der R¨ uckschluss gelingt u ¨ber die sogenannte Bit-Umkehrfunktion: Man spiegelt die Dualzahldarstellung der Indizes 0 = (00)2 , 1 = (01)2 , 2 = (10)2 , 3 = (11)2 ,
gespiegelt: gespiegelt: gespiegelt: gespiegelt:
(00)2 (10)2 (01)2 (11)2
= 0, = 2, = 1, = 3.
Im Fall N + 1 = 8 = 23 w¨ urde ein weiterer Summations-Zerlegungsschritt gleichen Typs sowie eine abschließende Umordnung nach der Bit-Umkehrfunktion auf die 8 komplexen Fourierkoeffizienten in durchnummerierter Reihenfolge f¨ uhren. Geht man von N + 1 = 2τ Daten aus, so sorgen insgesamt τ gleichartige, jeweils aufwandshalbierende Schritte und eine einmalige Bit-Umkehrung am Ende f¨ ur die schnelle Berechnung der Fourierkoeffizienten nach der FFT.
334
8. Lineare und nichtlineare Approximation
Die FFT ist selbst nicht f¨ ur die Handrechnung geeignet und steht vielseitig in gr¨oßeren Programmbibliotheken zur Verf¨ ugung. Diese nutzen in der Regel auch vielf¨altige weitere Eigenschaften (etwa im Fall reeller Daten oder wenn die Anzahl der Daten keine Zweierpotenz ist sowie bei Faltungs- und Korrelationsprozessen) in effizienter Weise aus.
Beispiel 8.27. Bei einem Nachrichten¨ ubertragungssystem wird sich in der Regel das u ¨ bertragene Signal ¨ von dem zur Ubertragung eingegebenen Signal unterscheiden; man spricht dann von ei¨ ner durch das Ubertragungssystem erzeugten Verzerrung. Ist die Verzerrung nichtlinear, so kann man sie nur schwer erfassen. Bei nichtlinearen Verzerrungen enth¨ alt das u ¨bertragene Signal Frequenzkomponenten, die im Eingangssignal nicht vorkommen. Als Maß f¨ ur die nichtlineare Verzerrung kennzeich¨ net der Klirrfaktor die Ubertragungsg¨ ute eines elektronischen Nachrichtenverarbeitungssystems bei einer bestimmten Frequenz. Der Klirrfaktor gibt vom empfangenen Signal das Verh¨altnis des Effektivwertes des nicht im Eingangssignal enthaltenen Schwingungsgehalts zum Effektivwert des Gesamtsignals an und liegt damit immer zwischen 0 und 1. Ist das empfangene Signal unangenehm beeintr¨achtigt, so wird der Klirrfaktor einen relativ großen Wert haben. Nimmt man als Eingangssignal eine Sinusschwingung der Form Sv (t) = v · sin(ωt) , ω = 2π angigkeit der Eingangsspannung v, so ist f¨ ur diese Frequenz der KlirrfakL , in Abh¨ tor gegeben durch rP n o (0) (0) (ak )2 + (bk )2 k≥2
K = rP n k≥1
(0)
(0)
(ak )2 + (bk )2
o ,
(0) (0) wobei ak und bk die Fourierkoeffizienten des u ¨ bertragenen Signals Sev sind. Der Klirr¨ faktor ist von der Eingangsspannung abh¨ angig: K = K(v). Die f¨ ur das Ubertragungssystem optimale Aussteuerung v f¨ ur das eingegebene Signal Sv minimiert den Klirrfaktor K(v). Das verzerrte Signal Sev kann nur in den seltensten F¨allen durch einen analytischen Aus(0) druck beschrieben werden. Deshalb kennt man auch nicht die Fourierkoeffizienten ak und (0) bk dieses Signals. Um dennoch den Klirrfaktor n¨aherungsweise bestimmen zu k¨onnen, ersetzt man die Fourierkoeffizienten durch hinreichend viele diskrete Fourierkoeffizienten, die man berechnen kann, wenn man das u ¨ bertragene Signal zu m¨oglichst vielen gleichabst¨andigen Zeitpunkten abtastet.
Bei dem hier betrachteten Nachrichten¨ ubertragungssystem zeigt das u ¨ bertragene Signal Sev bei der eingegebenen Grundschwingung Sv (t) = v · sin(ωt) f¨ ur verschiedene Werte von v ein Verhalten wie in Abbildung 8.8.
8.2 Lineare Approximation
335
. Sv ....6
v = 0.5
..... .....
.....
1..... ............................
1 ..... ...............................
........................... ........ .............. ....... ....... ........ .......... ........ ........ ......................
.. .......
L
.....
.. .......
t
.....
.....
.....
.....
.....
.....
.....
.....
.....
. Sv ....6
v = 1.2
.....
..... .....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
.. .. ... .. ..... ..... .. .. ..... .... .. . . . ........ .. ... .. .....
..... ..... ..... ..... .....
....... ... ...... ... ... ... ... ... ... ... .. ... . ... .. ... . ... ... .. . ... ... . . . ... ... . . ... . ... ... .... ... ... ... ... ... ... ... ... ... . . ... ... .. . ... ... .. . ... ... . . ... . ... . . ... . ... ... ... .... ... ... ... ... ... . . ... ... .. . ... ... .. . ... ... . . ... . ... ... ... .... ... . .. . ... ... .. . ... .. ... . ... .. . ........
L
t
t
1 ................................................
t
. ....... Sv ....6 ... ...... . ...
L
.....
..... ....... ..... .......................... ....... ........... ..... ..... ..... ..... ..... ..... .... ..... .... .... .... . . . ..... . .... .... ..... ..... ..... ..... ..... . ..... . . . ...... .. ...... ..... .................. ..
................... ....... ....... ....... ....... ........... ....... ....... ....... ........ .. ....... ............. ........
. Sev ....6
.....
L
1
..... .....
.....
1
. Sev ....6
v=5
....................... ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... . ..... . . ..... ..... ... . . ... . . ........................
L
t
. Sev ....6 ..... ..... .....
1 ..................................................... ...
.....
....................................... ... ... ... ... ... ... ... .... ... ... . . ... . ... . . ........ ....................................
L
t
..... ..... ..... .....
Abb. 8.8. Ausgangssignal Sv und u ur verschiedene Werte von v ¨bertragenes Signal Sev f¨ F¨ ur wachsendes v nimmt Sev immer mehr einen rechteckf¨ormigen Verlauf an. Die Begrenzung der Spannung des u ur derartige ¨bertragenen Signals, hier durch den Wert 1, ist f¨ ¨ Ubertragungssysteme charakteristisch. Das u uckweise lineare Signal Sev habe im Nullpunkt die Steigung v. In ¨bertragene, st¨ diesem Beispiel wurde das u ¨ bertragene Signal Sev zu 64 im Periodenintervall [0, L) ¨aquidistant verteilten Zeitpunkten abgetastet und mit Hilfe der FFT die von v abh¨angigen (0) (0) (0) (0) diskreten reellen Fourierkoeffizienten a0 , . . . , a32 und b1 , . . . , b31 des Signals Sev gem¨aß (0) Satz 8.25 (b) bestimmt. Wegen der Symmetrie des empfangenen Signals ist ak = 0 f¨ ur alle k; das verzerrte Signal enth¨ alt keine Kosinus-Schwingungsanteile. Bestimmt man f¨ ur Werte von v zwischen 0.1 und 10 in Abst¨anden von 0.1 zum Eingangssignal Sv (t) = v · sin(ωt)
336
8. Lineare und nichtlineare Approximation
(0) (0) die von v abh¨angigen Fourierkoeffizienten ak und bk des empfangenen Signal Sev und damit den Klirrfaktor, der in diesem Beispiel durch s 31 P (0) (bk )2 k=2
K(v) = s
31 P
k=1
(0)
(bk )2
gegeben ist, so erh¨ alt man den Verlauf f¨ ur K(v) aus Abbildung 8.9. K 6 .....
.. .......................... .......................... .......................... ........... ........... . . . . . . .... ..... ..... ...... ... .... . . . . ... ..... ... ... .... .. .......... ... ..... .... ... ... ... ...... .
0.1
.. ..
.. ..
.. ..
.. ..
.. ..
.. ..
.. ..
.. ..
.. ..
.. ..
1
v
Abb. 8.9. Verhalten des Klirrfaktors in Abh¨angigkeit der Eingangsspannung v Um diejenige Eingangsspannung v anzugeben, f¨ ur die die Ann¨aherung des empfangenen Signals Sev an das eingegebene Signal Sv am gr¨ oßten und damit der Anteil der durch ¨ das Ubertragungssystem in das Signal Sev eingef¨ uhrten Oberwellen“ am geringsten ist, ” ¨ braucht man die Stelle, an der K(v) sein absolutes Minimum annimmt. Uber Interpolation gewinnt man den Wert v = 0.92 und damit f¨ ur den Klirrfaktor die Gr¨oße 0.0445. Abbildung 8.10 zeigt das eingegebene und das empfangene Signal f¨ ur die so ermittelte optimale Aussteuerung v = 0.92. Sv 6 0.92......... .................................. . .... .. ... ...
.................. ..... .... .... .... .... ... .... ... . . ... ... ... ... ... ...... ... ... . ... ... ... . . ... ... .. . ... . ... .. ... . .... . .... ... ..... . . ..... . ..... ...... ... ..........
L
.........
t
Sev 6 1......... ............................. ... ... ... ...
...................... ... ... ... ... ... ... ... .. . . ... ... .. ... ... . ..... ... ... . .. ... ... . . ... ... .. . . ... ... .. ... ... . ... .. ... . ... . .. . .....................
L
.........
t
Abb. 8.10. Ausgangssignal Sv und u ¨bertragenes Signal Sev bei optimaler Aussteuerung (v = 0.92)
8.2.6
Fehlerabsch¨ atzungen fu ¨r lineare Approximationen
Eine sehr flexible Klasse von Funktionen bilden im allgemeinen Fall algebraische Polynome und im periodischen Fall trigonometrische Polynome. Solche Funktionen lassen sich
8.2 Lineare Approximation
337
ohne viel Aufwand auswerten sowie formelm¨ aßig leicht differenzieren und integrieren; sie sind deshalb sehr einfach zu handhaben. Die gleichm¨aßige Approximation beliebiger Funktionen f durch Polynome ist aus diesem Grunde inzwischen ausgiebig untersucht worden. Im Folgenden werden praktikable Ergebnisse dazu zusammengefasst.
8.2.6.1
Gleichm¨ aßige Approximation durch algebraische Polynome
Legt man die Gewichtsfunktion w(x) ≡ 1 zugrunde und bildet C n die Menge aller algebraischen Polynome n X pn (x) = c0 + c1 x + . . . + cn xn = ck xk , ck ∈ R , k=0
(h¨ochstens) n-ten Grades, so besteht nach Abschnitt 8.2.4.1 die Bestimmung der besten gleichm¨aßigen Approximation f¨ ur eine Funktion f ∈ C[a, b] darin, Koeffizienten c∗0 , . . . , c∗n eines Polynoms aus C n n X p∗n (x) = c∗0 + c∗1 x + . . . + c∗n xn = c∗k xk k=0
zu finden, das die maximale absolute Abweichung minimiert vgl. (8.26) : kf − p∗n k∞ = max |f (x) − p∗n (x)| x∈[a,b] = min max |f (x) − pn (x)| pn ∈C n
(8.41)
x∈[a,b]
Man kann zeigen, dass das in diesem Sinne optimale Polynom, das Polynom der besten Approximation, eindeutig bestimmt ist. Leider gibt es keine direkte Methode zur Berechnung der ausgezeichneten Koeffizienten c∗0 , . . . , c∗n , sondern nur ein aufw¨andiges N¨aherungsverfahren (Remez-Algorithmus, siehe z. B. [MUEL1995]). Daher liegt es nahe, fast bestm¨ogliche Approximationspolynome zu betrachten, die konstruktiv angebbar sind. Man beurteilt ihre G¨ ute durch Vergleich mit dem Optimum, das allgemein mit En (f ) = kf − p∗n k∞ = min max |f (x) − pn (x)| (8.42) pn ∈C n
x∈[a,b]
bezeichnet wird und die folgenden Eigenschaften besitzt: • Approximationssatz von Weierstraß: Jede Funktion f ∈ C[a, b] l¨ asst sich beliebig genau durch ein Polynom gen¨ ugend hohen Grades gleichm¨ aßig approximieren, d. h. es gilt lim En (f ) = 0 .
n→∞
• Satz von Jackson: Ist f ∈ C r [a, b] und n > r, so gilt K (r) kf k∞ nr mit einer nur von der Intervalll¨ ange b − a und r abh¨angigen Konstanten K. En (f ) ≤
338
8. Lineare und nichtlineare Approximation
Der Approximationssatz von Weierstraß sagt aus, dass es m¨oglich ist, stetige Funktionen f durch Polynome beliebig genau anzun¨ ahern, und nach dem Satz von Jackson wird der kleinstm¨ogliche Fehler En (f ) f¨ ur wachsendes n schnell klein, wenn f entsprechend oft differenzierbar ist und die h¨ oheren Ableitungen von f betragsm¨aßig nicht zu groß sind. ¨ Uberraschenderweise k¨ onnen Polynome, die bestm¨oglich im quadratischen Mittel ausgleichen, auch hervorragende gleichm¨ aßige Approximationseigenschaften haben. F¨ ur den kontinuierlichen Fall (Abschnitt 8.2.2) gilt n¨ amlich:
Satz 8.28. F¨ ur f ∈ C[−1, 1] und w(x) = Fehler gem¨aß (8.8) kf −
2 p(0) n k2
√ 1 1−x2
= min kf − pn ∈C n
hat das den gewichteten mittleren quadratischen
pn k22
Z1 = min
2 w(x) f (x) − pn (x) dx
pn ∈C n −1
minimierende Polynom n-ten Grades in der Darstellung mit den TschebyscheffPolynomen nach (8.27), (8.29) n X (0) p(0) (x) = ck Tk (x) n k=0
die Koeffizienten Z1 1 (0) c0 = w(x)f (x) dx , π
(0) ck
Z1
2 = π
−1
w(x)Tk (x)f (x) dx ,
k = 1(1)n .
−1
Dieses Polynom gen¨ ugt der Absch¨ atzung 4 (0) kf − pn k∞ ≤ ln n + 2.74 En (f ) . π2
Der Faktor π42 ln n+2.74 w¨ achst außerordentlich langsam mit n; f¨ ur n = 10 hat er fast die Gr¨oße 3.7 und f¨ ur n = 100 ungef¨ ahr 4.6. Mit anderen Worten: Verwendet man Polynome nicht u aßigen Approximation einer Funktion f auf dem ¨ ber 100-ten Grades zur gleichm¨ Intervall [−1, 1], so hat das nach der Gaußschen Fehlerquadratmethode bestimmte Aus(0) gleichspolynom pn auch fast optimale gleichm¨ aßige Approximationseigenschaften; es ist nicht mal um den Faktor 5, also eine halbe Zehnerpotenz, schlechter als das theoretisch bestm¨ogliche Ergebnis. Da die Tschebyscheff-Polynome auf [−1, 1] bez¨ uglich der angegebenen Gewichtsfunktion ein orthogonales Funktionensystem bilden, sind außerdem die (0) ¨ Koeffizienten ck unabh¨ angig vom Grad n des Ausgleichspolynoms, d. h. bei Anderung des Grades bleiben die gemeinsamen Koeffizienten gleich. F¨ ur stetige Funktionen f auf einem beliebigen Intervall [a, b] lautet das Polynom p(0) n (x) =
n X k=0
(0)
ck Tk
2 b + a x− b−a b−a
8.2 Lineare Approximation
339
mit (0) c0
1 = π
Z1 w(x)f
b − a
b + a x+ dx , 2 2
(0) ck
−1
2 = π
Z1 w(x)Tk (x)f
b − a 2
x+
b + a dx . 2
−1 (0)
Ein Nachteil des Ergebnisses von Satz 8.28 besteht darin, dass die Koeffizienten ck u ¨ ber Integrale definiert sind, die wom¨ oglich u ¨berhaupt nicht exakt angegeben werden k¨onnen. Einen Ausweg bietet dann ein Zugang u ¨ber die diskrete Approximation im quadratischen Mittel (Abschnitt 8.2.3), wenn der Polynomgrad n sich der Anzahl der gegebenen Wertepaare x0 , f(x0 ) , x1 , f (x1 ) , . . . , xN , f (xN ) anpasst, d. h. der Grenzfall n = N der Interpolation gew¨ahlt wird, und Einfluss auf die Wahl der Stellen x0 , . . . , xN genommen werden kann:
Satz 8.29. Ist f ∈ [a, b] durch die Wertepaare x0 , f (x0 ) , x1 , f (x1 ) , . . . , xn , f (xn ) mit π a+b xi = b−a cos i + , i = 0(1)n , gegeben, so erf¨ u llt das nach der diskreten 2 n 2 (0) Gaußschen Fehlerquadratmethode bestimmte Ausgleichspolynom pn (x) n-ten Grades die Absch¨atzung 2 (0) kf − pn k∞ ≤ ln n + 2 En (f ) . π Der Faktor π2 ln n + 2 verh¨ alt sich ¨ ahnlich wie der im vorherigen Satz; f¨ ur n = 10 liegt er unter 3.5, f¨ ur n = 100 bei etwa 4.93 und selbst f¨ ur n = 1000 noch knapp unter 6.4. Ist die zugrunde liegende Funktion entsprechend oft differenzierbar, so strebt nach dem Satz von Jackson En (f ) schnell gegen Null, und das nach Satz 8.29 bestimmte Polynom hat f¨ ur gr¨oßere n hervorragende, nahezu optimale gleichm¨aßige Approximationseigenschaften. Da im Fall der Interpolation, d. h. n = N , das Ausgleichspolynom die Fehlerquadratsumme zu Null macht, hat eine besondere Wahl der Gewichte wi im Fehlermaß (8.15) u ur alle i ¨ berhaupt keinen Einfluss; man kann sie ohne weiteres im Sinne von wi = 1 f¨ (0) vernachl¨assigen. Zweckm¨ aßigerweise bestimmt man pn nach Abschnitt 8.2.3.2, also in der Darstellung n X (0) p(0) (x) = ck Qk (x) n k=0
mit zum gegebenen Sachverhalt orthogonalen Polynomen Qk k-ten Grades. Die in Satz 8.29 gew¨ ahlten Stellen i stimmen mit den Extremalstellen des Tschebyscheff x π Polynoms Tn (x), die durch cos i n , i = 0(1)n , gegeben sind (vgl. Abschnitt 8.2.4.2), u n+ 1 Extremal¨ berein, wenn man sie auf das Intervall [a, b] transformiert. Statt dieser 2i+1 π punkte von Tn k¨onnen auch entsprechend die n + 1 Nullstellen cos n+1 2 , i = 0(1)n , des Polynoms Tn+1 gew¨ ahlt werden, f¨ ur die ebenfalls eine Aussage wie im letzten Satz gilt.
340 8.2.6.2
8. Lineare und nichtlineare Approximation Gleichm¨ aßige Approximation durch trigonometrische Polynome
Betrachtet man im nichtperiodischen Fall die gleichm¨aßige Approximation einer Funktion f ∈ C[a, b], so wird nichts u ute f¨ ur Punkte x außerhalb des ¨ber die Approximationsg¨ Intervalls [a, b] ausgesagt. Das ist beim periodischen Sachverhalt grundlegend anders: Wird die L-periodische Funktion f ∈ C[0, L] im Intervall [0, L] durch ein L-periodisches trigonometrisches Polynom vom Grad n n
tn (x) =
a0 X + {ak cos(kωx) + bk sin(kωx)} , 2
ω=
k=1
2π , L
(8.43)
mit einer Genauigkeit ε angen¨ ahert, so weicht tn (x) von f (x) aufgrund derselben Periodizit¨at beider Funktionen sogar f¨ ur alle x ∈ R h¨ochstens nur um ε ab. Somit besteht im Sinne einer gleichm¨ aßigen Approximation analog zu (8.41) die Aufgabe darin, unter allen trigonometrischen Polynomen der Form (8.43) dasjenige t∗n (x) zu finden, das die maximale Abweichung zur Gewichtsfunktion w(x) ≡ 1 minimiert: kf − t∗n k∞
=
max |f (x) − t∗n (x)| = max |f (x) − t∗n (x)| x∈R
x∈[0,L]
=
min kf − tn k∞ tn
Entsprechend (8.42) ist auch hier die Bezeichnung En (f ) = kf − t∗n k∞ = min tn
max |f (x) − tn (x)|
x∈[0,L]
gebr¨auchlich, und man hat sinngem¨ aße Eigenschaften daf¨ ur: • Approximationssatz von Weierstraß: Jede L-periodische Funktion f ∈ C[0, L] l¨asst sich durch ein trigonometrisches Polynom gen¨ ugend hohen Grades der Periode L beliebig genau gleichm¨aßig approximieren, d. h. es gilt lim En (f ) = 0 . n→∞
• Satz von Jackson: Ist f ∈ C r [0, L] L-periodisch und n > r, so gilt mit ω = En (f ) ≤
2π L
π 1 kf (r) k∞ . 2 ω r (n + 1)r
Die Interpretation dieser beiden zentralen Aussagen kann im Prinzip wortw¨ortlich vom algebraischen Fall des letzten Abschnitts u ¨bernommen werden; je glatter die zugrunde liegende Funktion ist, umso besser l¨ asst sie sich durch trigonometrische Polynome gleichm¨aßig ann¨ahern. Die in Abschnitt 8.2.5 behandelte Gaußsche Fehlerquadratmethode f¨ ur periodische Funktionen bringt gleichzeitig u ¨berraschend gute gleichm¨aßige Approximationseigenschaften mit.
8.2 Lineare Approximation
341
Satz 8.30. F¨ ur L-periodische Funktionen f ∈ C[0, L] und w(x) ≡ 1 hat das den mittleren quadratischen Fehler gem¨ aß (8.8) ZL 2 (0) 2 2 kf − tn k2 = min kf − tn k2 = min f (x) − tn (x) dx tn
tn ∈C
0
minimierende trigonometrische Polynom n-ten Grades der Periode L n
(0)
t(0) n (x) =
X (0) a0 (0) + {ak cos(kωx) + bk sin(kωx)} , 2
ω=
k=1
2π , L
nach Satz 8.23 die Koeffizienten (Fourierkoeffizienten von f ) (0)
ak
(0)
bk
= =
2 L 2 L
RL 0 RL
f (x) cos(kωx) dx ,
k = 0(1)n ,
f (x) sin(kωx) dx ,
k = 1(1)n .
0
Dieses Polynom gen¨ ugt der Absch¨ atzung 4 (0) kf − tn k∞ ≤ ln n + 2.74 En (f ) . π2
Dieses Ergebnis gleicht v¨ ollig dem aus Satz 8.28 im algebraischen Fall; die den mittleren (0) quadratischen Fehler minimierende Teilsumme tn der Fourierreihe von f hat gleichzeitig auch fast optimale gleichm¨ aßige Approximationseigenschaften. Die diskreten Fourierkoeffizienten nach Satz 8.25 gehen aus den Fourierkoeffizienten von f nach Satz 8.23 durch Anwendung der ¨ aquidistant zusammengesetzten Trapezregel auf deren Integrale hervor. Nach der Euler-MacLaurinschen Summenformel (vgl. Abschnitt 14.5) erweist sich diese Quadraturformel als die optimale beim vorliegenden periodischen Sachverhalt, so dass sich die diskreten Fourierkoeffizienten von den Fourierkoeffizienten von f um so wenig unterscheiden, wie es die Funktion f nur zul¨asst: Die Abweichungen liegen absolut genommen unter 2En (f ). Damit stellt auch die diskrete Fourierteilsumme Ψ(0) , die mit dem Grenzfall der trigonometrischen Interpolation nach Satz 8.25 u ¨bereinstimmt, ebenfalls eine hervorragende gleichm¨aßige Approximationsfunktion dar; sie erf¨ ullt eine Absch¨atzung der Form kf − Ψ(0) k∞ ≤ K · ln n · En−1 (f ) , mit einer von n und f unabh¨ angigen Konstante K, was qualitativ der Aussage aus Satz 8.30 entspricht. Bei der Bestimmung von Ψ(0) k¨ onnen keine Schwierigkeiten mehr auftreten – im Gegenteil: Ihre Berechnung kann mit Hilfe der FFT effizient erfolgen.
342
8.3
8. Lineare und nichtlineare Approximation
Diskrete nichtlineare Approximation
Ist die Approximationsfunktion Φ nicht von der Gestalt (8.2) Φ(x, c0 , c1 , . . . , cn ) = c0 ϕ0 (x) + . . . + cn ϕn (x) mit gegebenen, linear unabh¨ angigen Funktionen ϕk , sondern h¨angen die ϕk ihrerseits 4 wieder von freien Parametern ab z. B. Φ(x, c) = c0 + c1 ec2 (x−c3 ) + c4 ln(c5 x) , so f¨ uhrt die Minimierung N X 2 ! D 2 (c0 , c1 , . . . , cn ) = wi f (xi ) − Φ(xi , c) = Min. (8.44) i=0
im Allgemeinen auf ein nichtlineares Gleichungssystem f¨ ur die optimalen Koeffizienten (0) ck : ∂D 2 (0) (c , . . . , c(0) ur j = 0(1)n. (8.45) n ) = 0 f¨ ∂cj 0 In einigen Spezialf¨ allen l¨ asst sich die nichtlinare Modellfunktion Φ durch eine geeignete Transformation in ein lineares Modell der Gestalt (8.2) u uhren (s. Abschnitt 8.3.1), ¨berf¨ in den anderen F¨allen kann das nichtlineare System z. B. mit dem ged¨ampften NewtonVerfahren bzw. mit einer Kombination aus der Householder-Transformation und dem ged¨ampften Newton-Verfahren gel¨ ost werden.
8.3.1
Transformationsmethode beim nichtlinearen Ausgleich
Liegt ein nichtlineares Modell Φ(x, c) z. B. der Gestalt Φ1 (x, c0 , c1 ) = 1/(c0 + c1 ln x) oder
2 3 Φ2 (x, c) = ec0 + c1 x + c2 x + c3 x
vor, dann w¨ urde die Minimierung (8.44) auf ein nichtlineares System f¨ ur die optimalen (0) Koeffizienten ck f¨ uhren. Transformiert man jedoch das Modell Φ1 mit T (Φ1 ) = 1/Φ1 = e 1 , so erh¨alt man das lineare Modell Φ e 1 (x, c0 , c1 ) = c0 + c1 ln x ; Φ e 2 , so f¨ transformiert man Φ2 mit T (Φ2 ) = ln Φ2 = Φ uhrt das auf das lineare Modell e 2 (x, c) = c0 + c1 x + c2 x2 + c3 x3 . Φ Statt der Fehlerquadratsumme D2 (c0 , c1 , . . . , cn ) =
N X i=0
wi f (xi ) − Φ(xi , c)
2
8.3 Diskrete nichtlineare Approximation
343
mit der nichtlinearen Modellfunktion Φ minimiert man jetzt die transformierte Fehlerquadratsumme N X 2 e 2 (c0 , c1 , . . . , cn ) = D w ei T f (xi ) − T Φ(xi ) i=0 N X
=:
e i , c) w ei fe(xi ) − Φ(x
2
i=0
e so dass sich die Koeffizienten c(0) der besten Appromit der linearen Modellfunktion Φ, k e (0) aus einem linearen Gleichungssystem ergeben. Um dabei die Forderung ximation Φ (0)
!
(0)
(0)
(0)
(0) e2 D 2 (c0 , c1 , . . . , c(0) n ) = D (c0 , c1 , . . . , cn )
zumindest n¨aherungsweise zu erf¨ ullen, muss man mit Gewichten w ei arbeiten, die sich aus der folgenden Formel ergeben (vgl. [SPAT1974]): w ei =
wi T 0 2 (Φ)|Φ=f (xi )
.
(8.46)
Algorithmus 8.31. (Transformationsmethode) Gegeben: Wertepaare xi , f(xi ) und Gewichte wi > 0, i = 0(1)N , und eine nichtlineare Modellfunktion Φ. Gesucht: Beste Approximation Φ(0) mit N 2 ! P D2 (c0 , c1 , . . . , cn ) = wi f (xi ) − Φ(xi , c) = Min. i=0
1. Schritt: Wahl einer Transformation T so, dass gilt N P e mit Φ(x) e T (Φ) =: Φ = ck ϕ ek (x) (lineares Modell). k=0
2. Schritt: Berechnung der transformierten Gewichte w ei aus der Formel (8.46). (0) (0) e 3. Schritt: Berechnung der Koeffizienten c von Φ aus den Normalgleichungen k
··· ···
(ϕ e0 , ϕ e0 ) (ϕ e1 , ϕ e0 ) .. .
(ϕ e0 , ϕ e1 ) (ϕ e1 , ϕ e1 ) .. .
(ϕ en , ϕ e0 )
(ϕ en , ϕ e1 ) · · ·
mit (ϕ ej , ϕ ek ) := (fe, ϕ ej ) :=
N P i=0
N P i=0
(0) c0 (0) c1 . .. (0) (ϕ en , ϕ en ) cn (ϕ e0 , ϕ en ) (ϕ e1 , ϕ en ) .. .
w ei ϕ ej (xi )ϕ ek (xi )
w ei fei ϕ ej (xi ) mit fei = T f (xi ) . (0)
4. Schritt: Einsetzen der ck in Φ(0) .
=
(fe, ϕ e0 ) e (f , ϕ e1 ) .. . e (f , ϕ en )
344
8. Lineare und nichtlineare Approximation
Gegebenenfalls sollte die L¨ osung der Normalgleichungen im 3. Schritt mit Hilfe der Householder-Transformation (s. Abschnitt 8.2.3.4) erfolgen, um eine (das Ergebnis verf¨alschende) Anh¨aufung von Rundungsfehlern bei der direkten L¨osung der Normalgleichungen zu vermeiden. Weitere Spezialf¨alle zur Erzeugung eines linearen Ausgleichs sind in [SPAT1974] zu finden.
Beispiel 8.32. Gegeben: Die folgende Wertetabelle i
0
1
2
xi
1
e
e2
fi = f (xi )
1
2
3
und außerdem die Modellfunktion Φ(x; a, b) =
p
a ln(bx) .
Gesucht:
Mit Hilfe der diskreten Gaußschen Fehlerquadratmethode die optimalen Werte f¨ ur a und b in der Modellfunktion Φ.
L¨osung:
Die Vorgehensweise erfolgt nach Algorithmus 8.31. 1. a ln(bx) = a(ln b + ln x) = a ln b + a ln x = c0 + c1 ln x √ ⇒ Φ(x; c0 , c1 ) = c0 + c1 ln x e = c0 + c1 ln x mit ϕ0 (x) = 1, ϕ1 (x) = ln x 2. T (Φ) = Φ2 = Φ e aufstellen: Die Minimierung des (8.15) entspre3. Normalgleichungen f¨ ur Φ chenden Ausdrucks 2 X e2 = e i) D w ei fei − Φ(x i=0
f¨ uhrt im Fall der Gleichgewichtung (wi = 1 f¨ ur alle i) mit wi 1 1 w ei = = = 2 2 d 4Φ |Φ=fi 4fi2 T (Φ) dΦ Φ=fi
und ϕ0 (x) = 1, ϕ1 (x) = ln x gem¨aß (8.16) auf das lineare Gleichungssystem: 2 2 2 X X X 1 (0) ln xi (0) fi2 + = 2 c0 2 c1 4fi 4fi 4fi2 i=0 i=0 i=0 2 X ln xi
(0) 2 c0 4f i i=0
+
2 X ln2 xi i=0
(0) c 4fi2 1
=
2 X f 2 ln xi i
i=0
4fi2
.
Nach jeweiliger Multiplikation mit 4 lautet es in Matrixform, wenn die gegebenen Werte eingesetzt werden:
8.3 Diskrete nichtlineare Approximation
49 36 17 36
345
! (0) c 0 = (0) c1
17 36 25 36
3 3
! .
Als L¨ osungen ergeben sich daraus (auf 4 Dezimalstellen genau): (0)
c0 =
108 = 0.9231 , 117
(0)
c1 =
432 = 3.6923 117
Damit erh¨ alt man als optimale Ausgleichsfunktion des nichtlinearen Modells u ¨ber (0) (0) (0) a(0) = c1 , b(0) = ec0 /c1 die Funktion Φ(0) (x)
q
=
432
ln(e1/4 x) 432 1 + ln x . 117 4
q 117
=
Beispiel 8.33. Gegeben: Messwerte (∆pi , Qi ) =: (xi , fi ) mit ∆pi = Druckdifferenz in bar und Qi = Volumenstrom (in l/min) f¨ ur eine Drosselventil-Kennlinie in der Hydraulik. Modellfunktion: p √ Q(∆p) = A B ∆p ⇒ Φ(x; A, B) = A B x (Die Modellfunktion ist nichtlinear, da sie sich nicht in der Form Φ = c1 ϕ1 (x) + c2 ϕ2 (x) darstellen l¨ asst.) Wertetabelle mit den Messwerten:
2
Q l/min
0
0.91
1.31
1.80
2.30
2.83
3.32
3.79
4.23
4.45
∆p bar
0
4.0
8.0
14.0
22.5
34.0
46.5
59.5
74.0
83.0
Gesucht:
Optimale Werte f¨ ur A, B zu dieser Wertetabelle.
L¨osung:
Es wird eine Transformation T gesucht, die den vorgegebenen Ansatz auf ein lineares Modell u uhrt. Dies gelingt u ¨berf¨ ¨ber 1 T (Φ) = ln Φ = ln A + ln x = c0 + c1 ln x B mit A = ec0 und B = 1/c1 , wenn man das erste Wertepaar (0,0) außer Acht l¨asst. Das ist ohne Einschr¨ ankung m¨oglich, da der Modellfunktionsansatz diesen Punkt schon gew¨ ahrleistet. Die transformierte Approximationsfunktion lautet dann e c0 , c1 ) = c0 + c1 ln x . Φ(x;
2 Die
Messungen wurden im Hydraulik-Labor der Fachhochschule Aachen durchgef¨ uhrt.
346
8. Lineare und nichtlineare Approximation Statt D2 (A, B) =
9 X
wi fi − Φ(xi ; A, B)
2
i=1
wird nun der Ausdruck 9 9 X 2 X e 2 (c0 , c1 ) = D w ei T (fi ) − T (Φ) = w ei (ln fi − c0 − c1 ln xi )2 | {z } i=1
i=1
e Φ
minimiert. Die Berechnung der Gewichte w ei = T (Φ) = ln Φ
⇒ T 0 (Φ) =
1 Φ
⇒ T 02 (Φ) =
Damit erh¨ alt man w ei =
wi erfolgt u ¨ber T 02 (Φ)|Φ=fi 1 Φ2
⇒ T 02 (Φ)|Φ=fi =
1 . fi2
wi = fi2 wi , 1/fi2
und mit ϕ0 (x) = 1, ϕ1 (x) = ln x lauten die zugeh¨origen Normalgleichungen gem¨aß (8.16) bzw. (8.18) in Matrixform
9 P
i=1 9 P i=1
9 P
w ei
i=1 9 P
w ei ln xi
i=1
w ei ln xi
w ei (ln xi )2
(0) c0 (0)
c1
9 P
i=1 = 9 P i=1
w ei ln fi w ei ln fi ln xi
.
Im Folgenden sollen 2 Gewichtungen unterschieden werden: (I) wi = f12 (d. h. es werden die aufsummierten relativen Fehlerquadrate i minimiert). Damit ergibt sich w ei = 1 f¨ ur alle i, und die Normalgleichungen vereinfachen sich zu ! (0) ! P P 9 ln xi c0 ln fi = P P P (0) ln xi (ln xi )2 ln fi · ln xi c1
⇒
⇒
(0) c0
= −0.812 105 862 ⇒
c(0) 1
=
A(0)
=
0.524 379 166 ⇒ B (0)
=
Φ (x; A(0) , B (0) ) bzw. Q (∆p; A
(0)
,B
(0)
)
= =
(0)
ec0
1 (0) c1
0.4439222422 · 0.44392 · (∆p)
=
0.4439 222 422
=
1.907 017 030 √
1.907017030
0.52438
x
8.3 Diskrete nichtlineare Approximation
347
(II) wi = 1 (d. h. es werden alle Messungenauigkeiten gleichgewichtet). Daraus folgt w ei = fi2 und somit f¨ ur die Normalgleichungen ! (0) ! P 2 P 2 P 2 fi fi ln xi c0 fi ln fi = P 2 P 2 P 2 (0) fi ln xi fi (ln xi )2 fi ln fi ln xi c1
⇒
(0) c0
= −0.785 062 253 ⇒
c(0) 1
=
A(0)
=
0.517 036 160 ⇒ B (0)
=
Φ (x; A(0) , B (0) )
⇒
bzw. Q (∆p; A
(0)
,B
(0)
)
= =
(0)
ec0
1 (0) c1
=
0.456 091 308
=
1.934 100 700 √
0.456091308 ·
1.934100702
0.45609 · (∆p)
0.51704
x
Die resultierende Approximationsfunktion unterscheidet sich, wie Abbildung 8.11 zeigt, zun¨ achst nicht wesentlich von der zuvor ermittelten Approximation gleichen Typs, die die Summe der relativen Fehlerquadrate minimiert. Gr¨ oßere Differenzen werden allerdings dann sichtbar, wenn man gr¨ oßere Werte f¨ ur ∆p einsetzt (Extrapolation!). Volumenstrom Q in l/min 6 4.5 ........ 4.0 3.5 3.0 2.5 2.0 1.5 1.0 0.5
... ............ ........... ......... .......... . . . . . . . ........ ......... ........ .......... ........ ......... . . . . . . . . ...... ........ ........ ........ ....... ........ . . . . . . . . . .. .......... ....... ....... ....... ....... ............................. ........ . . . . . ... ....... ...... ........ . . . . . . .. ....... ...... ...... ...... ........ ...... ...... ...... ..... . . . . . ... . . . . ....... ..... ........ ...... .... ...... . . . . .... ..... .... ........ ...... ... . . . ... .... ..... .... ........ ..... . ... .. ... .. ... . . .......... . ... ... .... .. .. .. .. .. .. .. .. ... . . . . . . . .
(I)
(II)
10
20
30
40
50
60
Abb. 8.11. Ausgleichskurven der Form A · Gewichtungen
70 √
B
80 Druckdifferenz ∆p in bar
∆p zu zwei unterschiedlichen
348
8.3.2
8. Lineare und nichtlineare Approximation
Nichtlinearer Ausgleich im quadratischen Mittel
L¨asst sich eine geeignete Transformation der in den Koeffizienten ck nichtlinearen Approximationsfunktion Φ(x, c) = Φ(x, c0 , c1 , . . . , cn ) gem¨aß Abschnitt 8.3.1 nicht finden, so f¨ uhrt bei gegebenen Wertepaaren xi , f (xi ) , i = 0(1)N , N ≥ n, die Minimierung (8.44) auf ein nichtlineares Gleichungssystem (8.45) f¨ ur die optimalen Koeffizienten der nichtlinearen Approximationsfunktion Φ. Dieses nichtlineare Gleichungssystem kann z. B. mit dem ged¨ampften Newton-Verfahren gel¨ost werden, wobei die dabei entstehenden linearen Systeme entweder mit dem Gaußschen Algorithmus oder mit der Householder-Transformation (vgl. Abschnitt 4.13) behandelt werden k¨onnen. Der zweite Weg ist vorzuziehen, da durch die HouseholderTransformation die L¨ osungsbestimmung durch eine m¨ogliche schlechte Kondition der Matrix des linearen Systems nicht weiter beeintr¨ achtigt wird. (0)
Vom Anwender m¨ ussen n + 1 Startwerte f¨ ur die Koeffizienten ck , k = 0(1)n, vorgegeben werden sowie N + 1 Gewichte wi zu den Wertepaaren xi , f (xi ) , i = 0(1)N , sofern nicht alle wi = 1 gesetzt werden sollen. Die partiellen Ableitungen, die f¨ ur den Aufbau der Funktionalmatrix im Newton-Verfahren ben¨ otigt werden, k¨onnen gegebenenfalls auch u ahert werden. ¨ ber einen Differenzenquotienten angen¨
8.4
Entscheidungshilfen
Bei der diskreten linearen und nichtlinearen Approximation im quadratischen Mittel kommt es in erster Linie auf die Qualit¨ at der Modellfunktion an. Kann ein gutes Modell nicht mit ausreichender Sicherheit angegeben werden, so sollte man mit Ausgleichssplines arbeiten (s. Kapitel 10). In den F¨ allen, in denen sich algebraische Polynome als Modellfunktion eignen, sollte der Ausgleich unter Verwendung orthogonaler Polynome (vgl. Abschnitt 8.2.3.2) durchgef¨ uhrt werden. Im Falle der nichtlinearen Approximation kann die L¨osung eines nichtlinearen Gleichungssystems umgangen werden, wenn sich die Modellfunktion durch eine Transformation in ein lineares Modell u uhren l¨ asst. In allen anderen F¨allen muss nichtlinear gerechnet ¨berf¨ werden, m¨oglichst unter Verwendung der Householder-Transformation (Abschnitt 8.3.2). Im Fall periodischer Funktionen bieten sich trigonometrische Polynome als Approximationsfunktionen an (Abschnitt 8.2.5). Liegen diskrete Wertepaare an ¨aquidistant verteilten St¨ utzstellen vor, so gelingt diese Approximation sehr effizient mit Hilfe der Schnellen Fourier-Transformation (FFT, s. Abschnitt 8.2.5.3). Um hervorragende gleichm¨ aßige Approximationseigenschaften durch algebraische Polynome zu erzielen, ist die Wahl der Gewichtsfunktion bzw. der St¨ utzstellen im diskreten
8.4 Entscheidungshilfen
349
Fall bedeutsam (Abschnitt 8.2.6.1). Analoge Aussagen f¨ ur periodische Funktionen bleiben mit der FFT verbunden (Abschnitt 8.2.6.2).
Erg¨ anzende Literatur zu Kapitel 8 [BOOR2001]; [BRIG1997]; [BUTZ2003]; [DAHM2008], Kap.4; [DEUF2002] Bd.1, Kap.3; [HAMM1994], 4.; [LOUI1998]; [MUWI1999]; [OPPE1992]; [PLAT2000], Kap.3; [PREU2001], Kap.6; [QUAR2002] Bd.2, Kap.10; [SCHW1997], 4.3, 7; [STOE2002]; [STOE2002A], 4.8; [TORN1990] Bd. 2, 11.4-11.8.
Kapitel 9
Polynomiale Interpolation sowie Shepard-Interpolation
9.1
Aufgabenstellung
Gegeben sind n + 1 Wertepaare (xi , yi ) mit xi , yi ∈ R, i = 0(1)n, in Form einer Wertetabelle: i 0 1 2 ... n xi x0 x1 x2 ... xn yi y0 y1 y2 ... yn Die St¨ utzstellen xi seien paarweise verschieden, aber nicht notwendig a¨quidistant und auch nicht notwendig in der Anordnung x0 < x1 < x2 . . . < xn . Die Wertepaare (xi , yi ) heißen Interpolationsstellen. Gesucht ist ein algebraisches Polynom Φ m¨ oglichst niedrigen Grades, das an den St¨ utzstellen xi die zugeh¨ origen St¨ utzwerte yi annimmt. Es gilt der Satz 9.1. (Existenz- und Eindeutigkeitssatz ) Zu n + 1 Interpolationsstellen (xi , yi ) mit den paarweise verschiedenen St¨ utzstellen xi , i = 0(1)n, gibt es genau ein Polynom Φ: n X Φ(x) = ck xk , ck ∈ R, (9.1) k=0
mit der Eigenschaft Φ(xi ) =
n X
ck xki = yi ,
i = 0(1)n.
(9.2)
k=0
Φ heißt das Interpolationspolynom zu dem gegebenen System von Interpolationsstellen; Φ(xi ) = yi f¨ ur i = 0(1)n sind die Interpolationsbedingungen.
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_9, © Springer-Verlag Berlin Heidelberg 2011
352
9. Polynomiale Interpolation sowie Shepard-Interpolation
Beweis. (9.2) ist ein lineares inhomogenes Gleichungssystem f¨ ur die ck . Es lautet mit
A=
x0 x1 .. .
x20 x21 .. .
1 xn
x2n
1 1 .. .
Ac = y n
x0 xn1 .. .
···
xnn
,
c=
c0 c1 .. .
,
y =
cn
y0 y1 .. .
.
yn
Die Determinante der Matrix A ist eine sogenannte Vandermondesche Determinante, die sich in der Form Y det A = (xi − xj ) i>j
darstellen l¨asst (siehe [ZURM1997], S.150). Da nach Voraussetzung die xi paarweise verschieden sind, ist det A 6= 0. Also sind die ck und damit auch das Polynom (9.1) eindeutig bestimmt. Falls alle yi = 0 sind, hat das homogene System (9.2) wegen det A 6= 0 nur die triviale L¨osung ck = 0 f¨ ur alle k, d. h. Φ(x) ≡ 0. Damit ist der Satz bewiesen. Sind von einer (beispielsweise empirischen) Funktion f ∈ C[a, b] an den n+1 St¨ utzstellen xi ∈ [a, b] die St¨ utzwerte f (xi ) bekannt, und ist Φ ∈ C[a, b] das Interpolationspolynom zu den Interpolationsstellen xi , yi = f (xi ) , d. h. es gilt Φ(xi ) = f (xi ) = yi , so trifft man die Annahme, dass Φ die Funktion f in [a, b] ann¨ahert. Die Ermittlung von Werten Φ(x) zu Argumenten x ∈ [a, b], x 6= xi , nennt man Interpolation; liegt x außerhalb [a, b], so spricht man von Extrapolation. y6
Interpolationsstellen
... ..... ..... ..... 1 1 . . . . . . . . . . . . . . . .......... ..... .......... 3 3 ... .............. ....... ........ .. ...... ...... ....... ............................................. .... ...... ... ................ ........... ...... . ...... . . . . . . . . . . ......... ...... 4 ..... .... . . . ....... . . . . . . . . ...... ....... ... ...... 0............. 2 2 ............... ... ....... ........ .. .. ... ......... .... . . .. ........... ..... . . . . . . . . . . . . . . . . . . .......... ........................... .... .... .... . ... . .... .... ... ...... .. 0 1 3 ... 2 . 4 .... .. .... .... .... .. .... ... ... .... ... ... . . . . . .
(x , y ) b
x, Φ(x) r (x , y ) b y
(x0 , y ) b
y
y
b x0
b x1
r x
b x2
(x , y ) b
y = Φ(x) (x , y4 ) b
y
y
b x... 3
b x4 ...
...
St¨ utzwerte x
St¨ utzstellen Abb. 9.1. Interpolation Im Folgenden werden verschiedene Darstellungsformen (Interpolationsformeln) f¨ ur das eindeutig bestimmte Interpolationspolynom zu n + 1 Interpolationsstellen angegeben. Bemerkung. (Hermite-Interpolation) Ist zu jedem xi , i = 0(1)n, xi ∈ [a, b], statt des (m ) einen St¨ utzwertes yi ein (mi + 1)-Tupel von Zahlen (yi , yi0 , . . . , yi i ) gegeben, dann heißt das Interpolationspolynom H mit den k-ten Ableitungen (k)
H (k) (xi ) = yi
f¨ ur k = 0(1)mi ,
i = 0(1)n,
Hermitesches Interpolationspolynom (s. [WERN1993], S.7-16).
9.2 Interpolationsformeln von Lagrange
9.2 9.2.1
353
Interpolationsformeln von Lagrange Lagrangesche Formel fu ¨r beliebige Stu ¨tzstellen
Φ wird mit von yk unabh¨ angigen Lk in der Form angesetzt n X Φ(x) ≡ L(x) = Lk (x)yk .
(9.3)
k=0
An den St¨ utzstellen xi muss wegen der Interpolationsbedingungen Φ(xi ) = yi , i = 0(1)n, gelten, also n X L(xi ) = Lk (xi ) yk = yi , i = 0(1)n. k=0
Daran erkennt man (durch Koeffizientenvergleich bei den yk ) die Beziehungen 1 f¨ ur k = i, Lk (xi ) = 0 f¨ ur k 6= i. Allgemein wird dies erf¨ ullt mit den folgenden Lk (x − x0 )(x − x1 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xn ) Lk (x) = (x − x )(x − x ) . . . (x − x k 0 k 1 k k−1 )(xk − xk+1 ) . . . (xk − xn ) n Y x − xi = . x − xi i=0 k
(9.4)
i6=k
Die Lk sind Polynome vom Grad n, so dass Φ ≡ L ein Polynom vom H¨ochstgrad n ist. (9.3) ist die Interpolationsformel von Lagrange f¨ ur beliebige St¨ utzstellen. Die Auswertung von Lk (x)yk erfordert n Multiplikationen. Insgesamt sind f¨ ur L(x) also (n+1)n Multiplikationen auszuf¨ uhren. Bei der Newton’schen Interpolationsformel (Abschnitt 9.5) gen¨ ugen n Multiplikationen.
Algorithmus 9.2. (Interpolationsformel von Lagrange) Gegeben: (xi , yi ), i = 0(1)n, xi 6= xk f¨ ur i 6= k Gesucht:
Interpolationsformel von Lagrange
1. Schritt: Ermittlung der Lk , k = 0(1)n, nach Formel (9.4). 2. Schritt: Aufstellen der Interpolationsformel L gem¨aß Formel (9.3).
Bemerkung. Bei Hinzunahme einer Interpolationsstelle m¨ ussen alle Lk (x) neu berechnet werden. Deshalb hat die Methode eher theoretische als praktische Bedeutung, s. Abschnitt 9.8.
354
9. Polynomiale Interpolation sowie Shepard-Interpolation
Beispiel 9.3. Gegeben:
Gesucht:
Die folgende Wertetabelle der Funktion f : f (x) = 1/(1 + x2 ): i
0
1
2
xi
0
0.5
1
f (xi ) = yi
1
0.8
0.5
Die zugeh¨ orige Interpolationsformel von Lagrange L(x) und der Fehler |f (0.8) − L(0.8)|.
L¨osung: 1. Schritt: Ermittlung der Lk (x) nach Algorithmus 9.2 und Formel (9.4): L0 (x) =
(x − x1 )(x − x2 ) (x − 0.5)(x − 1) = = 2 (x − 0.5)(x − 1), 0.5 (x0 − x1 )(x0 − x2 )
L1 (x) =
(x − x0 )(x − x2 ) x(x − 1) = = −4 x (x − 1), (x1 − x0 )(x1 − x2 ) −(0.5)2
L2 (x) =
(x − x0 )(x − x1 ) x(x − 0.5) = = 2 x (x − 0.5). 0.5 (x2 − x0 )(x2 − x1 )
2. Schritt: Aufstellen der Interpolationsformel L(x) =
2 X
Lk (x)yk = 2(x − 0.5)(x − 1) − 3.2x(x − 1) + x(x − 0.5) .
k=0
L¨osung:
Berechnung von L(0.8) und von |f (0.8) − L(0.8)|. L(0.8) = −0.12 + 0.512 + 0.24 = 0.632 . Da f (x) im vorliegenden Fall bekannt ist, kann man den absoluten Fehler |f (x) − L(x)| bestimmen. F¨ ur x = 0.8 ist |f (0.8) − L(0.8)| ≤ |0.610 − 0.632| = 0.220 · 10−1 ; dieser Wert liegt zwischen den entsprechenden Werten, die sich bei der Approximation derselben Funktion nach der kontinuierlichen und der diskreten Fehlerquadratmethode ergaben (Beispiele 8.8 und 8.15).
Lineare Interpolation F¨ ur die Interpolationsstellen (x0 , y0 ), (x1 , y1 ) wird die Interpolationsformel von Lagrange mit dem H¨ochstgrad n = 1 bestimmt. Mit (9.4) wird L0 (x) =
x − x1 , x0 − x1
L1 (x) =
x − x0 , x1 − x0
9.2 Interpolationsformeln von Lagrange
355
so dass die Interpolationsformel lautet y0 x0 − x 1 y1 x1 − x X x − x1 x − x0 L(x) = Lk (x)yk = y0 + y1 = x0 − x1 x1 − x0 x1 − x0
.
(9.5)
k=0
9.2.2
Lagrangesche Formel fu aquidistante Stu ¨r ¨ ¨tzstellen
Die St¨ utzstellen xi seien ¨ aquidistant mit der festen Schrittweite h = xi+1 − xi , i = 0(1)n−1. Dann ist xi = x0 + hi, i = 0(1)n, und es wird gesetzt t ∈ [0, n].
x = x0 + ht, Damit erh¨alt man f¨ ur (9.4) Lk (x) =
n Y t−i e k (t) = t(t − 1) . . . (t − k + 1)(t − k − 1) . . . (t − n) . =: L k − i k!(−1)n−k (n − k)! i=0
(9.6)
i6=k
Die Interpolationsformel von Lagrange f¨ ur ¨ aquidistante St¨ utzstellen lautet somit ! ! n n n n−k X Y X (−1) y k e = e k (t)yk = L(t) L (t − i) . k!(n − k)!(t − k) i=0
k=0
k=0
Beispiel 9.4. (Fortsetzung von Beispiel 9.3) Gegeben: Die folgende Wertetabelle i
0
1
2
xi
0
0.5
1
yi
1
0.8
0.5
Gesucht:
e f¨ Der Wert L(0.8) nach der Lagrange-Interpolationsformel L(t) ur ¨aquidistante St¨ utzstellen.
L¨osung:
e k nach (9.6) wie folgt: Mit h = 0.5, t ∈ [0, 2], ergeben sich die L e0 (t) = t − 1 L 0−1 0 e L1 (t) = 1t − −0 e2 (t) = t − 0 L 2−0
t−2 1 0 − 2 = 2 (t − 1) (t − 2), t−2 1 − 2 = −t (t − 2), t−1 1 2 − 1 = 2 t (t − 1).
356
9. Polynomiale Interpolation sowie Shepard-Interpolation F¨ ur das Lagrangesche Polynom erh¨ alt man 2 e = PL e k (t) yk = 0.5 (t − 1) (t − 2) − 0.8 t (t − 2) + 0.25 t (t − 1) . L(t) k=0
− 0 = 2x , Wegen x = x0 + ht gilt t = x − x0 = x0.5 h so dass man f¨ ur x = 0.8 und mit h = 0.5 den Wert t = 1.6 erh¨alt. e e Eingesetzt in L(t) folgt L(0.8) = L(1.6) = 0.632, wie es auch nach Beispiel 9.3 zu erwarten war.
9.3
Aitken-Interpolationsschema fu ¨ r beliebige Stu ¨tzstellen
Wenn zu n + 1 gegebenen Interpolationsstellen (xi , yi ) mit nicht notwendig a¨quidistanten St¨ utzstellen xi nicht das Interpolationspolynom Φ selbst, sondern nur sein Wert Φ(x) an einer Stelle x ben¨ otigt wird, so benutzt man zu dessen Berechnung zweckm¨aßig das Interpolationsschema von Aitken. Den Wert Φ(x) des Interpolationspolynoms findet man durch fortgesetzte Anwendung der linearen Interpolation (9.5). Das zu (x0 , y0 ) und (x1 , y1 ) geh¨orige lineare Interpolationspolynom wird mit P01 bezeichnet. Es ist y 0 x0 − x 1 . P01 (x) = x1 − x0 y 1 x1 − x Sind x0 , xi zwei verschiedene St¨ utzstellen, so gilt f¨ ur das zugeh¨orige lineare Interpolationspolynom P0i : y 0 x0 − x 1 = Pi0 (x), i = 1(1)n, i fest, P0i (x) = (9.7) xi − x0 y i xi − x und es sind P0i (x0 ) = y0 , P0i (xi ) = yi , d. h. P0i l¨ost die Interpolationsaufgabe f¨ ur die beiden Wertepaare (x0 , y0 ), (xi , yi ). Unter Verwendung zweier linearer Polynome P01 und P0i f¨ ur i ≥ 2 werden Polynome P01i vom H¨ochstgrad zwei erzeugt mit P01 (x) x1 − x 1 , i = 2(1)n, i fest. P01i (x) = (9.8) xi − x1 P0i (x) xi − x P01i ist das Interpolationspolynom, das die Interpolationsaufgabe f¨ ur die drei Interpolationsstellen (x0 , y0 ), (x1 , y1 ), (xi , yi ) l¨ ost. Die fortgesetzte Anwendung der linearen Interpolation f¨ uhrt auf Interpolationspolynome schrittweise wachsenden Grades. Das Interpolationspolynom vom H¨ ochstgrad n zu n+1 Interpolationsstellen erh¨alt man durch lineare
9.3 Aitken-Interpolationsschema f¨ ur beliebige St¨ utzstellen
357
Interpolation, angewandt auf zwei verschiedene Interpolationspolynome vom H¨ochstgrad n − 1, von denen jedes f¨ ur n der gegebenen n + 1 St¨ utzstellen aufgestellt ist. Allgemein berechnet man bei bekannten Funktionswerten der Polynome P012...(k−1)i vom Grad k −1 die Funktionswerte der Polynome P012...ki vom Grad k nach der Formel P012...(k−1)k (x) xk − x 1 , k=0(1)n−1, P012...(k−1)ki (x) = (9.9) xi − xk P012...(k−1)i (x) xi − x i=(k+1)(1)n. Dabei l¨osen die Polynome P012...ki vom Grad k die Interpolationsaufgabe zu den Interpolationsstellen (x0 , y0 ), (x1 , y1 ), ..., (xk , yk ), (xi , yi ). Rechenschema 9.5. (Interpolationsschema von Aitken) i
xi
yi
P0i (x)
P01i (x)
P012i (x)
0 1 2 3 .. .
x0 x1 x2 x3 .. .
y0 y1 y2 y3 .. .
P01 P02 P03 .. .
P012 P013 .. .
P0123 .. .
k .. .
xk .. .
yk .. .
P0k .. .
P01k .. .
P012k .. .
n
xn
yn
P0n
P01n
P012n
···
P0123...n (x)
xi − x x0 − x x1 − x x2 − x x3 − x .. . xk − x .. .
..
. ···
P0123...n
xn − x
P012...n l¨ost die Interpolationsaufgabe zu den n+1 Interpolationsstellen (xi , yi ), i = 0(1)n. Im obigen Schema erh¨ alt man den Wert P012...n (x) an einer festen Stelle x.
Algorithmus 9.6. (Interpolationsschema von Aitken) Gegeben: (xi , yi ), i = 0(1)n, xi 6= xk f¨ ur i 6= k Gesucht:
Wert des zugeh¨ origen Interpolationspolynoms Φ(x) = P012...n (x) an einer (nichttabellierten) Stelle x 6= xi .
1. Schritt: In dem Rechenschema 9.5 sind zun¨achst f¨ ur i = 0(1)n die Spalte der xi , die der yi und die der xi − x auszuf¨ ullen. 2. Schritt: Berechnung der P0i (x) nach Formel (9.7) f¨ ur i = 1(1)n und x = x. 3. Schritt: Berechnung der P01i (x) nach Formel (9.8) f¨ ur i = 2(1)n und x = x. 4. Schritt: Berechnung aller weiteren P012...ki (x) nach Formel (9.9) f¨ ur k = 2(1)n−1 und i = (k+1)(1)n bis zum Wert P0123...n (x) = Φ(x).
Wenn die St¨ utzwerte yi die Werte einer empirischen Funktion f sind, yi = f (xi ), dann ist Φ(x) ein N¨aherungswert f¨ ur f (x).
358
9. Polynomiale Interpolation sowie Shepard-Interpolation
N¨ utzlich f¨ ur die praktische Anwendung des Aitken-Schemas ist, dass nicht im Voraus entschieden werden muss, mit wievielen Interpolationsstellen (xi , yi ) gearbeitet wird. Es ist m¨oglich, stufenweise neue Interpolationsstellen hinzuzunehmen, das Schema also zeilenweise auszuf¨ ullen. Die St¨ utzstellen m¨ ussen nicht monoton angeordnet sein (d. h. es muss nicht gelten x0 < x1 < . . . < xn ).
Beispiel 9.7. (Fortsetzung von Beispiel 9.3) Gegeben:
Die folgende Wertetabelle i
0
1
2
xi
0
0.5
1
yi
1
0.8
0.5
mit yi = f (xi ) = 1/(1 + x2i ). Gesucht:
Der Wert Φ(x) f¨ ur x = 0.8 nach dem Interpolationsschema von Aitken.
L¨osung:
Nach Algorithmus 9.6.
1. Schritt:
xi
yi
P0j (x)
0 0.5 1
1 0.8 0.5
0.680 0.600
P01j (x)
xi − x
0.632
−0.8 −0.3 0.2
2. Schritt: Berechnung der P0j (x) und Eintragen in das Schema des 1. Schrittes y 0 x0 − x 1 −0.8 1 1 P01 (x) = x − x = = 0.680, 1 0 y1 x1 − x 0.5 0.8 −0.3 y 0 x0 − x 1 −0.8 1 P02 (x) = x − = 0.600. 0.5 x0 y 2 x2 − x = 2 0.2
3. Schritt: Berechnung von P012 (x) und Eintragen in das Schema des 1. Schrittes P01 x1 − x 1 1 0.680 −0.3 P012 (x) = = = 0.632. 0.2 x2 − x1 P02 x2 − x 0.5 0.600 Die Ergebnisse der Schritte 2 und 3 werden sofort in das Schema des Schrittes 1 eingetragen. Also ist Φ(0.8) = P012 (0.8) = 0.632. Vergleich mit Beispiel 9.3: L(0.8) = P012 (0.8) = 0.632;
9.3 Aitken-Interpolationsschema f¨ ur beliebige St¨ utzstellen
359
wegen Satz 9.1 war dieses Ergebnis zu erwarten. F¨ ur die Anzahl erforderlicher Punktoperationen ergeben sich bei Lagrange 3 · 5 = 15, bei Aitken 3 · 3 = 9. P02 ist das Interpolationspolynom 1. Grades zu den Interpolationsstellen (x0 , y0 ), (x2 , y2 ) und P012 das Interpolationspolynom 2. Grades zu den Interpolationsstellen (x0 , y0 ), (x1 , y1 ), (x2 , y2 ). Bei Rundung auf drei Dezimalen gilt f (0.8) = 0.610, P02 (0.8) = 0.600, P012 (0.8) = 0.632, d. h. an der Stelle x = 0.8 weicht das quadratische Polynom P012 mehr von dem wahren Funktionswert f (0.8) ab als das lineare Polynom P02 . Abbildung 9.2 veranschaulicht dies mit Hilfe der Graphen von P02 , P012 und f . Außerdem zeigt die Abbildung, dass z. B. an der Stelle x = 0.4 im Gegensatz zu x = 0.8 die Funktion f durch P012 besser angen¨ahert wird als durch P02 . Aus dem Grad des Interpolationspolynoms kann also nicht auf die G¨ ute der Ann¨ aherung geschlossen werden (siehe dazu auch Abschnitt 9.8 und Abbildung 9.3). y 6 (x0 , y0 ) 1 s f (x) = 1/(1 + x2 ) P02 = 1 − 0.5x P012 = 1 − 0.3x − 0.2x2
0.9 cf (0.4) c P012 (0.4) 0.8
P02 (0.4) c
s (x1 , y1 )
0.7 P012 (0.8) c c f (0.8) P02 (0.8) c
0.6
(x2 , y2 ) 0.2
0.4
0.6 Abb. 9.2.
0.8
s 1
x
360
9.4
9. Polynomiale Interpolation sowie Shepard-Interpolation
Inverse Interpolation nach Aitken
Ist f¨ ur eine in Form einer Wertetabelle xi , yi = f (xi ) vorliegende Funktion f ∈ C[a, b] zu einem nichttabellierten Wert y = f (x) das Argument x zu bestimmen oder sind die Nullstellen einer tabellierten Funktion zu bestimmen, d. h. die zu y = 0 geh¨origen Argumente x, so kann das Aitken-Schema verwendet werden, indem man dort die Rollen von x und y vertauscht. Voraussetzung daf¨ ur ist, dass die Umkehrfunktion x = f −1 (y) existiert, d. h. f in [a, b] streng monoton ist. Man bestimmt dann den Wert x= Φ∗ (y) des Interpolationspolynoms Φ∗ zu den Interpolationsstellen yi , xi = f −1 (yi ) . Rechenschema 9.8. (Inverse Interpolation nach Aitken) i
yi
xi
x0i
x01i
0 1 2 .. .
y0 y1 y2 .. .
x0 x1 x2 .. .
x01 x02 .. .
x012 .. .
n
yn
xn
x0n
x01n
···
x012...n
y0 − y y1 − y y2 − y .. .
..
. ···
yi − y
x012...n
yn − y
Man geht nach Algorithmus 9.6 vor, indem dort x und y vertauscht, sowie P0i durch x0i , P01i durch x01i usw. ersetzt werden. Ist f nicht streng monoton, so stellt man das Interpolationspolynom Φ zu den Stellen (xi , yi ) auf, setzt y = Φ(x) und l¨ ost diese Beziehung nach x auf. Dieses Vorgehen erfordert im Allgemeinen das Aufl¨ osen einer algebraischen Gleichung hohen Grades.
Beispiel 9.9. Gegeben: Eine Wertetabelle i
0
1
2
xi
0.2
0.4
0.6
yi
0.962
0.862
0.735
mit auf 3 Dezimalstellen gerundeten Werten yi = f (xi ) der Funktion f (x) = 1/(1 + x2 ) und ein Wert y = f (x) = 0.8. Gesucht:
Ein N¨aherungswert f¨ ur x mittels inverser Interpolation.
L¨osung:
Die Ergebnisse der Schritte 2 und 3 werden sofort in das Schema des Schrittes 1 eingetragen.
9.4 Inverse Interpolation nach Aitken 1. Schritt:
2. Schritt: x01 x02
yi
xi
0.962 0.862 0.735
0.2 0.4 0.6
x 1 = y − y 0 1 0 x1 x0 1 =y − y 0 x2 2
3. Schritt: x012
361 x0j
0.524 0.485
y0 − y = y1 − y y0 − y = y2 − y
x01 1 = y2 − y1 x02
x01j
yi − y
0.504
0.162 0.062 −0.065
0.2 1 − 0.1 0.4 1 0.2 − 0.227 0.6
0.162 0.062
=
0.524,
0.162 −0.065
=
0.485.
1 0.524 y1 − y =− y2 − y 0.127 0.485
0.062 = 0.505. −0.065
Wegen f (0.5) = 0.8 ist x = 0.5, und f¨ ur den absoluten Fehler ergibt sich |x − x012 | = |0.5 − 0.505| = 0.5 · 10−2 . F¨ ur das Interpolationspolynom zu den durch die Wertetabelle gegebenen Interpolationsstellen erh¨alt man bei Rundung auf 4 sichere Dezimalen Φ : Φ(x) = 1.0350 − 0.2975x − 0.3375x2 . Daraus folgt Φ(0.505) = 0.799, d. h. |f (0.505) − Φ(0.505)| = 1 · 10−3 .
Beispiel 9.10. Gegeben: Die Besselfunktion J0 hat eine Nullstelle x mit 2 < x < 3, d. h. J0 (x) = 0. Gesucht:
Mit Hilfe der Wertetabelle i
0
1
2
3
4
xi
2.0
2.2
2.4
2.6
2.8
yi = J0 (xi )
0.2239
0.1104
0.0025
−0.0968
−0.1850
soll die Nullstelle x n¨ aherungsweise durch inverse Interpolation bestimmt werden. L¨osung:
Nach Rechenschema 9.8. yi
xi
x0j
0.2239 0.1104 0.0025 −0.0968 −0.1850
2.0 2.2 2.4 2.6 2.8
2.3945 2.4045 2.4189 2.4381
x01j
2.4047 2.4075 2.4108
x012j
2.4048 2.4048
x0123j
yi − J0 (x)
2.4048
0.2239 0.1104 0.0025 −0.0968 −0.1850
362
9. Polynomiale Interpolation sowie Shepard-Interpolation
Das Verfahren kommt also in diesem Beispiel bei 2.4048 innerhalb der verwendeten Stellenzahl zum Stehen; 2.4048 ist der gesuchte N¨ aherungswert f¨ ur die Nullstelle x. Falls f nicht monoton ist, muss der folgende Weg eingeschlagen werden: Man stellt ohne Vertauschung der Rollen das Interpolationspolynom Φ zu den gegebenen Interpolationsstellen (xi , yi ) auf. Dann setzt man y = Φ(x) und l¨ost nach x auf. Falls Φ ein Interpolationspolynom hohen Grades ist, erfordert diese Methode nat¨ urlich das Aufl¨osen einer algebraischen Gleichung hohen Grades (z. B. dem mit Verfahren von Muller, siehe Abschnitt 3.3.2). Also sollte man dann die Nullstelle besser nach einer anderen Methode berechnen.
9.5 9.5.1
Interpolationsformeln von Newton Newtonsche Formel fu ¨r beliebige Stu ¨tzstellen
Sind n + 1 Interpolationsstellen (xi , yi ), i = 0(1)n, mit paarweise verschiedenen St¨ utzstellen xi gegeben, so lautet der Ansatz f¨ ur das Newtonsche Interpolationspolynom N : Φ(x) ≡ N (x) = b0
+ b1 (x − x0 ) + b2 (x − x0 )(x − x1 ) + . . . +
(9.10)
+ bn (x − x0 )(x − x1 )(x − x2 ) . . . (x − xn−1 ); es ist ein Polynom (h¨ ochstens) n-ten Grades in x. W¨ahrend die Auswertung von N (x) in dieser Form 12 n (n+1) Multiplikationen erfordert, sind mit der zum Horner-Verfahren analogen Darstellung nh i o N (x) = . . . bn (x − xn−1 ) + bn−1 (x − xn−2 ) + . . . b2 (x − x1 ) + b1 (x − x0 ) + b0 nur n Multiplikationen auszuf¨ uhren. Die n+1 Interpolationsbedingungen Φ(xi ) ≡ N (xi ) = yi
f¨ ur
i = 0(1)n
bilden ein gestaffeltes System aus n+1 linearen Gleichungen f¨ ur die n+1 Koeffizienten b0 , b1 , . . . , bn . Die Koeffizienten lassen sich darstellen mit Hilfe der sogenannten dividierten Differenzen yi − yk [xi xk ] := , xi − xk [xi xk ] − [xk xh ] , [xi xk xh ] := xi − xh [xi xk xh ] − [xk xh xm ] [xi xk xh xm ] := ,..., xi − xm
9.5 Interpolationsformeln von Newton
363
die bei jeder Permutation der beteiligten Interpolationsstellen unver¨andert bleiben ([WILL1971], S.65 f.). Als Beispiel werden b0 , b1 , b2 berechnet aus N (xi ) = yi f¨ ur i = 0, 1, 2 mit Verwendung von (9.10). i = 0 : N (x0 ) = y0 = b0 + b1 (x0 − x0 ) + . . . = b0 ⇒ b0 = y0 i=1:
N (x1 ) = y1 = b0 + b1 (x1 − x0 ) = y0 + b1 (x1 − x0 ) y1 − y0 ⇒ b1 = = [x1 x0 ] x1 − x0
i=2:
N (x2 ) = y2 = y0 + [x1 x0 ] (x2 − x0 ) + b2 (x2 − x0 ) (x2 − x1 ) y2 − y0 ⇒ b2 = − [x1 x0 ] /(x2 − x1 ) x2 − x0 [x2 x0 ] − [x0 x1 ] = [x2 x0 x1 ] x2 − x1 = [x2 x1 x0 ] =
Hier wurde die Invarianz der dividierten Differenzen gegen¨ uber Vertauschungen der Argumente benutzt. Insgesamt b0 b1 b2
ergeben sich f¨ ur die Koeffizienten = y0 ,
y1 − y0 , x1 − x0 [x2 x1 ] − [x1 x0 ] = [x2 x1 x0 ] = , x2 − x0 [x3 x2 x1 ] − [x2 x1 x0 ] b3 = [x3 x2 x1 x0 ] = , x3 − x0 ... [x x . . . x2 x1 ] − [xn−1 xn−2 . . . x1 x0 ] bn = [xn xn−1 . . . x2 x1 x0 ] = n n−1 . xn − x0 = [x1 x0 ] =
(9.11)
Die bk lassen sich besonders bequem mit dem folgenden Rechenschema bestimmen, dabei ist die Reihenfolge der St¨ utzstellen xi beliebig. Rechenschema 9.11. (Interpolation nach Newton) i
xi
yi
0
x0
y0 = b0
1
x1
y1
2
x2
y2
3 .. .
x3 .. .
y3 .. .
[x1 x0 ] = b1 [x2 x1 ] [x3 x2 ] .. .
[x2 x1 x0 ] = b2 [x3 x2 x1 ] .. .
[x3 x2 x1 x0 ] = b3 .. .
···
364
9. Polynomiale Interpolation sowie Shepard-Interpolation
Algorithmus 9.12. (Interpolationsformel von Newton) Gegeben: Die Interpolationsstellen (xi , yi ), i = 0(1)n, xi 6= xk f¨ ur i 6= k Gesucht:
Das zugeh¨ orige Interpolationspolynom in der Form von Newton
1. Schritt: Berechnung der bk mit dem Rechenschema 9.11 unter Verwendung von (9.11). 2. Schritt: Aufstellen der Interpolationsformel N (x) gem¨aß (9.10).
Bemerkung. Bei Hinzunahme einer Interpolationsstelle k¨onnen alle zuvor berechneten Werte verwendet werden, das Schema wird lediglich fortgesetzt. Deshalb eignet sich diese Methode zur praktischen Verwendung besser als die von Lagrange (s. Abschnitt 9.8).
Beispiel 9.13. Gegeben: Die folgende Wertetabelle i
0
1
2
3
xi
0
1
2
4
yi
−3
1
2
7
Gesucht:
Das Newtonsche Interpolationspolynom N3 zu (xi , yi ), i = 0(1)3.
L¨osung:
Mit Hilfe des Rechenschemas 9.11 erh¨alt man
i
xi
0 x0 = 0
yi y0 = −3 = b0 1−(−3) 1−0
1 x1 = 1
= 4 = b1
y1 = 1 2−1 2−1
2 x2 = 2 3 x3 = 4
= −1.5 = b2 0.5−(−1.5) 4−0
=1 2.5−1 4−1
y2 = 2 7−2 4−2
1−4 2−0
= 0.5 = b3
= 0.5
= 2.5
y3 = 7
und mit (9.10) N3 (x) = b0 + b1 (x − x0 ) + b2 (x − x0 ) (x − x1 ) + b3 (x − x0 ) (x − x1 ) (x − x2 ) = −3 + 4 (x − 0) − 1.5 (x − 0) (x − 1) + 0.5 (x − 0) (x − 1) (x − 2) = −3 + 4x − 1.5 x (x − 1) + 0.5 x (x − 1) (x − 2) = −3 + x 4 + (x − 1)[−1.5 + (x − 2) 0.5]
9.5 Interpolationsformeln von Newton
365
Beispiel 9.14. (Fortsetzung von Beispiel 9.13) Gegeben: Die folgende (um eine Spalte erweiterte) Wertetabelle i
0
1
2
3
4
xi
0
1
2
4
1.5
yi
−3
1
2
7
3
Gesucht:
Das Newtonsche Interpolationspolynom N4 zu (xi , yi ), i = 0(1)4.
L¨osung:
Durch Erg¨ anzung des Rechenschemas 9.11 in Beispiel 9.13 erh¨alt man
i
xi
yi
0 x0 = 0 y0 = −3 = b0 1−(−3) 1−0
1 x1 = 1
2−1 2−1
2 x2 = 2
4 x4 = 32
1−4 2−0
= −1.5 = b2 0.5−(−1.5) 4−0
=1 2.5−1 4−1
y2 = 2 7−2 4−2
3 x3 = 4
= 4 = b1
y1 = 1
5 2
= = 2.5 1.6−2.5 1.5−2
y3 = 7 3−7 1.5−4
=
−4 −2.5
= 0.5 = b3
= 0.5 = 95 = 1.8
1.8−0.5 1.5−1
2.6−0.5 1.5−0
= 1.4 = b4
= 2.6
= 1.6
y4 = 3
und mit (9.10) N4 (x) = b0 + b1 (x − x0 ) + b2 (x − x0 ) (x − x1 ) + b3 (x − x0 ) (x − x1 ) (x − x2 ) + b4 (x − x0 ) (x − x1 ) (x − x2 ) (x − x3 ) = N3 (x) + b4 (x − x0 ) (x − x1 ) (x − x2 ) (x − x3 ) = −3 + 4x − 1.5 x (x − 1) + 0.5 x (x − 1) (x − 2) + 1.4 x (x − 1) (x − 2) (x − 4)
9.5.2
Newtonsche Formel fu aquidistante Stu ¨r ¨ ¨tzstellen
Sind die St¨ utzstellen xi ¨ aquidistant mit der festen Schrittweite h = xi+1 −xi , i = 0(1)n−1, dann ist xi = x0 + hi, i = 0(1)n, und es wird gesetzt x = x0 + ht ,
t ∈ [0, n] .
F¨ ur die Koeffizienten bi im Rechenschema 9.11 f¨ uhrt man mit sogenannten Differenzen ∆ki eine abk¨ urzende Schreibweise ein. Dabei beziehen sich die Differenzen ∆ki hier
366
9. Polynomiale Interpolation sowie Shepard-Interpolation
grunds¨atzlich auf y-Werte, so dass statt ∆ki y kurz ∆ki geschrieben wird. Die Differenzen sind wie folgt definiert: ∆0i
= yi ,
∆k+1 i+1/2
=
∆ki+1 − ∆ki ,
k = 0, 2, 4, . . . ,
∆k+1 i
=
∆ki+1/2 − ∆ki−1/2 ,
k = 1, 3, 5, . . . .
Dann sind z. B. ∆1i+1/2
=
yi+1 − yi ,
∆2i = ∆1i+1/2 − ∆1i−1/2 = yi+1 − 2yi + yi−1 ,
∆3i+1/2
=
∆2i+1 − ∆2i = yi+2 − 3yi+1 + 3yi − yi−1 .
Die Differenzen ∆ki werden mit dem folgendem Rechenschema bestimmt. Rechenschema 9.15. (Differenzenschema) i
yi
0
y0
∆1i+1/2
∆2i
∆3i+1/2
···
y1 − y0 = ∆11/2 1
∆13/2 − ∆11/2 = ∆21
y1 y2 − y1 =
2
3 .. .
∆13/2
y2
y3 .. .
y3 − y2 = ∆15/2 .. .
∆15/2 − ∆13/2 = ∆22 .. .
∆22 − ∆21 = ∆33/2 .. .
F¨ ur die bi gilt mit h = xi+1 − xi bi = [xi xi−1 . . . x1 x0 ] =
1 i ∆ , i!hi i/2
i = 1(1)n,
und f¨ ur (9.10) unter Verwendung der Binomialkoeffizienten
e (t) = y0 + N (x) = N
t k
t t t 1 2 ∆1/2 + ∆1 + . . . + ∆nn/2 ; 1 2 n
e (t) ist die Newtonsche Interpolationsformel f¨ N (x) bzw. N ur absteigende Differenzen und e wird mit N+ (x) bzw. N+ (t) bezeichnet (sie wird in Abschnitt 14.5 angewendet).
9.5 Interpolationsformeln von Newton
367
Beispiel 9.16. Gegeben: Die folgende Wertetabelle i
0
1
2
3
xi
−3
−1
1
3
yi
5
4
0
1
mit der konstanten Schrittweite h = 2. Gesucht:
Die Newtonsche Interpolationsformel N3 (x) f¨ ur ¨aquidistante St¨ utzstellen zu (xi , yi ), i = 0(1)3.
L¨osung:
Mit Hilfe des Rechenschemas 9.15 erh¨alt man
i
yi = ∆0i/2
0
5
1
4
∆1i+1/2
∆21
∆3i+1/2
−1 −3 −4 2
0
3
1
8 5
1
⇒
e3 (t) = 5 + N3 (x) = N
bzw. mit 1 5 0 b0 = 0 ∆0/2 = 1 = 5 , 0! h ⇒
−3 3 2 = −8 2! h
5−
1 2
·2 = 5 − 1 = 4,
5−
4 2
−
3 8
·4·2 = 5−2−3 = 0,
5−
6 2
−
3 8
·6·4+
5−
N3 (−3)
=
5,
N3 (−1)
=
N3 (1)
=
3 8
b2 =
(x + 3) −
=
=
−1 1 1 = −2 , 1! h
1 2
N3 (x)
N3 (3)
b1 =
t t t · (−1) + · (−3) + · 8, 1 2 3
(x + 3) (x + 1) +
1 6
1 6
und b3 =
8 1 3 = 6 3! h
(x + 3) (x + 1) (x − 1)
·6·4·2 = 5−3−9+8 = 1
368
9.6
9. Polynomiale Interpolation sowie Shepard-Interpolation
Absch¨ atzung und Sch¨ atzung des Interpolationsfehlers
Das Interpolationspolynom Φ ∈ C(Ix ), gebildet zu n + 1 Interpolationsstellen xi , yi = f (xi ) , xi ∈ Ix , i = 0(1)n, nimmt an den St¨ utzstellen xi die St¨ utzwerte f (xi ) an, w¨ahrend es im Allgemeinen an allen anderen Stellen x ∈ Ix von f ∈ C(Ix ) abweicht. Dann ist R mit R(x) := f (x) − Φ(x),
x ∈ Ix ,
der wahre Interpolationsfehler, und R heißt das Restglied der Interpolation. W¨ahrend das Restglied R also an den St¨ utzstellen verschwindet, kann man u ¨ ber seinen Verlauf in Ix f¨ ur x 6= xi im Allgemeinen nichts aussagen, denn man kann f an den Stellen x 6= xi beliebig ¨andern, ohne damit Φ zu ver¨ andern (siehe Abbildung 9.3).
................................. ...... ...... ..... ..... ..... ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................ ... .. ... ... ... ... . .. 2 2 1 ...... . . . . . . . . . . . . . . . . . . . . . . ... ... ....... . . . . . .... .. .. ...... ... ........................... . . . . . ... . . . . ........................................................................................................ .. ... .... ... . . . . ....... . . . . ..... . ... ... . . ... ...... .. ... .. . .... . . . . . . . . . . . . . . . . . ...... .. ...... . . .. ... ... ... ..... ..... .... ....... ... ... ... .... ..... ...... ... ... ..... .... .... ... ..... .... ... ... ... ..... ..... .... ... ..... ....... ...... . .. ... ..... ..... . . ... . . . . . .. ...... . . . . . . . . . . . . . . . . . ...... ... ... ........... ... ... ... ... ....... . ... ... .... ......... ... ... ... ... ... ... .... ........ ... ... ...... ..... .... ........... ..... ................................ . ..... ..... ... .. .... 3 3 .... . . .. ... . . . . . . . . . . 0 .. .... ... ... .... ... ...... ......... ....... ... . ...................................... .. ... .. .. . . . . .. .. . . ... ... . .... .. .... .. ..... ... ... . ... . . .... ... .. .. . ... . . .. .. ... ... .... .... ... . . ... ... .... .. ... ... . . .. . .... . . . .... ... ... 2 ... ... ... .... . . . .. . . . .. ... ... ... ..... .... ..... .....
6
(x1 , y1 )
s
(x , y ) s
y = f (x) y = Φ3 (x)
s
(x0 , y )
(x , y )
s
y = f (x)
x0
x1
x2
-
x3
Abb. 9.3. Interpolationspolynom Φ zu verschiedenen Funktionen mit denselben Interpolationsstellen F¨ ur die Funktionen f1 , f2 ist y = Φ3 (x) das Interpolationspolynom zu den Interpolationsstellen (xi , yi ), i = 0(1)3, durch die auch f1 bzw. f2 gehen. Also kann zwischen den Interpolationsstellen die Ann¨ aherung von Φ3 an eine Funktion fi beliebig schlecht sein. F¨ ur eine Absch¨atzung dieses Fehlers mit der Lagrangeschen Restgliedformel ben¨otigt man die (n+1)-te Ableitung der zu interpolierenden Funktion f . Sie lautet R(x) ξ
= =
1 (n+1) (ξ)π(x) (n+1)! f
ξ(x) ∈ Ix ,
mit π(x) =
n Q i=0
(x − xi ),
(9.12)
9.6 Absch¨atzung und Sch¨ atzung des Interpolationsfehlers
369
bzw. im Falle a¨quidistanter St¨ utzstellen xi = x0 + hi, x = x0 + ht, t ∈ It = [0, n] R(x) = R(x0 + ht) = hn+1 π ∗ (t) =
n Q
(t − i),
1 e ∗ (t) =: R(t) e f (n+1) (ξ)π (n + 1)!
mit
e ∈ It . ξe = ξ(t)
i=0
F¨ ur die praktische Anwendung sind diese Formeln v¨ollig unbrauchbar. Man kann jedoch im Fall a¨quidistanter St¨ utzstellen aus dem Verlauf von π ∗ (t) einige interessante Schl¨ usse ziehen.
π∗ 6
π∗ 6 100
... .
. ... ... .. ... ... . . ... ... ... ... ... .. .. .. .. . . .. . .. .. .. .. .. .. ... .. ... .... .. .. ... .. ... .. ... ... . . ... ... ... ... ... ... .. .. .. . ... .. .. .. .. .. .. .. .. .. .. . ... ... ... ... ... ... .... .. ........... .............. .. .......................... . . ... . . . . . . . . . . .... .......... .. ... ................................ .... ... ... ... .... ... ... ... ..... .. ... .... ....... ...... .... ......... . . . . . . . . . . . . . . ..............
... ... 100 ...
1
−30
n=6
50
n=5
50
2
3
4
5
... .. .. .... ... . ...... . . .. .. .... .. ... .. ... .. .. ... ..... .. .... .... ... . ... . .. . ..... .. .. .. . .. .. .... .. ... .... .... ... .. ... .... ... ... .. .. ... ... .. ... ... ... ... . ... . ... .......... . .. .... ...... ... ... .. .. ... .. ... .. ... .. .. ...................... ... .. ... .. ... .... . . . . . ... . . .... . . .. .... . . .. .. ... .. ... ... ... ... .. .. .... ... ... .. ... ... ... .. ..... .. .. ... ... ... ..................... .. .. . . ... . ..... . . ... . .... ...... ... ... .. ........... .. .. ... .. .. .. ... .. .. . . ..... .. .. . ... .. ... .... .. .. .. .. .. .. . ... . .. .. ... ... ... .. ... ... ... ... ... ∗ .... ... .... .. ... ... .. .. ... ... .. ........ ... . .... ...
1
t
−50
∗
2
3
4
5
6 t
π (t) f¨ ur n = 6
π (t) f¨ ur n = 5 −100
Abb. 9.4. Interpolation Die Betr¨age der Extremwerte von π ∗ (t) nehmen bis zur Mitte des Intervalls [0, n] ab und danach wieder zu, sie wachsen außerhalb dieses Intervalls stark an. Man entnimmt e daraus: R(t) wird besonders groß f¨ ur Werte, die außerhalb des Interpolationsintervalls liegen (Extrapolation); das Interpolationsintervall It = [0, n] erstreckt sich von der ersten bis zur letzten der zur Interpolation verwendeten St¨ utzstellen. Diese Aussage ist von Bedeutung f¨ ur die Auswahl der f¨ ur eine bestimmte Aufgabe geeigneten Interpolationsstellen f¨ ur das Interpolationspolynom. Man w¨ahlt die f¨ ur ein Interpolationspolynom zu verwendenden Wertepaare (xi , yi ) so aus, dass die Stelle x f¨ ur eine Auswertung des Polynoms etwa in der Mitte des Interpolationsintervalls liegt. Einzig und allein praktikabel sind hier Fehlersch¨ atzungen, die die Kenntnis der (n+1)-ten e Ableitung umgehen. Eine m¨ ogliche Sch¨ atzung des Restgliedes R(x) = R(x0 + th) = R(t) f¨ ur den Fall, dass auch außerhalb des Interpolationsintervalls Interpolationsstellen bekannt sind und somit die (n + 1)-ten Differenzen ∆n+1 gebildet werden k¨onnen, ist e ≈ R(t)
1 ∆n+1 π ∗ (t), (n + 1)!
370
9. Polynomiale Interpolation sowie Shepard-Interpolation
falls sich die Differenzen ∆n+1 nur wenig voneinander unterscheiden; es ist dann gleichg¨ ultig, welche der (n + 1)-ten Differenzen verwendet wird, vgl. [POLO1964], S.136/137; [ZURM1965], S.218. Als Sch¨atzwert mit dem Newton-Restglied f¨ ur beliebige St¨ utzstellen erh¨alt man f¨ ur den Interpolationsfehler R(x) an einer Stelle x ∈ [a, b] R(x) ≈ [xn+1 , xn , xn−1 , . . . , x1 , x0 ]
n Y
(x − xi ),
i=0
wenn außer den f¨ ur Φ verwendeten n + 1 Interpolationsstellen (xi , yi ), i = 0(1)n, noch eine weitere Stelle (xn+1 , yn+1 ) bekannt ist. Beispiel 9.17. Das zur Wertetabelle i
0
1
2
xi
0
π/2
π
yi = sin xi
0
1
0
geh¨orige Interpolationspolynom wird mit der Newtonschen Interpolationsformel berechnet. Zus¨atzlich sei die Interpolationsstelle ( π6 , 12 ) bekannt. Somit ist eine Fehlersch¨atzung z. B. an der Stelle x = π4 wie folgt m¨ oglich. i
xi
yi
0
0
0 = b0 2 π
= b1
− π42 = b2 ————— − 5π6 3 = [x3 x2 x1 x0 ] 21 2 π 0 ———— − 5π 2 3 ———————— − 5π 1 3 π6 2 1
π 2
1
− π2
N2 (x) = 0 +
2 4 π (x − 0) − 2 (x − 0) (x − ) π π 2
F¨ ur den Fehler von N2 an der Stelle x = π4 ergibt sich der Sch¨atzwert 2 Q π −x R2 π4 = f π4 − N2 π4 ≈ [x3 x2 x2 x1 ] i 4 i=0 6 π π 3 π 9 = − 3 · 4 · −4 − 4 = − 160 = −0.05625 . 5π
9.6 Absch¨atzung und Sch¨ atzung des Interpolationsfehlers
371
√ F¨ ur den wahren Fehler gilt mit f ( π4 ) = sin( π4 ) = 12 2 und N2 ( π4 ) = 0.75 π 1√ R2 = 2 − 0.75 = −0.042893219 . 4 2 Das heißt der Sch¨atzwert −0.05625 war recht gut, er liefert das richtige Vorzeichen und die richtige Gr¨oßenordnung.
Zur Konvergenz der Interpolation Von einer Funktion f : [a, b] → R seien an n+1 St¨ utzstellen xi ∈ [a, b], i = 0(1)n, n ∈ N0 , die Funktionswerte f (xi ) bekannt. Es wird eine Folge {Φn } von Interpolationspolynomen (n) (n) Φn , n = 0, 1, 2, ..., konstruiert zu den xi , f(xi ) mit den St¨ utzstellen in der n-ten Zeile des Dreieckschemas (0)
Φ0 :
x0
Φ1 :
x0 ,
Φ2 : .. . Φn :
x0 ,
(1)
x1
(1)
x0 , .. .
(2)
x1 , .. .
(n)
x1 ,
(2)
x2
(2)
(n)
x2 ,
(n)
...
(n)
xn
Der Interpolationsprozess heißt konvergent, wenn lim Φn (x) = f (x)
n→∞
f¨ ur x ∈ [a, b]
gilt. Man k¨onnte annehmen, dass die Konvergenz f¨ ur stetige Funktionen f immer gew¨ahrleistet ist, wenn die St¨ utzstellen, an denen die exakten Funktionswerte vorgegeben sind, immer dichter liegen; dies ist jedoch nicht der Fall. Auch bei beliebig oft differenzierbaren Funktionen braucht die Folge der Interpolationspolynome nicht gegen f zu konvergieren. Dazu ein Beispiel 9.18. Die Funktion f : [−5, 5] → R, f (x) = 1/(1 + x2 ) ist gegeben. Es werden die Interpolationspolynome Φn zu 3, 5, 9 und 17 ¨ aquidistanten St¨ utzstellen aus [−5,5] konstruiert und mit der entsprechenden nat¨ urlichen kubischen Splinefunktion S (siehe Kapitel 10) und dem exakten Graphen von f verglichen. Aus Gr¨ unden der Darstellbarkeit wird die y-Achse gestreckt. Man sieht, dass bei wachsender Anzahl der St¨ utzstellen, zu denen ein Interpolationspolynom bestimmt wird, die Ann¨ aherung im mittleren Bereich zwar besser wird, aber im ¨außeren Bereich (−5 ≤ x ≤ −2.5, 2.5 ≤ x ≤ 5) immer schlechter. Es liegt hier keine Konvergenz der Interpolation vor im Gegensatz zu den Splines, die gegen f konvergieren (siehe Abbildung 9.5). Zur Theorie der Konvergenz von Interpolationspolynomen siehe [BERE1971] I, Abschnitt 2.9.
372
9. Polynomiale Interpolation sowie Shepard-Interpolation
Interpolationspolynom 1.2
0 −0.4
..................................................................................................... .. .. .. .. .. ... .. . . ......... .... .......... ..................... .... .. .... .... ....... . . ... ... .... ... .. . . . . . . . . ......... . . . . .... .. .... . ... . . ... ... ... .......... ......... ..... .... . .. ... ... .. ... ... ... .... ... ... ... ............ ... .......... ... .. ... ... ... . .. ........... ... ............ ..... ... .... .... .... .. .............................................................................................. ... ... ... . ......... ... .......... ... ... ... ... .... . ........... . . . ......... .........................................................................................................
r
r
r
−4 1.2
0 −0.4
0
1.2
r
r
0
0 −0.4
−0.4
1.2
0 −0.4
1.2
r
r r r
r r r
0 r
0 −0.4
0 −0.4
−4
r
0
rr
r rrr
4
r
0
1.2
1.2
0 −0.4
r
r
0
r
1.2
0 −0.4
..................................................................................................... .. .. .. .. .. ... .. . ......... ... .......... ....... .... .. ...... ... .. ... ... .... ......... ......... ... ... ... ... .... ... ... .... . ......... ... ... ... ......... ... .. .. .. .. ... .... .... .... ... . .. ... . . . . . . . ......... . . .. ... ... . ... .... . . ... . . . ......... . . .... ......... ... ........ ... .... ....... ........... .... ..................... ... ..... ................................................................................................ ... ... ... . ......... ... ......... ... ... ... ... .... . ........... . . . . . . . . . . . . .........................................................................................................
r
1.2
r
r r r
0 r
0 −0.4
1.2
0 −0.4
−4
r
0
rr
r rrr
4
3 St¨ utzstellen
r
0
4
.................................................................................................... ... .. .. ... .. .. ... .. .. . ......... . ......... ....... .... .......... .... ......... ... ... .... .......... .. .. .. ... .. ... .... .... .... .. . . . ......... .......... .. .. .. .... ... ... ... ... . .. ... . ......... . .......... .. .. ... ... .. .. .... . .. .... . . .... .. .. . ......... . . . . . . . . . ... . .... .. ....... .... ... .. ........ ............................................................................................................................. ... ... ... .. ... .. ......... ... .......... .... ... ... ......... ... .. .. .. .. ........... ... ... ...........................................................................................
r
r
r
r
0
5 St¨ utzstellen
r
4
.................................................................................................... ... .. .. .. .. .. ... . ... .. .......... ...... ......... .. ...... .... ... .... .... .. ......... ......... ... ... ... ... ... ... ... .... . ......... ... ... ... ......... .... .. .. .. .. .. ... ... .. . ... .. ... .... .......... . . . . . . . ... .. ... ... . .... ... .... . .. . . . . ......... . .... ......... .. . . . . . . . ... . . ....... .. .............. ... ....................... .... ................................................................................................ .... ... ... . ......... ... .......... ... ... .. ... .... . ........... . . . . . . . . . . .. ..........................................................................................................
r
r
r r r
r r r
−4
r r
r
r
r
4
..................................................................................................... .. .. .. .. .. ... .. .. . ......... ........... ....... .... ........ .... ......... .... .... .... .......... .. .. ... ... .. ... .... .... .... .. ......... ......... .. .. . .. ... .... . ... .... .. ... .... . ......... .......... .. . . ... .. .. .... .... . . ... . .. ... ... .... ........... ......... .... ... ...... ... ................ ... ... .... ................................................................................................................... ... ... ... ... ... .. .......... ......... ... ... ... ... ......... ... .. ... ... .. .. .. .......... ...........................................................................................
r rrrrr
r
−4
4
r r r
.................................................................................................... ... .. .. .. .. .. ... . ... ... .......... ......... ...... .. ..... .... ... .... .... .. ......... ......... ... ... ... ... ... ... ... .... . ......... ... ... ... ......... .... .. .. .. .. .. ... ... .. . ... .. ... .... ......... . . . . . . . ... .. ... .... .... ... . .... .. .. . . ......... . . .... . .......... .. . . . ... . . . ....... . .............. .... ......................... .... ............................................................................................... .... ... ... . ......... ... .......... ... ... ... ... .... . ........... . . . ......... ..........................................................................................................
−4
r
r
Exakter Graph
4
..................................................................................................... .. .. .. .. .. ... .. .. . ......... ........... ......... ... ... ... .... .... .. ... ..... ......... . .......... . ... .. ... .. .. .. ... .... ... .. . .......... ......... ... .... .... ... . .. ... . ... . ... .. . .. ......... . . ... .......... ... .... ... ... ... .... ... .... ... . . .. . . . . . . . ......... . . ... .. ... ... ... ... ........................................................................................................... ............ .. ... .............. ... ... ... ... ......... ... .......... ... ... ... ......... ... .. .. .. .. .......... ... ... ...........................................................................................
−4
r r
r
r
r
4
.......................................................................................................... .. ... .. ..... .. ... ..... . .... . .. ................. ... .............. ..... .... ....... ..... ... .. ..... ............. .. ... .... ........... ... . . . . .. ... ... ... ... ... ... ... .... .. .. .. ... ... ... ... ... ... .. .. ... ... ........... ........... .... ... .. .. ... .... .... .... ..... .... ... ... ... .. .. ... .. .......... ........... ... ... ... .. ... .... .... ... ... .... ... ... ... .. .. ... .... ... ... ... .. ... .............. .......... ... ..... .... ... .......... ... .. ... ... ... .... ... .... .. . . . ............................................................................................................ .. ... ... .. ... .... ... ....... .... .. ... ... ... ... .... ... .. . ........... ........... ... ... ... ... ... ... ... ... ............ ... ... .. ... ... ... ... ............... .....................................................................................
r rrrrr
r
−4
4
r
−4 1.2
r
..................................................................................................... .. .. .. .. .. ... .. . ......... ..... .......... ........ .... .. .. ... ... . ... .. . .. ......... ......... ... ... .... ... .... ... ... ... . ......... ... ... ... ......... ... .. .. ... .. ... .... .... .... .. .......... ......... ... ... ... . .. ... .... ..... . . . . ... ... . . .. ... ... ......... ... .... ... .... .. .. .. .......... .. .. .. .. ... ... ... ... ... ....... .. .. ..... .. .... ... . . .................................................................................................. .. ... ... ... ... ... .. ......... ... ... ........... ..... ... ... .. ..... .. ... ...... ... ... . . . ............... . . . ............. .................................................................................................................
r
0
..................................................................................................... .. .. .. .. .. ... .. . ......... ... .......... ................... .... .. .... .... ....... . . ... ... . .... ... .. . . . . . . . . . ......... . . . . .... . .. . . ... . . ... ... .. ... .......... ......... .... .... ... .. ... ... ... .. ... . . ... . ... .... ... ........ ......... .... .... .. ... ... ... ... ... .. ........... ... ........... ...... ... .. . ..... .... .. .............................................................................................. ... ... ... . ......... ... .......... ... ... ... ... .... . ........... . . . ......... .........................................................................................................
−4
r
−4
1.2
4
..................................................................................................... .. .. .. .. .. ... .. .. . ......... ........... ............ .... .... ... .. .... ... ... .... ......... . .......... . ... .. ... .. ... .. ... ... ... .. . .. . .......... .. ......... .... .. .. .. . ... . ... . .. . . .. ......... .... ... .......... .. . ... ... .. .. .. ... ... .... ... .. .. . . . . . . . ......... ... ... .. .. ... .. .. .... .................................................................................................... ... ... ... . ....... ... ... .. . . . ... ...... . . .. ... ............. .......... ... .... .. ... .. ... .... .... ... ... ... .. ................. ... ............. .. .. .. .. . ... ... ...........................................................................................
r
Nat¨ urlicher Spline
0
9 St¨ utzstellen
4
.................................................................................................... ... .. .. ... .. .. ... .. .. . ......... . ......... ....... .... ........... .... ......... ... ... ... .......... .. .. .. ... .. ... .... .... .... .. ......... .. .. .. ........ .. ... ... ... . .... .. ... .... ......... . .......... .. .. ... .... .. ... .. .... . ... . .. .... .. ......... .......... .... .... .... ....... .... .............. ... .. ... .................................................................................................................... ... ... ... ... ... .. .......... .......... ... ... ... ... ......... ... .. ... ... .. .. .. ........... ...........................................................................................
r
r r
0 −0.4
r rrrrr
−4
r
r
0
rr
17 St¨ utzstellen
r rrr
4
Abb. 9.5. Gegen¨ uberstellung Interpolationspolynom, nat¨ urlicher Spline, exakter Graph zu f (x) = 1/(1 + x2 ) f¨ ur x ∈ [−5, 5], bei Verwendung von 3, 5, 9, 17 ¨ aquidistanten St¨ utzstellen
9.7 Zweidimensionale Interpolation
9.7
373
Zweidimensionale Interpolation
In Verallgemeinerung der bisher behandelten eindimensionalen Interpolation, bei der die St¨ utzstellen xi auf der x-Achse liegen, sind die St¨ utzstellen jetzt Punkte (xj , yj ) in der x, y-Ebene. Auch hier m¨ ussen die St¨ utzstellen paarweise verschieden sein: (xj , yj ) 6= (xk , yk )
f¨ ur
j 6= k .
Alle St¨ utzstellen sollen in einem endlichen Bereich B der x, y-Ebene liegen: (xj , yj ) ∈ B ⊂ R2
f¨ ur j = 0(1)N .
Jeder St¨ utzstelle (xj , yj ) sei genau ein St¨ utzwert zj ∈ R zugeordnet, so dass also N +1 Interpolationsstellen (xj , yj , zj ) ∈ R3 mit paarweise verschiedenen St¨ utzstellen gegeben sind. Gesucht wird eine stetige Funktion Φ : B → R, (x, y) 7→ z = Φ(x, y), (x, y) ∈ B, die den N+1 Interpolationsbedingungen Φ(xj , yj ) = zj ,
j = 0(1)N,
gen¨ ugt. Der Graph der Funktion Φ
(x, y, z) | (x, y) ∈ B, z = Φ(x, y)
ist eine Fl¨ache u ¨ber der x, y-Ebene, auf der alle Interpolationsstellen, die Punkte (xj , yj , zj ), liegen (Abb 9.7). Mit einer solchen Funktion Φ kann eine empirische Funktion f : z = f (x, y), von der nur die N +1 Interpolationsstellen xj , yj , zj = f (xj , yj ) , i = 0(1)N , bekannt sind, angen¨ahert werden. F¨ ur Φ wird beispielsweise ein algebraisches Polynom X Φ(x, y) ≡ Pr (x, y) = apq xp y q p,q
gew¨ahlt mit einem m¨ oglichst niedrigen Grad r = max(p + q). Es soll den N+1 Interpolationsbedingungen X Pr (xj , yj ) = apq xpj yjq = zj , j = 0(1)N, p,q
gen¨ ugen. Hier sind Existenz und Eindeutigkeit eines solchen Polynoms im Allgemeinen nicht gesichert ([BERE1971] Bd.1, S.130; [ISAA1973], Abschnitt 6.6; [SAUE1969] Bd.III, S.292). Zumindest m¨ usste die Anzahl der Interpolationsstellen mit der Anzahl der zu bestimmenden Koeffizienten u ¨bereinstimmen. Deshalb wird im Folgenden vorausgesetzt, dass die St¨ utzstellen (xj , yj ) die Punkte eines Rechteckgitters sind.
374
9.7.1
9. Polynomiale Interpolation sowie Shepard-Interpolation
Zweidimensionale Interpolationsformel von Lagrange
Die St¨ utzstellen seien jetzt die Gitterpunkte eines rechtwinkligen Netzes. Man bezeichnet sie mit (xi , yk ), i = 0(1)m, k = 0(1)n, und die ihnen zugeordneten St¨ utzwerte mit zik . Dann k¨onnen die Interpolationsstellen in einer Wertetabelle angegeben werden: x0 x1 .. . xm
y0 z00 z10 .. . zm0
y1 z01 z11 .. . zm1
... ... ...
yn z0n z1n .. . zmn
...
Diese spezielle Interpolationsaufgabe ist eindeutig l¨osbar durch m X n X Φ(x, y) = aik xi y k i=0 k=0
([SAUE1969] Bd.III, S.292). Die Interpolationsformel von Lagrange f¨ ur die obige St¨ utzstellenverteilung erh¨ alt mit (x − x0 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xm ) (1) Li (x) = (x − x ) . . . (x − x )(x − x ) . . . (x − x ) , i 0 i i−1 i i+1 i m (9.13) (y − y0 ) . . . (y − yk−1 )(y − yk+1 ) . . . (y − yn ) L(2) (y) = k (yk − y0 ) . . . (yk − yk−1 )(yk − yk+1 ) . . . (yk − yn ) die Form Φ(x, y) ≡ L(x, y) =
m X n X
(1)
(2)
Li (x)Lk (y)zik .
i=0 k=0
In (9.13) m¨ ussen die St¨ utzstellen zwar nicht ¨ aquidistant sein, jedoch ist xi+1 − xi yk+1 − yk
=
hi
(1)
=
const. f¨ ur alle
yk
und festes i,
=
(2) hk
=
const. f¨ ur alle
xi
und festes k.
Zur Approximation von Funktionen mehrerer Ver¨anderlichen vgl. noch [COLL1968], §25; [SAUE1969] Band III, S. 348-350; die Verfahren sind weniger weit entwickelt als bei Funktionen einer Ver¨anderlichen. Es empfiehlt sich die Verwendung mehrdimensionaler Splines (vgl. Kapitel 12).
Beispiel 9.19. Gegeben: Folgende Wertetabelle f¨ ur (xi , yk , zik ), i = 0(1)3, k = 0(1)2 XX yk X xi XXXX X
y0 = 1.00
y1 = 3.00
y2 = 4.00
x0 =−2.00
0.00
5.00
7.00
x1 = 0.00
5.00
7.00
4.00
x2 = 1.00
7.00
4.00
−1.00
x3 = 5.00
3.00
0.00
0.00
9.7 Zweidimensionale Interpolation Gesucht:
(1)
(2)
Die zugeh¨ origen Interpolationspolynome Li (x) und Lk (y) f¨ ur die Interpolationsformel von Lagrange nach (9.13) und eine Wertetabelle, die außerdem die Werte L(x, y) f¨ ur x= y=
L¨osung:
375
−1.00, 1.50,
2.00, 2.00,
3.00, 2.50,
4.00 3.50
und enth¨alt.
Im Folgenden werden die Interpolationspolynome berechnet.
(1)
L0 (x) = (1)
L1 (x) = (1)
L2 (x) = (1)
L3 (x) =
(x−x1 ) (x−x2 ) (x−x3 ) (x−0) (x−1) (x−5) x (x−1) (x−5) = = (x0−x1 ) (x0−x2 ) (x0−x3 ) (−2) · (−3) · (−7) −42 (x−x0 ) (x−x2 ) (x−x3 ) (x+2) (x−1) (x−5) (x+2) (x−1) (x−5) = = (x1−x0 ) (x1−x2 ) (x1−x3 ) 2 · (−1) · (−5) 10 (x−x0 ) (x−x1 ) (x−x3 ) (x+2) (x−0) (x−5) (x+2) x (x−5) = = (x2−x0 ) (x2−x1 ) (x2−x3 ) 3 · 1 · (−4) −12 (x−x0 ) (x−x1 ) (x−x2 ) (x+2) (x−0) (x−1) (x+2) x (x−1) = = (x3−x0 ) (x3−x1 ) (x3−x2 ) 7·5·4 140
(2)
L0 (y) = (2)
L1 (y) = (2)
L2 (y) =
(y−y1 ) (y−y2 ) (y0−y1 ) (y0−y2 )
=
(y−3) (y−4) (−2) · (−3)
=
(y−3) (y−4) 6
(y−y0 ) (y−y2 ) (y1−y0 ) (y1−y2 )
=
(y−1) (y−4) 2 · (−1)
=
(y−1) (y−4) −2
(y−y0 ) (y−y1 ) (y2−y0 ) (y2−y1 )
=
(y−1) (y−3) 3·1
=
(y−1) (y−3) 3
Die erg¨anzte Wertetabelle: H y x HH −2.00 −1.00 0.00 1.00 2.00 3.00 4.00 5.00
1.00 0.00 2.54 5.00 7.00 8.17 8.14 6.54 3.00
1.50 1.38 4.66 6.50 7.12 6.75 5.61 3.91 1.88
2.00 2.67 6.24 7.33 6.67 4.97 2.98 1.41 1.00
2.50 3.88 7.30 7.50 5.62 2.83 0.25 −0.95 0.38
3.00 5.00 7.83 7.00 4.00 0.31 −2.57 −3.17 0.00
3.50 6.04 7.83 5.83 1.79 −2.56 −5.49 −5.25 −0.12
4.00 7.00 7.30 4.00 −1.00 −5.80 −8.50 −7.20 0.00
376
9.7.2
9. Polynomiale Interpolation sowie Shepard-Interpolation
Shepard-Interpolation
Wenn die St¨ utzstellen (xj , yj ), j = 0(1)N , in einem Bereich B ⊂ R2 beliebig und ungeordnet verteilt sind, so empfiehlt sich der Einsatz der Methode von Shepard [SHEP1968]. Diese Methode wird gern bei der graphischen Darstellung einer empirischen Funktion z = f (x, y) verwendet. Shepard benutzt f¨ ur die interpolierende Funktion Φ : B → R zu den Interpolationsstellen (xj , yj , zj ), j = 0(1)N , den Ansatz N X (x, y) 7→ z = Φ(x, y) = wj (x, y) zj . (9.14) j=0
Darin sind wj (x, y) Gewichte mit wj (x, y) ≥ 0 und
N P
wj (x, y) = 1.
j=0
Die N+1 Interpolationsbedingungen zk = Φ(xk , yk ) =
N X
wj (xk , yk ) zj ,
k = 0(1)N,
j=0
sind erf¨ ullt mit
wj (xk , yk ) =
1 f¨ ur k = j 0 f¨ ur k = 6 j.
Nun m¨ ussen die Gewichte wj (x, y) f¨ ur eine Stelle (x, y), die keine St¨ utzstelle ist, erkl¨art werden; es sei also (x, y) 6= (xj , yj ) f¨ ur j = 0(1)N . Die Gewichte werden mit dem Abstand q rj (x, y) = (x − xj )2 + (y − yj )2
(9.15)
der Stelle (x, y) von der Stelle (xj , yj ) und mit einem Parameter µ, 0 < µ < ∞, definiert durch 1 ϕj (x, y) = , (9.16) rj (x, y) µ ϕj wj (x, y) = N , j = 0(1)N. (9.17) X µ ϕi i=0
Damit gelten wj (x, y) > 0 und
N P
wj (x, y) = 1.
j=0
F¨ ur die Shepard-Funktion (9.14) ergibt sich mit (9.17) die Darstellung , N N X X µ µ Φ(x, y) = ϕj zj ϕi . j=0
i=0
Mit der Wahl (9.16) bleibt der Einfluss von St¨ utzwerten zj , deren St¨ utzstelle (xj , yj ) einen großen Abstand von der Auswertungsstelle (x, y) hat, gering gegen¨ uber solchen St¨ utzwerten, deren St¨ utzstelle nahe bei der Auswertungsstelle liegen.
9.7 Zweidimensionale Interpolation
377
Der Exponent µ in (9.17) ist frei w¨ ahlbar. An den St¨ utzstellen (xj , yj ) hat die ShepardFunktion Φ f¨ ur 0 < µ ≤ 1 Spitzen und f¨ ur µ > 1 Flachpunkte mit einer zur x, y-Ebene parallelen Tangentialebene; µ wird auch Gl¨ attungsparameter genannt. Der folgende Algorithmus liefert zu einer Auswertungsstelle (x, y) den Funktionswert Φ(x, y). Algorithmus 9.20. (Globale Shepard-Interpolation) Gegeben: N+1 Interpolationsstellen (xj , yj , zj ), j = 0(1)N , der Gl¨attungsparameter µ, 0 < µ < ∞, und eine Auswertungsstelle (x, y). Gesucht: Der Wert Φ(x, y) der globalen Shepard-Funktion. 1. Setze Z := 0, S := 0, j := 0. 2. Berechne r :=
p
(x − xj )2 + (y − yj )2 .
2.1 Wenn r > 0 ist, berechne w := r −µ und setze S := S + w, Z := Z + w · zj , j := j + 1. 2.2 Wenn r = 0 ist, setze S := 1, Z := zj , j := N + 1. 3. Wenn j ≤ N ist, weiter mit 2. Andernfalls berechne Φ(x, y) = Z/S.
Beispiel 9.21. Gegeben: Eine Wertetabelle mit 5 Interpolationsstellen j
0
1
2
3
4
xj
−2.5
1
2
0
−1
yj
−0.5
−2
1
0
1.5
zj
1.5811
2
2
3
2.3979
sowie µ = 2 und die Auswertungsstelle (x, y) = (−2, 1).
378
9. Polynomiale Interpolation sowie Shepard-Interpolation
Gesucht:
Der Wert Φ(x, y) = Φ(−2, 1) der globalen Shepard–Funktion.
L¨osung:
Mit Algorithmus 9.20. 1. Z := 0, S := 0. 2. j = 0 : r=
q
− 2 − (−2.5)
2
+ 1 − (−0, 5)
2
1 1 = = 0.4, r2 2.5 S := S + 0.4 = 0.4, w=
Z := Z + 0.4 · 1.5811 = 0.63244. j=1: r=
q 2 √ (−2 − 1)2 + 1 − (−2) = 18,
1 1 = = 0.055 555 56, 2 r 18 1 S := S + = 0.455 555 56, 18 1 Z := Z + · 2 = 0.743 551 11. 18 w=
j=2: r=
p √ (−2 − 2)2 + (1 − 1)2 = 16,
1 1 = = 0.0625, r2 16 S := S + 0.0625 = 0.518 055 56, w=
Z := Z + 0.0625 · 2 = 0.868 551 11. j=3: r=
p √ (−2 − 0)2 + (1 − 0)2 = 5,
1 1 = = 0.2, r2 5 S := S + 0.2 = 0.718 055 56, w=
Z := Z + 0.2 · 3 = 1.468 551 11.
=
√
2.5,
9.7 Zweidimensionale Interpolation
379
j=4: r=
q
− 2 − (−1)
2
√
+ (1 − 1.5)2 =
1.25,
1 1 = = 0.8, 2 r 1.25 S := S + 0.2 = 1.518 055 56, w=
Z := Z + 0.2 · 2.3979 = 3.386 871 11. 3. Φ(−2, 1) =
Z = 2.2311. S
F¨ ur die Berechnung eines jeden Funktionswertes Φ(x, y) m¨ ussen alle N +1 Interpolationsstellen (xj , yj , zj ), j = 0(1)N , verwendet werden. F¨ ur eine große Anzahl N erfordert diese globale Methode einen erheblichen Rechenaufwand. Mittels einer lokalen Variante l¨ asst sich dieser Rechenaufwand stark vermindern. Dabei werden zur Berechnung eines Funktionswertes Φ nur solche Interpolationsstellen (xj , yj , zj ) herangezogen, deren St¨ utzstellen (xj , yj ) innerhalb eines Kreises vom Radius R um die Auswertungsstelle (x, y) liegen. Der Radius R dieses Kreises ist so zu w¨ahlen, dass gen¨ ugend viele St¨ utzstellen innerhalb des Kreises liegen. Im Folgenden werden die St¨ utzstellen (xj , yj ), die von der Auswertungsstelle (x, y) einen Abstand rj (x, y) < R haben und somit innerhalb des Kreises liegen, mit (xk , yk ), k = 0(1)M , 0 < M < N , bezeichnet; dann ist also rk (x, y) < R. Bei den folgenden lokalen Methoden erhalten alle St¨ utzstellen (xj , yj ) mit rj (x, y) ≥ R das Gewicht wj (x, y) = 0. Dann ist M X Φ(x, y) = wk (x, y) zk . (9.18) k=0
Die lokale Shepard-Methode verwendet mit 1 rk (x, y) 2 ψk (x, y) = 27 rk (x, y) · −1 4R R die Gewichte wk (x, y) =
ψkµ , M P ψnµ
f¨ ur
0 < rk (x, y) <
f¨ ur
R 3
R 3
≤ rk (x, y) < R
k = 0(1)M .
n=0
Damit ergibt sich die lokale Shepard-Funktion (9.18). Eine sehr brauchbare lokale Variante der Shepard-Interpolation ergibt sich mit der Verwendung der Franke-Little-Gewichte ([FRAN1982], [HOSC1989], 9.).
380
9. Polynomiale Interpolation sowie Shepard-Interpolation
Mit ξk (x, y) = 1 −
rk (x, y) R
ergeben sich diese Gewichte wk (x, y) =
f¨ ur 0 < rk (x, y) < R
ξkµ , M X µ ξk
k = 0(1)M ,
n=0
f¨ ur die lokale Shepard-Funktion (9.18). Der folgende Algorithmus liefert zu einer Auswertungstabelle (x, y) den Wert der lokalen Shepard-Funktion Φ.
Algorithmus 9.22. (Lokale Shepard-Interpolation mit Franke-Little-Gewichten) Gegeben: N+1 Interpolationsstellen (xj , yj , zj ), j = 0(1)N , der Gl¨attungsparameter µ, 0 < µ < ∞, der Radius R, R > 0, und eine Auswertungsstelle (x, y). Gesucht: Der Wert Φ(x, y) der lokalen Shepard-Funktion mit Franke-Little-Gewichten. 1. Setze Z := 0, S := 0, j := 0. 2. Berechne r :=
p
(x − xj )2 + (y − yj )2 .
2.1 Wenn 0 < r < R ist, berechne r µ w := 1 − R und setze S := S + w, Z := Z + w · zj , j := j + 1. 2.2 Wenn r ≥ R ist, setze j := j + 1. 2.3 Wenn r = 0 ist, setze S := 1, Z := zj , j := N + 1. 3. Wenn j ≤ N ist, weiter mit 2. Andernfalls weiter mit 4.
9.7 Zweidimensionale Interpolation
381
4. Wenn 4.1 S > 0 ist, berechne z := Z/S; Φ(x, y) = z ist der gesuchte Funktionswert. 4.2 S = 0 ist, dann liegen im Kreis um (x, y) mit dem Radius R keine St¨ utzstellen (xj , yj ); f¨ ur alle j = 0(1)N ist r ≥ R. R muss gr¨oßer gew¨ahlt werden.
Beispiel 9.23. Gegeben: Die in Beispiel 9.21 verwendeten 5 Interpolationsstellen sowie µ = 2, R = 2 und die Auswertungsstelle (x, y) = (−2, 1). Gesucht:
Der Wert Φ(x, y) = Φ(−2, 1) der lokalen Shepard-Funktion mit Franke-LittleGewichten.
L¨osung:
Mit Algorithmus 9.22. Die Abst¨ ande r f¨ ur j = 0(1)4 werden aus dem Beispiel 9.21 u ¨bernommen. 1. Z := 0, S := 0. 2. j = 0 : r=
√
2.5 < 2, √ !2 2.5 w = 1− = 0.043 861 17, 2 S := S + 0.043 861 17 = 0.043 861 17, Z := Z + 0.043 861 17 · 1.5811 = 0.069 348 90. j=1: r=
√
18 > 2,
j=2: r=
√
16 > 2,
j=3: r=
√
5 > 2,
382
9. Polynomiale Interpolation sowie Shepard-Interpolation j=4: r=
√
1.25 < 2, !2 √ 1.25 w = 1− = 0.194 466 01, 2 S := S + 0.194 466 01 = 0.238 327 18, Z := Z + 0.194 466 01 · 2.3979 = 0.535 658 94. 3. Φ(−2, 1) =
Z = 2.2476. S y 6 3
....................................... ............ ........ ... ....... ........ ...... ....... ... ..... ..... . . . ... . ..... ... . . . . ..... . . . .... .... . . . . . .... . ... . . . . ... ... .. ... . . ... .. .. . . ... .. .. . ... . 4 4 ... .... .... .. . . ... . . . ... .... . ..... . .. 4 . . . ... . ... . ... . ............. .. . ... .......................................................................................................................2 ................................... . ... . .............. .. . . ... .. . .................. . . . . ..... ........ ... . .. . . . . . . . 3 ... . . ..... .. .. ..... ............. ... 0..... ....... .. ..... ... . ....... ... ..... ... ......... .. 3 3 ..... ....... ... .. . . . . . . . . ..... ... ..... ... .... ... ..... ...... ..... .. . .......... ..... .. ..... ....... .. ..... ..... ......... ...... ...... ..... ....... ....... ..... . . ......... 0 . . . . . 0 ..... .... ............... ..... .............................. ..... ..... ..... 1 ..... ..... ..... ..... ..... ..... ..
R
(x, y) r r
(x , y ) r r
−3 r −2 (x , y )
r
2
r
1
r(x2 , y2 )
(x , y ) r 1
−1
−1
2
3
x
r
−2
Abb. 9.6.
r(x1 , y1 )
Bei der praktischen Anwendung der lokalen Shepard-Interpolation k¨onnen sich Schwierigkeiten ergeben bez¨ uglich der Wahl von R bei unterschiedlicher Skalierung auf den beiden Achsen. In [KUHN1990] wird deshalb folgende Variante zur Berechnung der rj vorgeschlagen. Als Bereich B, in dem alle St¨ utzstellen (xj , yj ) liegen, wird mit xmin = min xj ,
xmax = max xj ,
ymin = min yj ,
ymax = max yj ,
0≤j≤N
0≤j≤N
0≤j≤N
0≤j≤N
das Rechteck B=
(x, y) | xmin ≤ x ≤ xmax , ymin ≤ y ≤ ymax
gew¨ahlt. Mit xe = xmax − xmin , ye = ymax − ymin s sei dann f¨ ur (x, y) ∈ B 2 2 x − xj y − yj rj (x, y) = + . xe ye
(9.19)
9.7 Zweidimensionale Interpolation
383
√ Damit gilt 0 ≤ rj (x, y)√≤ 2. Deshalb muss f¨ ur die lokale Shepard-Interpolation ein Radius R mit 0 < R < 2 gew¨ ahlt werden. Empfehlungen. Bez¨ uglich des Rechenaufwandes ist die lokale Methode der globalen auf jeden Fall vorzuziehen. Um Spitzen der Funktion Φ an den St¨ utzstellen zu vermeiden, wird empfohlen, einen Gl¨ attungsparameter µ ≥ 2 zu verwenden. Wenn die Abst¨ande rj nach (9.19) berechnet werden, ist R mit 0.3 ≤ R ≤ 0.5 empfehlenswert.
Beispiel 9.24. Gegeben ist eine Funktion T mit 1 1 2 3 − 1 (9x − 2)2 + (9y − 2)2 3 T (x, y) = e 4 + e− 49 (9x + 1) + 10 (9y + 1) 4 4 1 (9x − 4)2 + (9y − 7)2 1 − 1 (9x − 7)2 + (9y − 3)2 − e + e 4 , 5 2 wobei (x, y) ∈ B = (x, y) | 0 ≤ x ≤ 1.1, 0 ≤ y ≤ 1.1 . Der Graph dieser Funktion ist in der folgenden Abbildung wiedergegeben. 1.5
1
0.5
0
......... ... .. ............... ............... .......... ... ............ ........................... .............. .......... .. ............. ... ............. .............. .... ............ ..................... . . ... . .......... .... .. ........... .......... ...... ... ............... .... ............. .... ..... ........................... ... .............. ...... . ... .. .. ............... ................ ..... ... ..... ... . . . . ......... ............................................... ............ .... ........................................... ............................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . .......................................... .......... ....... .... ........... ... ... ................ ................ ................. ................................................. . . . . . . . . . . . . . . . . ... . . . . ............... ............... .... .... .................................................................................................................... .......... ........... .... .... .... .... ........................... . ... . . . . . . . ... ................................ ... .......... ..... .................... . ....................................... ........ .... . ...... ......................... .... .. ... ................................ ....... ..... .. ....... .. .. ........... ......................... ................. .. .... ... .... .. . ... . . ..... . ... . ... .............................................................................................................. .............. .... ..... .................................................................................. .............. .... ................ .... .... ..................... ................ ......................................................................................................... ............. .................................................... ......................... .... ................ .... .............. .... .... .... .... .... ............... .... .. ......................................... ... ... ......... ... ........................................................... ....... .... ....... ... ............. ... .... ... .................... .......................... ... .............. ... ... ................................. ......... ............ ........... ........... .... ............................ .... ....................... ... .................. .... ........................ .... .... ..... ............................ .... ......... ............ ............... ........ ........... .......... .... ...................... ... ......................... ... ................. ... .................... ... ... ......................... ... .... ........ . . . . . . . . . . ......... . . ........ ........... ......... .......... . . . . . . . . ........ . . . . . . . . . . . . . . . . ... . . . . . ........... .......... ........ .. ............. ... .... ................... .... ........................................ .... .................................... ..... .... ................................... ... .... ........ ... ......... ......... ... ...................... .. ................................. ... .. ..................... ... ... .. ............................................................. ...... ........ .......... ... . . . . .... . . ... ............. ..... ..... .... .... .... ................................................. ................................................... .... ..................................................... . . ........... .... ............ . . . . . . . ... . .. ........................ . .. .. . . .... ............ .. ............. . ........................................... . . ........... . ...... ... ............. ... ......................................... .... ..... .... .............................................. ..... ...................................................... ................................................................................ ... . . . . ................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . .... ........................ ... ..................................... ... .... ... .... .... ... ... ... ....................... ........................................................................................................... ............ ... .................... ... .. .............................................................................................................. .. .............. .... ...................................... ................ ... ............................... ... ............................ .. .... ... ... ... .. .. ... .. . . .. ... .... .... .............................. .... ............................................................................... .. .. ... ................... ................................................................................................................................................. ..................... .... ..................................... .... ............................................... .................. .. ............ ......... ............ ............................. .... ...................................... ......... ..................................... .... ................................................. ......................... ............... .. ............ ... ......... ....... ............. ....................................... .... ......................... ... ..................................................... ........................................................ .... ................................................... ... .. ...... .................................................................................................. .......................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . .. .. ................... .. .. .. ...................... .. .. .................... .. ..... .. ... ...................... .. .. ...................... ........... .................... ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ ...... ........................................ ......................................................... ................................................................................................................ ....................................................... ...... ........................................... ... ................................................................................................. ................................................ ...... ...... ...... ............................................................................................................................................................. ...... ...... ................................................ ............................................... ...... ...... .............................................. ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ..... ...... ............................... . . . . . ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ....................... . . . . . . . . . . . . . . . . . . . . . . . . ...... . . . . . . . . . . . . ....................... . . . ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ......... ...........................................................
Abb. 9.7. Graph der Funktion T
Mit der Funktion T werden an 100 zuf¨ allig erzeugten St¨ utzstellen (xj , yj ) mit 0 ≤ xj ≤ 1.1 und 0 ≤ yj ≤ 1.1 die Interpolationsstellen xj , yj , zj = T (xj , yj ) , j = 1(1)100, bereitgestellt. Mit diesem Datensatz werden
384
9. Polynomiale Interpolation sowie Shepard-Interpolation die globale Shepard-Interpolation mit µ = 2 (Abbildung 9.8), die lokale Shepard-Interpolation mit Franke-Little-Gewichten mit µ = 2 und R = 0.4 (Abbildung 9.9) sowie mit µ = 2 und R = 0.2 (Abbildung 9.10) ausgef¨ uhrt.
Im letzteren Fall erh¨ alt man ein akzeptables Ergebnis, wobei mit einigen zus¨atzlichen Interpolationsstellen an den R¨ andern ein noch glatteres Erscheinungsbild erzielt werden kann. 1.5
1
0.5
0
........ ... .. ... ... ... ............. .... ... .............................. ........................................... ... .. . .. . .......... .. ........ ... ............. ..... ........ ..... .... .................................................................... ... ................................... ............ ......... . . ....... .. ............ ........................ . . . . ......... . . . . .. .. ..... ................ ............................................. .. .. ....... ... ....................................................................................................................... ..... ..................... ................. .... .... ....................... .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . ........ . . .... . ...... ..... ... . . . . .. .......... ... ......................... .. ............. .................. .................. .. ................ ..... .......................................... ......... .......... ... .......... . . .. . .. ........................................................................................................ ..... ..................................................................................................................................... .... .............................................. .... .... .... .............................................. . . . . . . . . . . .... . . . . . . . . . ....... .. ........... .... . . . .. . .......... . ....... .. ...... ... ..... ......... ................. ..... ........ .. .................................................................................................................................................................................................................................................................................... .............. ..... ..... ................... .................... .... ............................ ... ........................................................................... .... ... .............. ................. ............................................................ ....................... ... ...................................... .. ... ....... ... .............. ........................... ........................................................... .... ........ ... ............................................... ................................ ... .......................... ... ... ................................................ ......... ........................................... .... .............. ......................................... ... ... .... ... ............. .... .... .................. .... ... ... ... ... .... ......................... .......... .... ............ .......... .. .................................................................... ..................................... .. .. .................................................................. ... .... ... ... .......... .. ..... .. . . . ... ........ ... ......... .. ................. .... .... ........................................................ .... .... .... .............................. .... .................................................................................... ... ... ............ .. .......... .. ........................ ... ... ... .................................................... .... ... ................. .. ... .. .. .. ........... ... ........... .... .................... .... ............. ... ... ................................... ... ... ... ... ................................ ... ............................................................. ... ... ... .............. ............................... ... .. .................... ... ... ... ....................................................... ................................................. ... ... ......................................... ... ........................... ......................................................... ... ................................................................................................ ... .................................................................................................................... ....................... .. .. ... ............................ .. ... .. .. ... .. .. .. . ............. .... . ....... .. ... ... ... ........................................... ... ... ......................................................................... ... ................... .... .................................. .............................................................................. ... .................. ... ... ................................................ ... ... ............... ................................................... ................................. ................................. .... ....... ... .. .......................... ................................................................................ .... ......................... .... ... .............. ................................... .... ...................... .. ... ........................ ................................... ... ..................................................................... .. ........................... ............... .... ............................................................................................ ......... ...................... ... ......................................... .... .... ... ..................................................... ... ............ .................... ........................................ .... ............... ........ .. .... . ...................................... .... .... ............................................................. ... .... ......... ... . . ...... ... . .... . ... .......... . ..................................................................... .... ............................................................................................................................................................................................................................................................................................................................................................................................ ... . . .. ... . .. . . . . .. ....... . ........ . ... ......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... .............. ...... ................................................................................................................................................................................ ...................................... ................ ...... ..................... ................................. .... ... ........................ ..................... ...... ...... ............................................ .... .................................................... ...... ...... .......... .............. ........... ...... ...... ... ........ ...... ...... ...... ..... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... . ...... ................... . . . . . . . . ...... . . . . . . . . . . . . . . . . . . . . . . . . ...... ........................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... . . . . . . ........................ . . . . . . . . ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ............... ......................................................................
Abb. 9.8. Globale Shepard-Interpolation mit dem Gl¨attungsparameter µ = 2 1.5
1
0.5
0
....... ... ... .. ... ... ... ................ ..................................................................................... ... ............................................................................................................................ ........................................................................................................................... ... ............................................................................................................................................................................................. . . . . . . . . ......... . . . . . . ................................................................................. ................... ... .................................................................... . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . ... ........... . .. .. .. .. ......................................................................................... .......... ......... ......... ... ........................................................................................................................................ .............. ........... .. ........... .. ... .. .. ... .. ... ........................................................................................................................ ......................... ............. ... ............ .. ................................................................. .......................................................................................................................................................................................................................................................................................... ............................. ................................. ..... .... ..... .... ..... . . . . . . . ... . . . . . . . . . . . . . ...... ..... ........ .... ....... ...... .. ...... . .. . . .. .. ..... . ................................................................................................................................................................................................................................................................................ .............................. ..... ................................................................................................ ... .................................................................................................... ............................................................................................................ .... ............................ .... .... .... ..................................... ... ............... .............. ............. .... ............. ................. .. .. .. .. .. .. ...................... .. ......... . ... .................. .. ......................................................................................... .. ... .......................................... ..... .... ..... .... .... .............. ................... ... ................... .............. ... .................... ... ... .. ... ... .. .. ..................... .. ... ... ........................................................ . . . ..... . . . . .. . . . ... .... . . . ...... . ......... ......................... ........................... .... .................................................................................................................... .... .... ........................................... .... ..... .... .... .... ... ... ............... .. ... .................. ... .. .. ........................... ... ... .................................... ... ... ...................................................................... ... .......... ... ................... ... ................................... ... .. ............................. .. ... ... .......................... .. ... ... ... ... ... .... .............. ... .. .................... .. .. .. ... .. .. ... ........................ .. ... ... ..................................................... ... ........... .... ....................... ... ... ......................................................................................................... ... ... .................................. .... ... ... ................... ... ....................... ... ................................. ... ... ... ... ... ... ... .................................... ... .......................................................... ..... ... .... .. ...................... .. .. ........................................................................................... .. ... .. ....................... .... ... ...................................... .................... ... .......................................... ... ... .... .... ... ... ... ...................................... .... ........................................ .... ............................. ... ... ........................... ... .... ..................................................................................................... ... .. ........................ .... ................................... .... .......... ... ........ ... .. .................................... ... .. ... ... ... ... ... .......................... ... ........................ .... ....................................... .... ................................ .... ................................................................................................................... .... ... ..................... .... ............................. .... .......................................... ... .... ................................................ .... ................................................................................................................... .......................... ...................................... ...................................... ......... .................. ... ................................................. .... .... ..... .... ... .... ............................. .... ..................... .... ............................... .................................. ..................................... .... .................................................................................................................... .. ......................... ......................... ................................. .. ........................ ... ... .. .. ................ .. .. .. .......................................................................... .. ........... .. ............. .. ..................... .. ... ... ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ........................................................... ........... ..... .................................... ... ........................................................... ................................................................................................................ ........................................ ...... ................... ..................................... ..................................................................................................................................................... ...... ...... ....................... .......................................... ............................................................................................................. ...... ...... ...... ......................... ............................................................................................ ...... ...... ................................................................... ...... ...... ................ ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... . ...... ......... ..................................... ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ......................... . . . . . . . . . . . . . . . . ...... . . . . . . . . . . . . . . . . . . ...... ....................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ... ....................................................
Abb. 9.9. Lokale Shepard-Interpolation mit Franke-Little-Gewichten, Gl¨ attungsparameter µ = 2, Radius R = 0.4
9.8 Entscheidungshilfen 1.5
1
0.5
0
385
.......... ... .. ... .. .............................. ... ............ ............................................... ... ....................... ...... .. . ......................................... .. ................. ...... ... ..................................................................... ................... .... .................................... . . . ... . . ........ .. ... ... ...................... ........ ...... ................. ........ ......... ................................................................. ..... ............... .... ............................. .... ....................... . . . . . . . . . ... . . . . . ... ......... .. ........... ... ..... .... .... ... ... ... ... .. ..... ... ... ... ........... ... ... ......................... ...... ................................................... ......... ........ .... ...................................................... ............................................................................................... ......... .. .......... ................................ ... .... ............................... . . . . ... . . .. ................................................................................................................................................................................................................................. ....................... ................. .... ............................ .... .... .................... . . . . . . . . ... . . . . .. ... . . . . .......... . . .. . . ... . . ...... . . ... .... ............ .. .. .. ... . ................................................................................................................................ ................................................................................................................. ...................... .... ................ .... .... ....................... .... .... ................................................................................................. .................. ... .... ................................. ................................................... ................... .... ......................... .... .... ........................ ... ........................................................... ............. ... ....................... .... ... ............................... ... ...................... ... .................. .... ... .................................... ..... ... ............................................. ............. .... ...................... ... ...................................... ... ........................... .... ... ............... ... ... .... ... ... ..................... .. . . .. .. .. . . ....... .. . ........ .. . . . ...... . ......... .................... .... ....... .... ............. ... . ............... ... ..................... ... .................................................... ... ... ........................................................................................... ... . ... . ... . ... ... ............. ............. ..... .................... .... ......................... ........................... .... ........ ..... .......................... .... .... ..... .................................................. ... ........ .......... ... ............ ... .............. ... .. ... ... ..................................................... ... ... ......................................... ... ... .... ... ... . . . . . . . . . . . . . ... ........... .............. ... .............. .. . .. . . . . . . ......... . .................... . . . . ... ........ ............... .................... ... ................................... .... ...................................................................................... .... ................................................................................................... ......... .................. .. .. ................. .. .. .. .. .. .. ... ... .. .............................. ... ............................................................ ... ........ ..... ......................... ... ... .................................................................................................. .. .. ....................... ... .... ....................................... ...................... ... ... ................................. ... .. .. ... .. .. ... .. ... ...................... ................................... .... .......................... ... ... .. .......................... .... .... .. ... ... .............................................................................. ... ........................ ........................................... .... ....... ... ..................... ... ................................................................................... .... .... ... ... ... ... ............... ........................ ........................................................... ...... ... ... .......................... .... ......................................................................................................................................................... .................. ..................... .................................................................... ......... ......... ........................................... .... ................................................................................ ... ... .... ................... .............. .............................................................................................. ......... ... .......................................... .... ............................................................................................................ ........... ............... .................... ... .......................................... .... ... ........................... .... ............................................. ................................................................................ .... ... .................. .............................................................. ..................................................... ... ..... ....................... .. .. ................... . ... ... .... .................................. ................ ............. .. .................... .. .. .................... ............................................................... ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ ...... .................................. .................................................. ....................................................... ...................................................................................................... ...... .......................................... ... ........................................ .......................................................................................... ...... ...... ...... ......................................................................................................................................................... ...... ...... ...................................................................................... ...... ...... ................................ ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... . ...... ......... ...... ..................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... . . ....................... . . . . . . . . . . . . . ...... . . . . . . . . . . . . . . . . . . . . . . ...... ........................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... . . . . . .........................................................
Abb. 9.10. Lokale Shepard-Interpolation mit Franke-Little-Gewichten, Gl¨ attungsparameter µ = 2, Radius R = 0.2 Im Vergleich mit der Originalfunktion (Abb. 9.7) ergibt sich mit der lokalen ShepardInterpolation mit Franke-Little-Gewichten (µ = 2, R = 0.2) das beste Ergebnis. Die globale Methode (vgl. Abbildung 9.8) ist nicht zu empfehlen.
9.8
Entscheidungshilfen
Grunds¨atzlich ist zu bemerken, dass die Interpolation mit Polynomen stark an Bedeutung verloren hat, seit es interpolierende Splines und Subsplines gibt, die nicht die zunehmende Welligkeit bei Polynomen wachsenden Grades zeigen und sich besser an die vorgegebene Wertemenge anpassen lassen. Wenn jedoch Interpolation durch Polynome gefragt ist, so sollte man algebraische Polynome bis h¨ ochstens zum f¨ unften Grade verwenden, da Polynome h¨oheren Grades zu stark schwanken. Bemerkung. (zur Auswahl des geeigneten algebraischen Interpolationspolynoms) Da es zu n+1 Interpolationsstellen (xi , yi ), i = 0(1)n, genau ein Interpolationspolynom vom Grad ≤ n gibt, ist es im Grunde gleichg¨ ultig, in welcher Darstellung es benutzt wird. Die Darstellung in der Form von Lagrange hat mehr theoretische als praktische Bedeutung, weil bei Hinzunahme einer Interpolationsstelle alle Lk (x) neu berechnet werden m¨ ussen; da ist die Newtonsche Interpolationsformel der Lagrangeschen unbedingt vorzuziehen. Interessiert nicht das Interpolationspolynom Φ in allgemeiner Gestalt, sondern nur sein Wert Φ(x) an einer (oder wenigen) Stelle(n) x, so benutzt man zu dessen Berechnung zweckm¨ aßig das Interpolationsschema von Aitken (Abschnitt 9.4). Das Verfahren erlaubt, stufenweise neue Interpolationsstellen hinzuzunehmen; dabei m¨ ussen die St¨ utzstellen (wie auch bei den anderen Formeln) nicht monoton angeordnet sein.
386
9. Polynomiale Interpolation sowie Shepard-Interpolation
Liegt eine umfangreiche Wertetabelle (xi , yi ), i = 0(1)n, vor und will man durch ein Polynom m-ten Grades (m ≤ 5) interpolieren, so w¨ahlt man in der Umgebung einer Stelle x ∈ [x0 , xn ], an der ein N¨ aherungswert y f¨ ur f (x) gesucht ist, m+1 benachbarte St¨ utzstellen xi so aus, dass x etwa in der Mitte dieser St¨ utzstellen liegt, weil dann der Interpolationsfehler am kleinsten wird (vgl. Abschnitt 9.6). Die Anzahl der erforderlichen Multiplikationen bei der Auswertung der Interpolationsformel von Lagrange zu n+1 Interpolationsstellen ist f¨ ur
n P
Lk (x): Lk (x) yk :
n−1, n,
Lk (x) yk :
n (n+1).
k=0
F¨ ur die Newtonsche Formel in der Gestalt (9.10) ist diese Anzahl 1 2
n (n+1) ,
und in der Hornerschen“ Form ist sie n. ” Auch wegen dieses Rechenaufwandes ist die Formel von Lagrange f¨ ur die praktische Verwendung ungeeignet. Im Falle mehrdimensionaler Interpolation sind Splinemethoden (Kapitel 12) zu empfehlen. Die Shepard-Interpolation (Abschnitt 9.7.2) eignet sich jedoch gut zur graphischen Darstellung von empirischen Funktionen z = f (x, y).
Erg¨ anzende Literatur zu Kapitel 9 [BARW2007], 5.2-3; [BOOR2001] I; [CARN1990], 1.6, 1.7; [DAHM2008], 8.1-2; [DEUF2002] Bd.1, Kap.7; [ENGE1996], 9; [HAMM1994], 5; [HERM2001], Kap.6; [NIED1987]; [OPFE2002], Kap.3; [PREU2001], Kap.6; [QUAR2002], Kap.8; [RICE1993], Kap.5; [SCHU1992]; [SCHW1997], 3, 3.1-3.5; [STOE2002A], 2.1; [TORN1990] Bd.2, 11.1, 11.2; [UBER1995], Kap.9.
Kapitel 10
Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
10.1
Polynom-Splines dritten Grades
F¨ ur die h¨aufig gestellte Aufgabe, durch n+1 gegebene Punkte (n ≥ 2) P0 = (x0 , y0 ) , P1 = (x1 , y1 ) , . . . , Pn = (xn , yn )
mit
x0 < x1 < . . . < xn
in dieser Reihenfolge eine glatte Kurve zu legen, wird ein ge¨ ubter Zeichner mit Hilfe von Kurvenlinealen meist eine geeignete L¨ osung anbieten k¨onnen. Es gibt allerdings viele verschiedene Kurven, die alle durch die gegebenen Punkte gehen; deshalb wird der Aufgabensteller entscheiden m¨ ussen, ob er eine ermittelte Kurve als L¨osung der Aufgabe akzeptiert. y r P4
6 4 P0 ....r..... ...... ..... 3 .....................
.... ..... ....... ........ . ...... .. ..... .. .... . ... ... ... ..... ...... ... . . . . . ... . ... .. ..... .. .. .. .. . .. ..... ........... ... .. .. .. .. ....... .... .......................... ... ... .... ... .... 2 ................. ... . .. ....... . . . . . . ... .. .. . .. ....... ......... .. ... .... .. . ......... ... ........ ..... .. .... .. ... .... ............... ...... .... .. ..... . ...................................... ..... ..... ..... . ......... . .. . . . . .. 3 ....................................... .. 1 .. .. .. .. .. .. .. ... .. ..... ... ..
rP
r
2
P r
P
1 0 0
1
2
3
4
5
6
x
Abb. 10.1. Drei glatte Kurven, die durch f¨ unf gegebene Punkte gehen Eine rechnerische L¨ osung der gestellten Aufgabe liefert beispielsweise das Interpolationspolynom vom H¨ochstgrad n, das durch die gegebenen n+1 Punkte eindeutig bestimmt ist. Der Graph des Interpolationspolynoms im Intervall [x0 , xn ] ist eine glatte Kurve, die die gegebenen Punkte verbindet. G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_10, © Springer-Verlag Berlin Heidelberg 2011
388
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Die Graphen von Interpolationspolynomen zeigen allerdings bei zunehmender Anzahl von Punkten und damit wachsendem Polynomgrad sowie in Abh¨angigkeit von der Lage der gegebenen Punkte oft starke Schwankungen und damit deutliche Abweichungen vom Verlauf einer Kurve, die den Erwartungen des Aufgabenstellers entspricht. y 6 4 P0 .......r 3
.. ... ... .. ... ... .. .. ... ... ... ... .. .. ... . 1 ..... .. ... ... .. .. .. ... 2 ...... .... .... .... ... .............. 3 ...................4 ............. ....... ... 5 ... . ... .. ... ... ... .. ..........
2
P r
1
P
r
P
0 0
r
1
Pr
6 rP rPx 2 3
−1 Abb. 10.2. Graph des Interpolationspolynoms zu sieben gegebenen Punkten Um einen geeigneten Kurvenverlauf zu erzielen und um unerw¨ unschte Effekte (wie die erw¨ahnten starken Schwankungen) zu vermeiden, wird die zu erzeugende Kurve deshalb aus n Segmenten S0 , S1 , . . . , Sn−1 zusammengesetzt. Das Segment S0 geh¨ort zum Teilintervall [x0 , x1 ], das Segment S1 zum Teilintervall [x1 , x2 ] und schließlich Sn−1 zu [xn−1 , xn ]. F¨ ur die Darstellung dieser Segmente werden Polynome niedrigen Grades, in erster Linie kubische Polynome, verwendet, und zwar so, dass insgesamt eine u ¨ berall glatte, also mindestens einmal stetig differenzierbare Kurve entsteht. Diese Methode wird Spline-Interpolation genannt. Die aus den n Segmenten zusammengesetzte Funktion heißt Splinefunktion, und der Graph dieser Splinefunktion wird auch Splinekurve oder kurz Spline genannt.
y6
P0 .. P2 .............................. ... .. ..r............ ..................... ....... .r . ........ ........ S2 ......... P1 .......... ... .... ........... ......... . . . . . . S . . . . . . . . .....r 0 .............. .. .. .. . .. y .. . S1 y2 0 .... .... y1 .... .. .. .. ............................................................................................r ........................................................................r ......................................................r ................................... x0 x1 x2
P
. . . . ...... ...........n−1 ........ ... ... ............ ....... n−1 ........ ......... .... ........... ............ ...........n .. .. n−1 ..
r
y
S
Pr y r xn
.... .... n .. . . . . . .....................................................................................................................................
r xn−1
x
Abb. 10.3. Spline-Kurve mit den Segmenten S0 , S1 , . . . , Sn−1 (vgl. Abb. 10.6) Die verschiedenen Splineverfahren unterscheiden sich durch den gew¨ahlten Polynomgrad f¨ ur die Segmente, die geforderte Differentiationsordnung und weitere Nebenbedingungen (beispielsweise Randbedingungen). Verschiedene Splineverfahren werden f¨ ur dieselbe In-
10.1 Polynom-Splines dritten Grades
389
terpolationsaufgabe auch verschiedene L¨ osungskurven anbieten. Dann kann und muss der Aufgabensteller, gest¨ utzt auf Erfahrung, eine geeignete Kurve ausw¨ahlen. y 6 4 P0 ......r
... .... .... .... ..... ..... ..... .... .... ..... ..... .... .. .. .. . 1 ...... ..... ..... ..... ...... ........ ........ ........ ............ ............... 2 ............................................ 3 ...... . ..... ..... ........ 4 .......... ........................... ................ ......................... ...............................................................
3 2
P r
1
r
P
0 0
rP
1
2
3
4
Pr x
Abb. 10.4. Drei verschiedene Splinekurven als L¨osungskurven f¨ ur dieselbe Interpolationsaufgabe
Beispiel 10.1. Zu sieben Punkten Pi = (xi , 1/x2i ), i = 0(1)6, werden das Interpolationspolynom und eine interpolierende Splinefunktion erzeugt. y 6 4 P0 .......r 3
... ... ... ... ... ... .. ... .. ... .. .. ... ... . 1 ...... ... ... ... .. ... . 2 ...... ... .... .... .. 3 ....................... 4 ........ .............. ..................... 5 ............................ . .. .. ... .. .. .. .. ..
P r
2
P r
1
P
0 0
r
1
Pr
rP rP6x 2 3
−1 Abb. 10.5. Splinefunktion (durchgezogen) und Interpolationspolynom (gepunktet) zu sieben Punkten Die Splinefunktion, deren 6 Segmente kubische Polynome sind, liefert f¨ ur die Interpolationsaufgabe eine bessere L¨ osung als das Interpolationspolynom vom Grad 6.
390
10.1.1
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Aufgabenstellung
Gegeben seien n + 1 Punkte, n ≥ 2, P0 , P1 , . . . , Pn , Pi ∈ Rm , i = 0(1)n, m = 2 oder m = 3, also Pi = (xi , yi ) oder Pi = (xi , yi , zi ). Diese Punkte werden auch St¨ utzpunkte genannt. Je zwei aufeinander folgende Punkte seien verschieden: Pi 6= Pi+1 f¨ ur i = 0(1)n−1 . Zul¨assig sind sowohl Pn 6= P0 als auch Pn = P0 . Die Punkte P0 , . . . , Pn sollen in der vorgegebenen Reihenfolge durch eine glatte Kurve miteinander verbunden werden. Zur L¨osung der gestellten Aufgabe wird die zu erzeugende Kurve aus n Segmenten Si , i = 0(1)n−1, zusammengesetzt. Dabei soll das Segment Si die Punkte Pi und Pi+1 verbinden. Damit die aus den Segmenten S0 , S1 , . . . , Sn−1 zusammengesetzte Kurve glatt ist, m¨ ussen je zwei benachbarte Segmente Si und Si+1 in dem gemeinsamen Punkt Pi+1 dieselbe Tangente besitzen. Außerdem sollen sie dort dieselbe Kr¨ ummung haben. Es werden nun zwei F¨ alle unterschieden.
Fall 1: Nichtparametrische, interpolierende, kubische Splinefunktion In diesem Fall ist m = 2, also Pi = (xi , yi ), und es wird vorausgesetzt, dass die St¨ utzstellen xi , auch Knoten genannt, monoton angeordnet sind: a := x0 < x1 < . . . < xn =: b . Wegen dieser Voraussetzung kann man die zu erzeugende Kurve als Graph einer Funktion S mit y = S(x), x ∈ [a, b], auffassen. Die Funktion S : x 7→ y = S(x) ,
x ∈ [a, b] = I
muss an den St¨ utzstellen xi die St¨ utzwerte S(xi ) = yi annehmen und soll auf dem Intervall I zweimal stetig differenzierbar sein; es sei also S ∈ C 2 [a, b]. Zur L¨osung der gestellten Aufgabe wird f¨ ur das Segment Si , das die Punkte Pi und Pi+1 verbindet, ein spezielles Kurvenst¨ uck gew¨ ahlt, dargestellt durch ein kubisches Polynom Si (x) := ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 , ai , bi , ci , di ∈ R , i = 0(1)n−1 .
x ∈ [xi , xi+1 ] ;
10.1 Polynom-Splines dritten Grades
391 y = S(x)
. ... .. .. . . . . ... . n−1 . ........... n−1 .... ........ 0 0 2 2...................... . .... ............ ...... ...... . . . . . ............... ..................... . . . . . . ....... ... ........ ........ .... 2 .... ......... 1 1 ...................... ..... ......... ........... . . ........... ................................. 0 ............ n n ........... ..... .... .... .... .. n−1 1 .... .... .... .... .... . . . . . .. .. .. .. .. ............................................................................................................................................................................................................................................................. . . . . ...................................................................................................................................
y6
(x , y ) r
(x r
(x , y ) r S (x , y ) r S
S
r a = x0
r x1
,y
)
(x , y ) r
S
r x2
r xn−1
r xn = b
x
Knoten Abb. 10.6. Spline-Interpolation Die Funktion S setzt sich also st¨ uckweise aus n kubischen Polynomen Si zusammen und wird kubische Splinefunktion S genannt; der Graph von S geht durch die vorgegebenen St¨ utzpunkte. Das folgende Beispiel zeigt, dass sich mit diesem Ansatz die oben genannten Forderungen erf¨ ullen lassen.
Beispiel 10.2. Gegeben: Vier St¨ utzpunkte Pi = (xi , yi ), i = 0(1)3, a = x0 < x1 < x2 < x3 = b. Gesucht:
Eine kubische Splinefunktion S, deren Graph durch diese vier Punkte geht.
y 6
P1 = (x1 , y1 ) r S S
..................................... .................. ............. . .......... .......... ........ ......... .... ........ 0............... ....... . . 0 ........ ...... ......... 2 2 2 1 ......... ... .... ............... ............................... .... .... .... .... . . . . 2 .... .... .... .... ... ... ... ... . . . .
P0 = (x0 , y ) r
r a = x0
P = (x , y ) r r P3 = (x3 , y3 ) S
r x1
r x2
r x3 = b
x
Abb. 10.7. S setzt sich aus den drei kubischen Polynomen S0 , S1 , S2 , zusammen: S0 (x) S1 (x) S2 (x)
= a0 + b0 (x − x0 ) + c0 (x − x0 )2 + d0 (x − x0 )3 ,
x ∈ [x0 , x1 ] ,
2
3
x ∈ [x1 , x2 ] ,
2
3
x ∈ [x2 , x3 ] .
= a1 + b1 (x − x1 ) + c1 (x − x1 ) + d1 (x − x1 ) , = a2 + b2 (x − x2 ) + c2 (x − x2 ) + d2 (x − x2 ) ,
Es sind also 3·4 = 12 Koeffizienten zu berechnen. Daf¨ ur sind 12 Bedingungen erforderlich. Mit den vier gegebenen St¨ utzpunkten Pi = (xi , yi ) ergeben sich die vier Interpolationsbedingungen S(xi ) = yi , i = 0(1)3:
392
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven 1m
S0 (x0 )
=
y0
2m
S1 (x1 )
=
y1
3m
S2 (x2 )
=
y2
4m
S2 (x3 )
=
y3
Wegen der Forderung S ∈ C 2 [x0 , x3 ] m¨ ussen je zwei aufeinander folgende kubische Polynome zweimal stetig differenzierbar aneinander schließen; deshalb ergeben sich an den inneren Knoten x1 und x2 je drei Anschlussbedingungen 5m
S0 (x1 )
= S1 (x1 )
6m
S00 (x1 )
= S10 (x1 )
7m
S000 (x1 )
= S100 (x1 )
8m
S1 (x2 )
= S2 (x2 )
9m
S10 (x2 )
= S20 (x2 )
10m
S100 (x2 )
= S200 (x2 )
Die Bedingungen 5mund 8mbedeuten, dass das Segment S0 auch durch den Punkt P1 = (x1 , y1 ) und das Segment S1 auch durch den Punkt P2 = (x2 , y2 ) gehen muss, dass also S0 und S1 bzw. S1 und S2 an den Anschlussknoten x1 bzw. x2 u ¨bereinstimmen. Man m m m m 6 9 7 10 beachte, dass mit und sowie und gefordert wird, dass dort auch die ersten und zweiten Ableitungen benachbarter Polynome gleich und somit die Ableitungen S 0 und S 00 der Splinefunktion S stetig sind. Auf die Werte der Ableitungen an den Knoten x1 und x2 hat man aber keinen Einfluss. Im Allgemeinen gelten S0000 (x1 ) 6= S1000 (x1 ) und S1000 (x2 ) 6= S2000 (x2 ). S ist also nur zweimal stetig differenzierbar. Bisher hat man nur 10 Bedingungen f¨ ur 12 Koeffizienten. Wenn zwei zus¨atzliche Bedingungen formuliert werden, hat man die gesuchten 12 Bedingungen. Zum Beispiel kann man als Randbedingungen die 1. Ableitungen von S in x0 und x3 vorschreiben: 11m
S 0 (x0 ) = S00 (x0 )
= y00
12m
S 0 (x3 ) = S20 (x3 )
= y30
Auf diese Weise erh¨ alt man eine kubische Splinefunktion mit vorgegebenen 1. Randablei” tungen“. M¨ochte man dagegen die Splinekurve links von x0 und rechts von x3 geradlinig fortsetzen, so muss man m 11
S 00 (x0 ) = S000 (x0 )
=
0
m 12
S 00 (x3 ) = S200 (x3 )
=
0
fordern, damit bei x0 und x3 die Kr¨ ummung von S verschwindet. Mit diesen Forderungen ergibt sich die nat¨ urliche kubische Splinefunktion“. Zur Berechnung der Koeffizienten ” siehe die Abschnitte 10.1.4 und 10.1.5.
10.1 Polynom-Splines dritten Grades
393
Bemerkung 10.3. Wenn außer den bisher genannten noch weitere Forderungen an die Splinefunktion S gestellt werden sollen, k¨ onnen f¨ ur einzelne oder f¨ ur alle Segmente Si auch Polynome h¨oheren Grades angesetzt werden. Wichtig ist, dass die Anzahl der Koeffizienten mit der Anzahl der Bedingungen u ¨ bereinstimmt. Wird z. B. eine Splinefunktion S konstruiert, bei der S1 , . . . , Sn−2 (n ≥ 3) kubische Polynome sind, S0 und Sn−1 dagegen Polynome 4. Grades, dann muss man f¨ ur die beiden zus¨atzlichen Koeffizienten von S0 und Sn−1 auch zwei zus¨atzliche Randbedingungen aufstellen. Im Beispiel 10.2 w¨ aren dann S0 und S2 Polynome 4. Grades, und man k¨onnte z. B. die Werte S00 (x0 ), S000 (x0 ), S20 (x3 ), S200 (x3 ) vorschreiben, um 4 Randbedingungen aufzustellen (siehe Abschnitt 10.1.7).
Fall 2: Parametrischer, interpolierender, kubischer Spline Jetzt wird der allgemeine Fall m = 2 und m = 3 behandelt. Dann sind f¨ ur m = 2 die St¨ utzstellen xi im Allgemeinen nicht monoton angeordnet, wie z. B. bei einer geschlossenen Kurve mit Pn = P0 (monoton angeordnete St¨ utzstellen sind zul¨assig, doch wird von dieser Eigenschaft kein Gebrauch gemacht). Eine ebene Kurve, die nicht als Graph einer Funktion aufgefasst werden kann, muss mit Hilfe eines Parameters dargestellt werden.
........ ..... .......... .... ... ... ... ...... .................... .............................. ... .......... .. . ....... .. .. ..... . .. ... ... ... . . . . .. ... .. ... .. ... .... .. . ... ... ... ... ... .. ... .. . ... . ... ..... ..... ...... .................................
-
........ ........ .......... ..... ... ..... ... ...... . . . . .. . . .. ..... .. ..... . . .. . .. .. . .... . . .. ... ..... . ... . . ........... .. . ......... . ... . . . . . . . . .... .... . . . . . .... . .. ..... . ..... . ..... .. ....... .. ...... .. ..... ... . ...... . . ....................
....................... ......... ...... ..... .... .... ... ... ... .... .. . .. . ... . . . ..... ... . . ............ . . . . . ........ ........ . . . . . . ...... ..... .... . . ... ... . ... .... .. .. ... .. .. ... .. ... ... . . ... . ...... .... ....... ..... ........... ........ ...... ........... ... ..... . . .. . .. .. ... ... ... ... ... .. ..... . . . ....... ... .............................
6
6
6
-
Abb. 10.8. Ebene Kurven, die nicht Graph einer Funktion sind Beispielsweise besitzt der Einheitskreis die Darstellung mit dem Parameter t: x(t) cos t x (t) = = , t ∈ [0, 2π] y(t) sin t
-
394
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven y 6 ........................................... .......... ....... ...... ....... ...... ...... ..... ..... . . . . ..... .... . . .... . .. ... . . ... ... . .. .. ...... . .. . .. .... .. . .. ... ... ... ... .. ... .. ... .. .. .. ... .. ... ... .. ... ... ... .. ... .. . . ... . ... ... ... ... ... .. ... ... . . .... . ..... ..... ..... .... ...... ..... ...... ...... ........ ...... . . . . . . ........... . .....................................
x (t) * o sin t tK | {z } 1 x cos t
Abb. 10.9. Durch je zwei aufeinander folgende St¨ utzpunkte Pi und Pi+1 soll ein Kurvensegment Si mit der Parameterdarstellung Si (t) := ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 , ai , bi , ci , di ∈ Rm , i = 0(1)n−1
t ∈ [ti , ti+1 ] ;
gehen. Die den St¨ utzpunkten Pi zugeordneten Parameterwerte ti , die Knoten, m¨ ussen monoton angeordnet sein: a := t0 < t1 < . . . < tn =: b . Dann hat der aus den n Segmenten Si zusammengesetzte kubische Spline die Darstellung S : [a, b] → Rm ,
t 7→ x (t) = S (t) ≡ Si (t) ,
t ∈ [a, b] = It .
F¨ ur die Parameterwerte t0 , t1 , . . . , tn soll S mit den St¨ utzpunkten u ¨bereinstimmen, S (ti ) = Pi ,
i = 0(1)n ,
und die Vektorfunktion S soll auf dem Intervall It zweimal stetig differenzierbar sein. Zur Wahl der ti siehe Abschnitt 10.1.6. F¨ ur m = 2 erscheinen die skalaren Vektorkomponenten in der Schreibweise x(t) Sx (t) Six (t) x (t) = = S (t) = ≡ = Si (t) , y(t) Sy (t) Siy (t)
(10.1)
worin z. B. Six (t)
= aix + bix (t − ti ) + cix (t − ti )2 + dix (t − ti )3 , t ∈ [ti , ti+1 ] , aix , bix , cix , dix ∈ R
eine interpolierende kubische Splinefunktion ist. Analog gilt f¨ ur m = 3 x(t) Sx (t) Six (t) x (t) = y(t) = S (t) = Sy (t) ≡ Siy (t) = Si (t) . z(t) Sz (t) Siz (t)
(10.2)
10.1 Polynom-Splines dritten Grades
395
y6
tr4 P
........................................ ...... ........ ...... ....... ...... ..... 4 ...... ..... 3 . 4 . . . ..... .... . . . .... . ... ... . . . . ... .... . . .. . 1 ... . . . . . . . . . . . . . . . . . . . . . . . . ............... . . . . . . .......... ... ....... . . . . . . . . ... ........ 0 .... . .... . . . . . . ... ....... ... ..... ..... ... 1 ..... .... ..... . . . ... . . ... .. .. . . . .. . ... . .. .. . . . . . . n . n . . . 0 . . 1 .. .. . . .. .. . . 3 ... ... . 3 ... ... ..... ... .... . . . . ..... .... . . . ... . .. ... ....... ..... 2 ....... .. ......... 2 ............................... 2
S (t)
S (t)
t
t rP
r P
S (t)
P t r
S (t)
P r t
P r t0 = 0
S (t)
x Abb. 10.10. Ebene Splinekurve (n = 5) mit den Segmenten S0 , S1 , . . . , S4
10.1.2
Woher kommen Splines? Mathematische Analyse
Bei der Interpolation mit Hilfe algebraischer Polynome (Kapitel 9) wurde durch n+1 Punkte genau ein Interpolationspolynom vom H¨ ochstgrad n gelegt. Die Polynome schwanken jedoch stark mit wachsendem n in Abh¨ angigkeit von der Lage der Punkte (vgl. Abb. 10.2). In der Praxis werden deshalb solche Interpolationspolynome nur auf wenige Punkte mit aufeinander folgenden Abszissen beschr¨ankt, und f¨ ur jeden Abszissenbereich werden neue niedriggradige Polynome benutzt. Das Verfahren mit dem kleinstm¨oglichen Polynomgrad 1, angewandt auf jeweils zwei Punkte, liefert einen Polygonzug. Hier ist zwar die Schwankung der interpolierenden Funktion minimal, aber die Unstetigkeit in den Knoten setzt schon bei der ersten Ableitung ein, und die Kurve ist nicht glatt. Deshalb ist die Zusammensetzung niedriggradiger (und daher schwach schwankender) Polynome zu einer im ganzen Intervall [a, b] m¨ oglichst oft differenzierbaren Funktion zweckm¨aßig; sie stellt einen Kompromiss zwischen Polygonzug und Interpolationspolynom h¨oheren Grades dar. Diese Methode heißt Spline-Interpolation. Sie ist entstanden in Analogie zum manuellen Strakverfahren: Beim Straken wird ein altes, aus dem Schiffbau kommendes Werkzeug, die so genannte Straklatte (im Englischen Spline) benutzt, um beispielsweise die L¨ angs- und Querversteifungen f¨ ur die Beplankung eines Schiffsrumpfes zu zeichnen. Die Straklatte ist ein schlankes, biegsames Kurvenlineal konstanter Elastizit¨at aus Holz, Metall oder Kunststoff, das verwendet wird, um durch eine Reihe vorgegebener Punkte eine m¨ oglichst glatte Kurve zu legen. Durch Anbringen von Gewichten, die senkrecht zur Straklatte wirken und keine Komponente in ihrer Richtung haben, wird die Straklatte fixiert und zur Erf¨ ullung der Forderung minimaler Biegungsenergie entspannt. Mit welcher Funktionenklasse l¨ asst sich dieses Strakverfahren analytisch beschreiben? Man betrachtet dazu einen horizontalen schlanken Balken konstanter Elastizit¨at und konstanten Querschnitts, der an den Enden drehbar gelagert ist.
396
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Q1
Q2
Q3
...
Q4
Qn
0 ? x1
6
? x2
? x3
? x4
...
? xn
..... ...... ...... .... .... ....... ...... ........ ..... .. ......
B Auflager Abb. 10.11. Strakverfahren Wenn vertikale Kr¨ afte Q1 bis Qn an aufeinander folgenden Positionen x1 bis xn angreifen, setzt sich die Biegelinie y = y(x) des Balkens st¨ uckweise aus kubischen Polynomen zusammen. Die Differentialgleichung der Biegelinie y = y(x) lautet EIy 00 (x) = −M (x) ,
(∗)
x ≥ 0;
dabei sind E die Elastizit¨ atskonstante, I das Tr¨ agheitsmoment des Querschnitts bez¨ uglich der Nulllinie und M (x) das an der Stelle x wirkende Drehmoment. F¨ ur das Drehmoment an der Stelle x ergibt sich die stetige Funktion M (x) = −Bx +
n X
Qi (x − xi )+ ,
x ≥ 0 , mit
i=1
(x − xi )+ =
(∗∗)
0 x − xi
f¨ ur f¨ ur
x ≤ xi x > xi .
Damit lautet die Differentialgleichung (∗) EIy 00 (x)
= Bx −
n X
Qi (x − xi )+ .
i=1
Zweimalige Integration liefert n
EIy (x)
x2 1X 2 = B − Qi (x − xi )+ + C 1 , 2 2 i=1
EIy(x)
= B
0
n
Die Biegelinie y(x)
=
x3 1 X 3 − Qi (x − xi )+ + C 1 x + C 0 . 2 · 3 2 · 3 i=1
n X B 3 Qi 3 x + C1 x + C0 − (x − xi )+ 6EI 6EI i=1
10.1 Polynom-Splines dritten Grades
397
ist wegen (∗∗) f¨ ur jedes Intervall [xi , xi+1 ] ein anderes kubisches Polynom, aber insgesamt eine zweimal stetig differenzierbare Funktion. So entstand der Grundgedanke f¨ ur die Konstruktion von Splinefunktionen, n¨amlich niedriggradige Polynome intervallweise zu einer glatten (zweimal stetig differenzierbaren) interpolierenden Gesamtfunktion zusammenzuschließen.
10.1.3
Anwendungsbeispiele
¨ Uberall dort, wo es gilt, durch vorgegebene Punkte in der Ebene oder im Raum eine glatte Kurve mit einer analytischen Darstellung zu bestimmen, werden Splines eingesetzt. Es ist kein CAD-Softwarepaket vorstellbar, in welchem nicht Splines die Berechnungsgrundlage bilden. Aber auch u ¨berall dort, wo Messwerte analytisch dargestellt werden sollen, werden Splines eingesetzt. Einige Beispiele seien in der Folge genannt. 1. Das elektrochemische Senken Das elektrochemische Senken ist ein abbildendes Formgebungsverfahren. Bei ihm geht es darum, zeilen- und schichtweise Werkstoff abzutragen oder abzutrennen, um Werkzeuge bestimmter geometrischer Form zu erzeugen, die auf mechanischem Wege nicht hergestellt werden k¨onnten. Das Abbildungsprinzip beruht auf der anodischen Aufl¨osung von Metallen. In einer Elektrolytl¨ osung befinden sich zwei metallische Elektroden. Nach Anlegen einer Gleichspannung fließt Strom, wobei aufgrund von Ladungsaustauschvorg¨angen das als Anode geschaltete Metall in die L¨ osung geht. An der Kathode (Werkzeugelektrode) findet kein Abtrag statt. Zwischen beiden Elektroden bildet sich ein Arbeitsspalt aus. Berechnet werden soll die Spaltausbildung bei Bearbeitungsende. Dazu wird eine exakte, formelm¨aßige Wiedergabe der Werkst¨ uckkontur in gewissen Zeitintervallen ben¨otigt. Man muss n¨amlich in einzelnen Punkten in Richtung der Normalen zur Werkst¨ uckkontur den ¨ortlichen Abtrag pro Zeiteinheit antragen k¨ onnen, wodurch sich eine neue Stufe der Spaltausbildung ergibt. So fortfahrend l¨asst sich der Arbeitsspalt bei Bearbeitungsende berechnen. Man arbeitet hier am sinnvollsten mit Splines. Untersuchungen dazu wurden im Werkzeugmaschinenlabor der RWTH Aachen durchgef¨ uhrt. Maschinenschema, Arbeitsprinzip und eine Skizze zur ersten Werkst¨ uckkontur nach einer Minute Abtrag sind den folgenden Bildern zu entnehmen (vgl. W. K¨ onig: Fertigungsverfahren, Band 3, D¨ usseldorf 1979).
398
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Arbeitsprinzip
Maschinenschema Vorschub
?
=m
I
? −h
−h
q
-
. . .. . .. . .. . . . . .. . .. . . . . . . . . . . . . . . . . . .. . .. . . . .. . .. . .. . . . . . . .Elektrolyt-. . . . . . . .. . .. . .. . . . . . . . . . . .. . .. .. . . . .. . .. . . . . . l¨ o sung . . .. . .. .. . . . . . . . . . .. . .. . .. . . . . . . .. . .. . .. . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . .. . .. . .. . . . n + . . . . . . . .ME ..−n . . . .e. ⇒ . . .. . . . Me . .. . .. . .. . .. . .. . . .. . .. . . . . . . . . . . . . . . . . . . . . . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . . . . . . . .. . .. . .. . . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . . .
+h
.. ....................................... . .. .. ... .. . .. .. .. . .................................... ...
.. .............................................. ............. . ............... . . . .. . ............. .. ............... Werkzeug ..... . ...... ................... ... ................... ................... .. ................... . .................. . .................. .............. ......................... ... ........................ .............. . .. . . . . . . . . ... . . . . . ............................................ ... ............................................ + ............. .. . . .. . . .. ........... ............. . . . ... . . . ............ ......................................... . . . . . . . . . .. . . . . . . . . . .............................................................. ....... . . . . . . . . . . . . . ...... ....... Werkst¨ uck ......... .... . . . .. . .. . . . . . . . .. ... . . . .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....
?
Pm
f
MBB
. . .. . .. . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . .. . . .. . . . . . . . .Elektrolyt-.. . .. . . . . . . l¨ osung . . . . . . . . . . . . . . . . . . . . . . . .. . .. . . . . . . . . . . . . . .
-
q
h
a Gleichstromgenerator
a
Werkzeug: abbildendes Formwerkzeug, kein Verschleiß
Arbeitsmedium: w¨ assrige Elektrolytl¨ osung, z. B. NaCl, NaNO3
Abb. 10.12 a. ... . .. ... ...... ... .... ... .. ... .. ..... . ... ... .. ... .. a .. . . . ... ... ... . . ... ... ... . . ... .. .... . . . . . . .... ..... .. ..... ... ..... ..... .. . . . . . . . ...... ... ...... .... ...... ....... . ....... . . . . ..... . . . ...... . . . . . . . . . . . . . ....... .... .............................. . ...... ...... . . ............... ..... ........................................................... ...... ................ ....... ............ ... ....... ....... ............. ............ . . . . . . . . . . . . . ..............................
H H
∆T = 1 min
x
H H
HHR = 12.5 mm H H V = 1.61 mm/min HH ? j H Werkzeug
@
W Z(T = 1 min)
W Z(T = 0)
?
3
0.38 mm
6
6 @ r @ r @ y W S(T ?
r
9
r
12
r
Splinekurve W S(T = 1 min)
@
= 0)
Abb. 10.12 b.
Abbildung 10.12 b zeigt eine Skizze zur ersten Werkst¨ uckkontur unter den Versuchsbedingungen: Vsp U κ Va Asp R
= = = = = =
2.170 mm3 /A min 17.5 V 0.167 s/cm 1.61 mm/min 0.38 mm 12.5 mm
= = = = = =
spezifisches Abtragsvolumen Arbeitsspannung spezifische Leitf¨ahigkeit Abtragsgeschwindigkeit Anfangsstirnspalt Werkzeugradius.
10.1 Polynom-Splines dritten Grades
399
2. Fahrzeugr¨ uckleuchte F¨ ur die Konstruktion der Dichtfl¨ ache einer Fahrzeugr¨ uckleuchte stehen dem Konstrukteur die Formlinienpl¨ ane (Horizontal- und Vertikalschnitte des Prototyps in bestimmten Abst¨anden) der entsprechenden Fahrzeugpartie zur Verf¨ ugung. Um die Kontur der Dichtfl¨ache zu entwerfen, ben¨ otigt man weitere Horizontal- und Vertikalschnitte, die sich mit Hilfe mathematischer Modelle ermitteln lassen. Dazu werden zun¨achst die graphisch bekannten Formlinien digitalisiert, um sie analytisch z. B. durch kubische Splines in Ebenen parallel zur xz- bzw. yz-Ebene beschreiben zu k¨ onnen. 3. Spritzgießen Zur optimalen Steuerung des Spritzgießprozesses ist die Kenntnis des Werkstoffverhaltens der zu verarbeitenden Thermoplaste w¨ ahrend der Abk¨ uhlung eine der Grundvoraussetzungen. Zu diesem Zweck werden bei jeweils konstantem Druck p und konstanter Abk¨ uhlgeschwindigkeit c Messreihen f¨ ur das spezifische Volumen v in Abh¨angigkeit von der Temperatur T aufgenommen. Um das vollst¨ andige pvT - Diagramm d. h. v = f (p, T ) erstellen zu k¨onnen, wird im ersten Schritt des Rechenganges jede einzelne Messreihe f¨ ur pj = const., j = 0(1)m, durch Ersatzfunktionen dargestellt. Dabei hat es sich als ¨ zweckm¨aßig erwiesen, den Feststoff- und Ubergangsbereich durch einen Ausgleichsspline (s. Abschnitt 10.3), den Schmelzbereich durch eine Ausgleichsgerade zu beschreiben. Da die ebenfalls zu ermittelnde Schmelztemperatur in der Regel nicht mit einem Messwert zusammenf¨allt, wird der Spline u ¨ ber den letzten Messwert hinaus linear verl¨angert und mit der Ausgleichsgerade zum Schnitt gebracht.
v 6 Feststoffspez. bereich Volumen in m3 /kg
¨ Ubergangsbereich
Schmelzbereich
p = const. x
. ............................... ............................... ............................... .......... ... ..... . .. ... ... ... ..... ... .... ... ..... . . . ... . ... . . ... . . .... ... . . . . ... .... . . . . ... ... . . . . . . ... ..... . . . . . . ..... . . . . . . . . . ....... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ................................................................................
rx
x
x
x
x
x: Messwerte
Ausgleichsgerade
x
x
x
x
x
x
x
Kristallisationspunkt
x
Ausgleichsspline
Schmelztemperatur
T Temperatur in Grad C
Abb. 10.13. Qualitative Darstellung des Sachverhaltes
400
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
4. Radialventilator F¨ ur einen Radialventilator mit r¨ uckw¨ arts gekr¨ ummten Schaufeln wurden durch Messungen die dimensionslosen Kennzahlen φ (Lieferzahl) und ψ (Druckzahl) ermittelt, mit deren Hilfe sich die vom Ventilator erzeugte Druckdifferenz ∆Pt in Abh¨angigkeit von der Laufdrehzahl n und dem Volumenstrom V˙ errechnen l¨asst. Um f¨ ur einen definierten Drehzahl- und Volumenstrombereich die Druckdifferenzen in tabellarischer Form zu ermitteln, muss zun¨ achst eine Ersatzfunktion ψ(φ) mit Hilfe einer interpolierenden Splinefunktion aufgestellt werden.
5. Prandtl-Rohr Im unten dargestellten Versuchsaufbau werden hinter dem Axialventilator im angeschlossenen Rohr (DIN 400) mit Hilfe eines Prandtl-Rohrs die dynamischen Dr¨ ucke ∆Pdyn,i in Abh¨angigkeit von dem Radius ri an 9 Stellen gemessen. Durch einfache Umrechnung ergeben sich daraus die lokalen Str¨ omungsgeschwindigkeiten vi . Um die f¨ ur die anschließende Messauswertung erforderlichen Gr¨ oßen Volumenstrom“ sowie mittlere Str¨omungs” ” geschwindigkeit“ zu ermitteln, soll die Ersatzfunktion Φ = v(r) durch Splineinterpolation aufgestellt werden. .... ......
D
...........
...........
...........
...........
D D
...........
D D ... ..... ...
...........
D
...........
........... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
...........
...........
...........
...........
...........
...........
...........
...........
...........
Motor
6r .....b......
..... ................ .... ......... ........ ........ .... .......... . . . . . . .. ... .... ..... ..... . .. .... .... ...... . . ..... . . ... . .. .. .... .. .............. ............... ........... ... ... .... ... .... . ...... ......... ...... ......... ...... ........ .. ... .. .... . . ... ..... .... ...... ....... . ........ ................
Leitrad .............................................. ....... ...... ..... ..... ..... ..... ... ....................... .... ..... ... ... .... .. ... ... . .. .. ..... ...... .. ..... ... .. ...... .............. .... ...... .. ....... .................
Laufrad
.................. .................. .................. ................ ............... ................. ................ ............................................................. .......................................
Abb. 10.14.
vi (ri )
- Spline -
Prandtl-Rohr
10.1 Polynom-Splines dritten Grades
401
6. Walzenk¨ orper Wenn bei Walzenk¨ orpern mit beliebig komplexer Profilform die analytische Darstellung der Kontur, die Querschnittsfl¨ ache, das Volumen, das Gewicht, die Mantelfl¨ache, das Tr¨agheitsmoment und die Schwerpunktskoordinaten zu ermitteln sind, wird man Splineverfahren f¨ ur die Kontur und Quadraturverfahren einsetzen oder die Splinefunktion direkt integrieren. Beispiele f¨ ur Profile von Walzenk¨orpern sind in den folgenden Abbildungen angegeben. y 6 y2
........................
Y
............ ................... . .... ............ .................. ............................................... ......................................................................... ............................... .......................................................... ................................................................................................................ .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .......................................................................................................................................................... .............................................................................................................................. .............................................................................................................................. .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . . ............................................................... . . . . . . ............................................................... .................................................. .................................................. .................................................. .................................................. .. . .. . .. . .. . . . .. . .. . .. . .
y1
@ @
-1.6
0.2
-0.8
........................... ......... . . . . . .... ............................................................................. ..... ......... . ............ ...................................................................... ................................................................................................................................... . . . ....... ......................................................... ........................................................... ............................................................................................ .............................................................................................................................................................. .............................................................................................................................. . . .. . .. . .. . .. . .. . .. . .. . .. . . .. . . ............................................................... . . . . . . ............................................................... .................................................. .................................................. .................................................. .................................................. . . .. . .. . .. . . . .. . .. . . .. . .
0.6
y3
6 0.6
? x
1.4
Abb. 10.15. y 6 y2
. ... ... 3 ... .. 4 ... . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1 .......................................................................................................... 5 ... . . ... ... . ... ........................................................................................................................................................ . . . . . . . ....... . . . . . . .. ..... .... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . ................................................................................................................................................. .. .. ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................................................................................................................................................................................ ......................................... ............................................................................................................................................................................................................................................................................... ......................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .... . . . . . . . . . . . . . . . . . .......................................................................................................................................................................................................................................................................................................................................................................................................................................................... ................................................................................................................................................................................................................................................................................................................................................................ ................................................................................................................................................................................................................................................................................................................................................................ ................................................................................................................................................................................................................................................................................................................................................................ .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . . .. . .. . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................... ............................................................................................................................................................................................................................................................................ .......................................................................... . . . . . . . . . . . . . . . . . ................................................................................................................................................... .... . . . . . . . . . . . . . . . . .. .................................................................................................................................................. .. .. .................................................................................................................................................................................................. .. .. ............................................................................................................................ . .. .. ....................................................................................................... ... ... .. .. .......................... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
y
y
y
0.2
Abschnitt:
xk = 0.0
1
2
0.4
3
1.1
4
1.5
Abb. 10.16.
........ ... .... ... ... .. ....
U
-
x
5
1.6
y
2.0
k = 0(1)5
402
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
10.1.4
Definition verschiedener Arten nichtparametrischer kubischer Splinefunktionen
Definition 10.4. Gegeben seien n+1 Punkte Pi = (xi , yi ), i = 0(1)n, n ≥ 2, mit monoton angeordneten Knoten xi : a = x0 < x1 < . . . < xn = b. Gesucht ist eine nichtparametrische Splinefunktion S, die wie folgt definiert wird: (1) S ist in jedem Intervall [xi , xi+1 ] f¨ ur i = 0(1)n−1 durch ein kubisches Polynom Si gegeben S(x) ≡ Si (x) := ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 , x ∈ [xi , xi+1 ] . (10.3) (2) S erf¨ ullt die n + 1 Interpolationsbedingungen S(xi ) = yi f¨ ur i = 0(1)n. (3) S ist in I = [a, b] zweimal stetig differenzierbar, d. h. S ∈ C 2 [a, b]. (4) S erf¨ ullt eine der folgenden sechs zus¨ atzlichen Randbedingungen (i)
f¨ ur die nat¨ urliche kubische Splinefunktion S 00 (x0 ) = 0 ,
S 00 (xn ) = 0
(ii) f¨ ur die kubische Splinefunktion mit vorgegebenen zweiten Randableitungen (auch verallgemeinerte nat¨ urliche kubische Splinefunktion genannt) S 00 (x0 ) = y000 ,
S 00 (xn ) = yn00
(iii) f¨ ur die kubische Splinefunktion mit not-a-knot-Randbedingungen S0000 (x1 ) = S1000 (x1 ) ,
000 000 Sn−2 (xn−1 ) = Sn−1 (xn−1 )
Diese Bedingungen besagen, dass die 3. Ableitung der Splinefunktion S in den Knoten x1 und xn−1 stetig ist. Damit sind x1 und xn−1 keine echten“ ” Knoten der Splinefunktion ( not a knot“). Hier muss n ≥ 3 sein. ” (iv) f¨ ur die kubische Splinefunktion mit vorgegebenen ersten Randableitungen S 0 (x0 ) = y00 ,
S 0 (xn ) = yn0
(v) f¨ ur die kubische Splinefunktion mit vorgegebenen dritten Randableitungen1 S 000 (x0 ) = y0000 , S 000 (xn ) = yn000 (vi) f¨ ur die periodische kubische Splinefunktion mit der Periode p = xn − x0 unter der Voraussetzung, dass f¨ ur die vorgegebenen Punkte P0 = (x0 , y0 ) und Pn = (xn , yn ) gilt y0 = yn und damit S(x0 ) = S(xn ), S 0 (x0 ) = S 0 (xn ) ,
S 00 (x0 ) = S 00 (xn )
1 F¨ ur die praktische Anwendung hat die Vorgabe der dritten Ableitungen f¨ ur die nur zweimal stetig differenzierbare Funktion S wenig Bedeutung.
10.1 Polynom-Splines dritten Grades
403
Bemerkung. Der 4-parametrige Ansatz in Formel (10.3) ergibt sich aus der Forderung, dass S zweimal stetig differenzierbar sein soll. Polynom-Splines dritten Grades (zweimal stetig differenzierbar, 4-parametrig) geh¨ oren zur Klasse der Splinefunktionen von ungeradem Grad 2k − 1 (k-mal stetig differenzierbar, 2k-parametrig). In besonderen F¨allen benutzt man auch Splinefunktionen von geradem Grad 2k, z. B. zum fl¨achentreuen Ausgleich von Histogrammen oder empirischen H¨ aufigkeitsverteilungen (siehe [SPAT1986]). Die Eigenschaften (2), (3) und (4) aus Definition 10.4 f¨ uhren auf die Bedingungen zur Berechnung der Koeffizienten der n kubischen Polynome Si von S mit je vier Koeffizienten ai , bi , ci , di ; man ben¨ otigt insgesamt 4n Bedingungen. Diese ergeben sich aus den n + 1 Interpolationsbedingungen in den St¨ utzpunkten Pi Eigenschaft (2) S(xi ) = yi ,
i = 0(1)n ,
(10.4)
den je drei Anschlussbedingungen in den n − 1 inneren St¨ utzpunkten P1 bis Pn−1 , in denen je zwei kubische Polynome zweimal stetig differenzierbar aneinander schließen Eigenschaft (3) Si−1 (xi ) = Si (xi ) (10.5) 0 0 Si−1 (xi ) = Si (xi ) (10.6) , i = 1(1)n−1 00 00 Si−1 (xi ) = Si (xi ) (10.7) und den beiden Randbedingungen, je nach dem Typ der Splinefunktion Eigenschaft (4) . Insgesamt sind dies n + 1 + 3 (n − 1) + 2 = 4n Bedingungen f¨ ur die 4n Koeffizienten. Die Eigenschaft (3), aus der sich die Bedingungen (10.6) und (10.7) ergeben, stellt die st¨arkste Forderung an die Splinefunktion S dar. Sie bewirkt den glatten Anschluss der Polynome Si−1 und Si an dem Knoten xi ; dort haben die Graphen der benachbarten Polynome Si−1 und Si dieselbe Tangente und dar¨ uber hinaus die gleiche Kr¨ ummung. Diese Eigenschaft macht die Splinefunktion S besonders geeignet zur angen¨aherten Darstellung einer Funktion f , u ¨ber deren Verlauf man empirisch (z. B. durch Messungen) Informationen besitzt und von der bekannt ist, dass ihr Graph sich gut mit Hilfe eines biegsamen Kurvenlineals (Spline) zeichnen l¨ asst. Die Kr¨ ummung κi von Si ist gegeben durch κi (x) =
Si00 (x) 2
1 + Si0 (x)
3/2 .
Wegen (10.6) und (10.7) gilt an dem Knoten xi κi−1 (xi ) =
00 Si−1 (xi ) 2
0 1 + Si−1 (xi )
3/2 =
Si00 (xi ) 2
1 + Si0 (xi )
3/2 = κi (xi ) ,
d. h. die Polynome Si−1 und Si haben an dem Knoten xi , i = 1(1)n−1, die gleiche Kr¨ ummung. S 000 ist an den Knoten x1 , ..., xn−1 im Allgemeinen unstetig.
404
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Beispiel 10.5. Gegeben: Die Wertetabelle i, xi , yi , i = 0, 1, 2
Gesucht:
i
0
1
2
xi
0
1
3
yi
1
2
1
Zu der gegebenen Wertetabelle drei interpolierende kubische Splinefunktionen S der Darstellung S(x) ≡ Si (x) = ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 f¨ ur x ∈ [xi , xi+1 ], i = 0, 1, mit verschiedenen Randbedingungen. Fall 1:
Nat¨ urliche kubische Splinefunktion mit S 00 (0) = S 00 (3) = 0
Fall 2:
Kubische Splinefunktion mit vorgegebenen 1. Randableitungen S 0 (0) = 1, S 0 (3) = 1
Fall 3:
Periodische kubische Splinefunktion S 0 (0) = S 0 (3), S 00 (0) = S 00 (3), wobei S(0) = S(3) = 1 durch die gegebene Wertetabelle erf¨ ullt ist.
Die 8 Splinekoeffizienten sollen in allen 3 F¨allen mit Hilfe der Interpolationsbedingungen (10.4), der Anschlussbedingungen (10.5), (10.6), (10.7) und der jeweiligen Randbedingungen berechnet werden. Die 3 Splinekurven sollen skizziert werden. L¨osung: Polynome und Ableitungen: S0 (x) S1 (x)
= =
a0 + b0 x + c0 x2 + d0 x3 , a1 + b1 (x − 1) + c1 (x − 1)2 + d1 (x − 1)3 ,
S00 (x) S10 (x)
= =
b 0 + 2 c 0 x + 3 d 0 x2 b1 + 2 c1 (x − 1) + 3 d1 (x − 1)2
S000 (x) S100 (x)
= =
2 c0 + 6 d0 x 2 c1 + 6 d1 (x − 1)
x ∈ [0, 1] x ∈ [1, 3]
Interpolationsbedingungen: ! 1m S0 (0) = 1 : ! 2m S1 (1) = 2 : ! 3m S (3) = 1 : 1
a0 = 1 a1 = 2 a1 + 2b1 + 4c1 + 8d1 = 1
⇒
2b1 + 4c1 + 8d1 = 1 − 2 = −1
10.1 Polynom-Splines dritten Grades
405
Anschlussbedingungen in x1 = 1: ! 4m S0 (1) = S1 (1) : ! 5m S00 (1) = S10 (1) : ! 6m S 00 (1) = S 00 (1) : 0
1
⇒
a0 + b0 + c0 + d0 = 2
b0 + c0 + d0 = 2 − 1 = 1
b0 + 2c0 + 3d0 = b1 2c0 + 6d0 = 2c1
Die beiden fehlenden Bedingungen ergeben sich aus den Randbedingungen f¨ ur die F¨alle 1, 2 und 3: Fall 1:
Fall 2:
Fall 3:
! 7m S000 (0) = 0 : ! 8m S100 (3) = 0 :
2c0 = 0
⇒
c0 = 0 ⇒
2c1 + 12d1 = 0
! 7m S00 (0) = 1 : ! 8m S10 (3) = 1 :
c1 = −6d1
b0 = 1 b1 + 4c1 + 12d1 = 1
! 7m S00 (0) = S10 (3) : b0 = b1 + 4c1 + 12d1 ! 8m S000 (0) = S100 (3) : 2c0 = 2c1 + 12d1
L¨osung f¨ ur Fall 1: i
ai
bi
ci
di
0
1
5 4
0
− 14
1
2
1 2
− 34
1 8
S0 (x)
=
1 + 54 x − 14 x3 ,
x ∈ [0, 1]
S1 (x)
=
2 + 12 (x − 1) − 34 (x − 1)2 + 18 (x − 1)3 ,
x ∈ [1, 3]
y6 2
r
........................... ........... ........ ....... ....... ...... ...... ...... ..... . . . . ..... .... . .. . . .. . . . 1 ............. . ... . . ..... . . ..... .... . . . ..... ..... ..... ..... .... . . . 0 ..... ... . . ..... . ..... .... . . . .
S
1 r
0
S
r
1
2
3
x
Abb. 10.17. Die nat¨ urliche Splinekurve mit S000 (0) = 0 und S100 (3) = 0
406
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
L¨osung f¨ ur Fall 2: i
ai
bi
ci
di
0
1
1
3 4
− 34
1
2
1 4
− 32
9 16
S0 (x)
=
1 + x + 34 x2 − 34 x3 ,
S1 (x)
=
2 + 14 (x − 1) − 32 (x − 1)2 +
x ∈ [0, 1] 9 16 (x
y6 2
− 1)3 ,
x ∈ [1, 3]
r
........................ ....... ...... ...... ..... ..... ..... .... ..... . . . . ..... ... . . ..... . ... ..... . . . ..... .... . . . ..... ... . .. . . ... . . 0 1 ............. . ... . . ..... . .. . ..... . . . . . ...... ..... ........ .....................
1 r
S
S
0
1
r
2
3
x
Abb. 10.18. Die Splinekurve mit den Randableitungen S00 (0) = 1 und S10 (3) = 1
L¨osung f¨ ur Fall 3: i
ai
bi
ci
di
0
1
1 2
3 2
−1
1
2
1 2
− 32
1 2
S0 (x)
=
1 + 12 x + 32 x2 − x3 ,
x ∈ [0, 1]
S1 (x)
=
2 + 12 (x − 1) − 32 (x − 1)2 + 12 (x − 1)3 ,
x ∈ [1, 3]
y6 2
r
............................... ...... ...... ..... ..... ..... ..... ..... .... . . . ..... .... ..... . . ..... .. . . ..... ... . .. . ... . . . 1 ............ ... . . . ..... . ... ...... . . . . 0 ...... .... ........ ...... ..................
1 r
0
S
S
r
1
2
3
x
Abb. 10.19. Die periodische Splinekurve mit S00 (0) = S10 (3) und S000 (0) = S100 (3)
10.1 Polynom-Splines dritten Grades
407
Eigenschaft der nat¨ urlichen kubischen Splinefunktion S Unter allen in [a, b] zweimal stetig differenzierbaren Funktionen f mit f (xi ) = yi ist die nat¨ urliche Splinefunktion S mit den Knoten xi und S(xi ) = yi diejenige, die das Integral 2 I(f 00 ; a, b) minimiert; es gilt Z xn Z xn n−1 X Z xi+1 2 00 2 00 2 f (x) dx ≥ S (x) dx = Si00 (x) dx . x0
x0
i=0
xi
2
Gilt f 0 1, so minimiert die nat¨ urliche Splinefunktion n¨aherungsweise die Biegungsenergie der durch die (xi , yi ) verlaufenden Interpolationskurve. Die Bezeichnung nat¨ urlicher Spline“ ergibt sich aus der Vorgabe der Randbedingun” gen S 00 (x0 ) = S 00 (xn ) = 0, denn sie beschreiben genau den Fall einer Straklatte, die in den Punkten (xi , yi ) fixiert wird und sich außerhalb von [x0 , xn ] als Gerade mit der Kr¨ ummung Null fortsetzen l¨ asst. Links von x0 handelt es sich um eine Gerade mit der 0 Steigung S00 (x0 ), rechts von xn um eine mit der Steigung Sn−1 (xn ). Die Verwendung einer periodischen Splinefunktion ist sinnvoll bei der Ann¨aherung einer solchen periodischen Funktion, bei der am Anfang und Ende eines Periodenintervalls der L¨ange p = xn − x0 zus¨ atzlich zu den Funktionswerten auch die Ableitungen u ¨bereinstimmen (vgl. Abb. 10.20). Voraussetzung ist, dass f¨ ur die St¨ utzpunkte P0 = (x0 , y0 ) und Pn = (xn , yn ) gilt y0 = yn . y6
r
........ ........................ .................... ......... .............. ..... ....... ....... ... .......... .... ..... .... .... .... ..... .... .... .... .... .... .... . . ... . . . . . . . . . . . ... ... ... . . . . . . . ... . . ... . . . . ... ... .. .. ... ... . ... . . . . . ... . ..... ... .. .... . . . . . ... ... . ... . . . . . ... . ... ... .. .... . . . . . . . ... . . . . . ... . ... . . 1 ... . ... . ... . . .... ... ... .. .. ... . . . . . . . . . ... . ... . . ...... .... .. . . . . . . ... . ... . ... . . . . ... . . . . ... .. .. .... . . ... .... . ... . . . . ... . . . . . 0.......... ... ... ... ....... ... ... ... ....... ... ... ... ....... ... ... ......... ... ... ... ... ... ... ...n ... ... ... . . . . . . . . . ... ... ... . .. . ....... ....... .. . . . . . . ... . . . . . . . ... ... . .. . .. ... .. .. . . .. .. ... . . .... . . . . . .... .... . .. .... .. .... . . .... . . . . . . . . . . . . . . . . . . . ..... ..... . . ..... . ........ ............ ........ ............ ...... ......... ............. ...... .... ... ... ... .. ............. ............. ......... . ... .... ... ........ ..... ... ........ . . . . .... .... .. .. .. .. .. . . .... .. .. .. .. .. ... ......
r
P r
P r
r
r
P r
r
a = x0 b = xn x ... ... . ..←−−−−−−− p −−−−−−−→←− .. −−−−−− p −−−−−−−→....
Abb. 10.20. Periodische kubische Splinefunktion Man konstruiert dann die periodische Splinefunktion S f¨ ur [x0 , xn ] = [a, b] mit b − a = p, S(x0 ) = S(xn ), S 0 (x0 ) = S 0 (xn ), S 00 (x0 ) = S 00 (xn ) und erh¨alt die gesamte Darstellung f¨ ur x ∈ (−∞, ∞) aus der Beziehung S(x) = S a + (x − a) mod p .
408
10.1.5
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Berechnung der nichtparametrischen kubischen Splines
Zur Berechnung der 4n Koeffizienten der n kubischen Polynome Si , i = 0(1)n−1, mit der Darstellung (10.3) (vgl. Definition 10.4) werden die Bedingungen (10.4) bis (10.7) verwendet. Aus rechentechnischen Gr¨ unden verwendet man die Bedingungen (10.5) und (10.7) auch f¨ ur i = n, so dass man mit Sn (xn ) = an und Sn00 (xn ) = 2cn zwei zus¨atzliche Bedingungen erh¨ alt, aber auch zwei zus¨ atzliche Koeffizienten an und cn berechnen muss. Man hat also formal f¨ ur die 4n gesuchten Koeffizienten der S0 , S1 , . . . , Sn−1 und die beiden zus¨atzlichen Koeffizienten an und cn die folgenden 4n Bedingungen (10.8) bis (10.11) und zwei Randbedingungen. Si (xi ) Si (xi ) Si0 (xi )
= yi , = Si−1 (xi ) , 0 = Si−1 (xi ) ,
i = 0(1)n i = 1(1)n i = 1(1)n−1
(10.8) (10.9) (10.10)
Si00 (xi )
00 = Si−1 (xi ) ,
i = 1(1)n
(10.11)
Mit (10.3) erh¨alt man die Ableitungen Si0 (x)
=
bi + 2ci (x − xi ) + 3di (x − xi )2 ,
Si00 (x)
=
2ci + 6di (x − xi ) .
(10.12)
Damit ergibt sich f¨ ur (10.11) 00 Si00 (xi ) = 2ci = Si−1 (xi ) = 2ci−1 + 6di−1 (xi − xi−1 ) .
Mit hi = xi+1 − xi folgt daraus di−1 =
f¨ ur i = 0(1)n−1
1 (ci − ci−1 ) 3hi−1
(10.13)
f¨ ur i = 1(1)n ,
(10.14)
und aus (10.14) erh¨ alt man durch Umindizierung 1 di = (ci+1 − ci ) f¨ ur i = 0(1)n−1 . 3hi
(10.15)
Aus (10.8) ergibt sich mit (10.3) Si (xi ) = ai = yi
f¨ ur i = 0(1)n .
Damit und mit (10.3) erh¨ alt man f¨ ur (10.9) Si (xi ) = yi = Si−1 (xi ) = yi−1 + bi−1 (xi − xi−1 ) + ci−1 (xi − xi−1 )2 + di−1 (xi − xi−1 )3
f¨ ur
i = 1(1)n
und daraus mit (10.13) bi−1 hi−1 = yi − yi−1 − ci−1 h2i−1 − di−1 h3i−1 und nach Umindizierung yi+1 − yi bi = − hi (ci + di hi ) hi
f¨ ur i = 1(1)n
f¨ ur i = 0(1)n−1 .
10.1 Polynom-Splines dritten Grades
409
F¨ ur di wird (10.15) eingesetzt, so dass folgt bi =
yi+1 − yi hi − (ci+1 + 2ci ) hi 3
f¨ ur i = 0(1)n−1 .
(10.16)
Aus (10.10) folgt mit (10.12) und mit (10.13) 0 Si0 (xi ) = bi = Si−1 (xi ) = bi−1 + 2ci−1 hi−1 + 3di−1 h2i−1
f¨ ur i = 1(1)n−1
und daraus mit (10.14) bi − bi−1 = hi−1 (ci + ci−1 ) .
(10.17)
Setzt man nun mit (10.16) bi und bi−1 in (10.17) ein, erh¨alt man f¨ ur i = 1(1)n−1 yi+1 − yi hi yi − yi−1 hi−1 − (ci+1 + 2ci ) − + (ci + 2ci−1 ) = hi−1 (ci + ci−1 ) . hi 3 hi−1 3 Daraus folgt hi−1 ci−1 + 2 (hi−1 + hi )ci + hi ci+1 = 3 f¨ ur
yi+1 − yi yi − yi−1 −3 hi hi−1
i = 1(1)n−1
oder ausgeschrieben f¨ ur n ≥ 3 i=1: y2 − y1 y1 − y0 2 (h0 + h1 ) c1 + h1 c2 = 3 −3 − h0 c0 h h0 1 i = 2(1)n − 2 , n ≥ 4 : yi+1 − yi yi − yi−1 hi−1 ci−1 + 2 (hi−1 + hi ) ci + hi ci+1 = 3 −3 hi hi−1 i = n−1 , n ≥ 3 : yn −yn−1 yn−1 −yn−2 −3 − hn−1 cn hn−2 cn−2 + 2 (hn−2 +hn−1 )cn−1 = 3 hn−1 hn−2
(10.18)
(10.18) ist also ein lineares Gleichungssystem, bestehend aus n − 1 Gleichungen f¨ ur c1 , c2 , . . . , cn−1 . Die beiden auf der rechten Seite auftretenden Koeffizienten c0 und cn werden mit Hilfe von zwei Randbedingungen bei x0 und xn festgelegt oder durch zwei andere Bedingungen in Definition 10.4. Im Fall n = 2 gibt es nur eine Gleichung 2 (h0 + h1 ) c1 = 3
y2 − y1 y1 − y0 −3 − h0 c0 − h1 c2 , h1 h0
aus der c1 sofort berechnet werden kann.
410
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Algorithmus 10.6. (Kubische Splinefunktion) Gegeben: (xi , yi ), i = 0(1)n, n ≥ 3, x0 < x1 < . . . < xn , eine der Randbedingungen (4)(i) bis (v) in Definition 10.4 (siehe die Algorithmen 10.7, 10.9, 10.11, 10.13 und 10.15) Gesucht:
Die Koeffizienten ai , bi , ci , di , i = 0(1)n−1, der kubischen Polynome Si (siehe (10.3) in Definition 10.4)
1. ai = yi ,
i = 0(1)n−1
2. hi = xi+1 − xi , i = 0(1)n−1 3. c0 und cn sind durch die gew¨ ahlten Randbedingungen festzulegen 4. Berechnung der Koeffizienten c1 , c2 , . . . , cn−1 aus dem Gleichungssystem: 4.1 Erste Gleichung f¨ ur i = 1: y2 − y1 y1 − y0 2 (h0 + h1 ) c1 + h1 c2 = 3 −3 − h0 c0 h1 h0 4.2 Gleichungen f¨ ur i = 2(1)n−2 und n ≥ 4: yi+1 − yi yi − yi−1 hi−1 ci−1 + 2 (hi−1 + hi ) ci + hi ci+1 = 3 −3 hi hi−1 4.3 Letzte Gleichung f¨ ur i = n−1: yn − yn−1 yn−1 − yn−2 hn−2 cn−2 + 2 (hn−2 + hn−1 )cn−1 = 3 −3 − hn−1 cn hn−1 hn−2 Mit den unter 4. berechneten c1 , . . . , cn−1 und den unter 3. gegebenen c0 und cn sind zu berechnen: yi+1 − yi hi − (ci+1 + 2ci ) , hi 3 1 6. di = (ci+1 − ci ) , 3hi 5. bi =
i = 0(1)n−1 i = 0(1)n−1.
Bemerkung. In dem Gleichungssystem f¨ ur c1 , . . . , cn−1 und in den Formeln f¨ ur bi und di treten nur Koordinatendifferenzen hi = xi+1 − xi und yi+1 − yi usw. auf. (yi+1 − yi )/hi ist die Steigung der Sehne zwischen den St¨ utzpunkten (xi , yi ) und (xi+1 , yi+1 ). Daher wirkt sich eine Verschiebung aller St¨ utzpunkte in x-Richtung nicht auf die Koeffizienten aus, eine Verschiebung in y-Richtung nur auf die Koeffizienten ai .
10.1 Polynom-Splines dritten Grades
411
Das Gleichungssystem 4. im Algorithmus 10.6 besitzt die Form Ac = a mit A=
2(h0 +h1 )
h1
h1
2(h1 +h2 )
h2
h2
2(h2 +h3 )
..
hn−3
c=
..
.
c1 c2 .. .
,
cn−1
a =
h3
..
.
.
2(hn−3 +hn−2 )
hn−2
hn−2
2(hn−2 +hn−1 )
y2 − y1 y1 − y0 −3 − h0 c 0 h1 h0 y3 − y2 y2 − y1 3 −3 h2 h1 .. . yn − yn−1 yn−1 − yn−2 3 −3 − hn−1 cn hn−1 hn−2
3
,
.
Eigenschaften der Matrix A Die Matrix A ist tridiagonal, symmetrisch, stark diagonal dominant und besitzt nur positive Elemente, d. h. sie ist streng regul¨ ar und positiv definit. Da eine tridiagonale, diagonal dominante Matrix stets invertierbar ist (det A 6= 0), sind Gleichungssysteme mit solchen Matrizen stets eindeutig l¨ osbar. Bei der numerischen L¨osung sollte man den Gaußschen Algorithmus bzw. das Cholesky-Verfahren f¨ ur tridiagonale Matrizen (s. Abschnitt 4.9) verwenden. Das System ist gut konditioniert; Pivotsuche und Nachiteration sind nicht erforderlich. Mit den Randbedingungen (i) f¨ ur die nat¨ urliche kubische Splinefunktion (siehe Definition 10.4) ergeben sich S 00 (x0 ) = 2c0 = 0 ,
S 00 (xn ) = 2cn = 0 ,
also c0 = cn = 0 .
Damit erh¨alt man den Algorithmus 10.7. (Nat¨ urliche kubische Splinefunktion) Im Algorithmus 10.6 sind zu setzen: 3. c0 = 0, cn = 0 y2 − y1 y1 − y0 −3 h1 h0 yn − yn−1 yn−1 − yn−2 4.3 hn−2 cn−2 + 2 (hn−2 + hn−1 ) cn−1 = 3 −3 hn−1 hn−2 4.1 2 (h0 + h1 ) c1 + h1 c2 = 3
412
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Beispiel 10.8. Zu den vier St¨ utzpunkten (xi , yi ), i = 0(1)3, i
0
1
2
3
xi
0
1
2
3
yi
2
1
2
2
soll die nat¨ urliche kubische Splinefunktion S erzeugt werden, die also den Randbedingungen S 00 (0) = y000 = 0 und S 00 (3) = y300 = 0 gen¨ ugt. Mit den Algorithmen 10.6 und 10.7 erh¨ alt man die Segmente S0 (x)
=
2−
S1 (x)
=
1+
S2 (x)
=
2+
8 5 1 5 4 5
x+
3 5
x3 ,
(x − 1) + (x − 2) −
x ∈ [0, 1] , 9 5 6 5
2
3
(x − 1) − (x − 1) , (x − 2)2 +
2 5
x ∈ [1, 2] ,
(x − 2)3 ,
x ∈ [2, 3] .
y 6 S2
................................................. ......... ......... ..... .. ..... .... . . . .... .. . . . .... ... . .... . . 0 .... .... .... .... .... .... .... .... .... .... . . .... . 1 ..... .... ..... ..... ....... ..... .......................
2 ..r.......
r
2
3
S
r
1
r
S
0 0
1
x
Abb. 10.21. Die nat¨ urliche Splinekurve zu den gegebenen vier St¨ utzpunkten
Mit den Randbedingungen (ii) f¨ ur die verallgemeinerte nat¨ urliche kubische Splinefunktion erh¨alt man wegen S 00 (x0 ) = 2c0 = y000 c0 = Damit folgt der
y000 2
und S 00 (xn ) = 2cn = yn00 und cn =
yn00 . 2
10.1 Polynom-Splines dritten Grades
413
Algorithmus 10.9. (Kubische Splinefunktion mit vorgegebenen zweiten Randableitungen) Gegeben: S 00 (x0 ) = y000 , S 00 (xn ) = yn00 Im Algorithmus 10.6 sind zu setzen: 3.
c0 =
y000 y 00 , cn = n 2 2
y2 − y1 y1 − y0 y 00 −3 − h0 0 h1 h0 2 yn − yn−1 yn−1 − yn−2 y 00 4.3 hn−2 cn−2 + 2 (hn−2 + hn−1 ) cn−1 = 3 −3 − hn−1 n hn−1 hn−2 2 4.1 2 (h0 + h1 ) c1 + h1 c2 = 3
Beispiel 10.10. Zu denselben vier St¨ utzpunkten wie im Beispiel 10.8 soll die kubische Splinefunktion S erzeugt werden, die den Randbedingungen S 00 (0) = y000 = 3 und S 00 (3) = y300 = −1 gen¨ ugt. Die Algorithmen 10.6 und 10.9 liefern die Segmente S0 (x)
=
2−
S1 (x)
=
1+
S2 (x)
=
2+
221 x 90 37 90 (x 73 90 (x
+
3 2
x2 −
− 1) + − 2) −
41 30 29 30
2 45
x3 ,
(x − 1)2 − 2
(x − 2) +
y 6
7 3 9 (x − 1) , 7 3 45 (x − 2) ,
.. .. .. .. .. .. 0 ... ... ... ... ... ...
r
S
r
... ... ... ...
... ... ... ... . . . ... ... ... .. . ... ... ... 1 ... ...
... ... ... ... ... ... ...
x ∈ [2, 3] .
r
... .
S
0 0
x ∈ [1, 2] ,
S2
2 r
1
x ∈ [0, 1] ,
1
2
3
x
Abb. 10.22. Die Splinekurve mit den zweiten Randableitungen S 00 (0) = y000 = 3 und S 00 (3) = y300 = −1 Mit den Bedingungen (iii) S0000 (x1 ) = S1000 (x1 )
000 000 und Sn−2 (xn−1 ) = Sn−1 (xn−1 ) ,
n ≥ 3,
414
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
erh¨alt man f¨ ur c0 und cn die Beziehungen h c0 = c1 + 0 (c1 − c2 ) h1 hn−1 cn = cn−1 + (cn−1 − cn−2 ) , hn−2
(10.19)
so dass sich der folgende Algorithmus ergibt. Algorithmus 10.11. (Kubische Splinefunktion mit not-a-knot-Bedingungen) Im Algorithmus 10.6 sind zu setzen: 3.
c0 und cn gem¨ aß (10.19)
3 h1 y2 − y1 y1 − y0 4.1 (h0 + 2h1 ) c1 + (h1 − h0 ) c2 = − h1 + h0 h1 h0 4.3 (hn−2 − hn−1 ) cn−2 + (2hn−2 + hn−1 ) cn−1 3 hn−2 yn − yn−1 yn−1 − yn−2 = − hn−1 + hn−2 hn−1 hn−2
Beispiel 10.12. Zu denselben vier St¨ utzpunkten wie im Beispiel 10.8 soll die kubische Splinefunktion S mit not-a-knot-Bedingungen erzeugt werden. Mit den Algorithmen 10.6 und 10.11 erh¨ alt man die Segmente S0 (x) S1 (x) S2 (x)
=
2 − 3x +
=
1 2
=
1+
5 2
x2 −
1 2
x3 ,
x ∈ [0, 1] , 2
(x − 1) + (x − 1) −
2 + (x − 2) −
1 2
(x − 2)2 −
1 2 1 2
3
(x − 1) ,
x ∈ [1, 2] ,
(x − 2)3 ,
x ∈ [2, 3] .
Wegen der not-a-knot-Bedingungen sind S0 und S1 in [0, 2] identisch und S1 und S2 in [1, 3]. Also gilt in diesem Fall S0 = S1 = S2 , und S ist daher das kubische Interpolationspolynom zu den vier St¨ utzpunkten. Wenn S1 und S2 nach Potenzen von x geordnet werden, ergibt sich S0 . y ........... .... ..... .... ... ... ... ... .. . . 2 .. .. . . .. .. .. . . .. .. .... .. .. .. ... .. ... .. . . 0 .. .. ... ... ... ... 1 ... .... ... .... . .... . ............
6 2 r
r
S
1
r
S
r
S
0 0
1
2
3
x
Abb. 10.23. Die not-a-knot-Splinekurve zu den gegebenen vier St¨ utzpunkten
10.1 Polynom-Splines dritten Grades
415
Mit den Randbedingungen (iv) S 0 (x0 ) = y00 erh¨alt man f¨ ur c0 und cn c0 =
1 2h0
cn = −
1 2hn−1
und S 0 (xn ) = yn0
y1 − y0 3 − 3y00 − h0 c1 h0 yn − yn−1 0 3 − 3yn + hn−1 cn−1 hn−1
(10.20)
Algorithmus 10.13. (Kubische Splinefunktion mit vorgegebenen ersten Randableitungen) Gegeben: S 0 (x0 ) = y00 ,
S 0 (xn ) = yn0
Im Algorithmus 10.6 sind zu setzen: 3.
c0 und cn gem¨ aß (10.20) ! 3 y2 − y1 1 y1 − y0 0 4.1 h0 + 2h1 c1 + h1 c2 = 3 − 3 − y0 2 h1 2 h0 ! 3 1 yn −yn−1 yn−1 −yn−2 0 4.3 hn−2 cn−2 + 2hn−2 + hn−1 cn−1 = 3 3 − yn − 2 2 hn−1 hn−2
Beispiel 10.14. Zu denselben vier St¨ utzpunkten wie im Beispiel 10.8 soll die kubische Splinefunktion S erzeugt werden, die den Randbedingungen S 0 (0) = y00 = −2
und
S 0 (3) = y30 = −1
gen¨ ugt. Mit den Algorithmen 10.6 und 10.13 ergeben sich die Segmente S0 (x)
=
2 − 2x +
S1 (x)
=
1+
S2 (x)
=
2+
4 15 14 15
11 15
4 3 15 x , 23 (x − 15 13 (x − 15
x2 +
(x − 1) + (x − 2) −
x ∈ [0, 1] , 2
1) − 2)2 −
12 15 1 15
3
(x − 1) ,
x ∈ [1, 2] ,
(x − 2)3 ,
x ∈ [2, 3] .
416
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven y 6
S2
........... ...... .... .... ... ... .. .. ... . .. . .. .. . . .. .. .. . . ... ... ... ... ... ... ... 0 ... . ... . ... ... ... ... 1 ... ... ... .... .............
2 r
r
r
2
3
S
1
r
S
0 0
1
x
Abb. 10.24. Die Splinekurve mit den ersten Randableitungen S 0 (0) = y00 = −2 und S 0 (3) = y30 = −1
Die Splinekurven der 4 vorangegangenen Beispiele werden hier zum Vergleich gemeinsam dargestellt. y 6 ................. ........ ..... .. .................. .... .... . ... .. ....................................................................................... . . . . ................... ..... ............... ........... .......... ...... . .... . . ... ...... ..... ...... ...... ........ ........ ........ . . . ....... ....... .......... ........ ....... .......... ........ ......... ......... .. ...... . . . . . . . .. . ..... . .. .... ... ........ .. .. ... ........ .. .. .. ... ......... .. ......... ... . .. ... ........... . . . . . . ... .. ........ ....... ...... .......... ........ ... ... ........ ....... ......... ... .... .......... ........... ... .. ......... . . . . . .... ... ............. .......... ......... ... ............. .... . ... ...... ................... ........ ......... ..... .................
2 t
1
t
t
t
0 0
1
2
3
x
Abb. 10.25.
Mit den Randbedingungen (v) S 000 (x0 ) = y0000 erh¨alt man f¨ ur c0 und cn
und
S 000 (xn ) = yn000
y 000 h0 c0 = c1 − 0 2 000 y h cn = cn−1 + n n−1 2
(10.21)
10.1 Polynom-Splines dritten Grades
417
Algorithmus 10.15. (Kubische Splinefunktion mit vorgegebenen dritten Randableitungen). Gegeben: S 000 (x0 ) = y0000 ,
S 000 (xn ) = yn000
Im Algorithmus 10.6 sind zu setzen: 3.
c0 und cn gem¨ aß (10.21)
y2 − y1 y1 − y0 y 000 h2 −3 + 0 0 h1 h0 2 y 000 h2 yn − yn−1 yn−1 − yn−2 4.3 hn−2 cn−2 + (2hn−2 + 3hn−1 ) cn−1 = 3 −3 − n n−1 hn−1 hn−2 2 4.1 (3h0 + 2h1 ) c1 + h1 c2 = 3
Beispiel 10.16. Gegeben: Zwei Wertetabellen der Funktion f (x) = Knoten xi , i = 0(1)4
1 mit unterschiedlich verteilten x2
¨ a) Aquidistante Verteilung der Knoten i
0
1
2
3
4
xi
0.1
0.3
0.5
0.7
0.9
yi
100
11.1
4
2.041
1.235
b) Angepasste Verteilung der Knoten
Gesucht:
i
0
1
2
3
4
xi
0.1
0.15
0.25
0.5
0.9
yi
100
44.4
16
4
1.235
Die kubischen Splinefunktionen zu a) und b) mit den folgenden Randbedingungen (i) Nat¨ urliche kubische Splinefunktion (ii) Kubische Splinefunktion mit vorgegebenen zweiten Randableitungen S 00 (x0 ) = f 00 (x0 ) = 60 000, S 00 (x4 ) = f 00 (x4 ) = 9.145. (iii) Kubische Splinefunktion mit not-a-knot Bedingungen (iv) Kubische Splinefunktion mit vorgegebenen ersten Randableitungen S 0 (x0 ) = f 0 (x0 ) = −2000, S 0 (x4 ) = f 0 (x4 ) = −2.743.
418
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Zu (i): Nat¨ urliche kubische Splinefunktion y 100 ........6 90 80 70 60 50 40 30 20 10 0
... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ...
r
... .... ...... ..... ...... .. ... .. .... .. ... .. .... .. ... .. .... .. .... .. ... .. .... .. ... .. .. .. .... .. ... .. .... .. ... .. .... .. ... .. .... ... .. ... .. ... .. ... .. ... .. ... .. ... .. ... ... .. ... .. ... .. ... .. ... .. ... .. . 2 .. ..... .. . .. ..... .. ... .. ... ... ... ... ... ... ... ... ... ..... ......... ... ... .. ... . ...... .... ... ... ... ..... .. .................... ...... ............... ... ... ................................................. . ... ............ ........ .. . .. .. .. ... .. ... .. ... ... ... ... .. ... ... ... ... .. ... ... ... ................... ... ... ... .. ... ... ... ... .. ... ... ... ... .. ... ............................................................................................ .. .. .. .. .. .. .. .. .. ..
a) ¨ aquidistante Verteilung der Knoten
1 x
r
r
r
r r
rr
rr
-
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 y 100 ........6 90 80 70 60 50 40 30 20 10 0
... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ...
x
r
... ... ... ... ..... ..... ...... ..... ..... ...... ..... ...... ..... ...... ..... ..... ...... ..... ..... ..... ...... ..... ..... ..... ..... ... ... ... ... .. ... ..... ..... ..... ..... ..... .... ..... ... .. ... .. ... . ... .. ... .. ..... ... ............. ................. ... ........ . ... .... ............. .. ... .. ... ... ............. ... ... .. ....... . ... ............ .............. ... ... ... ... ............ .. ....... . ... ... ... ... ... ... ... ... ... ...................... ... ... ... ... .. ... .. ... ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... ........................................................................... .. .. ... .. .. .. .. ... . . . . . . . . . .
r
b) angepasste Verteilung der Knoten
r
r r
r
r r
rr
-
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
x
Abb. 10.26. Nat¨ urliche Splinefunktionen zu den Knotenverteilungen a) und b)
10.1 Polynom-Splines dritten Grades
419
Zu (ii): Kubische Splinefunktion mit vorgegebenen zweiten Randableitungen y 100 ..............6 ......q ... ... ..... 90 .............. ..... ..... . . . .... ..... 80 .............. ..... . . . ..... ... .. 70 .............. ... .. ... .. ........... ... . 60 ...... ... .. ... .. a) ¨ aquidistante Verteilung der Knoten ........... ... . 50 ...... ... .. ... .. . . . ........ ... .. 1 40 ...... ... .. ... .. ......... ... ... .. .... ......... 2 ... .... 30 .............. ... ... x .. ... ... ... .. ... . . . . . . . . ... ... ... . . . 20 .............. . ... ... .... .. ... . . . . ... ....q ... . . . ... . . ... . . ... ............ . 10 .............. . . ... ... ... ... .........q .. . . . ... ...... . ... ... . .q . . . . . . . . . ...q......... .... .... .... .... .... .... ....................qq...............................................................................q.................... q . . . . . . . . . . . . . . . . . ... . .. . . ............ ................. . . . . 0 ......... . . ........ ... . . 0.0 0.1 0.2 0.3 . 0.4 0.5 0.6 0.7 0.8 0.9 1.0 x . ... ... ... ... -10 .............. . . . ... ... ... ... ... ... -20 .............. .. ... ... .. . . . . ... ... -30 .............. .. ... ... ... ... ... ... .. -40 .............. . ... ... ... ... ... .. .. -50 .............. .. ... .... ... ... .. .......... -60 .............. ........... -70 ...... ... -80 ..... y 100 ........6 90 80 70 60 50 40 30 20 10 0
... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ...
r
... ... ... ... ... ... ... .. ... ... .. .. .. ... ... .. ... ... ... ... ... ... .. ... ... .. ... ... ... ... .. ... .. ... .. ... ... ... ... .... .... .... ...... ..... ..... ..... .... ... ... ... .... .... ..... ......... .......... ......... .......... ... ............. ... .. ........................................... .. ................................................................ ... ... ... ... ... ................................................... ... ... ... ... ... .. ... .. ... ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... . . . . . . . . . .
r
b) angepasste Verteilung der Knoten
r
r r
r
r r
rr
-
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
x
Abb. 10.27. Splinefunktionen mit vorgegebenen zweiten Randableitungen zu den Knotenverteilungen a) und b)
420
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Zu (iii): Kubische Splinefunktion mit not-a-knot Bedingungen y 100 ........6 90 80 70 60 50 40 30 20 10 0
... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ...
r
... ... ..... ...... ..... ...... ..... ...... .. ... .. .... .. ... .. .... .. ... .. .... .. ... .. ... .. .... .. ... .. ... .. .... .. .... .. ... .. ... .. ... .. .... .. ... .. ... .. .... .. ... .. .... .. ... .. ... .. .... .. ... .. .... .. .. 2 .. ..... .. ... .. ... .. ... .. .... ... ... ... ... ... ... ...... .... ....... ...... ... ..... ... .. ..... .... ... ....... .. ............................................................................................. ... ... ......................... ... ... ... ... .. ... .. ... .. ... ... ... ... .. ... ... ... ... .. ... ... ... ... .. ... ... ... ... .. ... ... ... ... .. ... ... ... ... .. ... ................................................................................................... .. .. .. .. .. .. .. .. .. ..
a) ¨ aquidistante Verteilung der Knoten
1 x
r
r
r
r r
rr
rr
-
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 y 100 ........6 90 80 70 60 50 40 30 20 10 0
... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ...
x
r
... ... ... .. ... .. .... .... .. .... .... .... ...... .... ...... ..... ..... ...... ..... ..... ..... ...... .... ..... .... ... ... ... ... ... ... ... ..... .... ..... ..... ..... ..... ..... ..... ..... ... .. ... . ...... ....... ........ ........... ... ........ ... ....... .... ....... .. ... ........ ... ............. ... ............... . .............. ............... ... ... ... .. ............. . ... ... ... ... ... ... ... ... ... ... ... ... .. ........ ......... ... ... ... ... .. ... .. ... ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. .. .. .. ... .. ............................................................................... ... .. .. .. .. ... . . . . . . . . . .
r
b) angepasste Verteilung der Knoten
r
r r
r
r r
rr
-
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
x
Abb. 10.28. Splinefunktionen mit not-a-knot Bedingungen zu den Knotenverteilungen a) und b)
10.1 Polynom-Splines dritten Grades
421
Zu (iv): Kubische Splinefunktion mit vorgegebenen ersten Randableitungen y 100 ........6 90 80 70 60 50 40 30 20 10 0
... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ...
r
... ... ... ... ... ... ... ... ... ... .. ... ... ... ... ... ..... ..... ..... .... .... .... ..... ..... ..... ..... ... .... ..... ..... ... .. ... .. ... .. ... .. ... .. ... .. ... . .. .. .. . ... .. ... .. ... .. 2 ... .. ... .. ... .. ... .. ... ... ... ... ... ... ................... ... ......... ..... ... ..... ..... ... ... ..... ... .. .... ... ..... . . ... ... . ... . . . . . . ... ... ......... ... .. ... ......... ... . . ... .......... ... ... ... ... ... ... ... ..... ...... ..................................................... .. ... .. ... .. ... ... ... ... .................... ... ... .. ... ... ... ... .. ... ... ... ... .. ... ... .......................................... ... .. ... ... ... ... .. ... ..................................................... .. .. .. .. .. .. .. .. .. ..
a) ¨ aquidistante Verteilung der Knoten
1 x
r
r
r
r r
rr
rr
-
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 y 100 ........6 90 80 70 60 50 40 30 20 10 0
... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ... ..... ... ... ... ...
x
r
... ... ... ... ... ... ... ... ... .. .. ... .. ... ... ... ... ... ... ... ... ... .. .. .. .. .. ... ... .. .. .. ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... .... .... .... .... .... ..... ..... ...... ....... ........... ............... . .................... .................................. ..................................................... ......................................... ... .. ... .. ... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................. . . . . . . . . . .
r
b) angepasste Verteilung der Knoten
r
r r
r
r r
rr
-
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
x
Abb. 10.29. Splinefunktionen mit vorgegebenen ersten Randableitungen zu den Knotenverteilungen a) und b) Zusammenfassung. Wichtig sind die geeignete Methode und die geeignete Wahl der Knoten, n¨amlich dichter in Bereichen starker Steigung und weniger dicht sonst.
422
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Periodische Funktionen Wenn es zu einer Funktion f : R → R eine positive Zahl p gibt, so dass f¨ ur alle x ∈ R gilt f (x ± p) = f (x) , dann heißt f periodisch mit der Periode p. Bekannte Beispiele sind die Sinus- und die Kosinusfunktion mit p = 2 π. Eine periodische Funktion nimmt alle Werte bereits in irgendeinem Intervall [a, b] der L¨ ange p = b − a an, einem Periodenintervall. Die Funktion f habe das Periodenintervall [a, b] mit der L¨ange p = b − a. Wenn x nicht im Intervall [a, b] liegt (x < a oder x > b), berechnet man den Funktionswert f (x) an einer Stelle x aus dem Periodenintervall, f¨ ur die gilt x = x ±np,
n ∈ N.
Wegen der Periodizit¨ at von f ist dann f (x) = f (x ± n p) = f (x). Mit der ModuloFunktion ergibt sich f¨ ur die Stelle x im Periodenintervall x = a + (x − a) mod p und damit f¨ ur die Auswertung der periodischen Funktion f f (x) = f a + (x − a) mod p .
Periodische kubische Splinefunktion Die Randbedingungen (vi) in Definition 10.4 f¨ ur die periodische kubische Splinefunktion S sind S 0 (x0 ) = S 0 (xn ) und S 00 (x0 ) = S 00 (xn ) . Aus ihnen folgen, wenn auch hier wie bei den bisher behandelten Splinearten aus rechentechnischen Gr¨ unden das Polynom Sn verwendet wird, mit S 0 (x0 ) = S00 (x0 ) = b0 ,
S 0 (xn ) = Sn0 (xn ) = bn ,
S 00 (x0 ) = S000 (x0 ) = 2 c0 ,
S 00 (xn ) = Sn00 (xn ) = 2 cn
die Bedingungen b0 = bn
und c0 = cn .
F¨ ur die Berechnung der n Koeffizienten c1 , c2 , . . . , cn−1 , cn = c0 werden n Gleichungen ben¨otigt. Darum wird gefordert, dass die Anschlussbedingungen (10.10) auch f¨ ur i = n 0 gelten. Zus¨atzlich sei also Sn0 (xn ) = Sn−1 (xn ). Damit erh¨alt man außer (10.16) f¨ ur i = n und mit bn = b0 die Gleichung b0 − bn−1 = hn−1 (cn + cn−1 ) . Mit (10.15) f¨ ur i = 0 und i = n−1 und mit c0 = cn folgt daraus y1 − y0 h0 yn − yn−1 hn−1 − (c1 + 2 cn ) − + (cn + 2 cn−1 ) = hn−1 (cn + cn−1 ) . h0 3 hn−1 3
10.1 Polynom-Splines dritten Grades
423
Das liefert die letzte Gleichung h0 c1 + hn−1 cn−1 + 2 (hn−1 + h0 ) cn = 3
y1 − y0 yn − yn−1 −3 . h0 hn−1
In der ersten Gleichung (10.17) muss c0 = cn gesetzt werden. Der folgende Algorithmus gilt f¨ ur n ≥ 3. Der Fall n = 2 wird anschließend behandelt.
Algorithmus 10.17. (Periodische kubische Splinefunktion) Gegeben: (xi , yi ), i = 0(1)n, n ≥ 3, mit x0 < x1 < . . . < xn und y0 = yn . Gesucht:
Die Koeffizienten ai , bi , ci , di, i = 0(1)n−1, der kubischen Polynome Si siehe (10.3) in Definition 10.4 der periodischen kubischen Splinefunktion S mit der Periode p = xn − x0 .
1. ai = yi ,
i = 0(1)n−1
2. hi = xi+1 − xi ,
i = 0(1)n−1
3. Berechnung der Koeffizienten c1 , c2 , . . . , cn aus dem folgenden Gleichungssystem Erste Gleichung: 2 (h0 + h1 ) c1 + h1 c2 + h0 cn = 3
y2 − y1 y1 − y0 −3 h1 h0
Gleichungen f¨ ur i = 2(1)n−1: hi−1 ci−1 + 2 (hi−1 + hi ) ci + hi ci+1 = 3
yi+1 − yi yi − yi−1 −3 hi hi−1
Letzte Gleichung: h0 c1 + hn−1 cn−1 + 2 (hn−1 + h0 ) cn = 3
y1 − y0 yn − yn−1 −3 h0 hn−1
4. Setze c0 = cn yi+1 − yi hi − (ci+1 + 2ci ), i = 0(1)n−1 hi 3 1 6. di = (c − ci ), i = 0(1)n−1 3hi i+1 5. bi =
Das unter 3. angegebene Gleichungssystem hat die Matrix
2(h0 + h1 ) h1 A= h0
h1 2(h1 + h2 ) h2 .. .
h0 h2 2(h2 + h3 ) .. . hn−2
h3 ..
. 2(hn−2 + hn−1 ) hn−1 hn−1 2(hn−1 + h0 )
424
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Eigenschaften der Matrix A Die Matrix A ist zyklisch tridiagonal, symmetrisch, diagonal dominant und besitzt nur positive Elemente; A ist damit streng regul¨ ar, positiv definit und gut konditioniert. Ein Algorithmus zur L¨osung von Gleichungssystemen mit zyklisch tridiagonalen Matrizen ist im Abschnitt 4.10 angegeben. Im Fall n = 2 lauten die Gleichungen f¨ ur c1 und c2 2 (h0 + h1 ) c1 +
(h0 + h1 ) c2
(h0 + h1 ) c1 + 2 (h0 + h1 ) c2
= =
y2 − y1 y1 − y0 − h1 h0
y1 − y0 y2 − y1 − h0 h1
,
c2 = −c1 = c0 .
3 3
Sie haben die L¨osungen c1 =
Mit m0 =
3 h0 + h1
y2 − y1 y1 − y0 − h1 h0
y1 − y0 y2 − y1 , m1 = sind die Koeffizienten der Polynome S0 und S1 : h0 h1 a0 = y0 a1 = y1 h0 m1 + h1 m0 h0 + h1 m0 − m1 c0 = 3 h0 + h1 b0 =
d0 = 2
m1 − m0 h0 (h0 + h1 )
b1 = b0 c1 = −c0 d1 = −
h0 d0 h1
Die Auswertung der periodischen Splinefunktion S mit der Periode p = xn − x0 an einer Stelle x ∈ R erfolgt nach der Vorschrift S(x) = S x0 + (x − x0 ) mod p ; dabei ist x0 ≤ x0 + (x − x0 ) mod p < xn .
10.1 Polynom-Splines dritten Grades
425
Beispiel 10.18. Zu denselben vier St¨ utzpunkten wie im Beispiel 10.8 soll die periodische kubische Splinefunktion S erzeugt werden. Mit y0 = y3 = 2 erf¨ ullt sie die Voraussetzung, ihre Periode ist p = x3 − x0 = 3. Mit dem Algorithmus 10.17 ergeben sich die Segmente S0 (x)
=
2 − x − x2 + x3 ,
x ∈ [0, 1] ,
2
3
S1 (x)
=
1 + 2 (x − 1) − (x − 1) , x ∈ [1, 2] ,
S2 (x)
=
2 + (x − 2) − (x − 2)2 ,
y 6
x ∈ [2, 3] .
S2
...................................... ...... ..... ..... .... ... ..... .... .... . .... . . .. .... . . . .... ... . .... . . . .... .... .... 0 .... .... .... .... .... .... .... .... . . . . .... .... .... 1 .... ..... ..... ..... .......... ............... .....
2 r
r
r
2
3
S
1
r
S
0 0
1
x
Abb. 10.30. Die periodische Splinekurve zu den gegebenen vier St¨ utzpunkten.
10.1.6
Berechnung der parametrischen kubischen Splines
Im Fall von St¨ utzpunkten Pi allgemeiner Lage (Pi ∈ Rm , m = 2 oder m = 3, i = 0(1)n, n ≥ 2) muss parametrisch gerechnet werden (vgl. Abschnitt 10.1.1). Der interpolierende kubische Spline hat dann f¨ ur m = 2 die Darstellung (10.1): x(t) Sx (t) Six (t) (1) x (t) = = S (t) = ≡ = Si (t) y(t) Sy (t) Siy (t) und f¨ ur m = 3 die Darstellung (10.2): x(t) Sx (t) Six (t) (2) x (t) = y(t) = S (t) = Sy (t) ≡ Siy (t) = Si (t) z(t) Sz (t) Siz (t) mit den Segmenten Si (t)
= ai + bi (t − ti ) + ci (t − ti )2 + di (t − ti )3 , m
ai , bi , ci , di ∈ R ,
i = 0(1)n−1 .
t ∈ [ti , ti+1 ] ,
426
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Bevor die Komponenten von Si (t), also Six (t), Siy (t) in (1) bzw. Six (t), Siy (t), Siz (t) in (2), berechnet werden k¨ onnen, werden im Folgenden Parameterwerte (Knoten) ti , i = 0(1)n, mit t0 < t1 < . . . < tn bereitgestellt (Parametrisierung). Die den Knoten ti zugeordneten Splinepunkte sollen mit den St¨ utzpunkten u ¨bereinstimmen (Interpolationsbedingungen): S (ti ) = Pi ,
i = 0(1)n .
Zum Splinesegment Si (t) geh¨ ort das Parameterintervall [ti , ti+1 ] mit der L¨ange hi = ti+1 − ti > 0. F¨ ur eine Parametrisierung kann man die positiven Intervall-L¨angen h0 , h1 , . . . , hn−1 vorgeben. Nach Wahl von t0 (z. B. t0 = 0) ergeben sich dann die Knoten ti+1 = ti + hi ,
i = 0(1)n−1 .
Die Formeln in den Algorithmen 10.6, 10.7, 10.9, 10.11, 10.13, 10.15 und 10.17 enthalten die Intervall-L¨angen, nicht aber die Knoten; daher kann t0 beliebig gew¨ahlt werden. Somit ist die Aufgabe gestellt, jedem Segment Si (t), i = 0(1)n−1, ein Parameterintervall der L¨ange hi > 0 zuzuordnen. Die Intervall-L¨ angen hi k¨onnen in verschiedener Weise gew¨ahlt werden. (i) Am einfachsten ist die ¨ aquidistante Parametrisierung mit hi = h = const > 0, z. B. h = 1. Sie liefert jedoch im Allgemeinen keine zufriedenstellenden Ergebnisse. (ii) G¨ unstiger ist eine Parametrisierung, die die Lage der St¨ utzpunkte ber¨ ucksichtigt. Die h¨aufig benutzte chordale Parametrisierung verwendet als L¨ange des i-ten Parameterintervalls die L¨ ange der Sehne zwischen den benachbarten und als verschieden vorausgesetzten St¨ utzpunkten Pi und Pi+1 hi = |Pi+1 − Pi |,
i = 0(1)n−1,
und damit eine grobe Ann¨ aherung der Bogenl¨ange des betreffenden Segmentes. Im Fall einer ebenen Kurve (m = 2) ist p hi = (xi+1 − xi )2 + (yi+1 − yi )2 ,
i = 0(1)n−1 ,
und im Fall einer Raumkurve (m = 3) p hi = (xi+1 − xi )2 + (yi+1 − yi )2 + (zi+1 − zi )2 ,
i = 0(1)n−1 .
10.1 Polynom-Splines dritten Grades
427
y 6
... ..... ....... 2 2 2 2 ............ ....... 2 ... ..................................................................... ........ ........ ........ ........ .. ........ ....... .. ........ ...... ........ ..... .. ..... ... .. .... ... ... ... ... ... ... ... ... ... ........................ . . . . . . . . . . . . . . . .. 1 .. ............ 1 .. .. ...... .. .. ........ .. .. ....... .. .. ....... ...... .. .. ...... .. .. ...... .. .. ...... . . . . 0 ... ... ... ... ........ ... ... ... ... ... ... ... ... ... ... ... ........ ... ... ..... .. .. .. .. .. ..
P = (x , y ) t = t1 + q
y
p (x2 −x1 )2 +(y2 −y1 )2
q P = (x1 , y1 ) t1 =
y
p
(x1 −x0 )2 +(y1 −y0 )2
q P0 = (x0 , y0 ) t0 = 0 x x1 x0
y
x2
Abb. 10.31. Ermittlung von Parameterwerten mit chordaler Parametrisierung
Beispiel 10.19. Zu den 9 gegebenen Punkten P0 bis P8 werden interpolierende kubische Splinekurven mit a¨quidistanter und chordaler Parametrisierung erzeugt. y 6 5
P7 ....r........................
.. .. ... .. . . 6.......... ...... ....... . . . . . . . . . ......... ....... .... 5 ........ 1 . . . . . . . ...... ................ ...... ............ ...... ..... .... ........ ..... .... ......... ... .... ........... . .. .... .... . . 2 4 ..... . . .... ...... . ..... . . . .... ..... .......... . . . . . . . . . . . . . ....... .. . .... ......... 3 ............. .... .................................................................... .... ....
4
P r
3
P r
P r
2 1
P r P r
r P0
0 0
1
P r
2
3
4
5
6
7
.... .. ... .. ... .. ... .. ... ... ... ... ... .. ... ... ..... ...... ..... ...... ..... ... 8 ......... .
P r
8
9
10 x
¨ Abb. 10.32. Aquidistante Parametrisierung (gestrichelte Linie), chordale Parametrisierung (durchgezogene Linie)
(iii) Wenn drei aufeinander folgende St¨ utzpunkte ann¨ahernd kollinear sind, liefert die chordale Parametrisierung Intervalle, deren L¨angen von den Bogenl¨angen der Segmente nur wenig abweichen werden. Wenn dagegen die St¨ utzpunkte st¨arker gekr¨ ummte Segmente erwarten lassen, kann es g¨ unstig sein, diesen Segmenten Intervalle zuzuordnen, die l¨ anger sind als die Sehnen. Die folgende Variante der chordalen Parametrisierung ber¨ ucksichtigt diese Aspekte. Durch drei aufeinander folgende nicht kollineare St¨ utzpunkte wird der durch sie bestimmte Kreis gelegt. Die L¨ ange des Kreisbogens zwischen zwei St¨ utzpunkten wird zur Erzeugung der L¨ ange des zugeh¨ origen Parameterintervalls benutzt.
428
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven Sind P, Q, R drei aufeinander folgende Punkte eines Kreises, ist |R − Q| die L¨ange der Sehne zwischen Q und R und ist γ der Winkel zwischen P Q und P R, also der Umfangswinkel dieser Sehne bei P , dann ist die L¨ange des Kreisbogens zwischen Q und R γ B = |R − Q| , 0≤γ<π. sin γ Wegen lim (γ/ sin γ) = 1 gilt die Formel auch im Grenzfall kollinearer Punkte γ→0
P, Q, R. F¨ ur die Punkte P = Pi−1 , Q = Pi , R = Pi+1 ergibt sich mit γi als Winkel zwischen Pi−1 Pi und Pi−1 Pi+1 f¨ ur die L¨ ange Bi des Kreisbogens zwischen Pi und Pi+1 γi Bi = |Pi+1 − Pi | . sin γi F¨ ur die Punkte P = Pi+2 , Q = Pi+1 , R = Pi und γi+1 als Winkel zwischen Pi+2 Pi+1 und Pi+2 Pi folgt analog f¨ ur die L¨ange Bi+1 des Kreisbogens zwischen Pi und Pi+1 γi+1 Bi+1 = |Pi+1 − Pi | . sin γi+1 Aus der L¨ange |Pi+1 − Pi | der Sehne und dem Mittel der L¨angen Bi und Bi+1 wird mit dem Gewicht σ, σ ≥ 0, die Intervall-L¨ange hi = (1 − σ)|Pi+1 − Pi | + σ 12 Bi + Bi+1 γi+1 γi = |Pi+1 − Pi | 1 + σ 1 + − 1 2 sin γ sin γ i
i+1
erzeugt. Es ist hi ≥ |Pi+1 − Pi |. F¨ ur σ = 0 entsteht die chordale Parametrisierung. Aufgrund der Konstruktion ist f¨ ur σ > 0 der Beitrag der Kreisbogenl¨angen dort gr¨oßer, wo die St¨ utzpunkte st¨arker gekr¨ ummte Kurvensegmente erwarten lassen und l¨angere Intervalle deshalb ¨ zweckm¨aßig sind. Mit der Anderung des Gewichtes σ kann die Gestalt der Splinekurve (bei unver¨ anderten Rand- oder Zusatzbedingungen) beeinflusst werden. Erfahrungsgem¨ aß ergeben sich geeignete Splinekurven f¨ ur σ = 0 (chordal) bis etwa σ = 2, evtl. auch σ > 2.
Beispiel 10.20. Dieses Beispiel zeigt, wie sich der Verlauf einer nat¨ urlichen Splinekurve mit der Verallgemeinerung der chordalen Parametrisierung durch Wahl des Parameters σ beeinflussen l¨ asst.
10.1 Polynom-Splines dritten Grades y
429 rP
6 ....... ............. .......... .. .......... ........ .. ........... . . . . . . .. 7........... .. ... ... .... ........ .... ...... ... . . . . . .. ... ... ..... ... .. .. .... ... .. ... .... ... ... ... ..... ..... . . . . . . . . . ... ... ...... ....... ................ .... .... ................. 5 .... ... ............ ....... . ..... ... ......... .... ...... ....... ........ ..... 4 ......... ... ....................... ......... ............ ......... ........ ........ .... ....... ....... ... ...... . ... . . ............ . . .. . . . .... . .. . . . . . ..... ....... ........ . .... ...... .... ........ .... ..................... . . . . . . . . . . . . .... . . . . . . .. ....... .... .. ....... ... ..... ... ... ............ ........... ...... ..... ... .... ...... ......... .............. .... ..... ........................ ... .... . . . . . . . . . . .... ... 1 .. .... ............. . . . . . . . . . . . . 8 . . . . ....... .. .. ........ ..................... ...... .. .. ....... ......... .. .. .... .... .. .. ... ....... ................ . . . . . . . . . ....... ........ .. .. ... .... .. .. .. .... ............. .... .. .. .. .... ...... .... .. .. ... ....... ......... .. ... ....... ...... . . . . ...... ..... ...... ... . . . ..... .... ..... ..... ...... . . ... ..... .... . ...... . . .... ..... .......... . . 3 . ..... ....... .......... . . . . 2 . ........ .. . ....... . . . . . . . . . ............. .... . .......... . . . . . . . . . . . . . . . . ................................................... . . . ..... ....... .... 0 ...
6
7 6 5 4 3 2 1
P r
r
P
P r
P 0 r 0 1
2
r P
P r
r P
P r
3
4
5
6
7
8
9
10 x
Abb. 10.33. Verallgemeinerte chordale Parametrisierung mit σ = 0 (durchgezogene Linie), σ = 1.5 (gestrichelte Linie) und σ = 3 (gepunktete Linie)
Beispiel 10.21. Dieses Beispiel zeigt, wie sich der Verlauf einer geschlossenen Splinekurve, die auch im Punkt P7 = P0 glatt ist, mit der Verallgemeinerung der chordalen Parametrisierung durch Wahl des Parameters σ beeinflussen l¨asst. y6 3 2 1 −1 −1 −2 −3
rP
........ ...... ......... 1 ... ...... ............. ... .... .......... .............. 3 ... .... ......... .......... . . . . ........ .. .... ...... ......... ....... ............ . ....... .............. .... .. .. .. . .. ...... ................. .. .. .... ... ...... ..... .................... . . . ... ... ..... . . . . . . .. ... ... ..... . . ............. ... .. .. ...... 2 .. .. .. .................... .... ...... . ... .. .. . . . ... ... .... . . . . . ....... ..... .... .. ... ... ...... ........... ................ ... ... ... ... .. .. ... ... ... .. .. .. .. .. .. ... .. .... .. .. ... . .. .. . .. ... ... ... ... . . . .. .... .. ... .. ... .. .. ...... .. .. ... ...... ... ... ... ....... .... ... ... ...... ....... ... .. .. ... 0 .......................................... .... ... .. .. ...... ............ ... .. .. .. .... ............ 7 ................ .. ... .... ..... ..... ..... . . . . . .......... ........ . . .. ... ........... 5 ....... .... ... ... .. ........... ........... ........... ... .. ... ........... ............. ............ .... ... .. .............. ............ . . . . .............. .......... ... ........................
P r
P r
P
1P 2 r
3
r P6
r P
4
5
6
7
8
9
x
r P4
Abb. 10.34. Verallgemeinerte chordale Parametrisierung bei einer geschlossenen Kurve mit σ = 0 (durchgezogene Linie), σ = 1.5 (gestrichelte Linie) und σ = 3 (gepunktete Linie)
430
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Um die Formel f¨ ur hi auch f¨ ur i = 0 und i = n−1 anwenden zu k¨onnen, werden zwei zus¨atzliche Punkte, P−1 und Pn+1 , ben¨ otigt, n¨ amlich f¨ ur die Winkel γ0 und γn . Wenn die Kurve geschlossen ist mit P0 = Pn und wenn sie auch in diesem Punkt glatt ist, also nur eine Tangente besitzt, setzt man P−1 := Pn−1 und Pn+1 := P1 . In allen anderen F¨allen (also auch bei einer geschlossenen Kurve, die in P0 = Pn nicht glatt ist) ergibt sich P−1 durch Spiegelung von P2 an der Gerade bzw. Ebene, die durch den Mittelpunkt von P0 und P1 geht und zu P0 P1 senkrecht ist. Analog wird Pn−2 an der Gerade bzw. Ebene, die durch den Mittelpunkt von Pn−1 und Pn geht und zu Pn−1 Pn senkrecht ist, gespiegelt, um Pn+1 zu erhalten. Im nachfolgenden Algorithmus werden sogleich die Sehnenvektoren s−1 = P0 − P−1 und sn = Pn+1 − Pn angegeben. Mit den Vektoren s := Q − P und t := R − P kann der im Ausdruck f¨ ur B enthaltene Sinus des von s und t eingeschlossenen Winkels γ mit Hilfe von Skalarprodukten wie folgt berechnet werden: s p (s T t)2 sin γ = 1 − cos2 γ = 1 − T . (s s)(t T t) Im Fall einer ebenen Kurve (m = 2) gilt außerdem | det(s, t) | sin γ = p . (s T s)(t T t)
Algorithmus 10.22. (Berechnung der Intervall-L¨ angen und Parameterwerte) Gegeben: St¨ utzpunkte Pi = (xi , yi ) bzw. Pi = (xi , yi , zi ), i = 0(1)n, n ≥ 2, Pi 6= Pi+1 6= Pi+2 6= Pi f¨ ur i = 0(1)n−2, Gewicht σ ≥ 0. Gesucht: Intervall-L¨ angen hi > 0, i = 0(1)n−1, und Parameterwerte ti , i = 0(1)n. 1. Erzeugung der Sehnenvektoren f¨ ur i = 0(1)n−1: si := Pi+1 − Pi 6= 0 . 2. Wenn σ = 0: Wenn σ > 0:
hi := |si |, i = 0(1)n−1, chordale Parametrisierung, weiter bei 3.
2.1 Bereitstellung weiterer Sehnenvektoren. (a) Kurve geschlossen und auch in Pn = P0 glatt s−1 := sn−1 , sn := s0 . (b) In allen anderen F¨ allen s0T s1 s−1 := 2 s0 − s1 , |s0 |2 sn := 2
T sn−1 sn−2 sn−1 − sn−2 . |sn−1 |2
10.1 Polynom-Splines dritten Grades
431
2.2 F¨ ur i = 0(1)n−1: Berechne C mit (∗) f¨ ur s := si−1 , t := si−1 + si und setze Ci := C. Berechne C mit (∗) f¨ ur s := si + si+1 , t := si+1 und setze Ci+1 := C. hi := |si | 1 + σ 0.5(Ci + Ci+1 ) − 1 . 3. t0 := 0; f¨ ur i = 0(1)n−1 werden berechnet: ti+1 := ti + hi .
(∗) Berechne mit s und t (s 6= 0, t 6= 0) Z := s T t N := p (s T s)(t T t) S := 1 − Z 2 /N Wenn S = 0 : C := 1 Wenn S > 0 : γ := arcsin(S) Wenn Z < 0 : γ := π − γ C := γ/S.
Nachdem mit einer Parametrisierung die Knoten ti , i = 0(1)n, bereitgestellt worden sind, wird wie folgt vorgegangen.
Ebene Splinekurve durch die Punkte Pi = (xi , yi ), i = 0 (1 )n, n ≥ 2 Um den kubischen Spline (1) zu erhalten, wird zu den Wertepaaren (ti , xi ), i = 0(1)n, eine Splinefunktion Sx erzeugt mit der Darstellung ( Sx (t) ≡ Six (t) = aix + bix (t − ti ) + cix (t − ti )2 + dix (t − ti )3 (10.22) f¨ ur t ∈ [ti , ti+1 ], i = 0(1)n−1 , und zu den Wertepaaren (ti , yi ), i = 0(1)n, eine Splinefunktion Sy mit der Darstellung ( Sy (t) ≡ Siy (t) = aiy + biy (t − ti ) + ciy (t − ti )2 + diy (t − ti )3 (10.23) f¨ ur t ∈ [ti , ti+1 ] , i = 0(1)n−1 .
Je nach Vorgabe der Randbedingungen (s. Definition 10.4) werden Sx und Sy mit dem Algorithmus 10.6 oder 10.17 berechnet. Diese Algorithmen werden also anstelle der Punkte (xi , yi ) je einmal mit den Wertepaaren (ti , xi ) und (ti , yi ) durchgef¨ uhrt.
432
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
R¨ aumliche Splinekurve durch die Punkte Pi = (xi , yi , zi ), i = 0 (1 )n , n ≥ 2 Hier m¨ ussen die Komponenten f¨ ur den kubischen Spline (2) ermittelt werden. Wie bei der ebenen Splinekurve werden zu den Wertepaaren (ti , xi ) und (ti , yi ) die Splinefunktionen (10.22) und (10.23) erzeugt. Ferner wird zu den Wertepaaren (ti , zi ), i = 0(1)n, eine Splinefunktion Sz berechnet mit der Darstellung Sz (t)
≡ Siz (t) = aiz + biz (t − ti ) + ciz (t − ti )2 + diz (t − ti )3 f¨ ur t ∈ [ti , ti+1 ] ,
i = 0(1)n−1 .
Daf¨ ur wird je nach Vorgabe der Randbedingungen der Algorithmus 10.6 oder 10.17 eingesetzt. Bei einer ebenen Kurve muss der Algorithmus 10.6 oder 10.17 zweimal ausgef¨ uhrt werden, bei einer Raumkurve dreimal. Dabei ist zu beachten, dass die linearen Gleichungssysteme zur Berechnung der cix , ciy bzw. cix , ciy , ciz die gleiche Matrix haben, aber verschiedene rechte Seiten. Deshalb ist die Dreieckzerlegung der Matrix nur einmal durchzuf¨ uhren, die Vorw¨arts- und R¨ uckw¨ artselimination zweimal im ebenen Fall, dreimal im r¨aumlichen Fall. Dies bringt eine erhebliche Einsparung an Rechenaufwand. F¨ ur eine geschlossene, ebene oder r¨ aumliche Splinekurve zu St¨ utzpunkten P0 , P1 , . . . , Pn = P0 , die auch im Punkt P0 = Pn glatt ist, also genau eine Tangente besitzt, m¨ ussen die Komponenten Sx , Sy und gegebenenfalls Sz periodisch sein. Sie werden also mit dem Algorithmus 10.17 berechnet. In allen anderen F¨ allen werden die Komponenten mit dem Algorithmus 10.6 und mit einem der Algorithmen 10.7, 10.9, 10.11, 10.13 oder 10.15 ermittelt. Dabei kann Pn 6= P0 oder Pn = P0 sein. Berechnung der Kr¨ ummung einer ebenen Splinekurve Eine ebene Splinekurve t 7→ S (t), t ∈ [t0 , tn ] mit den Segmenten Six (t) t 7→ Si (t) = , t ∈ [ti , ti+1 ] , i = 0(1)n−1 , Siy (t) besitzt die Kr¨ ummung κi (t)
=
det Si0 (t), Si00 (t) | Si0 (t) |3
=
0 00 00 0 Six (t) Siy (t) − Six (t) Siy (t) , 3/2 2 2 0 (t) + S 0 (t) Six iy
t ∈ [ti , ti+1 ] .
Dabei sind 0 Six (t)
=
bix + 2 cix (t − ti ) + 3 dix (t − ti )2 ,
00 Six (t) 0 Siy (t)
= =
2 cix + 6 dix (t − ti ) , biy + 2 ciy (t − ti ) + 3 diy (t − ti )2 ,
00 Siy (t)
=
2 ciy + 6 diy (t − ti ) .
10.1 Polynom-Splines dritten Grades
433
Wegen der Stetigkeit der ersten und zweiten Ableitungen gilt f¨ ur die Kr¨ ummung an den inneren Knoten κi−1 (ti ) = κi (ti ) , i = 1(1)n−1 . Die Kr¨ ummung κ der Splinekurve ist also eine auf dem Intervall [t0 , tn ] stetige Funktion.
10.1.7
Kombinierte interpolierende Polynom-Splines
Bei der Herstellung faserverst¨ arkter Kunststoff-Hohlk¨orper werden vorwiegend rotationssymmetrische Wickelkerne verwendet. Die Meridiankurve eines Wickelkerns, die sich h¨aufig aus geradlinigen und aus punktweise gegebenen krummlinigen Abschnitten zusammensetzt, soll insgesamt zweimal stetig differenzierbar sein. Eine Splinefunktion S zur Darstellung eines krummlinigen Abschnittes im Intervall [x0 , xn ] muss tangential und mit verschwindender Kr¨ ummung an benachbarte geradlinige Abschnitte anschließen. Daher m¨ ussen die Steigungen S 0 (x0 ) und S 0 (xn ) vorgeschrieben werden und es m¨ ussen S 00 (x0 ) = 0 und S 00 (xn ) = 0 sein. Da mit einer kubischen Splinefunktion nur zwei Randbedingungen erf¨ ullt werden k¨ onnen, kommt sie f¨ ur die L¨osung dieser Aufgabe nicht in Frage (siehe Beispiel 10.2 und Bemerkung 10.3). Etwas allgemeiner ist die folgende Aufgabe. Gegeben seien zwei Funktionen f ∈ C 2 [a, x0 ] und g ∈ C 2 [xn , b] mit f (x0 ) = y0 und g(xn ) = yn sowie die St¨ utzpunkte (x0 , y0 ), (x1 , y1 ), . . . , (xn−1 , yn−1 ), (xn , yn ), n ≥ 3, mit x0 < x1 < . . . < xn . Zu diesen St¨ utzpunkten soll eine interpolierende Splinefunktion S so erzeugt werden, dass die aus f , S und g zusammengesetzte Funktion auf dem gesamten Intervall [a, b] zweimal stetig differenzierbar ist. Daf¨ ur muss S die folgenden Randbedingungen erf¨ ullen: S 0 (x0 ) = S00 (x0 ) = f 0 (x0 ) = y00 , S 00 (x0 ) = S000 (x0 ) = f 00 (x0 ) = y000 ,
0 S 0 (xn ) = Sn−1 (xn ) = g 0 (xn ) = yn0
(10.24)
00 S 00 (xn ) = Sn−1 (xn ) = g 00 (xn ) = yn00
(10.25)
Zur Erf¨ ullung dieser vier Randbedingungen fehlen einer kubischen Splinefunktion zwei Koeffizienten. Darum werden f¨ ur die Segmente S0 und Sn−1 Polynome vierten Grades angesetzt S(x) ≡ Si (x) , i = 0(1)n−1 , mit (10.26) S0 (x)
= a0 + b0 (x − x0 ) + c0 (x − x0 )2 + d0 (x − x0 )3 + e0 (x − x0 )4 , x ∈ [x0 , x1 ]
Si (x)
= ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 , x ∈ [xi , xi+1 ] , i = 1(1)n−2
Sn−1 (x) = an−1 +bn−1 (x−xn−1 )+cn−1 (x−xn−1 )2 +dn−1 (x−xn−1 )3 +en−1 (x−xn−1 )4 , x ∈ [xn−1 , xn ]
434
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Analog zum Vorgehen im Abschnitt 10.1.5 f¨ uhrt die Auswertung der Interpolationsbedingungen (10.4), der Anschlussbedingungen (10.5), (10.6) und (10.7) sowie der Randbedingungen (10.24) und (10.25) zur Berechnung aller Koeffizienten der Splinefunktion (10.26). Der folgende Algorithmus enth¨ alt auch die F¨ alle, in denen bei x0 oder xn nur eine Randbedingung gestellt wird.
Algorithmus 10.23. (Kombinierte Splinefunktion) Gegeben: (xi , yi ), i = 0(1)n, n ≥ 3, x0 < x1 < . . . < xn , eine der unten angegebenen Randbedingungen (i) bis (v) Gesucht: Die Koeffizienten der Polynome (10.26) S0 (x), S1 (x), . . . , Sn−2 (x), Sn−1 (x) 1. ai = yi , 2. hi = xi+1 − xi ,
i = 0(1)n−1 i = 0(1)n−1
3. c0 und cn sind mittels einer der unten angegebenen Randbedingungen (i) bis (v) festzulegen 4. Berechnung der Koeffizienten c1 , . . . , cn−1 aus dem folgenden Gleichungssystem 4.1 Erste Gleichung: (h0 + 2 h1 ) c1 + h1 c2 = 3
y2 − y1 y1 − y0 −6 + 3 y00 + h0 c0 h1 h0
4.2 Gleichungen f¨ ur i = 2(1)n−2, n ≥ 4: hi−1 ci−1 + 2 (hi−1 + hi ) ci + hi ci+1 = 3
yi+1 − yi yi − yi−1 −3 hi hi−1
4.3 Letzte Gleichung: hn−2 cn−2 + (2 hn−2 + hn−1 ) cn−1 = 6
yn − yn−1 yn−1 − yn−2 −3 − 3 yn0 + hn−1 cn hn−1 hn−2
5. Berechnung der Koeffizienten e0 und en−1 1 y1 − y0 h0 0 5.1 e0 = 3 y0 − + (2 c0 + c1 ) h0 h0 3 5.2 en−1 =
1 h3n−1
yn − yn−1 hn−1 − yn0 + (cn−1 + 2 cn ) hn−1 3
1 (c1 − c0 ) − 2 h0 e0 3 h0 1 di = (ci+1 − ci ) , i = 1(1)n−2 3 hi 1 dn−1 = (cn − cn−1 ) − 2 hn−1 en−1 3 hn−1
6. d0 =
10.1 Polynom-Splines dritten Grades
435
7. b0 = y00 bi =
yi+1 − yi hi − (ci+1 + 2 ci ) , hi 3
bn−1 =
i = 1(1)n−2
yn − yn−1 hn−1 − (cn + 2 cn−1 ) + h3n−1 en−1 hn−1 3
Randbedingungen (i)
S 0 (x0 ) = y00 , S 00 (x0 ) = y000 , S 0 (xn ) = yn0 , S 00 (xn ) = yn00 3. c0 =
1 2
y000 , cn =
1 2
yn00
Randbedingungen (ii) S 0 (x0 ) = y00 , S 0 (xn ) = yn0 , S 00 (xn ) = yn00 1 3 y1 − y0 1 3. c0 = − y00 − c1 , cn = yn00 2 h0 h0 2 4.1 Erste Gleichung: 3 y2 − y1 1 y1 − y0 0 h0 + 2 h1 c1 + h1 c2 = 3 − 3 − y0 2 h1 2 h0 5.1 e0 = 0 Randbedingungen (iii) S 00 (x0 ) = y000 , S 0 (xn ) = yn0 , S 00 (xn ) = yn00 3. c0 =
1 2
y000 , cn =
1 2
yn00
4.1 Erste Gleichung: 2 (h0 + h1 ) c1 + h1 c2 = 3
y2 − y1 y1 − y0 −3 − h0 c0 h1 h0
5.1 e0 = 0 7. b0 =
y1 − y0 h0 − (c1 + 2 c0 ) h0 3
Randbedingungen (iv) S 0 (x0 ) = y00 , S 00 (x0 ) = y000 , S 0 (xn ) = yn0 1 3 0 yn − yn−1 1 00 3. c0 = 2 y0 , cn = y − − cn−1 2 hn−1 n hn−1 4.3 Letzte Gleichung: y 3 1 yn − yn−1 n−1 − yn−2 hn−2 cn−2 + 2 hn−2 + hn−1 cn−1 = 3 3 − yn0 − 2 2 hn−1 hn−2 5.2 en−1 = 0
436
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Randbedingungen (v) S 0 (x0 ) = y00 , S 00 (x0 ) = y000 , S 00 (xn ) = yn00 3. c0 =
1 2
y000 , cn =
1 2
yn00
4.3 Letzte Gleichung: hn−2 cn−2 + 2 (hn−2 + hn−1 ) cn−1 = 3
yn − yn−1 yn−1 − yn−2 −3 − hn−1 cn hn−1 hn−2
5.2 en−1 = 0
Bemerkung. Wenn bei x0 die Steigung y00 und die Kr¨ ummung κ0 der Splinekurve vorgegeben werden, folgt aus der Formel f¨ ur die Kr¨ ummung f¨ ur die zweite Randableitung 2
y000 = κ0 (1 + y00 )3/2 . Bei xn gilt analog 2
yn00 = κn (1 + yn0 )3/2 . Es folgt ein einfaches Beispiel f¨ ur den Fall der Randbedingungen (i).
Beispiel 10.24. Gegeben: Die Funktionen p f (x) = 2 + 4 − (x − 2)2 , g(x) = 2 + 2 (x − 7) ,
x ∈ [0.1, 2] , x ∈ [7, 8] ,
mit f (2) = 4 und g(7) = 2 sowie die Wertetabelle (n = 3) i
0
1
2
3
xi
2
3.5
5
7
yi
4
3
1
2
Gesucht:
Die kombinierte Splinefunktion (10.26) S(x) ≡ Si (x), i = 0(1)2, zu den Randbedingungen (i) S 0 (x0 ) = f 0 (2) = 0 = y00 , S 00 (x0 ) = f 00 (2) = − 12 = y000 , S 0 (x3 ) = g 0 (7) = 2 = y30 , 00 00 S (x3 ) = g (7) = 0 = y300 .
L¨osung:
Die Berechnung der Koeffizienten der Polynome S0 (x), S1 (x), S2 (x) erfolgt nach dem Algorithmus 10.23.
10.1 Polynom-Splines dritten Grades
437
1.
a0 = 4, a1 = 3, a2 = 1.
2.
h0 = 1.5, h1 = 1.5, h2 = 2.
3.
c0 = −0.25, c3 = 0.
4.
Die ben¨ otigten Steigungen sind y1 − y0 2 y2 − y1 4 y3 − y2 1 =− , =− , = . h0 3 h1 3 h2 2 Wegen n = 3 besteht das Gleichungssystem nur aus der ersten und letzten Gleichung.
4.1 4.5 c1 + 1.5 c2 = −4 + 4 + 0 −
3 8
= − 38
4.3 1.5 c1 + 5 c2 = 3 + 4 − 6 + 0 = 1 Die L¨ osungen sind c1 = − 16 , 5.1 e0 =
c2 =
1 4
.
8 81
5.2 e2 = − 16 6.
5 d0 = − 18 , d1 =
5 , 54
7.
b0 = 0, b1 = − 31 , b2 = − 76 24
d2 =
5 8
Damit sind die Polynome S0 (x) = 4 − S1 (x) = 3 − S2 (x) = 1 −
1 5 8 2 3 4 4 (x − 2) − 18 (x − 2) + 81 (x − 2) , 31 1 5 2 3 24 (x − 3.5) − 6 (x − 3.5) + 54 (x − 3.5) , 7 1 5 1 2 3 6 (x − 5) − 4 (x − 5) + 8 (x − 5) − 6 (x −
x ∈ [2, 3.5] , x ∈ [3.5, 5] , 5)4 ,
x ∈ [5, 7] .
y 6 5 4 3 2 1
P0 r
. .. ......................... ..... ... ....... .. ..... ..... .. .... .... .. .... . . . . ... .. 0 .......... 1 .. ... .... .. . .... .. .... .. . .... . .... .... 3 .... .... .... .. .. .... . .. 1 ......... .. .... ... .... 2 ... .... ... . . . .... .... ..... ..............................
S
f
rP
g
P
S
r
rP
S2
0 0
1
2
3
4
5
6
7
8
9
x
Abb. 10.35. Kombinierter Spline mit ersten und zweiten Randableitungen
438
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Die kombinierten Polynom-Splines k¨ onnen auch als Komponenten parametrischer Splines zur Darstellung von ebenen Kurven oder Raumkurven Verwendung finden, wenn zus¨atzliche Randbedingungen erf¨ ullt werden sollen.
10.1.8
N¨ aherungsweise Ermittlung von Randableitungen durch Interpolation
Wenn die vorzugebenden Randableitungen y00 , yn0 oder y000 , yn00 f¨ ur die Splinefunktion S nicht bekannt sind, k¨ onnen f¨ ur sie geeignete Werte mit Hilfe der ersten bzw. zweiten Ableitungen von Interpolationspolynomen bei x0 und xn bereitgestellt werden (zu Interpolationspolynomen siehe Abschnitt 9.5). Erste Randableitungen Das Newtonsche Interpolationspolynom 2. Grades zu den St¨ utzpunkten (x0 , y0 ), (x1 , y1 ), (x2 , y2 ) ist mit den Steigungen m0 =
y1 − y0 , x1 − x0
N (x) = y0 + m0 (x − x0 ) +
m1 =
y2 − y1 x2 − x1
m1 − m0 (x − x0 ) (x − x1 ) . x2 − x0
(10.27) (10.28)
Als Wert f¨ ur die erste Randableitung bei x0 eignet sich y00 = N 0 (x0 ) = m0 −
m1 − m0 (x1 − x0 ) . x2 − x0
Am rechten Rand wird das quadratische Interpolationspolynom zu den St¨ utzpunkten (xn , yn ), (xn−1 , yn−1 ), (xn−2 , yn−2 ) verwendet. Mit den Steigungen mn−1 =
yn − yn−1 , xn − xn−1
mn−2 =
yn−1 − yn−2 xn−1 − xn−2
(10.29)
lautet es N (x) = yn + mn−1 (x − xn ) +
mn−1 − mn−2 (x − xn ) (x − xn−1 ) . xn − xn−2
(10.30)
Als Wert f¨ ur die erste Randableitung bei xn nimmt man yn0 = N 0 (xn ) = mn−1 +
mn−1 − mn−2 (xn − xn−1 ) . xn − xn−2
Bemerkung. Die lineare Interpolation liefert noch einfacher y00 = m0
und
yn0 = mn−1 .
Ihre Verwendung hat zur Folge, dass die Segmente S0 und Sn−1 im Allgemeinen einen Wendepunkt besitzen. Daher ist die lineare Interpolation nicht zu empfehlen.
10.1 Polynom-Splines dritten Grades
439
Zweite Randableitungen Bei quadratischer Interpolation ergeben sich mit den zweiten Ableitungen der Polynome (10.28) und (10.30) bei x0 bzw. xn y000 = N 00 (x0 ) = 2
m1 − m0 , x2 − x0
yn00 = N 00 (xn ) = 2
mn−1 − mn−2 . xn − xn−2
Wenn mindestens vier St¨ utzpunkte zur Verf¨ ugung stehen (n ≥ 3), kann kubisch interpoliert werden. Das Newtonsche Interpolationspolynom 3. Grades zu den St¨ utzpunkten (x0 , y0 ), (x1 , y1 ), (x2 , y2 ), (x3 , y3 ) lautet N (x) = y0 + b1 (x − x0 ) + b2 (x − x0 ) (x − x1 ) + b3 (x − x0 ) (x − x1 ) (x − x2 ) . Seine zweite Ableitung ist N 00 (x) = 2 b2 + 2 b3 (x − x0 + x − x1 + x − x3 ) . Als Wert f¨ ur die zweite Randableitung bei x0 eignet sich y000 = N 00 (x0 ) = 2 b2 + 2 b3 (2 x0 − x1 − x2 ) . Die Koeffizienten ergeben sich wie folgt. Mit (10.27) ist m1 − m0 . x2 − x0
b2 = Mit m2 =
y3 − y2 m2 − m1 und c2 = ergibt sich x3 − x2 x3 − x1 b3 =
c2 − b2 . x3 − x0
Analog lautet das kubische Interpolationspolynom zu den St¨ utzpunkten (xn , yn ), (xn−1 , yn−1 ), (xn−2 , yn−2 ), (xn−3 , yn−3 ) N (x) = yn + b1 (x − xn ) + b2 (x − xn ) (x − xn−1 ) + b3 (x − xn ) (x − xn−1 ) (x − xn−2 ) . F¨ ur die zweite Randableitung bei xn wird yn00 = N 00 (xn ) = 2 b2 + 2 b3 (2 xn − xn−1 − xn−2 ) . verwendet. Mit (10.29) ist
mn−1 − mn−2 . xn − xn−2 mn−2 − mn−3 und c2 = xn−1 − xn−3
b2 = Weiter ist mit mn−3 =
yn−2 − yn−3 xn−2 − xn−3
b3 =
b2 − c2 . xn − xn−3
440
10.1.9
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Konvergenz und Fehlerabsch¨ atzungen interpolierender kubischer Splines
Anders als bei der Polynom-Interpolation ist die Konvergenz interpolierender Splines gegen die anzun¨ahernde Funktion immer gew¨ ahrleistet (siehe hierzu auch das in Abschnitt 9.6 angegebene Beispiel 9.18). Grundlegend ist der folgende Satz (s. [BOOR2001], [HALL1968]). Satz 10.25. Die Funktion f : [a, b] → R sei viermal stetig differenzierbar, und S sei eine interpolierende Splinefunktion zu den utzstellen a = x0 < x1 < . . . < xn = b, n ≥ 2, und St¨ den St¨ utzpunkten xi , f (xi ) , i = 0(1)n. Ferner seien M = max | f (4) (x) | f¨ ur x ∈ [a, b] , h = max (xi+1 − xi ) f¨ ur i = 0(1)n−1 . 1. Wenn S ein Spline mit vorgegebenen 1. Randableitungen S 0 (a) = f 0 (a), S 0 (b) = f 0 (b) oder mit vorgegebenen 2. Randableitungen S 00 (a) = f 00 (a), S 00 (b) = f 00 (b) ist, dann gelten f¨ ur x ∈ [a, b] die Absch¨atzungen 5 | f (x) − S(x) | ≤ M h4 , 384 1 | f 0 (x) − S 0 (x) | ≤ M h3 , 24 3 | f 00 (x) − S 00 (x) | ≤ M h2 . 8 2. Wenn f periodisch ist mit der Periode b − a und S der zugeh¨orige periodische Spline, dann gelten f¨ ur x ∈ [a, b] 3 (k) | f (x) − S (k) (x) | ≤ M h4−k , k = 0, 1, 2. 8 Wenn mit wachsender Anzahl der Teilintervalle deren maximale L¨ange h gegen Null strebt, konvergieren demnach S gegen f , S 0 gegen f 0 und S 00 gegen f 00 . W¨ahrend f¨ ur die im Satz unter 1. genannten Splinetypen | f (x) − S(x) | = O(h4 ) gilt, ist f¨ ur nat¨ urliche interpolierende Splines mit S 00 (a) = S 00 (b) = 0 die globale Approximationsg¨ ute nur | f (x) − S(x) | = O(h2 ). Die im Satz 10.25 unter 1. f¨ ur | f (x) − S(x) | angegebene Absch¨atzung kann man verwenden, um eine ¨aquidistante Anordnung der St¨ utzstellen a = x0 , x1 , . . . , xn = b derart zu bestimmen, dass f¨ ur die Splinefunktion S zu den St¨ utzpunkten xi , f (xi ) , i = 0(1)n, und den Randbedingungen S 0 (x0 ) = f 0 (x0 ), S 0 (xn ) = f 0 (xn ) und f¨ ur die Funktion f f¨ ur alle x ∈ [x0 , xn ] gilt | f (x) − S(x) | ≤ 0.5 · 10−m , m ≥ 1 . Mit der genannten Absch¨ atzung | f (x) − S(x) | ≤
5 M h4 ≤ 0.5 · 10−m 384
10.1 Polynom-Splines dritten Grades
441
folgt f¨ ur den maximalen Abstand h benachbarter St¨ utzstellen 1/4 384 h≤ 0.5 · 10−m . 5M Damit ergeben sich f¨ ur die Anzahl n der mindestens erforderlichen Teilintervalle xn − x0 n = INT +1 h und f¨ ur die feste Schrittweite
xn − x0 . n Die a¨quidistanten St¨ utzstellen sind also x0 und ∆x =
xi = xi−1 + ∆x ,
i = 1(1)n .
Im folgenden Beispiel wird dieses Vorgehen angewendet.
Beispiel 10.26. Gegeben: Die Funktion
Zx f (x) =
sin t dt , t
x ∈ [0, 2] .
0
Gesucht:
Eine Splinefunktion S mit den 1. Randableitungen S 0 (0) = f 0 (0) und S 0 (2) = f 0 (2), f¨ ur die | f (x) − S(x) | ≤ 0.000 005 gilt f¨ ur alle x ∈ [0, 2].
L¨osung:
Ben¨otigt werden die Ableitungen sin x f 0 (x) = , x 3 6 6 1 f (4) (x) = − sin x + − cos x . x2 x4 x3 x Durch Berechnung von f (4) (x) f¨ ur x = 1, 2, 1.5, 1.75, 1.875 findet man | f (4) (x) | ≤ | f (4) (1.88) | = 0.238 = M . Damit ergeben sich 1/4 384 0.000 005 = 0.200 419 , 5 · 0.238 2 INT + 1 = 10 , 0.200 419 2 = 0.2 . 10
h
≤
n
=
∆x =
F¨ ur die gesuchte Splinefunktion S m¨ ussen also die St¨ utzpunkte 0, f (0) , 0.2, f(0.2) , . . . , 2, f (2)
442
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven verwendet werden. Die 10 Funktionswerte f (0.2), . . . , f (2) werden mit dem Romberg-Quadraturverfahren mit 9 g¨ ultigen Dezimalen berechnet. Die Randableitungen sind S 0 (0) = f 0 (0) = 1 , S 0 (2) = f 0 (2) = 0.454 648 713 . An einigen Stellen werden die exakten Funktionswerte mit denen der Splinefunktion verglichen. x
f (x)
S(x)
| f (x) − S(x) |
π/7
0.443 807 121
0.443 806 876
0.000 000 245
π/6
0.515 689 196
0.515 688 851
0.000 000 345
π/5
0.614 700 083
0.614 699 927
0.000 000 156
π/4
0.758 975 881
0.758 975 855
0.000 000 026
π/3
0.985 458 844
0.985 458 411
0.000 000 433
π/2
1.370 762 168
1.370 761 939
0.000 000 229
An diesen Stellen betr¨ agt die Abweichung h¨ochstens 1/10 der geforderten maximalen Abweichung.
10.2
Hermite-Splines fu ¨nften Grades
10.2.1
Definition der nichtparametrischen und parametrischen Hermite-Splines
Von der Funktion f seien an n+1 Knoten xi neben den Funktionswerten yi = f (xi ) auch die Steigungen yi0 = f 0 (xi ) gegeben, d. h. es liegen n+1 Wertetripel (xi , yi , yi0 ) f¨ ur i = 0(1)n vor. Hier l¨ asst sich durch Hermite-Splines eine gute Anpassung erreichen, denn das Ziel ist jetzt die Konstruktion einer m¨ oglichst glatten“ Kurve durch die vorgegebe” nen Punkte (xi , yi ) mit den Steigungen yi0 mit Hilfe von Polynom-Splines f¨ unften Grades (Hermite-Splines). Unter der Voraussetzung monotoner Anordnung der xi a = x0 < x1 < . . . < xn = b kann die gesuchte Kurve durch eine nichtparametrische Splinefunktion S mit S(x) ≈ f (x) dargestellt werden, die sich st¨ uckweise aus Polynomen Si f¨ unften Grades f¨ ur x ∈ [xi , xi+1 ], i = 0(1)n−1, zusammensetzt. Die Si m¨ ussen dann gewissen Randbedingungen gen¨ ugen, und es ergeben sich je nach Vorgabe der Randbedingungen die unten in Fall 1 aufgef¨ uhrten verschiedenen Arten von Hermite-Splinefunktionen S. L¨ asst sich die Bedingung der strengen Monotonie der Knoten xi nicht erf¨ ullen, so m¨ ussen auch hier parametrische Hermite-Splines verwendet werden, s. dazu auch Abschnitt 10.1.
10.2 Hermite-Splines f¨ unften Grades
443
Fall 1: Arten von nichtparametrischen Hermite-Splinefunktionen und ihre Berechnung Gesucht ist auf [a, b] = [x0 , xn ] eine Splinefunktion S mit den Eigenschaften: (1) S ist in [a, b] dreimal stetig differenzierbar. (2) S ist in jedem Intervall [xi , xi+1 ] f¨ ur i = 0(1)n−1 durch ein Polynom Si f¨ unften Grades gegeben. (3) S erf¨ ullt die Interpolationsbedingungen S(xi ) = yi , S 0 (xi ) = yi0 , i = 0(1)n. (4) Es sei eine der folgenden Randbedingungen (i) bis (v) vorgegeben: (i)
S(x0 ) = S(xn ), S 0 (x0 ) = S 0 (xn ), S 00 (x0 ) = S 00 (xn ), S 000 (x0 ) = S 000 (xn ), dann heißt S eine periodische Hermite-Splinefunktion.
(ii) S 00 (x0 ) = S 00 (xn ) = 0, dann heißt S eine nat¨ urliche Hermite-Splinefunktion. (iii) S 00 (x0 ) = y000 , S 00 (xn ) = yn00 . (iv) Kr¨ ummungsradien r0 und rn an den Stellen x0 bzw. xn . (v) S 000 (x0 ) = y0000 , S 000 (xn ) = yn000 . Fall 2: Parametrische Hermite-Splines Sind die xi nicht monoton angeordnet, so muss analog zu den in Abschnitt 10.1.1 beschriebenen parametrischen kubischen Splines verfahren werden.
10.2.2
Berechnung der nichtparametrischen Hermite-Splines
Es werden die unter Fall 1 in Abschnitt 10.2.1 beschriebenen Hermite-Splines berechnet. Zur Konstruktion von S gem¨ aß Eigenschaft (2) in Abschnitt 10.2.1 wird angesetzt S(x) ≡ Si (x) := ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 + ei (x − xi )4 + fi (x − xi )5 , (10.31) x ∈ [xi , xi+1 ], i = 0(1)n−1. Der 6-parametrige Ansatz ergibt sich aus der Forderung S ∈ C 3 [a, b]. F¨ ur die 6 n Koeffizienten der n Polynome Si m¨ ussen 6 n Bedingungen aufgestellt werden, die aus den Eigenschaften (1) bis (4) in Abschnitt 10.2.1 folgen. Da hier (ebenfalls aus formalen Gr¨ unden) vier Koeffizienten (an , bn , cn , dn ) mehr berechnet werden, werden insgesamt 6 n + 4 Interpolations-, Anschluss- und Randbedingungen ben¨otigt. Die Eigenschaften (1) und (3) von S f¨ uhren zu folgenden Bedingungen: (a) Si (xi ) = yi , i = 0(1)n, 2 n + 2 Interpolationsbedingungen (b) Si0 (xi ) = yi0 , i = 0(1)n,
444
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
(c)
Si (xi ) = Si−1 (xi ),
i = 1(1)n, i = 1(1)n,
(d)
0 Si0 (xi ) = Si−1 (xi ),
(e)
00 Si00 (xi ) = Si−1 (xi ),
(f )
000 Si000 (xi ) = Si−1 (xi ),
4 n Anschlussbedingungen
i = 1(1)n, i = 1(1)n,
wobei formal Sn (xn ) = an , Sn0 (xn ) = bn , Sn00 (xn ) = 2 cn , Sn000 (xn ) = 3 dn gesetzt wird; zus¨atzlich gibt es zwei Randbedingungen gem¨ aß Eigenschaft (4). Daraus folgt der
Algorithmus 10.27. (Nichtperiodische Hermite-Splines) Gegeben: (xi , yi , yi0 ), i = 0(1)n, xi streng monoton angeordnet Gesucht: Koeffizienten ai , bi , ci , di , ei , fi der Polynome (10.31) 1. ai = yi , bi = yi0 f¨ ur 2. (ii) c0 = cn = 0
i = 0(1)n.
(iii)
c0 = 12 y000 ,
(iv)
c0 = (1 + b20 )3/2 /2r0 , cn = (1 + b2n )3/2 /2rn h i y0000 h0 0) c0 = 13 10(ah12−a0 ) − 2(2b1h+3b − + c 1 6 0 0 h i 000 yn hn−1 10(a −a ) 2(2b +3b ) n−1 n n−1 n cn = 13 + + + c 2 n−1 h 6 h n−1
(v)
cn = 12 yn00
n−1
3. Gleichungssysteme f¨ ur c1 , c2 , . . . , cn−1 mit hi = xi+1 − xi : h i 1 0 3 hα0 + h11 c1 − h11 c2 = 10 a2h−a − a1h−a 3 3 1
+4
h
b0 h20
−
3 2
− hci−1 +3 i−1 +4
h
bi−1 h2i−1
c
−
− hn−2 +3 n−2 +4
h
bn−2 h2n−2
+
1 hi
b1 −
ci −
b2 h21
i
0
+ β1 ,
1 hi ci+1
= 10
1 h2i
−
1 h2i−1
bi −
1 hn−2
+
α hn−1
cn−1 = 10
3 2
3 2
1 h20
−
1 hi−1
−
1 h21
1 h2n−1
−
1 h2n−2
bi+1 h2i
i
bn−1 −
h
ai+1 −ai h3i
−
ai −ai−1 h3i−1
i
f¨ ur i = 2(1)n − 2 , h
an −an−1 h3n−1
bn h2n−1
i
−
an−1 −an−2 h3n−2
i
+ β2
Dabei sind die Gr¨ oßen α, β1 und β2 je nach Wahl der Randbedingungen (RB) (ii), (iii), (iv), (v) wie folgt zu setzen:
10.2 Hermite-Splines f¨ unften Grades
445
1 f¨ ur RB(ii), (iii), (iv) 8/9 f¨ ur RB(v) 0 f¨ ur RB(ii) y 00 /2h0 f¨ ur RB(iii) 0 β1 = 2 3/2 (1 + b ) /2h r f¨ ur RB(iv) 0 0 0 000 103 (a1 − a0 ) − 2 2 (2b1 + 3b0 ) − y0 f¨ ur RB(v) 18 3h0 3h0 0 f¨ ur RB(ii) yn00 /2hn−1 f¨ ur RB(iii) 2 3/2 β2 = (1 + b ) /2h r f¨ ur RB(iv) n−1 n n 000 yn 2 − 10 (an − an−1 ) + 3h2 (3bn + 2bn−1 ) + 18 f¨ ur RB(v) 3h3 α=
n−1
n−1
10 (ai+1 h3i
− ai ) −
2 (2bi+1 h2i
dn = dn−1 −
2 (b h2n−1 n
− bn−1 ) +
− bi ) −
1 c h2i i
4. di =
5. ei =
1 (bi+1 2h3i
6. fi =
1 (ci+1 10h3i
−
+ 3bi ) +
1 hi (ci+1
2 hn−1 (cn
1 (di+1 4hi
− 3ci ), i = 0(1)n−1
+ cn−1 )
+ 5di ), i = 0(1)n−1
− ci − 3di hi − 6ei h2i ), i = 0(1)n−1
Das System 3. in Algorithmus 10.25 ist ein lineares Gleichungssystem f¨ ur n−1 Koeffizienten c1 , c2 ,..., cn−1 ; es hat die Form Ac = a, mit
3 A=
a =
α 1 + h0 h1 1 − h1 .. .
− 3
1 h1
1 1 + h1 h2 .. .
−
1 hn−3
1 h2 .. .
−
3
1 hn−3 −
+
1
−
hn−2
1
hn−2
+ hn−2 hn−1 a2 − a1 a1 − a0 b0 3 1 1 b2 10 − + 4 − − b − + β1 1 h31 h30 h20 2 h21 h20 h21 a3 − a2 a2 − a1 b1 3 1 1 b3 10 − + 4 − − b − 2 h32 h31 h21 2 h22 h21 h22 .. . an −an−1 an−1 −an−2 bn−2 3 1 1 bn 10 − +4 − − b − +β2 n−1 h3n−1 h3n−2 h2n−2 2 h2n−1 h2n−2 h2n−1
c = (c1 , c2 , . . . , cn−1 )T .
hn−2
3
1
1
α
446
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Eigenschaften der Matrix A Die Matrix A ist tridiagonal, symmetrisch, stark diagonal dominant, besitzt positive Hauptdiagonalelemente und negative, von Null verschiedene Nebendiagonalelemente; sie ist also positiv definit und damit streng regul¨ ar. Das Gleichungssystem ist folglich eindeutig l¨osbar nach der in Abschnitt 4.9 beschriebenen Methode. Pivotisierung und Nachiteration sind u ussig. ¨berfl¨
Algorithmus 10.28. (Periodische Hermite-Splines) Gegeben: (xi , yi , yi0 ), i = 0(1)n, streng monotone Anordnung der xi Gesucht: Koeffizienten ai , bi , ci , di , ei , fi der Polynome (10.31) mit den Randbedingungen S (k) (x0 ) = S (k) (xn ) f¨ ur k = 0(1)3
1. ai = yi , bi = yi0 f¨ ur i = 0(1)n 2. c0 = cn , c1 = cn+1 , a1 = an+1 , b1 = bn+1 , h0 = hn 3. Gleichungssystem f¨ ur c1 , c2 , . . . , cn mit hi = xi+1 − xi : 3 1 + 1 c1 − 1 c2 − 1 cn = 10 a2 −3 a1 − a1 −3 a0 h0 h1 h1 h0 h1 h0 +4 b03 − 32 12 − 12 b1 − b22 , h0 h1 h0 h1 ci−1 ai+1 − ai ai − ai−1 1 1 1 − +3 + c − c = 10 − hi−1 hi−1 hi i hi i+1 h3i h3i−1 b bi+1 3 1 − 1 +4 i−1 − b − , i = 2(1)n−1 , i 2 h2i h3i−1 h2i−1 h2i an − an−1 c a − a 1 1 1 1 1 n − − c +3 + c = 10 − h0 hn−1 n−1 hn−1 h0 n h30 h3n−1 b b1 3 1 − 1 +4 n−1 − b − n 2 h20 h3n−1 h2n−1 h20 4. di = 103 (ai+1 − ai ) − 22 (2bi+1 + 3bi ) + 1 (ci+1 − 3ci ), i = 0(1)n−1 hi hi hi dn = dn−1 −
2 (b − b 2 (c + c n n−1 ) + n−1 ) hn−1 n h2n−1
10.2 Hermite-Splines f¨ unften Grades
447
5. ei = 1 3 (bi+1 − bi ) − 12 ci − 1 (di+1 + 5di ), i = 0(1)n−1 4hi 2hi hi 6. fi =
1 (c 2 i+1 − ci − 3di hi − 6ei hi ), i = 0(1)n−1 10h3i
Das System 3. in Algorithmus 10.27 ist ein lineares Gleichungssystem von n Gleichungen f¨ ur die n Unbekannten c1 , c2 ,..., cn mit einer zyklisch tridiagonalen, symmetrischen, stark diagonal dominanten Matrix mit positiven Hauptdiagonalelementen und negativen, von Null verschiedenen Elementen außerhalb der Hauptdiagonale; die Matrix ist also positiv definit und damit streng regul¨ ar. Das System sollte nach dem Gaußschen Algorithmus f¨ ur zyklisch tridiagonale Matrizen gem¨ aß Abschnitt 4.10 gel¨ost werden.
10.2.3
Berechnung der parametrischen Hermite-Splines
Sind Wertetripel (xi , yi , yi0 ), i = 0(1)n einer Kurve C gegeben, die xi aber nicht streng monoton angeordnet, so wird n¨ a herungsweise eine Parameterdarstellung x(t), y(t) ≈ Sx (t), Sy (t) von C ermittelt, indem die Hermite-Splinefunktion Sx und Sy zu den Wertetripeln (ti , xi , x˙ i ) bzw. (ti , yi , y˙ i ) gem¨ aß 10.2.1, Fall 1, berechnet werden mit monoton angeordneten Parameterwerten ti ; ihre Berechnung erfolgt analog zu Abschnitt 10.1.6. Die x˙ i , y˙ i sind nur aus den vorgegebenen yi0 , i = 0(1)n, wegen x˙ 2i + y˙ i2 = 1 und y 0 = y˙ i /x˙ i wie folgt zu ermitteln: σi = sgn(xi+1 − xi )T x˙ i+ f¨ ur i = 0(1)n−1, x˙ i = q σi mit σi = sgn(xn − xn−1 )T x˙ n+ f¨ ur i = n, 2 0 + 1 + yi y˙ i = x˙ i yi0 f¨ ur i = 0(1)n, mit den Bezeichnungen xi :=
xi , yi
x˙ i :=
x˙ i , y˙ i
x˙ i+ :=
|x˙ i | . |x˙ i |yi0
Das Vorzeichen σi von x˙ i wurde so bestimmt, dass der von (xi+1 − xi ) und x˙ i eingeschlossene Winkel immer < π/2 ist, d. h. f¨ ur das Skalarprodukt (xi+1 − xi )T x˙ i > 0 gilt. Falls f¨ ur ein festes i das Skalarprodukt (xi+1 − xi )T x˙ i+ verschwindet, wird σi = sgn(xi − xi−1 )T x˙ i+ gew¨ ahlt, sofern (xi − xi−1 )T x˙ i+ 6= 0 gilt, andernfalls ist das Problem nicht eindeutig l¨ osbar. Ebenfalls nicht eindeutig ist die Vorgabe von x0 , x1 und y00 , wenn (x1 − x0 )T x˙ 0+ = 0 gilt. Im Falle einer vertikalen Tangente wird gesetzt: 0 x˙ i+ = mit x˙ i = σi x˙ i+ . 1 Die Berechnung der Splinefunktionen Sx bzw. Sy erfolgt nun analog zu I. in Abschnitt 10.2.1. Dabei wird Sx zu den Wertetripeln (ti , xi , x˙ i ) und Sy zu den Wertetripeln (ti , yi , y˙i )
448
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
berechnet. Die x˙ i , y˙ i sind aus den yi0 wie zuvor beschrieben zu ermitteln. Als Randbedingungen k¨onnen hier vorgegeben werden: (1)
nat¨ urliche Randbedingungen ,
(2)
periodische Randbedingungen ,
(3)
y000 , yn00 ,
(4)
(¨ x0 , y¨0 ) , (¨ xn , y¨n ) ,
(5)
Kr¨ ummungsradien r0 , rn , ... ... ... ... ( x 0, y 0) , ( x n , y n) .
(6)
Die Splinefunktionen Sx und Sy mit den Randbedingungen (1) bis (6) werden wie folgt berechnet: Zu (1): Sx , Sy sind nat¨ urlich. Die Berechnung von Sx zu den Wertetripeln (ti , xi , x˙ i ) erfolgt nach Algorithmus 10.23 mit (i), indem in den Formeln xi durch ti , yi durch xi , yi0 durch x˙ i ersetzt wird. Die Berechnung von Sy zu den Wertetripeln (ti , yi , y˙ i ) erfolgt nach Algorithmus 10.23 mit (i), indem man in den Formeln xi durch ti , yi0 durch y˙ i ersetzt wird, yi bleibt. Zu (2): Sx , Sy sind periodisch. Die Berechnung von Sx erfolgt nach Algorithmus 10.23, in den Formeln ist zun¨ achst xi durch ti , yi durch xi und yi0 durch x˙ i zu ersetzen. Die Berechnung von Sy erfolgt nach Algorithmus 10.23 mit ti statt xi , yi bleibt, y˙i statt yi0 . Zu (3): Berechnung von Sx gem¨ aß Algorithmus 10.23 (iii), dort ist ti statt xi , xi statt yi , x˙ i statt yi0 zu setzen, und es sind die Randbedingungen x ¨0 = 1, x ¨n = 1 statt y000 , yn00 zu verwenden, wobei x˙ 0 , x˙ n 6= 0 sei. Berechnung von Sy gem¨aß Algorithmus 10.23 (iii) mit ti statt xi , yi bleibt, y˙ i statt yi0 und den Randbedingungen y¨0 , y¨n statt y000 , yn00 . Dabei werden y¨0 , y¨n wie folgt berechnet: y¨0 =
1 3 00 (x˙ y + y˙ 0 ), x˙ 0 0 0
y¨n =
1 3 00 (x˙ y + y˙ n ) x˙ n n n
Zu (4): Berechnung von Sx gem¨ aß Algorithmus 10.23 (iii) mit ti statt xi , xi statt yi , x˙ i statt yi0 , x ¨0 statt y000 und x ¨n statt yn00 . Berechnung von Sy gem¨ aß Algorithmus 10.23 (iii), indem dort ti statt xi , y˙i statt yi0 , y¨0 00 00 statt y0 und y¨n statt yn gesetzt wird. Zu (5): Die Berechnung von Sx erfolgt gem¨ aß Algorithmus 10.23 (iii), dort ist ti statt xi , xi statt yi , x˙ i statt yi0 , x ¨0 statt y000 , x ¨n statt yn00 zu setzen. Dabei werden x ¨0 , x ¨n wie folgt ermittelt ( − r 1y˙ f¨ ur x˙ 0 = 0, 0 0 x ¨0 = 1 sonst. ( − r 1y˙ f¨ ur x˙ n = 0, n n x ¨n = 1 sonst.
10.2 Hermite-Splines f¨ unften Grades
449
Die Berechnung von Sy erfolgt gem¨ aß Algorithmus 10.23 (iii) mit ti statt xi , yi bleibt, y˙ i statt yi0 , y¨0 statt y000 , y¨n statt yn00 . Dabei sind y¨0 und y¨n aus den folgenden Formeln zu berechnen: ( ur x˙ 0 = 0, 1 f¨ y¨0 = 1 1 + y˙ sonst. 0 r0 x˙ 0
( y¨n
=
1 x˙ n
ur x˙ n = 0, 1 f¨ 1 + y˙ sonst. n rn
Zu (6): Die Berechnung von Sx erfolgt nach Algorithmus 10.23 (v) mit ti statt xi , ... ... xi statt yi , x˙ i statt yi0 , x 0 statt y0000 und x n statt yn000 . Die Berechnung ... von Sy wird ... nach dem Algorithmus 10.23 (v) mit ti statt xi , y˙ i bleibt, y˙i statt yi0 , y 0 statt y0000 , y n statt yn000 vorgenommen. Bei Vorgabe anderer Randbedingungen m¨ ussen die Formeln entsprechend umgerechnet werden. Die Formeln f¨ ur den Fall der Vorgabe von Wertequadrupeln (xi , yi , yi0 , yi00 ) sind in [SPAT1986], S.55 ff. zu finden.
Beispiel 10.29. Gegeben: Die folgende Tabelle von Messwerten:
Gesucht:
i
0
1
2
xi
2
4
8
yi
3
4
3
yi0
1
0
−0.5
a) Die nat¨ urliche kubische Splinefunktion S zu den Wertepaaren (xi , yi ), i = 0(1)2. Sie besitzt die Segmente S0 (x) = 3 + 58 (x − 2) − S1 (x) = 4 + 14 (x − 4) −
1 32 (x 3 (x 16
− 2)3 , − 4)2 +
x ∈ [2, 4] 1 (x 64
− 4)3 ,
x ∈ [4, 8]
b) Die nat¨ urliche Hermite-Spline-Funktion S : Si (x) = ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 + ei (x − xi )4 + fi (x − xi )5 , x ∈ [xi , xi+1 ], i = 0, 1 L¨osung:
Man erh¨ alt gem¨ aß Algorithmus 10.25 f¨ ur nichtperiodische Hermite-Splines mit nat¨ urlichen Randbedingungen f¨ ur die Koeffizienten der Si : i
ai
bi
ci
di
ei
fi
0
3
1
0
−5/16
1/8
−1/64
1
4
0
−1/8
1/16
−5/256
1/512
2
3
−1/2
0
1/16
—
—
450
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Damit lauten die Polynome S0 , S1 : 5 1 S0 (x) = 3 + 1(x − 2) − 16 (x − 2)3 + 18 (x − 2)4 − 64 (x − 2)5 1 1 5 1 2 3 4 S1 (x) = 4 − 8 (x − 2) + 16 (x − 4) − 256 (x − 4) + 512 (x − 4)5
f¨ ur x ∈ [2, 4], f¨ ur x ∈ [4, 8].
y6 kubischer Spline
q
............ ... .. ................. .... ................................ .......... .... ..... ..... .......... ............ . ... . . . 1 .. ...... . ........ 2 ..... ...... ..... . . ....... . .. . ....... . . . ...... .... . 0 . ....... . .. . ....... . . . ...... ... . . . .. . ....
4
P
q
2
qP
P
Hermite-Spline
0 0
2
4
6
8
10
x
Abb. 10.36 a. Vergleich: Hermite-Spline - Kubischer Spline Was passieren kann, wenn man die M¨ oglichkeiten, die die Hermite-Splines bieten, u ¨bersch¨atzt, zeigt die n¨ achste Skizze. Hier wurde lediglich die Steigung im Punkt (2,3) einmal auf tan (63.43)◦ = 2 und einmal auf tan (89.43)◦ = 100 ver¨andert. y6
14 12
..... .. . .. . . .......... . .. .... ...... . .. .. . . .. .. . .. . . . . .. . .. .... ... . ... ... ... ... ... ... .. .. ... .. ... ... ... ... ... ... ... .. ... ... .. . .. .. . ... . ... .. . ... . .. . ... ... ... .. ... .... ... ... ... ... ... ... ... . ... . ... ... ... .. ... ... . ... . . ... ... . ... ... ..... ... ... 0 ... ... ... ... ... .. 0 . . ... . .. .. . ... . .. .. .. .. .. ... . ... ... .. .. ... ... .. ... ... ... ... ... ... ... .... 0 ... ... .. .... 0 .. ... ... ... ... ... ... ... ... ... .. ... ... . . .. ... .... .... ............ .... .... .... .... .. .... ... ... ... ... ... . .... ...... ....... 1 ......... ..... ......... ........ .. .... ........ 2 .. .. ... 0 . . ... ..
y =100
10 8
y =2
4
r P
2 0
2
r P
P
4
6
r
8
10
x
Abb. 10.36 b. Hermite-Splines, die im Punkt P0 = (2, 3) die Steigung 2 (gestrichelt) bzw. die Steigung 100 (durchgezogen) besitzen Die Abbildungen 10.36 a und b machen den unterschiedlichen Verlauf der beiden Splinefunktionen deutlich. Sie zeigen zugleich die Einsatzm¨oglichkeiten und die Grenzen der Hermite-Splines. Man kann mit ihrer Hilfe z. B. im Rohrleitungsbau, Flugzeug- , Schiffund Karosseriebau Strakpl¨ ane bei Vorgabe relativ weniger Punkte und der zugeh¨origen Ableitungen zeichnen lassen. Dabei ist es auch ein Vorteil, dass die nat¨ urlichen HermiteSplines es erm¨oglichen, eine Kurve aus geraden und gekr¨ ummten Kurvenst¨ ucken glatt zusammenzusetzen, da an jeder Anschlussstelle die Steigung vorgegeben werden kann
10.2 Hermite-Splines f¨ unften Grades
451
und die Kr¨ ummung Null ist. Ein Nachteil der Hermite-Splines gegen¨ uber den kubischen Splines ist ihre gr¨oßere Welligkeit, da sie aus Polynomen f¨ unften Grades zusammengesetzt sind. Bei sehr hohen Genauigkeitsanforderungen, wenn etwa die Toleranzgrenze im µm-Bereich liegt, kann man die Hermite-Splines nicht anwenden. Beispiel 10.30. (Parametrische Hermite-Splines) Ausgegangen wird von der folgenden Wertetabelle: I 1 2 3 4 5 6 7 8 9
T (I) 0.00000 E+00 1.11803 E+00 1.82514 E+00 2.53225 E+00 3.53225 E+00 4.23935 E+00 4.94646 E+00 6.06450 E+00 7.06450 E+00
X(I) 1.00000 E+00 1.50000 E+00 2.00000 E+00 2.50000 E+00 2.50000 E+00 2.00000 E+00 2.50000 E+00 3.00000 E+00 4.00000 E+00
Y (I) 1.00000 E+00 2.00000 E+00 2.50000 E+00 2.00000 E+00 1.00000 E+00 1.50000 E+00 2.00000 E+00 3.00000 E+00 3.00000 E+00
XT (I) 3.16200 E−01 7.07100 E−01 1.00000 E+00 7.07100 E−01 −8.94400 E−01 0.00000 E+00 7.07100 E−01 5.54700 E−01 7.07100 E−01
Y T (I) 9.48700 E−01 7.07100 E−01 0.00000 E−00 −7.07100 E−01 −4.47200 E−01 1.00000 E+00 7.07100 E−01 8.32100 E−01 −7.07100 E−01
Es ergeben sich die Koeffizienten f¨ ur Sx , Sy wie folgt: Spline f¨ ur X(T) I 1 2 3 4 5 6 7 8
AX(I) BX(I) CX(I) 1.0000 E+00 3.1620 E−01 0.0000 E+00 1.5000 E+00 7.0710 E−01 −2.2065 E−01 2.0000 E+00 1.0000 E+00 −9.4618 E−03 2.5000 E+00 7.0710 E−01 1.6388 E−01 2.5000 E+00 −8.9440 E−01 −4.7773 E−01 2.0000 E+00 0.0000 E+00 1.6429 E+00 2.5000 E+00 7.0710 E−01 −6.0544 E−01 3.0000 E+00 5.5470 E−01 8.1809 E−01
DX(I) EX(I) −4.0013 E−01 9.0480 E−01 −1.4203 E+00 4.5128 E+00 −3.2428 E+00 5.9150 E+00 −1.6344 E+00 8.4312 E−01 9.4092 E−01 3.2406 E−01 6.5890 E−01 −3.7210 E+00 7.6487 E−01 −7.3595 E−01 1.3891 E+00 −3.1584 E+00
F X(I) −4.0532 E−01 −2.9173 E+00 −3.0243 E+00 −7.9716 E−02 −2.3972 E−01 2.1261 E+00 3.1324 E−01 1.3965 E+00
Spline f¨ ur Y(T) I 1 2 3 4 5 6 7 8
AY (I) BY (I) CY (I) DY (I) EY (I) F Y (I) 1.0000 E+00 9.4870 E−01 0.0000 E+00 6.2472 E−01 −1.1388 E+00 4.8409 E−01 2.0000 E+00 7.0710 E−01 3.1951 E−01 1.5828 E+00 −4.3940 E+00 2.1446 E+00 2.5000 E+00 0.0000 E+00 −1.9223 E+00 −1.2205 E−01 3.8789 E+00 −2.6328 E+00 2.0000 E+00 −7.0710 E−01 1.4691 E−01 −2.3152 E+00 2.4652 E+00 −5.8984 E−01 1.0000 E+00 −4.4720 E−01 2.0942 E+00 1.6472 E+00 −4.9928 E+00 2.4606 E+00 1.5000 E+00 1.0000 E+00 −6.9055 E−01 −1.7160 E−01 1.3149 E+00 −7.3482 E−01 2.0000 E+00 7.0710 E−01 2.9227 E−01 −1.2650 E−01 1.0561 E−01 −8.2498 E−02 3.0000 E+00 8.3210 E−01 −4.9292 E−01 −6.8544 E−01 2.2834 E−01 1.1792 E−01
452
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven 5
4
3
............................................................................................................................................................................................................................................................................................... . ... . . . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ........ ......... ... .. ... ... ... ... ... ... ... ... ... ... ... ... .................................. . . . . . ... . ... ..... ..... . . . . ........ . .. ......... ... ... . .. .. .. . ... ... ... ... .. .... . ... . . . . . . . . . . . . ... . . ... ...... . ..... . . . . . . . ... . ... .... . ... . . . . . ... . . . ... .... .. . . . . . . . ... . . ... .... .... ... . . . . . . . ........ . . ....... ........ ... . . . . . . . ... . .. . .... ....... .... . . . . . . .. . . ... ... ... ...... . . . ... . . . ... . .. .... ... . . .... ... . . .. .. .. . . ... ... . .. . .. . . . . ... ... ... . .. . . ... . ... .... . . . . . . ... . ... . . .... .. .. . . . . . . ........ . . ......... ........ .. ......... .. ... ... .... ... ... .... ... ... ... ... ... ... ... ... ... ... .. ... ... ... ... ....................................................................................................................................................................................................................................................................................
Parametrischer Hermite-Spline q
q
3
4
q
2
q
q
q
1
0
q
0
q
1
2
Abb. 10.37.
5
10.3
Polynomiale kubische Ausgleichssplines
10.3.1
Aufgabenstellung und Motivation
Im Abschnitt 10.1 wurde zu n + 1 St¨ utzpunkten (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) mit monoton angeordneten St¨ utzstellen x0 < x1 < . . . < xn nach Vorgabe zweier zus¨atzlicher Bedingungen (z. B. Randbedingungen) eine auf dem Intervall [x0 , xn ] zweimal stetig differenzierbare, interpolierende, kubische Splinefunktion S erzeugt. y6
x x y = S(x)
......... ................ .............. ............. ............ .......... . . . . . . . . . . ..... .. ..... .......... .. ......... ........ ........ i i ................. . . . . . ....... ....... ....... ....... ......... ...... .. ....... i ....... ....... ....... ....... .................. i ..... ... . . . . i i .... ... ..... . ..... ..... .... .. . . . . . . .. ..... .... .... ... ... .. .. ... .
x
x (x , u ) x x b (x , y ) x x
u y
x
x
x
x
xi
x
Abb. 10.38. Kubischer Ausgleichsspline
10.3 Polynomiale kubische Ausgleichssplines
453
Bei praktischen Anwendungen werden an den St¨ utzstellen xi die zugeh¨origen St¨ utzwerte durch Messungen ermittelt, so dass anstelle exakter St¨ utzwerte yi mit Fehlern behaftete Messwerte ui zur Verf¨ ugung stehen. Es ist nicht zu erwarten, dass eine Splineinterpolation mit diesen Messwerten wegen deren Streuung zu einem brauchbaren Ergebnis f¨ uhrt. Daher stellt sich die Aufgabe, die mit Fehlern behafteten Messwerte ui durch solche St¨ utzwerte yi zu ersetzen, die sich f¨ ur eine Interpolation besser eignen (Abschnitt 10.3.2). Mit diesen St¨ utzwerten yi kann dann die Splineinterpolation wie im Abschnitt 10.1 erfolgen.
Anwendungsbeispiel
Zur Beherrschung der aerodynamischen Aufheizung eines Flugk¨orpers beim Wiedereintritt in die Erdatmosph¨ are werden im Stoßwellenlabor des Instituts f¨ ur Luft- und Raumfahrt der RWTH Aachen in verschiedenen Stoßwellenrohren und Stoßwellenkan¨alen h¨aufig instation¨are Wandtemperatur- bzw. W¨ arme¨ ubergangsmessungen an Wiedereintrittsk¨orpern durchgef¨ uhrt (s. Abbildungen 10.39a u. b). Dies geschieht mit Hilfe von D¨ unnschichtwiderstandsthermometern. Dabei handelt es sich um d¨ unne Platinschichten, die auf Pyrex-Glas aufgetragen sind. Die Filmthermometer werden mit konstantem Strom betrieben. Sie werden beim Experiment vom hocherhitzten Versuchsgas des Stoßwellen¨ rohres bzw. -kanals umstr¨ omt. Die hierdurch eintretende Anderung ihrer Oberfl¨achentemperatur bewirkt eine entsprechende Zunahme des Thermometerwiderstandes, die als Spannungs¨anderung auf einem Oszillographen sichtbar gemacht wird. Die hier demonstrierten Ergebnisse wurden in der von G. Engeln-M¨ ullges ausgegebenen Studienarbeit [SCHU1977] ermittelt, die Bilder wurden vom Institut f¨ ur Hochtemperatur-Gasdynamik der RWTH Aachen zur Verf¨ ugung gestellt.
Abb. 10.39a. Deltafl¨ ugel mit Modellhalter, Drucksonden und Temperaturf¨ uhler
454
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven I-V: Druckmessstellen 1-17: Temperaturmessstellen
......... .......... .......... .......... . . . . . . . . . . .......... ............... .. .......... ............... 17 ......... ... . ......... ..... ......... .......................... .. .......... ............. . . . . . . . . . . . .. ........ 16 .. .. .......... ............V.............. ... ................... ... . ......... . .. .... ... .. .. ... . .......... ... ............... .. ... . ... ......... .. ... ......... . . ........... ..... . .......................... ... ....................... .......... 15 . . . . . . . . . . .. . . . . . . . 13 . . . .. .. ... . .......... ...... .............. ... ...................... .... .... .......... .............. ................. .. .... ......... ........... 10 ....... ........ ... ... ................... ... ... . .. .. ......I.V . .. ........... ........ ... ...................... . . . . . . . . . . . . . . . . . . . . . . . . . . .... ... . ... . ........ .. . . ... . ........... ...............I.I...I...........9 ......................... .. ..12 .. ... ... .............................. ... .................... ............ .... ........ ..... .. .... . .. . ....... ... ........... ......... ... ...... ... ... ... .................. ... . ... ........ ....... ............ ....................... ........................... 14.. ........... ......................... ...................... ... ............ . . . . . . . ....... . . . . 7 . 8 11 . . . . . . . . . . . . .. ... ... .................. .. ... .................. ................... .................... ....... . ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .................. . ... ... ..................... ... .... ... ....................... ............ ............. ... ........ . ... ............ ... ... ............ ... ... ............ ............ ... ... ... . ... .......... o...... ................. ....... .............. ... ............ ............. ... ..................... ... .......... ......I.. .......... ............................ ... ............................ ... ....... ................. ... ......... ....I.I............. ... ................... ... ... ... ... ... ... .. .......... ....... .... . .... ............. ........... ............. ............. ............ ..................... 3........... ... ............. . 1 2 4 5 . 6 . . . . . . . . . . . . . . . . . . ........... ............ ..... ............ ...... ........... ........... ............ .......... ........... ............ ......... ......... ........... .......... ......... ........... ......... ......... ........... .......... .......... .......... .......... ......... .......... ......... .......... .......... ......... .........
U
40
6
119.7
17.5 17.5 17.5 - - 15-15-15-15-15-15-
150
?
-
Abb. 10.39b. Grundriss des Deltafl¨ ugels mit der Lage der Filmthermometer und Drucksonden Aus der zeitlichen Oberfl¨ achentemperatur¨ anderung δT (t) l¨asst sich dann der W¨armefluss auf das Filmthermometer bestimmen. Die Oszillogramme erlauben eine schnelle qualitative Beurteilung der Messung. Um jedoch von der qualitativen Auswertung der Oszillogramme loszukommen, werden die Messsignale analog auf Magnetband aufgezeichnet und anschließend mit Hilfe eines Analog-Digital-Wandlers digitalisiert und aufgezeichnet. Das folgende Bild zeigt ein mit 500 Messwerten digitalisiertes Oszillogramm des zeitlichen Spannungsverlaufes. 10
6 U mV
9 8 7 .. .... ... .. .. ... ... . . . .. ..... .. .. . ..
6 5 4 3 2 1 0
... . ..
.. .. . ..
. ... . . .. .
.. . . . .... .... . ...... . . .. .... ......
. ................................. 0
1
2
3
4
5 t/ms
-
Abb. 10.40. Digitalisiertes Oszillogramm Die Abbildung 10.40 veranschaulicht sehr deutlich die Notwendigkeit eines Ausgleichs der hier durch elektrische St¨ orungen (Signalrauschen, Netzst¨orungen usw.) hervorgeru-
10.3 Polynomiale kubische Ausgleichssplines
455
fenen Streuung der Messwerte. Im Folgenden werden zur Beschreibung des gemessenen Zusammenhangs Ausgleichssplines mit verschiedenen Gewichten f¨ ur ein Beispiel mit 179 Messpunkten angegeben (Abbildung 10.41). An den Abbildungen ist zu erkennen, dass man sich f¨ ur kleine Gewichte wi der Ausgleichsgerade n¨ahert, und dass f¨ ur große wi nahezu Interpolation vorliegt. Um nun dem Nullpunkt nahe zu kommen, wurde speziell in diesem Beispiel das Gewicht w0 = 106 gew¨ahlt, alle u ur den Nullpunkt direkt ¨brigen wi = 102 . Man kann aber auch f¨ die Interpolationsbedingung Φ(0) = 0 ansetzen.
610 U 9 mV
8 7 6 5 4 3 2 1 0
....... ....... ....... .... ..... ..................................... . . ........................ .................... . . . . . . . . . . . . . . . . . ....... ... ........................ .... ................. .......... ...... ......... ...... ....... . . . . . . . . . .... ...... ....... ....... ....... . ....... ....... .. ...... ...... ... . . . . . . ....... ..... ...... . .. ...... ...... .............. −4 .............. . . . . . . . i ............... ............ . . . . . . ............. ....... ....... ....... .... ... . . . ... ... ... .. . ... .. ..
wi = 102
.... . ..... ... . .. .. . . .
0
.. . .................... . ....... . .... . .. . . . . .. . . .... .............. .. .... . . . .. .. . ...... . ....... . . . .. . A .. ..... A w = 10 ..... (i = 0(1)n) . . .. .. .
0.5
1.0
1.5
2.0
2.5
3.0
3.5
t/ms Abb. 10.41. 610 U 9 mV
8 7 6 5 4 3 2 1 0
......... ..... ............ ....... ........ ........ ............. ......... ................... ................ .......... . . . . . . . .. . . . . . . . ........ ...................... . ........................ ..................... ............. ................... . . . . . . . ............ . .................. . .................... . . . . . . . .......... ....... ...... .................. . (i = 1(1)n) ......... . . wi = 102 . . . . . .. ......... ............. . . . . ... .... . .. . ... . ............ w0 = 106 ......... . . .. ..... ........ ....... ....... .. .. ...
0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
t/ms Abb. 10.42.
456
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Aus der Abbildung erkennt man, dass die Kurve zwar nun im Nullpunkt beginnt, aber der Anstieg den Messwerten nicht gerecht wird. Im Folgenden wird noch ein aus mehreren getesteten F¨allen sehr gutes Ergebnis herausgegriffen mit w0 = 106 , w1 = 104 , wi = 102 f¨ ur i ≥ 2, (s. Abb. 10.43) 610 U 9 mV
8 7 6 5 4 3 2 1 0
............... ....... .................. ......... ............... ........ .................. .......... . .......... . ........... . . . . . . .. . . . . . . . . . . . .. .................. . . ................ ................... ......................... . ........ . . . . . . ........ ....... . ........... ....... ..... ......... . .... . . . . . . . . . .... ........ w0 = 106 .................. .. ........ .......... . . . . . . ..................... w1 = 104 ....... ....... ...... ..... . . . ...... (i = 2(1)n) ....... wi = 102 .. .......... . ....... . .... .. . .... .. .. .... 0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
t/ms Abb. 10.43.
10.3.2
Konstruktion der nichtparametrischen Ausgleichssplines
Im Folgenden wird gezeigt, wie zu den gegebenen Messpunkten (xi , ui ), i = 0(1)n, mit x0 < x1 < . . . < xn Ersatzpunkte (xi , yi ) konstruiert werden k¨ onnen, zu denen dann wie im Abschnitt 10.1 die interpolierende kubische Splinefunktion S(x) ≡ Si (x) = ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 , x ∈ [xi , xi+1 ] ,
(10.32)
i = 0(1)n−1 , erzeugt wird. Dabei sind die F¨ alle (a) S nicht periodisch (b) S periodisch zu unterscheiden. F¨ ur die St¨ utzwerte der Ersatzpunkte verwendet man den Ansatz 1 y i = ui − ri , i = 0(1)n , wi
(10.33)
mit ri 6= 0 und den vorzugebenden Gewichten wi , wi > 0. Der Abstand eines Messpunktes von seinem Ersatzpunkt ist 1 | ui − y i | = |ri | . wi
10.3 Polynomiale kubische Ausgleichssplines
457
Bei festem ri ist dieser Abstand umso kleiner, je gr¨oßer das Gewicht wi ist; wi kann daher als ein Maß f¨ ur die Qualit¨ at des Messpunktes (xi , ui ) angesehen werden. Zur Bestimmung der Zahlen ri benutzt man die Eigenschaft der Splinefunktion (10.32), nur zweimal stetig differenzierbar zu sein. Die dritten Ableitungen benachbarter Segmente von S am gemeinsamen Knoten sind verschieden: 000 Si−1 (xi ) 6= Si000 (xi ) ,
i = 1(1)n−1 .
Daher setzt man 000 ri = Si000 (xi ) − Si−1 (xi ) ;
mit Si000 (x) = 6 di ergibt sich ri = 6 (di − di−1 ) ,
i = 1(1)n−1 ,
und durch Einsetzen in (10.33) y i = ui −
6 (di − di−1 ) , wi
i = 1(1)n−1 .
F¨ ur jede kubische Splinefunktion gilt siehe (10.15) mit hi = xi+1 − xi 1 di = (ci+1 − ci ) , i = 0(1)n−1 . 3 hi Damit folgt f¨ ur (10.34) 1 2 1 1 1 y i = ui − ci+1 − + ci + ci−1 , wi hi hi hi−1 hi−1
i = 1(1)n−1 .
(10.34)
(10.35)
(10.36)
(a) S nicht periodisch 000 Da im Allgemeinen S0000 (x0 ) 6= 0 und Sn−1 (xn ) 6= 0 sind, setzt man r0 = S0000 (x0 ) und 000 000 rn = −Sn−1 (xn ). Mit Si (x) = 6 di folgen aus (10.33) f¨ ur i = 0 und i = n
y 0 = u0 − Mit (10.35) ergeben sich weiter y0 = yn
=
6 d0 , w0
y n = un +
6 dn−1 . wn
2 (c1 − c0 ) , w0 h0 2 un + (cn − cn−1 ) . wn hn−1
(10.37)
u0 −
(b) S periodisch Das Periodenintervall ist [x0 , xn ]. In diesem Fall m¨ ussen u0 = un
und
w0 = wn
(10.38)
458
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven sein. Die Segmente Sn−1 und S0 sind bei xn bzw. x0 als benachbart anzusehen. Daher setzt man 000 r0 = S0000 (x0 ) − Sn−1 (xn ) = rn . Mit Si000 (x) = 6 di folgt aus (10.33) y 0 = u0 −
6 (d0 − dn−1 ) = yn . w0
Mit (10.35) ergibt sich weiter 2 1 1 y 0 = u0 − (c1 − c0 ) − (cn − cn−1 ) = yn . w0 h0 hn−1
(10.39)
(10.40)
Nach (10.36), (10.38) und (10.40) k¨ onnen in beiden F¨allen die Ersatzst¨ utzwerte y0 , y1 , . . . , yn bestimmt werden, wenn die Gewichte w0 , w1 , . . . , wn vorgegeben und die Koeffizienten c0 , c1 , . . . , cn bekannt sind. Es stellt sich also die Aufgabe, diese Koeffizienten zu ermitteln. Die L¨osung dieser Aufgabe wird f¨ ur den nicht periodischen Fall (a) skizziert. In diesem Fall sind die Koeffizienten c1 , . . . , cn−1 der kubischen Splinefunktion (10.32) die L¨osun gen des linearen Gleichungssystems vgl. (10.18) und Algorithmus 10.6 yi+1 − yi yi − yi−1 hi−1 ci−1 + 2 (hi−1 + hi ) ci + hi ci+1 = 3 − , i = 1(1)n−1 . (10.41) hi hi−1 In die Gleichungen dieses Systems werden rechts die St¨ utzwerte (10.36) und (10.38) eingesetzt. Auf den rechten Seiten stehen dann die Messwerte u0 , u1 , . . . , un . Alle c-Koeffizienten geh¨oren auf die linken Seiten der Gleichungen. Die Koeffizienten c0 und cn werden mit Hilfe der Randbedingungen (i) S 0 (x0 ) = y00 , (ii) S 00 (x0 ) = y000 ,
S 0 (xn ) = yn0
oder
S 00 (xn ) = yn00
eliminiert. Aus (10.36) geht hervor, dass die in (10.41) rechts vorkommenden St¨ utzwerte yi−1 , yi , yi+1 die Koeffizienten ci−2 , ci−1 , ci , ci+1 , ci+2 enthalten. Darum entsteht aus (10.41) f¨ ur n ≥ 6 ein lineares Gleichungssystem f¨ ur c1 , . . . , cn−1 mit f¨ unfdiagonaler Matrix. Mit der L¨osung dieses Gleichungssystems und den Randbedingungen (i) oder (ii) stehen dann alle Koeffizienten c0 , c1 , . . . , cn zur Verf¨ ugung. Um die Diskussion von Sonderf¨ allen, die f¨ ur die Praxis kaum Bedeutung haben, zu vermeiden, wird n ≥ 6 vorausgesetzt. Mit der obigen Herleitung und unter Verwendung von (10.35), (10.36), (10.37), (10.39) und (10.16) ergibt sich der
10.3 Polynomiale kubische Ausgleichssplines
459
Algorithmus 10.31. Gegeben: Messpunkte (xi , ui ), i = 0(1)n, n ≥ 6, x0 < x1 < . . . xn ; Gewichte wi , i = 0(1)n, wi > 0; Typ der Ausgleichssplinefunktion: (i) mit vorgegebenen 1. Randableitungen Algorithmus 10.32 (ii) mit vorgegebenen 2. Randableitungen Algorithmus 10.33 (iii) periodisch mit Periodenintervall [x0 , xn ], u0 = un , w0 = wn Algorithmus 10.34 Gesucht:
Die Koeffizienten ai , bi , ci , di , i = 0(1)n−1, der ausgleichenden kubischen Splinefunktion (10.32)
1. Berechnung der hi = xi+1 − xi , i = 0(1)n−1. 2. Berechnung der Koeffizienten ci : Je nach Typ der Ausgleichssplinefunktion mit dem angegebenen Algorithmus. 3. Berechnung der Koeffizienten di : 1 di = (ci+1 − ci ), 3 hi
i = 0(1)n−1
4. Berechnung der Koeffizienten ai : (i) und (ii) (S nicht periodisch) a0 = y0 = u0 − w6 d0 , 0 ai = yi = ui − w6 (di − di−1 ) , i an = yn = un + w6 dn−1 n
i = 1(1)n−1 ,
(iii) (S periodisch) a0 = y0 = u0 − w60 (d0 − dn−1 ) = yn = an , ai = yi = ui − w6i (di − di−1 ) , i = 1(1)n−1 5. Berechnung der Koeffizienten bi : 1 hi bi = (ai+1 − ai ) − (ci+1 + 2 ci ) , hi 3
i = 0(1)n−1
Bemerkung. Die konstruierten Ersatzst¨ utzpunkte sind (xi , yi ) = (xi , ai ) f¨ ur i = 0(1)n.
460
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
In den folgenden Algorithmen werden die Abk¨ urzungen hi = xi+1 − xi ,
i = 0(1)n−1 ,
6 , i = 0(1)n , wi 1 1 Hi = + , i = 0(1)n−2 , hi hi+1 Wi =
verwendet.
Algorithmus 10.32. (zu (i): Ausgleichsspline mit vorgegebenen 1. Randableitungen) Gegeben: S 0 (x0 ) = y00 ,
S 0 (xn ) = yn0
1. Gleichungssystem f¨ ur c1 , c2 , . . . , cn−1 : Mit W0 W1 W1 h0 − 2 − H0 h0 h0 h 0 h1 F1 = , F2 = , 1 1 2 2 2h0 + (W0 + W1 ) 2h0 + (W0 + W1 ) h0 h0 Wn−1 hn−2 hn−1 F3 = , 1 2 2hn−1 + (Wn−1 + Wn ) hn−1 G1 = W1 H0 + W0 − h20 , h0
G2 = W1 , h1
G5 = Wn + Wn−1 Hn−2 − h2n−1 , hn−1
Wn−1 Wn Hn−2 − 2 hn−1 hn−1 F4 = , 1 2h2n−1 + (Wn−1 + Wn ) hn−1 W G3 = 3 (u1 − u0 ) − y00 h0 , G4 = n−1 , hn−2 G6 = 3 yn0 hn−1 − (un − un−1 ) hn−1 −
ergibt sich das folgende f¨ unfdiagonale lineare Gleichungssystem: F1 G1 + 2(h0 + h1 ) + W20 + W1 H02 + W22 c1 h0 h1 + h1 − W1 H0 − W2 H1 − F1 G2 c2 + W2 c3 h1 h1 h1 h2 u − u u − u 1 − 1 0 −F G , =3 2 1 3 h1 h0 h1 − W1 H0 − W2 H1 − F2 G1 c1 h1 h1 + 2(h1 + h2 ) + W21 + W2 H12 + W23 − F2 G2 c2 h1 h2
10.3 Polynomiale kubische Ausgleichssplines
461
+ h2 − W2 H1 − W3 H2 c3 + W3 c4 = 3 u3 − u2 − u2 − u1 − F2 G3 , h2 h2 h2 h3 h2 h1 Wi−1 W ci−2 + hi−1 − i−1 Hi−2 − Wi Hi−1 ci−1 hi−2 hi−1 hi−1 hi−1 W W 2 + 2(hi−1 + hi ) + 2i−1 + Wi Hi−1 + i+1 ci hi−1 h2i W + hi − Wi Hi−1 − i+1 Hi ci+1 hi hi Wi+1 u − ui u − ui−1 + ci+2 = 3 i+1 − i , i = 3(1)n−3 , hi hi+1 hi hi−1
Wn−3 W W cn−4 + hn−3 − n−3 Hn−4 − n−2 Hn−3 cn−3 hn−4 hn−3 hn−3 hn−3 W W 2 + 2(hn−3 + hn−2 ) + 2n−3 + Wn−2 Hn−3 + 2n−1 − F3 G4 cn−2 hn−3 hn−2 W W + hn−2 − n−2 Hn−3 − n−1 Hn−2 + F3 G5 cn−1 hn−2 hn−2 un−1 − un−2 un−2 − un−3 =3 − − F3 G6 , hn−2 hn−3
Wn−2 W W cn−3 + hn−2 − n−2 Hn−3 − n−1 Hn−2 − F4 G4 cn−2 hn−3 hn−2 hn−2 hn−2 Wn−2 W 2 n + 2(hn−2 + hn−1 ) + 2 + Wn−1 Hn−2 + 2 + F4 G5 cn−1 hn−2 hn−1 u − un−1 u − un−2 =3 n − n−1 − F4 G6 . hn−1 hn−2
2. Berechnung von c0 und cn : W0 W1 2 3 (u1 − u0 ) − + W1 H0 + − h0 c1 − c2 h0 h1 = , 1 2h20 + (W0 + W1 ) h0 Wn Wn−1 0 2 3 yn hn−1 − (un − un−1 ) + Wn−1 Hn−2 + − hn−1 cn−1 − cn−2 hn−1 hn−2 = 1 2h2n−1 + (Wn−1 + Wn ) hn−1 y00 h0
c0
cn
462
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Algorithmus 10.33. (zu (ii): Ausgleichsspline mit vorgegebenen 2. Randableitungen) Gegeben: S 00 (x0 ) = y000 ,
S 00 (xn ) = yn00
1. F¨ unfdiagonales Gleichungssystem f¨ ur c1 , c2 , . . . , cn−1 : W W 2 0 2 2(h0 + h1 ) + 2 + W1 H0 + 2 c1 + h1 − W1 H0 − W2 H1 c2 h1 h1 h0 h1 y 00 + W2 c3 = 3 u2 − u1 − u1 − u0 − 20 h0 − W20 − W1 H0 , h1 h2 h1 h0 h0 h0 h1 − W1 H0 − W2 H1 c1 + 2(h1 + h2 ) + W21 + W2 H12 + W23 c2 h1 h1 h1 h2 + h2 − W2 H1 − W3 H2 c3 + W3 c4 h2 h2 h2 h3 00 y = 3 u3 − u2 − u2 − u1 − 20 W1 , h2 h1 h0 h1 Wi−1 W ci−2 + hi−1 − i−1 Hi−2 − Wi Hi−1 ci−1 hi−2 hi−1 hi−1 hi−1 W W 2 + 2(hi−1 + hi ) + 2i−1 + Wi Hi−1 + i+1 ci hi−1 h2i W Wi+1 + hi − Wi Hi−1 − i+1 Hi ci+1 + c hi hi hi hi+1 i+2 u − ui u − ui−1 = 3 i+1 − i , i = 3(1)n−3 , hi hi−1
Wn−3 W W cn−4 + hn−3 − n−3 Hn−4 − n−2 Hn−3 cn−3 hn−4 hn−3 hn−3 hn−3 W W 2 + 2(hn−3 + hn−2 ) + 2n−3 + Wn−2 Hn−3 + 2n−1 cn−2 hn−3 hn−2 W W + hn−2 − n−2 Hn−3 − n−1 Hn−2 cn−1 hn−2 hn−2 y 00 u − un−2 u − un−3 Wn−1 = 3 n−1 − n−2 − 2n , hn−2 hn−3 hn−2 hn−1
Wn−2 W W cn−3 + hn−2 − n−2 Hn−3 − n−1 Hn−2 cn−2 hn−3 hn−2 hn−2 hn−2 W 2 n + 2(hn−2 + hn−1 ) + 2n−2 + Wn−1 Hn−2 + W cn−1 hn−2 h2n−1
10.3 Polynomiale kubische Ausgleichssplines
463
yn00 un − un−1 un−1 − un−2 Wn−1 W n =3 − − 2 hn−1 − H − . hn−1 hn−2 hn−1 n−2 h2n−1
y 00 2. c0 = 20 ,
y 00 cn = 2n .
Bemerkung. Mit y000 = yn00 = 0 entsteht der nat¨ urliche Ausgleichsspline.
Algorithmus 10.34. (zu (iii): Periodischer Ausgleichsspline) Voraussetzungen: u0 = un , w0 = wn 1. F¨ unfdiagonales Gleichungssystem f¨ ur c1 , c2 , . . . , cn−1 , cn : Wi−1 W ci−2 + hi−1 − i−1 Hi−2 − Wi Hi−1 ci−1 hi−2 hi−1 hi−1 hi−1 Wi−1 Wi+1 2 + 2(hi−1 + hi ) + 2 + Wi Hi−1 + ci hi−1 h2i W Wi+1 + hi − Wi Hi−1 − i+1 Hi ci+1 + c hi hi hi hi+1 i+2 u − ui u − ui−1 = 3 i+1 − i , i = 1(1)n . hi hi−1 Wegen der Periodizit¨ at sind hierin s¨ amtliche negativen Indizes (−k) zu ersetzen durch (n − k) und s¨amtliche Indizes (n + k) durch (k), k ∈ N, ferner c0 durch cn . 2. c0 = cn . Bemerkung. (zur Wahl der Gewichte) F¨ ur wi → ∞ folgt aus (10.33) yi = ui ; der Ausgleichsspline ist dann der interpolierende Spline zu den Messpunkten (xi , ui ). Es l¨ asst sich zeigen, dass f¨ ur wi → 0 die im Sinne der Fehlerquadratmethode ausgleichende Gerade entsteht. Man kann also durch die Wahl der Gewichte erreichen, dass die sich ergebende ausgleichende Splinefunktion nahe an den Messwerten ui verl¨ auft (große wi ) oder mehr ausgleicht (kleine wi ). In der Praxis geschieht dies interaktiv. Bei gleich bleibenden Versuchsbedingungen kann man dann Erfahrungswerte f¨ ur die Gewichte verwenden. Bemerkung. Zu den Algorithmen siehe auch [PALM1998].
464
10.3.3
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Berechnung der parametrischen kubischen Ausgleichssplines
Wie im Abschnitt 10.1.6 seien n + 1 Punkte Pi , i = 0(1)n, in der Ebene oder im Raum gegeben. Jetzt werde aber angenommen, dass die Koordinaten dieser Punkte durch Messungen ermittelt wurden und deshalb mit Fehlern behaftet sind. Hier stellt sich die Aufgabe, diese Messpunkte durch solche Punkte zu ersetzen, deren Koordinaten die Fehler ausgleichen und sich f¨ ur eine Interpolation mit parametrischen kubischen Splines besser eignen. In der Ebene seien die Messpunkte (xi , y i ), i = 0(1)n. Die ben¨otigten Knoten t0 , t1 , . . . , tn werden mit der chordalen Parametrisierung zu den Messpunkten bereitgestellt: q t0 = 0, ti+1 = ti + (xi+1 − xi )2 + (y i+1 − yi )2 , i = 0(1)n . Nun werden mit dem im vorangehenden Abschnitt angegebenen Algorithmus 10.31 zu den Wertepaaren (ti , xi ) und (ti , y i ) anstelle der Wertepaare (xi , ui ) die ausgleichenden kubischen Splinefunktionen mit den Segmenten ) Six (t) = aix + bix (t − ti ) + cix (t − ti )2 + dix (t − ti )3 , t ∈ [ti , ti+1 ] , i = 0(1)n−1 , Siy (t) = aiy + biy (t − ti ) + ciy (t − ti )2 + diy (t − ti )3 , erzeugt. Mit ihnen ist dann der parametrische kubische Ausgleichsspline Six (t) x (t) = S (t) = Si (t) = . Siy (t) F¨ ur beide Koordinaten k¨ onnen dieselben Gewichte w0 , w1 , . . . , wn verwendet werden oder auch verschiedene Gewichte, also wx0 , wx1 , . . . , wxn f¨ ur die x-Koordinaten x0 , x1 , . . . , xn , und wy0 , wy1 , . . . , wyn f¨ ur die y-Koordinaten y 0 , y 1 , . . . , y n . Zu Messpunkten (xi , y i , z i ), i = 0(1)n, im Raum werden die Knoten q t0 = 0, ti+1 = ti + (xi+1 − xi )2 + (y i+1 − y i )2 + (z i+1 − z i )2 , i = 0(1)n−1 berechnet. Mit dem Algorithmus 10.31 wird zu den Wertepaaren (ti , z i ) außerdem die ausgleichende kubische Splinefunktion mit den Segmenten Siz (t) = aiz + biz (t − ti ) + ciz (t − ti )2 + diz (t − ti )3 ,
t ∈ [ti , ti+1 ] , i = 0(1)n−1 ,
ermittelt. Der parametrische kubische Ausgleichsspline ist dann Six (t) x (t) = S (t) = Si (t) = Siy (t) . Siz (t)
10.4 Entscheidungshilfen f¨ ur die Auswahl einer geeigneten Splinemethode
10.4
465
Entscheidungshilfen fu ¨r die Auswahl einer geeigneten Splinemethode
Wenn in der Ebene St¨ utzpunkte (xi , yi ), i = 0(1)n, gegeben sind, f¨ ur deren x-Koordinaten x0 < x1 < . . . < xn gilt, k¨ onnen nichtparametrische Splinefunktionen eingesetzt werden. Die monoton angeordneten St¨ utzstellen (Knoten) xi sollen in Bereichen starker Steigung enger beieinander liegen als in Bereichen geringer Steigung. Darum sind ¨aquidistant angeordnete St¨ utzstellen im Allgemeinen weniger gut geeignet als solche, die dem zu erwartenden Kurvenverlauf angepasst sind. Bei beliebiger Anordnung der St¨ utzpunkte in der Ebene oder im Raum werden parametrische Splines verwendet. Dann m¨ ussen den St¨ utzpunkten Parameterwerte zugeordnet werden, in erster Linie mittels der chordalen Parametrisierung. Am besten eignen sich zweimal stetig differenzierbare, kubische Splinefunktionen und parametrische kubische Splines mit vorgegebenen 1. Randableitungen. Wenn diese Randableitungen nicht zur Verf¨ ugung stehen, k¨ onnen geeignete Werte f¨ ur sie bestimmt werden, indem durch die ersten und letzten drei/vier St¨ utzpunkte das quadratische/kubische Interpolationspolynom gelegt und dessen Ableitung im betreffenden Randpunkt berechnet ¨ wird. Bei Anderungen der 1. Randableitungen kann deren Einfluss auf den Kurvenverlauf gut eingesch¨atzt werden. Bei den nat¨ urlichen Splines verschwinden die 2. Randableitungen und somit auch die Kr¨ ummung in den Randst¨ utzpunkten. Sie k¨ onnen deshalb zweimal stetig differenzierbar geradlinig u ¨ber die Randpunkte hinaus fortgesetzt werden. Splines mit vorgegebenen 2. Randableitungen und not-a-knot-Splines sind von geringerer Bedeutung. Wenn bei monoton angeordneten St¨ utzstellen xi die zugeh¨origen St¨ utzwerte yi fehlerbehaftet sind, liefert eine interpolierende Splinefunktion oft kein brauchbares Ergebnis. Dann kann mit einer Ausgleichssplinefunktion zu geeignet gew¨ahlten Gewichten ein zufriedenstellendes Ergebnis erzielt werden. Entsprechendes gilt f¨ ur parametrische Ausgleichssplines, wenn alle Koordinaten der St¨ utzpunkte mit Fehlern behaftet sein k¨onnen. Wenn mit (xi , yi , yi0 ) an den monoton angeordneten St¨ utzstellen xi sowohl die St¨ utzwerte yi als auch die Steigungen yi0 vorgegeben werden sollen, wird eine dreimal stetig differenzierbare Hermite-Splinefunktion eingesetzt, deren Segmente Polynome f¨ unften Grades sind. Weil solche Polynome st¨ arker schwingen, zeigen die Hermite-Splines oft nicht so g¨ unstige Ergebnisse wie die kubischen Splinefunktionen. Zu vorgegebenen (xi , yi , yi0 ) kann auch eine einmal stetig differenzierbare Subsplinefunktion erzeugt werden (Kapitel 11).
466
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven
Die folgende (sehr grobe) Orientierungstabelle soll einen Eindruck vermitteln, welche der interpolierenden kubischen Splinearten sich zur Darstellung eines bestimmten Kurventyps eignet. Dabei werden die kubischen B´ezier-Splines, die in Abschnitt 12.3 behandelt werden, sowie die Akima- und Renner-Subsplines in Kapitel 11 mit ber¨ ucksichtigt. Zus¨atzlich zu den Informationen in der Tabelle sollte man unbedingt die entsprechenden Hinweise in den zugeh¨ origen Abschnitten beachten. In der Orientierungstabelle werden die folgenden Abk¨ urzungen benutzt:
Abk¨ urzung
Bedeutung
++ + − −− gl. m. A. d. St. k. m. A. d. St. n. k. S. p. k. S. k. S. 1. R. par. n. k. S. par. p. k. S. par. S. 1. R. kub. Bez. S. A. Ss. R. Ss.
gut geeignet geeignet Anwendung m¨ oglich, Ergebnisse nicht gut ungeeignet glatt monotone Anordnung der St¨ utzstellen keine monotone Anordnung der St¨ utzstellen nat¨ urlicher kubischer Spline periodischer kubischer Spline kubischer Spline mit vorgegebenen 1. Randableitungen parametrischer nat¨ urlicher kubischer Spline parametrischer periodischer kubischer Spline parametrischer kubischer Spline mit vorgeg. 1. Randabl. kubischer B´ezier-Spline Akima-Subspline Renner-Subspline
10.4 Entscheidungshilfen f¨ ur die Auswahl einer geeigneten Splinemethode Verfahren
Nr.
467
n. k. S.
p. k. S.
k. S. 1.R.
par. n. k.S.
par. p. k.S.
par. k. 1.R.
kub. Bez. S.
A. Ss.
R. Ss.
+
−−
++
+
−−
+
+
+
+
−−
−−
−−
+
−−
++
+
−−
+
+
−−
++
+
−−
+
++
++
+
−−
−−
−−
+
−−
+
++
−−
++
−−
+
−−
−−
−−
−−
−−
++
+
−−
−−
−−
−−
++
−−
+
−−
++
Kurventyp (z. B. von der Form...) konvex, offen,
1
m.A.d.St.
.. ... ... ... ... ... . ... .. ... .. .... ..... ............
y
.. N ... .. ... .. ... .. .... .... .... ... .... ..... ... .... .... ... ... ... ... .. ... ... .. ... .... .. ...... .... ... .... ... ... ..... ......... ......... ...... ..... ...... ...... .... ........................................................I .
x
konvex, offen,
2
k.m.A.d.St. ............. ........ ..................... ....... ... ............ .... . ... ... .. ... .... .. ....................
.. ......... ........... ... ..... .... .... .... . ... ... ... .. ... .. .... .... . ... ... ... .... . .. ... .................................................
konkav–konvex,
3
offen, m.A.d.St.
... ... ..... ...... .. ....... ... .... ... ... . .. . .. .. .. ... ... .. ........
.. .. .. .. ........ .. ..... .. . . .. . .. .. ... .. .. .. ... ..... .. ..... ... .....
konkav–konvex,
4
offen, k.m.A.d.St. ..... ..... .......... ......... ....... ....... .................. . .... . .. ............... ...................... ....... . ... ... ...............
............ .......... ...... .... .. .... .............. ........... ... .. . . . . . ... . . ..... ... ...... ..... ..... ..... ................ ..
konkav–konvex,
5
periodisch in f(x) und f 0 (x), m.A.d.St. .
y N....... ................
... ...... ........................................................ .I ... .. .... ... ... .... ...... ... .......
x
y N...... .........
... ... ... . . .... .... ..... .... ..... ... ... ... ... ... ... ... .... ... .... .. .. . .... .....................................................I .
x
konvex bzw. konkav-
6
konvex, gl. geschl.
................................. .... .... .... ..... ... ... ... .. ...... .. .. .. ... .. ... ... .... . . ... . . ................................
............ ..... ..... ........ .. ................ .. ... .. .... ... ... .......... .... . .. . . . .......... ..... ....... .......
468
10. Interpolierende Polynom-Splines zur Konstruktion glatter Kurven Verfahren
Nr.
n. k. S.
p. k. S.
k. S. 1.R.
par. n. k.S.
par. p. k.S.
par. k. 1.R.
kub. Bez. S.
A. Ss.
R. Ss.
−−
−−
−−
+
−−
++
+
−−
−−
−−
−−
−−
+
−−
++
+
−−
++
−
−−
++
−
−−
+
++
++
+
−−
−−
−−
−−
−−
−−
−
++
+
−−
−−
−−
−−
−−
−−
−
−−
++
Kurventyp (z. B. von der Form...) konvex bzw. konkav-
7
konvex, n. glatt geschlossen
....................... .... ....... .... ... .. .. .... . ... ... ... .. ........... ... . .. ... ... ... . . . .. .... .........................................
...... ... ..... ... ..... .......... .. .... ... . . . .. .. .. .. . . . . . . ... .......... ..... . . . . . ... ................
konvex, offen,
8
k.m.A.d.St. ................................ .......... ...... ........ .... .. . .. .. ...... ..... . . ......... . . ............. .............. ........
konvex, offen,
9
m.A.d.St., starke Steigung
yN..... ....q
q q
.. .... .... ... ... ... .... ... ..... ..... ... ............. .......................................... ... ...............................................................................I ..
q
q q
q
q
x
10 q q q
.... ...... ........... ... . ... ... .... ... . .... . .. .... . . .... .... ..... .... ... ..... .
q
q
q
q
q
11 q
q
..... ......... .. ... ... .... .. .. ... ... ..... ...... ... . ... .... .. .. .... .. ... .. . ... . . .... . . . ......................
q q q
. .... .... ... .... ....... ... ........ ........ .................... . .. .. ... .....
q q q
Erg¨ anzende Literatur zu Kapitel 10 [BARW2007], 5.5; [BOOR2001]; [DAHM2008], 9.2; [ENGE1996], 7; [HAMM1994], 6; [HERM2001], Kap.6.6, [OPFE2002], Kap.4; [PREU2001]; [SCHW1997], 3.7; [SPAT1973]; [STOE2002A], 2.4; [UBER1995], Kap. 9; [WERN1993], III.
Kapitel 11
Akima- und Renner-Subsplines
Wie die interpolierenden kubischen Splines (Kapitel 10) setzen sich die interpolierenden Akima-Subsplines und Renner-Subsplines intervallweise aus kubischen Polynomen zusammen. W¨ahrend die kubischen Splines zweimal stetig differenzierbar sind, wird von den Subsplines nur die einmalige stetige Differenzierbarkeit gefordert. Je zwei benachbarte Segmente eines Subspline haben im gemeinsamen St¨ utzpunkt dieselbe Tangente, aber nicht dieselbe Kr¨ ummung. Daher kann sich an ein krummliniges Segment eines Subspline ein geradliniges mit der Kr¨ ummung Null tangential anschließen. Zwei benachbarte geradlinige Segmente, die zu verschiedenen Geraden geh¨oren, erzeugen eine Ecke (Abb. 11.3). Abweichend von den Originalarbeiten von Akima [AKIM1970] und Renner [RENN1981], [RENN1982] werden Ecken hier zugelassen, so dass der Subspline dann nur st¨ uckweise stetig differenzierbar ist. Falls Ecken nicht erw¨ unscht sind, k¨onnen sie durch Einf¨ ugen weiterer Punkte vermieden werden (Abb. 11.7). Ein Vorteil der Akimaund Renner-Subsplines gegen¨ uber den anderen Splines ist, dass f¨ ur die Berechnung ihrer Koeffizienten kein lineares Gleichungssystem gel¨ ost werden muss. Beim Akima-Subspline wird die monotone Anordnung der St¨ utzstellen vorausgesetzt; er eignet sich daher zur Darstellung einer Funktion. Wenn durch Punkte beliebiger Lage in einer Ebene oder im Raum eine glatte Kurve gelegt werden soll, wird ein RennerSubspline verwendet.
11.1
Akima-Subsplines
Von einer (unbekannten oder bekannten) Funktion f ∈ C 1 [a, b] seien an den n+1 monoton angeordneten St¨ utzstellen (Knoten) xi , i = 0(1)n, a = x0 < x1 < . . . < xn = b G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_11, © Springer-Verlag Berlin Heidelberg 2011
470
11. Akima- und Renner-Subsplines
die St¨ utzwerte yi = f (xi ) gegeben; es sei n ≥ 2. Durch die n+1 Punkte Pi = (xi , yi ), auch St¨ utzpunkte genannt, werde eine glatte Kurve gelegt. Diese soll durch die st¨ uckweise definierte Subsplinefunktion S mit S(x) ≡ Si (x)
= ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 ,
(11.1)
x ∈ [xi , xi+1 ], i = 0(1)n−1 dargestellt werden. S sei also in jedem Teilintervall durch ein Polynom h¨ochstens dritten Grades gegeben. Das Segment Si soll durch die Punkte (xi , yi ) und (xi+1 , yi+1 ) gehen. Daraus folgen mit der Intervall-L¨ange hi = xi+1 − xi > 0 die Bedingungen Si (xi ) = ai = yi , (i)
Si (xi+1 ) = yi + bi hi + ci h2i + di h3i = yi+1 .
An den St¨ utzstellen xi und xi+1 soll Si die Steigungen ti bzw. ti+1 besitzen. Daraus folgen mit Si0 (x) = bi + 2 ci (x − xi ) + 3 di (x − xi )2 die Bedingungen (ii)
Si0 (xi ) = bi = ti ,
(iii)
Si0 (xi+1 ) = ti + 2 ci hi + 3 di h2i = ti+1 .
Mit der Steigung mi =
yi+1 − yi yi+1 − yi = xi+1 − xi hi
der Sehne zwischen den Punkten Pi und Pi+1 folgen aus (i), (ii) und (iii) di h2i
ci hi +
2 ci hi + 3 di h2i
=
mi − ti ,
= ti+1 − ti .
Aus diesen Gleichungen ergeben sich ci
=
di
=
1 (3 mi − 2 ti − ti+1 ) , hi 1 (ti + ti+1 − 2 mi ) . h2i
Somit k¨onnen alle Koeffizienten ai , bi , ci , di berechnet werden, wenn die Steigungen ti und ti+1 an den St¨ utzstellen xi bzw. xi+1 bekannt sind. Andernfalls m¨ ussen geeignete Werte f¨ ur die Steigungen zun¨ achst ermittelt werden.
11.1 Akima-Subsplines
471
Akima zieht zur Bestimmung der Steigung ti im Punkt Pi nur die diesem Punkt benachbarten Punkte Pi−2 , Pi−1 , Pi+1 , Pi+2 heran, a ¨hnlich wie der Zeichner einer punktweise gegebenen Kurve nur wenige Punkte in der Nachbarschaft eines Punktes ber¨ ucksichtigt, um den Kurvenverlauf dort festzulegen. Da ein Zeichner drei (oder mehr) kollineare Punkte geradlinig verbinden wird, soll auch die Funktion S diese Eigenschaft besitzen. Die Steigungsformel von Akima lautet ti =
|mi − mi+1 |mi−1 + |mi−2 − mi−1 |mi . |mi − mi+1 | + |mi−2 − mi−1 |
(11.2)
Falls der Nenner nicht verschwindet, liefert sie − im Sonderfall Pi−2 , Pi−1 , Pi kollinear, mi−2 = mi−1 , die Steigung ti = mi−1 , − im Sonderfall Pi , Pi+1 , Pi+2 kollinear, mi = mi+1 , die Steigung ti = mi ; ein geradliniges Segment ist also die Tangente eines sich anschließenden krummlinigen Segmentes (Abb. 11.3). F¨ ur t0 , t1 , tn−1 , tn ist die Steigungsformel (11.2) nur dann anwendbar, wenn weitere Sehnensteigungen m−2 , m−1 , mn , mn+1 bereitgestellt werden. Dabei ist zu unterscheiden, ob S nicht periodisch oder, falls yn = y0 ist, periodisch mit der Periode p = b − a = xn − x0 sein soll. Im periodischen Fall liefert die Steigungsformel mit den zus¨atzlichen Sehnensteigungen t0 = tn . Wenn der Nenner der Steigungsformel verschwindet und mi−1 6= mi ist, liegen Pi−2 , Pi−1 , Pi und Pi , Pi+1 , Pi+2 auf Geraden verschiedener Steigung, und in Pi entsteht zeichnerisch eine Ecke (Abb. 11.3); das ist mit der Forderung nach stetiger Differenzierbarkeit nicht vertr¨aglich. W¨ ahrend Akima auf die Wiedergabe einer solchen Ecke zugunsten der stetigen Differenzierbarkeit verzichtet, sollen hier auch Ecken dargestellt werden. Daf¨ ur ist es erforderlich, an jedem Knoten eine links- und rechtsseitige Steigung zu notieren. Ecken k¨onnen nur dann auftreten, wenn n ≥ 4 ist.
Algorithmus 11.1. (Akima-Subspline) Gegeben: (xi , yi ), i = 0(1)n, n ≥ 2, mit xi < xi+1 f¨ ur i = 0(1)n−1, nicht periodisch bzw. (mit yn = y0 ) periodisch. Gesucht: Der Akima-Subspline (11.1). 1. F¨ ur i = 0(1)n−1 werden die Intervall-L¨ angen hi := xi+1 − xi > 0 und die Sehnensteigungen mi := (yi+1 − yi )/hi berechnet.
472
11. Akima- und Renner-Subsplines
2. Bereitstellung weiterer Sehnensteigungen 2.1 nicht periodisch m−2 := 3m0 − 2m1 m−1 := 2m0 − m1 mn := 2mn−1 − mn−2 mn+1 := 3mn−1 − 2mn−2 2.2 periodisch m−2 := mn−2 m−1 := mn−1 mn := m0 mn+1 := m1 . R 3. F¨ ur i = 0(1)n werden die linksseitigen und rechtsseitigen Steigungen tL i bzw. ti L R berechnet (t0 , tn werden berechnet, aber unter 4. nicht benutzt). Li := |mi−2 − mi−1 | N Ei := Li + |mi − mi+1 |
N Ei > 0 :
αi tL i tR i
:= := :=
Li /N Ei (1 − αi ) mi−1 + αi mi tL i
N Ei = 0 :
tL i tR i
:= :=
mi−1 mi
4. Berechnung der Koeffizienten f¨ ur i = 0(1)n−1: ai := yi bi := tR i 1 L ci := 3mi − 2tR i − ti+1 hi di := 12 tR + tL i+1 − 2mi hi i
Beispiel 11.2. Gegeben: Die Wertetabelle i
0
1
2
3
xi
0
0.5
1.5
3.5
yi
0
0.5
−0.5
1.5
Gesucht:
Der nicht periodische Akima-Subspline.
L¨osung:
Nach Algorithmus 11.1 werden mit n = 3 berechnet
11.1 Akima-Subsplines
473
h0 h1 h2
= = =
x1 − x0 x2 − x1 x3 − x2
= = =
0.5 1 2
m0 m1 m2
= = =
(y1 − y0 ) / h0 (y2 − y1 ) / h1 (y3 − y2 ) / h2
= = =
1 −1 1
2.
m−2 m−1 m3 m4
= = = =
3 m0 − 2 m1 2 m0 − m1 2 m2 − m1 3 m2 − 2 m1
= = = =
5 3 3 5
3.
L0 N E0 α0 tL 0
= = = =
|m−2 − m−1 | L0 + |m0 − m1 | = 2 + 2 L0 / N E0 (1 − α0 ) m−1 + α0 m0
= = = =
2 4 0.5 2
=
tR 0
L1 N E1 α1 tL 1
= = = =
|m−1 − m0 | L1 + |m1 − m2 | = 2 + 2 L1 / N E1 (1 − α1 ) m0 + α1 m1
= = = =
2 4 0.5 0
=
tR 1
L2 N E2 α2 tL 2
= = = =
|m0 − m1 | L2 + |m2 − m3 | = 2 + 2 L2 / N E2 (1 − α2 ) m1 + α2 m2
= = = =
2 4 0.5 0
=
tR 2
L3 N E3 α3 tL 3
= = = =
|m1 − m2 | L3 + |m3 − m4 | = 2 + 2 L3 / N E3 (1 − α3 ) m2 + α3 m3
= = = =
2 4 0.5 2
=
tR 3
a0 b0 c0 d0
= = = =
y0 tR 0 L (3 m0 − 2 tR 0 − t1 ) / h 0 R L (t0 + t1 − 2 m0 ) / h20
= = = =
0 2 −2 0
a1 b1 c1 d1
= = = =
y1 tR 1 L (3 m1 − 2 tR 1 − t2 ) / h 1 R L (t1 + t2 − 2 m1 ) / h21
= = = =
0.5 0 −3 2
a2 b2 c2 d2
= = = =
y2 tR 2 L (3 m2 − 2 tR 2 − t3 ) / h 2 R L (t2 + t3 − 2 m2 ) / h22
= = = =
−0.5 0 0.5 0
1.
4.
Damit lautet die Darstellung des Akima-Subspline: S0 (x) = 2 x − 2 x2 , S1 (x) = 0.5 − 3 (x − 0.5)2 + 2 (x − 0.5)3 , S2 (x) = −0.5 + 0.5 (x − 1.5)2 ,
x ∈ [0, 0.5] x ∈ [0.5, 1.5] x ∈ [1.5, 3.5] .
474
11. Akima- und Renner-Subsplines y 1.5 1 0.5
r
6
... ... ... .. . . . ... ... ... ... . . . ... ... ... ... .................... . . . . . . . . . ..... . .. .... ..... .... ... .... ..... ... ... .... ... ... ..... ... . .. . . . . .... . .... ... ..... ... ..... .... ...... .... ...... . ..... . . . . ..... .... ...................................
r
0 r
0.5
−0.5
1.5 r
3.5
x
Abb. 11.1. Akima-Subspline mit der Steigungsformel (11.2)
In der Steigungsformel (11.2) von Akima kommen die Sehnensteigungen mi−2 , . . . , mi+1 vor, jedoch nicht die Intervall-L¨ angen, d. h. die Abst¨ande benachbarter St¨ utzstellen. Daher liefert die Formel von Akima z. B. zu jedem System mit vier St¨ utzpunkten (x0 , y0 ), (x1 , y1 ), (x2 , y2 ), (x3 , y3 ), das die Sehnensteigungen m0 = 1, m1 = −1, m2 = 1 besitzt, dieselben Steigungen t0 = 2, t1 = 0, t2 = 0, t3 = 2 wie im Beispiel 11.2. Eine Steigungsformel, die Intervall-L¨ angen enth¨alt und damit die Lage der St¨ utzstellen ber¨ ucksichtigt, ist (siehe [WODI1991]) ti =
hi |mi − mi+1 | mi−1 + hi−1 |mi−2 − mi−1 | mi ; hi |mi − mi+1 | + hi−1 |mi−2 − mi−1 |
(11.3)
sie stimmt im Sonderfall hi−1 = hi mit der Formel (11.2) von Akima u ¨berein. F¨ ur die Anwendung der Steigungsformel (11.3) muss der Algorithmus 11.1 wie folgt erg¨anzt und ge¨andert werden: Unter 2. Bereitstellung weiterer Intervall-L¨ angen 2.1 2.2
nicht periodisch periodisch
Unter 3. N Ei > 0 :
h−1 := h1 , h−1 := hn−1 , tL i :=
hn := hn−2 hn := h0
hi (1 − αi ) mi−1 + hi−1 αi mi . hi (1 − αi ) + hi−1 αi
Beispiel 11.3. F¨ ur die Wertetabelle des Beispiels 11.2 werden im Folgenden die Steigungen mit der Formel (11.3) und die mit ihnen sich ergebenden Koeffizienten berechnet.
11.1 Akima-Subsplines
475
2.
h−1 h3
= =
3.
tL 0
=
tL 1
=
tL 2
=
tL 3
=
b0
=
tR 0
c0
=
L (3 m0 − 2 tR 0 − t1 ) / h 0
=
d0
=
(tR 0
=
b1
=
tR 1
c1
=
L (3 m1 − 2 tR 1 − t2 ) / h 1
=
d1
=
(tR 1
=
1 3 10 −3 2
b2
=
tR 2
=
− 13
c2
=
L (3 m2 − 2 tR 2 − t3 ) / h 2
=
d2
=
L 2 (tR 2 + t3 − 2 m2 ) / h2
=
2 3 0
4.
h1 = 1, h1 = 1 h0 (1 − α0 ) m−1 + h−1 α0 m0 h0 (1 − α0 ) + h−1 α0 h1 (1 − α1 ) m0 + h0 α1 m1 h1 (1 − α1 ) + h0 α1 h2 (1 − α2 ) m1 + h1 α2 m2 h2 (1 − α2 ) + h1 α2 h3 (1 − α3 ) m2 + h2 α3 m3 h3 (1 − α3 ) + h2 α3
+
tL 1
−
2 m0 ) / h20
=
5 3
=
tR 0
=
1 3
=
tR 1
=
− 13
=
tR 2
=
7 3
=
tR 3
=
5 3 − 43 0
=
+
tL 2
−
2 m1 ) / h21
Der mit der Formel (11.3) erzeugte Subspline hat die Darstellung: 5 4 S0 (x) = x − x2 , 3 3 1 10 S1 (x) = 0.5 + (x − 0.5) − (x − 0.5)2 + 2 (x − 0.5)3 , 3 3 1 2 S2 (x) = −0.5 − (x − 1.5) + (x − 1.5)2 , 3 3
x ∈ [0, 0.5] x ∈ [0.5, 1.5] x ∈ [1.5, 3.5] .
y 1.5 1 0.5
r
6
. ... ... .. . . ... ... ... .. . . ... ... .. ... ............ . . . . . . . . ..... ...... ..... ... ..... ... .... ... ..... ... .... ... ... ... ... .... . . . . . .... ... ... .... .... ..... ... ..... ... ..... .... . . . . ..... .. ..... ...... ........ ...... ...............................
r
0 r
0.5
−0.5
1.5 r
3.5 x
Abb. 11.2. Subspline mit Steigungsformel (11.3)
476
11. Akima- und Renner-Subsplines
Beispiel 11.4. Gegeben: Die Wertetabelle i
0
1
2
3
4
5
6
7
8
9
xi
0
1
2
3
4
5
6
7
9
10
yi
0
1
1
1
−1
−3
−2
−1
−1
0
Gesucht:
Ein nicht periodischer und ein periodischer Akima-Subspline.
L¨osung:
Ecken sind die Punkte (x3 , y3 ) und (x5 , y5 ) sowie im periodischen Fall außerdem (x1 , y1 ).
..................r ..................r ...r ... ...... 1 6 ... .... .... ... ... ... . ..r ... .
r r 10
. .... ... .... ... ..... ... ..... ................... . . . . . . . . . . ............... ... .... ... ..... ... ..... ... ..... ... ..... . . . . ... ... ... ..... ... ......... .......
−1 −2 −3
r 5
r
r
r
Akima-Subspline, nicht periodisch
1 6...............r..................r..................r...... ... ..... ... ..... ..r ... . −1 −2 −3
r 5
r
r
r
Akima-Subspline, periodisch
Abb. 11.3. Akima-Subsplines
11.2
r r 10
. ..... ... ..... ... ..... ... .... ............... . . . . . . . . . ... ................... ..... ... ..... ... ..... ... ..... ... .... . . . . ... .. ... ..... ... ......... ....... .
Renner-Subsplines
Gegeben seien n + 1 Punkte Pi = (xi , yi ) in der Ebene (m = 2) oder Pi = (xi , yi , zi ) im Raum (m = 3), i = 0(1)n, n ≥ 3, mit Pi 6= Pi+1 f¨ ur i = 0(1)n−1. Wenn Pi−1 , Pi und Pi+1 kollinear sind, muss Pi zwischen Pi−1 und Pi+1 liegen. Durch diese Punkte werde in der Reihenfolge der Nummerierung eine glatte Kurve gelegt. Die Kurve wird mit Hilfe eines Parameters t st¨ uckweise definiert durch S (t) ≡ Si (t) = ai + bi t + ci t2 + di t3 , ai , bi , ci , di ∈ Rm mit m = 2 oder m = 3 , t ∈ [0, hi ], hi > 0 , i = 0(1)n−1 .
(11.4)
Jedes der n Kurvensegmente ist also durch ein Polynom h¨ochstens dritten Grades gegeben. Zu berechnen sind f¨ ur i = 0(1)n−1 die Koeffizienten ai , bi , ci , di und die L¨ange hi des Parameterintervalls. Das Kurvensegment Si soll die St¨ utzpunkte Pi und Pi+1 verbinden. Also m¨ ussen gelten Si (0) = ai = Pi , (i)
Si (hi ) = Pi + bi hi + ci h2i + di h3i = Pi+1 .
11.2 Renner-Subsplines
477
Ferner sollen die Tangentenvektoren von Si in Pi und Pi+1 mit den vorgegebenen Einheitsvektoren vi bzw. vi+1 , |vi | = |vi+1 | = 1, u ¨bereinstimmen. Daraus folgen mit Si0 (t) = bi + 2 ci t + 3 di t2 (ii)
Si0 (0) = bi = vi ,
(iii)
Si0 (hi ) = vi + 2 ci hi + 3 di h2i = vi+1 .
Mit dem Sehnenvektor si = Pi+1 − Pi 6= 0 folgen aus (i), (ii) und (iii) di h2i
=
2 ci hi + 3 di h2i
=
ci hi +
1 si − vi , hi vi+1 − vi
und aus diesen Gleichungen ci
=
1 hi
di
=
1 h2i
3 si − 2 vi − vi+1 , hi 2 vi + vi+1 − si . hi
Wenn man fordert, dass |Si0 (hi /2)| = 1 ist, kann hi berechnet werden. Mit bi , ci , di ergibt sich hi hi h2 4 hi Si0 = 4 hi bi + 2 ci + 3 di i 2 2 4 = 6 si − hi (vi + vi+1 ) . Das Quadrat des Betrages dieses Vektors (s T t ist das Skalarprodukt der Vektoren s und t) f¨ uhrt mit A = 16 − |vi + vi+1 |2 ,
B = 6 siT (vi + vi+1 ) ,
C = 36 |si |2
zu der quadratischen Gleichung A h2i + 2 B hi − C = 0 mit der positiven L¨ osung hi = (−B +
p B 2 + A C) / A .
F¨ ur die L¨ange des i-ten Kurvensegmentes erh¨ alt man mit der Simpsonschen Formel (siehe Abschnitt 14.3.2) Zhi 0
|Si0 (t)| d t
hi ≈ 6
|Si0 (0)|
hi 0 + 4 Si0 + |S (h )| = hi . i i 2
478
11. Akima- und Renner-Subsplines
Darum ist t angen¨ ahert Bogenl¨ angenparameter. Falls die Kurventangenten in den Punkten Pi nicht bekannt sind, m¨ ussen die Tangenteneinheitsvektoren vi f¨ ur i = 0(1)n geeignet bestimmt werden. Dabei werden die zu den Sehnenvektoren si geh¨ origen Einheitsvektoren si0 = si /|si | ben¨otigt. Die Formel von Renner f¨ ur den (zun¨ achst nicht normierten) Tangentenvektor vi im Punkt Pi lautet: vi
=
(1 − αi ) si−1 + αi si
mit
αi
=
0 0 F (si−2 , si−1 ) 0 0 0 F (si−2 , si−1 ) + F (si0 , si+1 )
.
Hier ist F (s, t) der (nicht negative) Fl¨ acheninhalt des von den Vektoren s, t ∈ Rm aufgespannten Parallelogramms. Genau dann, wenn s und t linear abh¨angig sind, ist F (s, t) = 0. Der Nenner von αi sei positiv. Wenn Pi−2 , Pi−1 , Pi kollinear sind, sind si−2 , si−1 linear 0 0 abh¨angig, also F (si−2 , si−1 ) = 0. Wegen αi = 0 ist dann vi = si−1 . Sind Pi , Pi+1 , Pi+2 0 kollinear, so sind si , si+1 linear abh¨ angig und F (si0 , si+1 ) = 0. Wegen αi = 1 ist dann vi = si . Ein geradliniger Abschnitt der Kurve ist also die Tangente eines in Pi beginnenden oder endenden krummlinigen Abschnitts. Wenn der Nenner von αi verschwindet und Pi−1 , Pi , Pi+1 nicht kollinear sind (F (si−1 , si ) > 0), ist Pi eine Ecke. In diesem Fall werden der Ecke Pi der linksseiti” ge“ Tangentenvektor viL = si−1 und der rechtsseitige“ viR = si zugeordnet. ” F¨ ur die Berechnung der Vektoren v0 , v1 , vn−1 , vn m¨ ussen zus¨atzlich Sehnenvektoren s−2 , s−1 , sn , sn+1 und somit Punkte P−2 , P−1 , Pn+1 , Pn+2 bereitgestellt werden. Die Konstruktion dieser Punkte h¨ angt vom Typ der zu erzeugenden Kurve ab. Falls Pn = P0 ist, ist die Kurve geschlossen. Wenn in diesem Fall die Tangentenvektoren v0 und vn linear unabh¨ angig sind, sind die Tangenten der Kurve in P0 und Pn verschieden; die Kurve heiße dann geschlossen mit Eckpunkt. Sind die Tangentenvektoren v0 und 0 vn gleich, dann ist wegen S00 (0) = v0 = vn = Sn−1 (hn−1 ) die Kurve auch in P0 = Pn einmal stetig differenzierbar und hat dort genau eine Tangente; die Kurve heiße dann geschlossen ohne Eckpunkt (Abbildung 11.5). Der Fall vn = −v0 , in dem P0 = Pn ein R¨ uckkehrpunkt ist, bleibt außer Betracht. Bei einer geschlossenen Kurve ohne Eckpunkt werden zus¨atzlich die Punkte P−2 = Pn−2 , P−1 = Pn−1 , Pn+1 = P1 , Pn+2 = P2 benutzt. Damit ergeben sich s−2 = sn−2 , s−1 = sn−1 , sn = s0 , sn+1 = s1 sowie α0 = αn und v0 = vn . Bei einer nicht geschlossenen oder einer geschlossenen Kurve mit Eckpunkt werden (anders als in [RENN1981]) die zus¨ atzlichen Punkte wie folgt erzeugt. P−2 und P−1 ergeben sich durch Spiegelung von P3 bzw. P2 an der Gerade / Ebene, die durch den Mittelpunkt von P0 und P1 geht und zur Gerade P0 P1 senkrecht ist. Ebenso werden Pn−2 und Pn−3 an der Gerade / Ebene, die durch den Mittelpunkt von Pn−1 und Pn geht und zur Gerade Pn−1 Pn senkrecht ist, gespiegelt, um Pn+1 bzw. Pn+2 zu erhalten. Im Algorithmus werden sogleich die Sehnenvektoren s−2 , s−1 , sn , sn+1 angegeben.
11.2 Renner-Subsplines
479
F¨ ur s, t ∈ R3 ist F 2 (s, t) = |s × t|2 = | s |2 | t |2 − (s T t)2 und f¨ ur Einheitsvektoren, | s | = | t | = 1, also q F (s, t) = 1 − (s T t)2 . F¨ ur s, t ∈ R2 gilt
F (s, t) =
q 1 − (s T t)2 = | det(s, t)| .
Algorithmus 11.5. (Renner-Subspline) Gegeben: n + 1 Punkte Pi = (xi , yi ) (m = 2) oder Pi = (xi , yi , zi ) (m = 3), i = 0(1)n, n ≥ 3, mit Pi 6= Pi+1 f¨ ur i = 0(1)n−1. Bei kollinearen Punkten Pi−1 , Pi , Pi+1 muss Pi zwischen Pi−1 und Pi+1 liegen, i = 1(1)n−1. Gesucht: Der Renner-Subspline (11.4). 1. F¨ ur i = 0(1)n−1 werden die Sehnenvektoren si := Pi+1 − Pi 6= 0 berechnet. 2. Bereitstellung weiterer Sehnenvektoren 2.1 Kurve geschlossen (Pn = P0 ) und ohne Eckpunkt s−2
:=
sn−2
s−1
:=
sn−1
sn
:=
s0
sn+1
:=
s1
2.2 In allen anderen F¨ allen s0 /| s0 |
s
:=
s−2
:= 2(s T s2 ) s − s2
s−1
:= 2(s T s1 ) s − s1
s
:=
sn
:= 2(s T sn−2 ) s − sn−2
sn+1
:= 2(s T sn−3 ) s − sn−3
sn−1 /| sn−1 |
3. F¨ ur i = −2(1)n + 1 werden zu den Sehnenvektoren die Einheitsvektoren si0 := si /| si | berechnet. 4. Ermittlung der links- und rechtsseitigen Tangenteneinheitsvektoren f¨ ur i = 0(1)n:
480
11. Akima- und Renner-Subsplines
m = 2
m = 3q 0 T s 0 )2 Li := 1 − (si−2 i−1 q 0T 0 N Ei := Li + 1 − (si si+1 )2
0 0 Li := | det(si−2 , si−1 )| 0 N Ei := Li + | det(si0 , si+1 )|
N Ei > 0 :
N Ei = 0 :
αi
:=
Li /N Ei
viL viL viR
:= (1 − αi ) si−1 + αi si :=
viL /|viL |
:=
viL
viL
:=
0 si−1
viR
:=
si0
(v0L und vnR werden im Folgenden nicht benutzt) 5. F¨ ur i = 0(1)n−1 werden die L¨ angen hi der Parameterintervalle berechnet: L 2 A := 16 − |viR + vi+1 | L B := 6 siT (viR + vi+1 )
C := 36 | si |2 √ −B + B 2 + AC hi := A 6. Berechnung der Koeffizienten f¨ ur i = 0(1)n−1: ai := Pi bi := viR 3 R L si − 2 vi − vi+1 hi 1 2 R L di := 2 vi + vi+1 − si hi hi 1 ci := hi
Bemerkung. Wenn zu jedem St¨ utzpunkt Pi ein Tangenteneinheitsvektor vi gegeben ist, entfallen die Schritte 2. und 3., und unter 4. werden viL = viR := vi gesetzt f¨ ur i = 0(1)n.
Der Renner-Subspline in der Ebene (m = 2) ist
x(t) y(t)
= S (t) ≡ Si (t) =
Six (t) Siy (t)
=
aix + bix t + cix t2 + dix t3 aiy + biy t + ciy t2 + diy t3
,
11.2 Renner-Subsplines
481
t ∈ [0, hi ] , i = 0(1)n−1. Darin sind ai =
aix aiy
,
bi =
bix biy
,
ci =
cix ciy
,
di =
dix diy
.
Analog ist im Raum (m = 3) x(t) Six (t) aix + bix t + cix t2 + dix t3 y(t) = S (t) ≡ Si (t) = Siy (t) = aiy + biy t + ciy t2 + diy t3 . z(t) Siz (t) aiz + biz t + ciz t2 + diz t3
Die Koordinatenfunktionen eines Renner-Subspline sind kubische Polynome.
Beispiel 11.6. Gegeben: 4 Punkte (n = 3)
i
0
1
xi
−1 √ − 3/3
1 √ − 3/3
yi
√
2
3
0
−1 √ − 3/3
2 3/3
Die Punkte liegen auf dem Kreis mit dem Mittelpunkt (0,0) und dem Radius √ r = 23 3. Gesucht:
Der geschlossene Renner-Subspline ohne Eckpunkt.
L¨osung:
Nach Algorithmus 11.5 werden berechnet
1. Sehnenvektoren s0 = P1 − P0 =
2 0
,
s1 = P2 − P1 =
−1 √ 3
2. Weitere Sehnenvektoren mit 2.1 −1 −1 √ √ s−2 = s1 = , s−1 = s2 = , 3 − 3 −1 2 √ s3 = s0 = , s4 = s1 = 0 3
,
s2 = P3 − P2 =
−1 √ − 3
482
11. Akima- und Renner-Subsplines
3. Einheitsvektoren Alle Sehnenvektoren haben die L¨ ange 2: | si | = 2 f¨ ur i = −2(1)4. 1 0 0 s−2 = s1 = 2 1 0 s−1 = s20 = 2 0 0 s0 = s3 =
−1 √ 3
−1 √ − 3 1 0
= s40
4. Tangenteneinheitsvektoren L0
=
N E0
=
α0
=
v0L
=
√ 1 √ −1 −1 √ = 3 3 − 3 4 2 √ 3 1 1 √ −1 √ 0 0 L0 + | det(s0 , s1 )| = + = 3 3 2 2 0 1 L0 /N E0 = 2 1 1 1 −1 1 2 √ √ (1 − α0 ) s−1 + α0 s0 = + = 0 − 3 − 3 2 2 2 0 0 | det(s−2 , s−1 )| =
v0L
ist bereits Einheitsvektor,
v0L
1 2
=
Es gelten
1 √
− 3
|v0L | = 1
= v0R
L0 = L1 = L2 = L3 =
√
3/2,
N E0 = N E1 = N E2 = N E3 = 1 . 2 1 (1 − α1 ) s0 + α1 s1 = 2 1 (1 − α2 ) s1 + α2 s2 = 2 1 (1 − α3 ) s2 + α3 s3 = 2
√
3,
also
α0 = α1 = α2 = α3 =
v1L
=
v2L
=
v3L
=
1 1 −1 1 √ √ + = = v1R 3 3 2 2 1 −1 −1 −1 √ √ + = = v2R 0 3 − 3 2 1 1 −1 1 2 √ √ + = = v3R 0 − 3 − 3 2 2 2 0
11.2 Renner-Subsplines
483
5. L¨angen der Parameterintervalle 2 1 1 + 1√ = 16 − 1 = 15 √ A = 16 − + = 16 − − 3 + 3 2 1 B = 6 s0T (v0R + v1L ) = 6 (2 0) = 12 0 |v0R
v1L |2
36 | s0 |2 = 36 · 22 = 144 √ √ −B + B 2 + AC −12 + 144 + 15 · 144 12 h0 = = = A 15 5 12 Es gilt h0 = h1 = h2 = = 2.4. 5 C
=
6. Koeffizienten
−1 √ − 3/3 1 1 R √ v0 = − 3 2 1 3 s0 − 2 v0R − v1L h0 h0 1 2 R L v + v − s 0 0 1 h20 h0 √1 P1 = − 3/3 1 √1 v1R = 3 2 1 3 R L s1 − 2 v1 − v2 h1 h1 1 2 R L v + v − s 1 1 2 h21 h1 √0 P2 = 2 3/3 −1 R v2 = 0 1 3 s2 − 2 v2R − v3L h2 h2 1 2 R L v2 + v3 − s2 h22 h2
a0
= P0 =
b0
=
c0
=
d0
=
a1
=
b1
=
c1
=
d1
=
a2
=
b2
=
c2
=
d2
=
= =
= =
= =
√1 3/2 25 −1 0 216 5 12
5 48
−5 √ 3 25 1 √ − 3 432
5 48
1√ −3 3 25 √1 3 432
484
11. Akima- und Renner-Subsplines
Damit ergibt sich die Darstellung des Renner-Subspline: S0x (t)
=
S (t) 0y
=
S1x (t)
=
S1y (t)
=
S2x (t)
=
S (t) 2y
=
1 5 2 25 3 t+ t − t , 2 12 216 √ √ 3 3 5 √ 2 − − t+ 3t , 3 2 24 −1 +
t ∈ [0, 2.4],
1 25 2 25 3 t− t + t , 2 48 432 √ √ 3 3 5 √ 2 25 √ 3 − + t+ 3t − 3t , 3 2 48 432 1+
t ∈ [0, 2.4],
5 2 25 3 t + t , 48 432 2√ 5 √ 2 25 √ 3 3− 3t + 3t , 3 16 432
−t +
t ∈ [0, 2.4].
Der Kreis hat den Radius r=1.15470, der minimale Abstand des Renner-Subspline vom Ursprung betr¨agt 1.09697, die maximale Abweichung vom Radius also 0.05773. Der Kreis hat den Umfang 7.25520, die gesamte L¨ ange der Parameterintervalle ist 3 · 2.4 = 7.2. Mit nur 3 St¨ utzpunkten auf dem Kreis n¨ ahert der Renner-Subspline diesen Kreis recht gut an. W¨ahlt man 6 St¨ utzpunkte auf dem Kreis, so ist die maximale Abweichung vom Radius 0.00362, und die gesamte L¨ ange der Parameterintervalle ist 7.25207, also nur wenig verschieden vom Umfang 7.25520 des Kreises.
y
y 6 r ............................................... . . . . . . . . ........ ...... ....... . .......... 1 ...... .......... ... .
...... .... ...... ......... .... . ... . .... ... . . .. ..... .... ... .... . ..... ..... .... ... ... .... . . ..... ..... ... ... ... .... .... .. .... . ... . . . ... ... ... ... ... ... ... .... .... ..... . . . .. ..... ..... ........ ...... ............ ........ . ............... ........... . . ............................................ . ...
−1 r
1 r
−1
6 r
................................. ............. ......... ........ ....... ....... ...... ..... ..... . . . . ..... ... . . . .... . ... ... . . ... ... . ... . ... ... . ... .. . ... .... ... ... .. .. .... ... .. . .. .. .. .. .... ... . . ... .. . ... ... ... .. ... ... ... .... ... . . . . ..... ..... ..... ...... ..... ..... ....... ....... ......... ....... ........... . . . . . . . . . . ..............................
1
r
-
x
r
−1 r
1 r
−1 r
Abb. 11.4. Geschlossener Renner-Subspline ohne Eckpunkt
-
x
11.2 Renner-Subsplines
485
Beispiel 11.7. Gegeben: Die 12 Punkte
Gesucht:
i
0
1
2
3
4
5
6
7
8
9
10
11
xi
1
1
1
2
4
5
7
6
2
0
0
4
yi
0
2
3
5
3
−1
−1
3
0
−2
−4
−4
a) Der nicht geschlossene Renner-Subspline zu den Punkten P0 , . . . , P11 . b) Der geschlossene Renner-Subspline mit Eckpunkt zu den Punkten P0 , . . . , P11 , P12 = P0 . c) Der geschlossene Renner-Subspline ohne Eckpunkt zu den Punkten P0 , . . . , P11 , P12 = P0 .
L¨osung: r
....................... ..... ..... ... ... ... .... ... ... .. ... .... ..... ... ........ ........ ... ... ...... ... ... ... ........... .. ... .......... ... . . . ... . ... ... . .. . . . ... . .... .... . . . ... . ... ... .... . .. . . ... . ... .. ... . . . . ... . . ... . .... . . . . .. . . ... ..... ... ... .... ... ... ..... ... .. ..... ..... .. ..... . . . . . . . ...................... ..... ..... .... ... .... ... ... .... ...... ........ .... .............. .................... ..........
6
4
r r
r r
r r
r
4
r
r r
r
r r
r
4 r
r
....................... ..... ..... ... ... ... .... ... .. ... ... .... ........ ... ....... ...... ... ... ...... ... ... ... ........... ... ... ......... ... . ... . ... ... . .. . . . . ... . .... ... . . . . ... ... ... .... . .. . . ... . ... .. .... . . . . . ... . . ... .. . . ........ ......... . ... ..... ... ... ............ ... ... .... .......... ... ..... ..... ... ..... . ..... .... . . . . . . ......... ....... .... ...... ..... ... .... ... .... ... ... ... .... ... .... .. ... ... .... .. ...... .. ........ .. ......... . . . ........... .........................
6
r r
r
a) Renner-Subspline,
4
r
r
r
r
r
4 r
r
r
b) Renner-Subspline,
nicht geschlossen
r r
r r
r
4 r
r
........................ .... ..... .... ... ... .... ... .. ... .... ... ................... ... ... ...... ... ... ... ...... ... ... ......... ... .. ....... . . .. ... .... ... . . . .. ... . .... ... . . . . .. ... ... .... . .. . . ... . ... .. ... . . . . . . . ... ... . .... . . . . .... . . ... .. ... ........ ... ... ..... ... ... ... ....... ... ..... ..... ....... . . . . . . . . .......... ........ ..... .... ..... ..... ...... ..... ..... .... ..... ... ..... .... ..... ... .... ... ... ... ..... .. ....... . ........ .. ......... .. ............ ........................
6
r
c) Renner-Subspline,
geschlossen mit Eckpunkt
geschlossen ohne Eckpunkt
Abb. 11.5. Renner-Subsplines
Beispiel 11.8. Gegeben: Die 10 Punkte i
0
1
2
3
4
5
6
7
8
9
xi
0
2
3
4
6
6
4
2
1
0
yi
0
2
2
2
1
0
−1
−2
−1
0
486 Gesucht:
11. Akima- und Renner-Subsplines • der geschlossene Renner-Subspline mit Eckpunkt und • der geschlossene Renner-Subspline ohne Eckpunkt
L¨osung:
Der Punkt P7 = (2, −2) ist eine Ecke, die nur mittels Abrundung beseitigt werden kann (siehe Beispiel 11.12).
y 2 6...........................r..................r...................r.......................... ...... .... ..... .... ....r ... 1 ......... ... .. .. ... ....r .....r. ..... . . . . . . ..... ..... . . x . . ..... . . .... ..... .....r 3 ..............r.............. 6 ..... −1 ..... . ..... ..... ..... .............. ......r.... −2
y 2 6...............................r..................r..................r.......................... ...... .... ...... .... ...r. ... 1 ......... . ... .. ....r .... ..... ....r . . . . . . . ..... ..... . . x . ..... . . . .... ..... .....r 3 ..............r.............. 6 ..... −1 ..... . .. ..... ....... ..... ........ ......r ....... −2
Renner-Subspline, geschlossen, mit Eckpunkt
Renner-Subspline, geschlossen, ohne Eckpunkt
Abb. 11.6. Renner-Subsplines
11.3
Abrundung von Ecken bei Akima- und Renner-Kurven
Bei den Akima- und bei den Renner-Kurven wird genau dann bei Pi eine Ecke erzeugt, wenn sowohl die Punkte Pi−2 , Pi−1 , Pi als auch Pi , Pi+1 , Pi+2 kollinear sind, nicht jedoch die Punkte Pi−1 , Pi , Pi+1 . Falls solche Ecken unerw¨ unscht sind, k¨onnen sie durch Einf¨ ugen je eines Punktes beseitigt und die Kurve damit abgerundet werden. Falls Pi eine Ecke ist, werden zwecks Abrundung ein Punkt P auf der Strecke zwischen Pi und Pi−1 und ein Punkt Q auf der Strecke zwischen Pi und Pi+1 erzeugt. Nach Umspeichern der Punkte Pi+1 bis Pn nach Pi+2 bis Pn+1 werden Pi = P und Pi+1 = Q gesetzt. Weil nun sowohl Pi−1 , Pi , Pi+1 als auch Pi , Pi+1 , Pi+2 nicht kollinear sind, ist die Ecke beseitigt. Der Bereich des Abrundungssegmentes von Pi = P nach Pi+1 = Q wird mittels der Zahl β, 0 < β < 1, festgelegt. Der Algorithmus 11.9 ist nur f¨ ur Akima-Subsplines anwendbar, der Algorithmus 11.10 dagegen f¨ ur Akima- und Renner-Subsplines.
11.3 Abrundung von Ecken bei Akima- und Renner-Kurven
487
Algorithmus 11.9. Gegeben: n + 1 Punkte Pi = (xi , yi ) , i = 0(1)n, n ≥ 4, x0 < x1 < . . . < xn sowie β, 0 < β < 1. Gesucht: Zu jeder Ecke ein ge¨ anderter und ein zus¨atzlicher Punkt, so dass der nicht periodische Subspline zu den nun vorliegenden Punkten anstelle jeder Ecke ein Abrundungssegment besitzt. 1. Setze i := 2. 2. Berechne die Sehnensteigungen yk−1 − yk mk = xk−1 − xk
f¨ ur k = i−2, i−1, i, i+1.
3. Falls | mi−2 − mi−1 | = 0 und | mi − mi+1 | = 0 und | mi−1 − mi | > 0 sind, ist Pi eine Ecke; weiter mit 4. Andernfalls setze i := i + 1; weiter mit 5. 4. Beseitigung der Ecke Pi . 4.1 Berechne h = min (xi − xi−1 , xi+1 − xi ) und P = (xi − βh, yi − βhmi−1 ), Q = (xi + βh, yi + βhmi ). 4.2 Umspeichern der Punkte Pi+1 bis Pn : Pj+1 := Pj f¨ ur j = n(−1)i+1. Setze n := n + 1. 4.3 Setze Pi := P und Pi+1 := Q. 4.4 Setze i := i + 3. 5. Falls i ≤ n−2 ist, weiter mit 2. Andernfalls Abbruch und Ausgabe der Punkte P0 , P1 , . . . , Pn .
Algorithmus 11.10. Gegeben: n + 1 Punkte Pi = (xi , yi ) in der Ebene oder Pi = (xi , yi , zi ) im Raum , i = 0(1)n, n ≥ 4, mit Pi 6= Pi+1 f¨ ur i = 0(1)n−1. Wenn Pi−1 , Pi , Pi+1 kollinear sind, muss Pi zwischen Pi−1 und Pi+1 liegen. Es sei Pn 6= P0 . Ferner β, 0 < β < 1. Gesucht: Zu jeder Ecke ein ge¨ anderter und ein zus¨atzlicher Punkt, so dass der Subspline zu den nun vorliegenden Punkten anstelle jeder Ecke ein Abrundungssegment besitzt. 1. Setze i := 2. 2. Berechne die Sehnenvektoren p = Pi−1 − Pi−2 , r = Pi+1 − Pi ,
q = Pi − Pi−1 , s = Pi+2 − Pi+1 .
488
11. Akima- und Renner-Subsplines
3. Berechne die Quadrate der Fl¨ acheninhalte der von je zwei Vektoren aufgespannten Parallelogramme E = (p T p)(q T q ) − (p T q )2 , F = (q T q )(r T r ) − (q T r )2 , G = (r T r )(s T s) − (r T s)2 . Falls E = 0 und G = 0 und F > 0 sind, ist Pi eine Ecke; weiter mit 4. Andernfalls setze i := i + 1; weiter mit 5. 4. Beseitigung der Ecke Pi . 4.1 Berechne d = min ( |q |, |r | ) und P = Pi − βdq / |q |, Q = Pi + βdr / |r |. 4.2 Umspeichern der Punkte Pi+1 bis Pn : Pj+1 := Pj f¨ ur j = n(−1)i+1. Setze n := n + 1. 4.3 Setze Pi := P und Pi+1 := Q. 4.4 Setze i := i + 3. 5. Falls i ≤ n−2 ist, weiter mit 2. Andernfalls Abbruch und Ausgabe der Punkte P0 , P1 , . . . , Pn .
Die Algorithmen 11.9 und 11.10, die f¨ ur den Fall eines nicht periodischen bzw. eines nicht geschlossenen Subspline formuliert sind, k¨ onnen wie folgt auch bei einem periodischen Subspline (Periode p = xn − x0 , yn = y0 ) bzw. einem geschlossenen Subspline (Pn = P0 ) angewendet werden. Wenn P0 eine Ecke ist, werden die n + 3 Punkte P0 , P1 , . . . , Pn , Pn+1 , Pn+2 bereitgestellt, und wenn P0 keine Ecke ist, die n + 3 Punkte P−1 , P0 , P1 , . . . , Pn , Pn+1 . Dabei werden gesetzt im Fall periodisch
geschlossen
P−1 = (xn−1 − p, yn−1 ), Pn+1 = (x1 + p, y1 ), Pn+2 = (x2 + p, y2 ),
P−1 = Pn−1 , Pn+1 = P1 , Pn+2 = P2 .
In beiden F¨allen m¨ ussen von dem vom Algorithmus ausgegebenen Punkten der erste und der letzte Punkt gestrichen werden. Falls P0 eine Ecke ist, wird dieser Punkt beseitigt, und der n¨achste Punkt u ¨ bernimmt dann die Rolle des ersten Punktes.
11.3 Abrundung von Ecken bei Akima- und Renner-Kurven
489
Beispiel 11.11. (Fortsetzung von Beispiel 11.4) Gegeben: Dieselbe Wertetabelle wie in Beispiel 11.4. Gesucht:
Ein nicht periodischer und ein periodischer Akima-Subspline mit Abrundung.
L¨osung: .......q .......q..................q...........r 1 6 .... ..... ... ..... ... ... ...r ... ..q. ... ..
..q ... ..... .... . .............. . . . . . . . . . . .................q.. 10 . ....q .....
... ... ... ... ... . ... .... ... ..... ... ..... ..... ... . . . . .... ...... .............
−1 −2 −3
q 5 r
q
r
q
Akima-Subspline, nicht periodisch, mit Abrundung
1 6.....r........q.........r..........q...........r.........q..... ... ... ...r .... ...q.. ... .. −1 −2 −3
q q 10
..... ... ..... ..... ... .... . ... . . . . . . . . . . . . . . . . ........ . ... .... ................ ... ..... ..... ... ..... ... ..... . ... . . . ... .... .... ......... ............
q 5 r
q
q
r
q
Akima-Subspline, periodisch, mit Abrundung
Abb. 11.7. Akima-Subsplines mit Abrundung (β = 0.4). Die neuen Punkte an den Abrundungsstellen sind hervorgehoben (vgl. Abb. 11.3). Beispiel 11.12. (Fortsetzung von Beispiel 11.8) Gegeben: Dieselben Punkte wie in Beispiel 11.8. Gesucht:
Jeweils mit Abrundung der Ecke P7 = (2, −2) • der geschlossene Renner-Subspline mit Eckpunkt und • der geschlossene Renner-Subspline ohne Eckpunkt
L¨osung: 2 6..........................q..................q..................q.......................... ...... .. ...... ..... ...q. ... 1 ........ ... . ... ... ...q.. ......q. . ..... . . . . . ..... .... . . . . . . . ..... ... ..... ....q. 3 ..............q............. 6 ..... −1 ..... ....... ...r ..................r........ q −2
2 6...............................q..................q..................q.......................... ...... ... ...... ..... ...q.. 1 ......... ... . ... .. .... ... q........ ......q . . . . . . ..... ..... . . . . . ..... . ... ..... ....q. 3 ..............q............. 6 ..... −1 ..... . ....r. ....... . . . . . . ................r. q −2
Renner-Subspline, geschlossen, mit Eckpunkt,
Renner-Subspline, geschlossen, ohne Eckpunkt,
mit Abrundung
mit Abrundung
Abb. 11.8. Renner-Subsplines mit Abrundung (β = 0.4). Die neuen Punkte an den Abrundungsstellen sind hervorgehoben (vgl. Abb. 11.6).
490
11.4
11. Akima- und Renner-Subsplines
Berechnung der L¨ ange einer Kurve
Bei der Herleitung der Formeln f¨ ur den Renner-Subspline hatte sich ergeben, dass die L¨ange hi des Parameterintervalls f¨ ur das Segment Si ungef¨ahr gleich der L¨ange dieses Kurvensegmentes ist. Damit ergibt sich f¨ ur die gesamte L¨ange L eines Renner-Subspline L≈
n−1 X
hi .
(11.5)
i=0
Je kleiner die Abst¨ ande |si | = |Pi+1 − Pi | benachbarter St¨ utzpunkte sind, umso genauer liefert diese Formel die L¨ ange L (siehe dazu auch Beispiel 11.14). Allgemein kann die L¨ange einer Kurve wie folgt ermittelt werden. Die L¨ange L einer Kurve mit einer stetig differenzierbaren Parameterdarstellung X : [a, b] → Rm ,
t 7→ X (t) ,
t ∈ [a, b] ,
m = 2 oder m = 3, ist gleich dem Integral u ¨ber die L¨ange |X 0 (t)| ihres Tangentenvektors 0 X (t): Zb L = |X 0 (t)| d t . (11.6) a
Bei einer ebenen Kurve (m = 2) sind T T X (t) = x(t), y(t) , X 0 (t) = x0 (t), y 0 (t) , q |X 0 (t)| = x0 2 (t) + y 0 2 (t) . und bei einer Raumkurve (m = 3) T T X (t) = x(t), y(t), z(t) , X 0 (t) = x0 (t), y 0 (t), z 0 (t) , q |X 0 (t)| = x0 2 (t) + y 0 2 (t) + z 0 2 (t) . Wenn eine ebene Kurve durch die Polarkoordinaten t und r(t) gegeben ist, ergibt sich mit x(t) = r(t) cos t , y(t) = r(t) sin t q | X 0 (t) | = r2 (t) + r 0 2 (t). (11.7) Das Integral Zb f (t) d t
mit f (t) = |X 0 (t)|
a
ist im Allgemeinen nicht elementar auswertbar und wird deshalb n¨aherungsweise, z. B. mit dem Quadraturverfahren von Romberg (siehe Abschnitt 14.10), berechnet. Angewendet auf parametrische kubische Splines (10.22) und (11.4) ergibt sich f¨ ur die L¨ange des i-ten Segmentes
11.4 Berechnung der L¨ ange einer Kurve
Li
491 ti+1 R
=
|Si0 (t)| d t
ti
mit
|Si0 (t)| =
oder
Li
|bi + 2ci (t − ti ) + 3di (t − ti )2 | Rhi
=
|Si0 (t)| d t
0
|Si0 (t)| =
mit
|bi + 2ci t + 3di t2 | .
Mit Verwendung der Koordinatenfunktionen ist f¨ ur m = 2 q 0 2 (t) + S 0 2 (t) |Si0 (t)| = Six iy und f¨ ur m = 3 |Si0 (t)| =
q
2
2
2
0 0 0 Six (t) + Siy (t) + Siz (t) .
F¨ ur die L¨ange L einer parametrischen kubischen Splinekurve ergibt sich also L=
n−1 X
Li .
i=0
Bei einem Renner-Subspline mit Ecken gilt die stetige Differenzierbarkeit von S nicht im gesamten Intervall [t0 , tn ], jedoch f¨ ur jedes einzelne Segment Si , da die Ecken nur in Knoten ti auftreten. Der Graph einer stetig differenzierbaren Funktion f : [a, b] → R ,
x 7→ f (x) ,
x ∈ [a, b]
kann als Sonderfall einer ebenen Kurve (mit dem Parameter x anstelle von t) in der Form T X (x) = x, f (x) , x ∈ [a, b] dargestellt werden. Mit dem Tangentenvektor X 0 (x) = 1, f 0 (x)
T
ergibt sich f¨ ur die L¨ ange des Graphen Zb
0
|X (x)| d x =
L= a
Zb q
1 + f 0 2 (x) d x .
a
Der Graph des Segmentes Si einer kubischen Splinefunktion (10.1) oder eines AkimaSubspline (11.1) hat somit die L¨ ange q xR i+1 2 1 + Si0 (x) d x Li = =
xi xR i+1 xi
q 2 1 + bi + 2ci (x − xi ) + 3di (x − xi )2 d x .
(11.8)
492
11. Akima- und Renner-Subsplines
Die gesamte L¨ange des Graphen einer Splinefunktion ist L=
n−1 X
Li .
i=0
Die Formel gilt auch f¨ ur einen Akima-Subspline, der in einem oder in mehreren Knoten xi Ecken besitzt. Die obigen Ausf¨ uhrungen lassen sich sinngem¨ aß auf Splines, die Polynome eines Grades k > 3 benutzen, u ¨bertragen.
Beispiel 11.13. Gegeben: Der im Beispiel 11.2 ermittelte Akima-Subspline S0 (x) S1 (x) S2 (x)
= = =
2 x − 2 x2 = 2 (x − x2 ) , 0.5 − 3 (x − 0.5)2 + 2 (x − 0.5)3 , −0.5 + 0.5 (x − 1.5)2 ,
Gesucht:
Die L¨ange des Graphen dieses Akima-Subspline.
L¨osung:
Die Ableitungen der Koordinatenfunktionen sind S00 (x) S10 (x) S20 (x)
x ∈ [0, 0.5] , x ∈ [0.5, 1.5] , x ∈ [1.5, 3.5] .
= 2 (1 − 2x) , = −6 (x − 0.5) + 6 (x − 0.5)2 = 6 (x − 0.5) (x − 1.5) , = x − 1.5 .
Mit (11.8) ergeben sich f¨ ur die L¨ angen der Graphen der Segmente L0 L1 L2
= = =
0.5 R 0 1.5 R 0.5 3.5 R
p 1 + 4 (1 − 2x)2 d x , p 1 + 36 (x − 0.5)2 (x − 1.5)2 d x , p 1 + (x − 1.5)2 d x .
1.5
Das Romberg-Verfahren liefert, auf 6 Dezimalen genau, L0 = 0.739 471 ,
L1 = 1.457 240 ,
L2 = 2.957 886 ,
und damit ergibt sich f¨ ur die gesamte L¨ange L = L0 + L1 + L2 = 5.154 597.
11.5 Fl¨acheninhalt einer geschlossenen ebenen Kurve
11.5
493
Fl¨ acheninhalt einer geschlossenen ebenen Kurve
Gegeben sei eine geschlossene ebene Kurve mit einer stetig differenzierbaren Parameterdarstellung T X : [a, b] → R2 , t 7→ X (t) = x(t), y(t) , t ∈ [a, b], mit X (a) = X (b). Die Kurve sei einfach geschlossen wie ein Kreis. Sie zerlegt die Ebene in genau zwei Gebiete, ein inneres und ein ¨ außeres (beispielsweise sind die geschlossenen Kurven in Abb. 11.5 nicht einfach geschlossen). Der Fl¨acheninhalt des von der Kurve berandeten inneren Gebietes ist Zb 1 F = det X (t), X 0 (t) dt. 2 a
Wenn beim Durchlaufen der Kurve im Sinne wachsender Parameterwerte das innere Gebiet links liegt, ist der Fl¨ acheninhalt F positiv, andernfalls negativ. Mit X 0 (t) = x0 (t), y0 (t)
T
ergibt sich Zb 1 F = x(t) y 0 (t) − y(t) x0 (t) dt. 2 a
Wenn die Kurve durch die Polarkoordinaten t und r(t) gegeben ist mit x(t) = r(t) cos t ,
y(t) = r(t) sin t ,
ergibt sich f¨ ur den Fl¨ acheninhalt 1 F = 2
Zb
r 2 (t) dt.
(11.9)
a
Diese Integrale sind im Allgemeinen nicht elementar auswertbar und m¨ ussen deshalb mit einer Quadraturformel oder mit dem Romberg-Verfahren berechnet werden (siehe Kapitel 14). Im Falle eines geschlossenen kubischen Spline oder Subspline S (t) ≡ Si (t) = ai + bi t + ci t2 + di t3 ,
t ∈ [0, hi ] , i = 0(1)n−1,
(11.10)
mit S0 (0) = Sn−1 (hn−1 ) ist der Fl¨ acheninhalt des vom Spline umschlossenen Gebietes F =
n−1 X
Fi
i=0
mit 1 Fi = 2
Zhi 0
det Si (t), Si0 (t) dt.
(11.11)
494
11. Akima- und Renner-Subsplines
Fi ist der Fl¨acheninhalt des Gebietes, das von den beiden Strecken vom Ursprung O zu den Punkten Si (0) und Si (hi ) und vom Splinesegment Si zwischen diesen Punkten begrenzt wird. Mit Si (t) und mit Si0 (t) = bi + 2 ci t + 3 di t2 muss nun der Integrand von Fi berechnet werden. det Si (t), Si0 (t) = det(ai + bi t + ci t2 + di t3 , bi + 2 ci t + 3 di t2 ) =
det(ai , bi ) + 2t det(ai , ci ) + 3t2 det(ai , di ) + 2t2 det(bi , ci ) + 3t3 det(bi , di ) + t2 det(ci , bi ) + 3t4 det(ci , di ) + t3 det(di , bi ) + 2t4 det(di , ci )
=
det(ai , bi ) + 2t det(ai , ci ) + 3t2 det(ai , di ) + t2 det(bi , ci ) + 2t3 det(bi , di ) + t4 det(ci , di )
Der Integrand ist also ein Polynom 4. Grades. Damit ist Zhi
det Si (t), Si0 (t) dt = hi det(ai , bi ) + h2i det(ai , ci ) + h3i det(ai , di )
0
+
h3i h4 h5 det(bi , ci ) + i det(bi , di ) + i det(ci , di ) 3 2 5
Mit den Koordinaten der Spline-Koeffizienten aix bix cix dix ai = , bi = , ci = , di = aiy biy ciy diy ergibt sich f¨ ur den Fl¨ acheninhalt zum Segment Si aix bix hi + hi aix Fi = aiy aiy biy 2 aix dix 1 bix + hi aiy diy + 3 biy 1 bix dix hi cix + hi + 2 biy diy 5 ciy
cix ciy cix ciy dix . diy
(11.12)
(11.13)
Der Fl¨acheninhalt eines Spline oder Subspline (11.10) kann also mit (11.11), (11.12) und (11.13) sehr einfach berechnet werden. Im folgenden Beispiel wird eine geschlossene Kurve t 7→ X (t),
t ∈ [a, b]
durch einen Subspline angen¨ ahert. Dazu werden mittels einer Zerlegung des Intervalls mit ∆t = (b − a)/n und den Knoten ti = a + i∆t, i = 0(1)n, die Punkte Pi = X (ti )
11.5 Fl¨acheninhalt einer geschlossenen ebenen Kurve
495
und die Tangenteneinheitsvektoren vi = X 0 (ti ) / | X 0 (ti ) | berechnet. Zu Pi und vi wird mit dem Algorithmus 11.5 der Subspline S (t) erzeugt. Dessen Fl¨acheninhalt und L¨ ange sind bei einer gen¨ ugend feinen Zerlegung gute N¨aherungen f¨ ur den Fl¨acheninhalt und die L¨ ange der Kurve X (t).
Beispiel 11.14. Gegeben: Die einfach geschlossene Kurve x(t) r(t) cos t X (t) = = mit r(t) = sin (2t) + 0.2 sin (8t), t ∈ 0, π2 ; (11.14) y(t) r(t) sin t ihr Tangentenvektor ist 0 r (t) cos t − r(t) sin t 0 X (t) = mit r 0 (t) = 2 cos (2t) + 1.6 cos (8t). r 0 (t) sin t + r(t) cos t y6 0.75
0.5
0.25
.......................... ... ....... ...... ... ...... .. ..... . .. . . . ... . . . . ... ... . . .. . . .. .... . . . . . . ... . . . . . ... ... .... ... .... .. ... .. ... . . . . .. ... ... ... ... ... .. .. .. . . . . . ... ... ... ... ... ... .. .. . . .... ... ... ... ..... ... ..... .. ... . ... .. . .. . ... .. .... .... . . . ... . ... . . . . . . . .. ....... ........ ... ......... ... ........... .. .............. .............................................................
0.25
0.5
0.75
x
Abb. 11.9. Die einfach geschlossene Kurve (11.14) Gesucht:
Der Fl¨acheninhalt F und die L¨ ange L dieser geschlossenen Kurve.
L¨osung:
Die Integrale in den Formeln (11.9) f¨ ur F sowie (11.6) mit (11.7) f¨ ur L werden mit dem Romberg-Verfahren auf 6 Dezimalen genau berechnet. Ergebnisse: F = 0.408 407,
L = 2.727 158.
Im Folgenden wird die Kurve X durch einen Subspline S angen¨ahert, der durch hinreichend viele Punkte der Kurve geht und in diesen Punkten dieselbe Tangente besitzt wie die Kurve.
496
11. Akima- und Renner-Subsplines F¨ ur drei Zerlegungen Zn des Intervalls [0, π/2] mit ∆t = π/2n und den Knoten ti = i∆t, i = 0(1)n, und zwar f¨ ur n = 15, n = 20 und n = 25, werden die Punkte Pi = X (ti ) und die Tangenteneinheitsvektoren vi = X 0 (ti ) / | X 0 (ti ) | berechnet. Zu Pi und vi werden mit dem Algorithmus 11.5 (man beachte die Bemerkung) f¨ ur die Zerlegungen Zn die Subsplines Sn (t) erzeugt. Die Fl¨acheninhalte Fn dieser Subsplines werden mit (11.11) und (11.13) berechnet und die L¨angen Ln angen¨ ahert mit (11.5). Die Ergebnisse sind in der folgenden Tabelle zusammengestellt. Sie zeigen die gute Ann¨ aherung der Kurve X durch die Subsplines Sn .
11.6
n
15
20
25
Fn
0.408 760
0.408 513
0.408 450
F
0.408 407
0.408 407
0.408 407
| Fn − F |
0.000 353
0.000 106
0.000 043
| Fn − F | / F
0.000 864
0.000 260
0.000 105
Ln
2.730 553
2.727 875
2.727 408
L
2.727 158
2.727 158
2.727 158
| Ln − L |
0.003 395
0.000 717
0.000 250
| Ln − L | / L
0.001 245
0.000 263
0.000 092
Entscheidungshilfen
Die Entscheidung f¨ ur Akima- oder Renner-Subsplines h¨angt zun¨achst davon ab, ob die einmalige stetige Differenzierbarkeit gen¨ ugt. Ein Akima- oder Renner-Subspline verbindet je drei aufeinander folgende kollineare St¨ utzpunke geradlinig. Mit den Subsplines lassen sich Kurven darstellen, die sich zusammensetzen aus krummlinigen und geradlinigen Segmenten, die tangential aneinander schließen. Das ist mit den zweimal stetig differenzierbaren kubischen Splines nicht m¨ oglich. Wenn zwei benachbarte geradlinige Segmente eine Ecke erzeugen, kann diese durch Einf¨ ugen eines Abrundungssegmentes beseitigt werden. Bei beliebig vorgegebenen St¨ utzpunkten Pi = (xi , yi ) in der Ebene oder Pi = (xi , yi , zi ) im Raum m¨ ussen Renner-Subsplines benutzt werden. Wenn in der Ebene die St¨ utzstellen xi monoton angeordnet sind, verwendet man Akima-Subsplines. Vorteilhaft ist auch, dass die Berechnung der Polynomkoeffizienten nicht die L¨osung eines linearen Gleichungssystems erfordert. Die Orientierungstabelle in Abschnitt 10.4 enth¨alt auch Hinweise f¨ ur den Einsatz von Akima- und Renner-Subsplines.
Erg¨ anzende Literatur zu Kapitel 11 [UBER1995], 9.8.3.
Kapitel 12
Zweidimensionale Splines, Oberfl¨ achensplines, B´ ezier-Splines, B-Splines
12.1
Interpolierende zweidimensionale Polynomsplines dritten Grades zur Konstruktion glatter Fl¨ achen
Gegeben seien in der x, y-Ebene ein Rechteckgitter a = x0 < x1 < . . . < xn = b ,
c = y0 < y1 < . . . < ym = d
mit den Gitterpunkten (xi , yj ), i = 0(1)n, j = 0(1)m, sowie eine auf dem Rechteck R = { (x, y) a ≤ x ≤ b, c ≤ y ≤ d } definierte Funktion u : R → R,
(x, y) 7→ u (x, y)
und deren Werte uij := u(xi , yj ),
i = 0(1)n,
j = 0(1)m,
in den Gitterpunkten. Gesucht ist eine zweidimensionale interpolierende Splinefunktion S : R → R,
(x, y) 7→ S (x, y) ,
deren Graph { (x, y, z) | (x, y) ∈ R, z = S(x, y) } eine m¨oglichst glatte Fl¨ache sein soll. F¨ ur S wird eine bikubische Splinefunktion gew¨ ahlt, die durch die folgenden Eigenschaften definiert wird: (1) S erf¨ ulle die Interpolationsbedingungen S(xi , yj ) = uij ,
i = 0(1)n,
j = 0(1)m.
(2) S sei auf R einmal stetig differenzierbar, ∂ 2 S/∂x∂y sei stetig auf R. G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_12, © Springer-Verlag Berlin Heidelberg 2011
498
12. Spezielle Splines
(3) In jedem Teilrechteck Rij mit Rij := { (x, y) | xi ≤ x ≤ xi+1 , yj ≤ y ≤ yj+1 } ,
i = 0(1)n−1, j = 0(1)m−1,
sei S identisch mit einem bikubischen Polynom S(x, y) ≡ Sij (x, y) =
3 X 3 X
aijks (x − xi )k (y − yj )s
(12.1)
k=0 s=0
(x, y) ∈ Rij ,
f¨ ur
i = 0(1)n−1,
j = 0(1)m−1.
(4) S erf¨ ulle gewisse (noch vorzugebende) Randbedingungen. y6 d
..... ..... ..... ...
R
(x , y ) r i j
yj ..... ..... ..... ...
c
..... ..... ..... .... ... .. .. .
a
.. ... ... .. .
.. ... ... .. .
xi
b
x
Abb. 12.1. Rechteckgitter ...
z ..............
.. ... .. ... ... ... ... ... ......... ... ....... .. ..... .. .. ... ..... .... .... . . ... . . .. . ... ...................................... ... .. ...... ......... ... ......... ........ ........... ... ... .. ........... .. ... ...... .. . . . ... ................. .... ... .................................. ....... ... ......... ... ... . .. . ......................................................... . .... .. . . ....... ...... . . . . . ... . . . . .. ... ... ... ... ... ... ..... ...................................................0 ... ........ .. .. .. .. . .. ..... ... .. ...... . ........... ... .. .. .. ............. ..... ......................... .... ......... .......................................................... .... . . . . . . . . . ... . . . ........ ... .... ... ... .......................................................................................... ............................................. . . . . . . . ... . . . . ................. . . ...... . ... .. . ................................................. ... .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....................................... .. .. . ........................................ .... ... .................................................. .. . . . . . . . m . . . . . . . . . . . . . . . . . . .......................... . . .. . ......... ...................................... .... .............................. . ................ ...... . . . . . . . . ........................... . . . . . . . 0 . . . . .. . . . . . . . . . . . . ........................................... .................................... ....... . .. . .......... ... . ... . . . ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . ........................................................................... ............. .. ........ ..... .. . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ......... ... .... ..... .............. .................................................................................. ............ ................................................................................ ...... .. .... ... ..... .. . ...... .. . . ...... .. . ... ........................................ .. ... ......... .................................................................................................................................................................................... ............................................................................................................................................................................................................................ ... .................................. ......................................................... ........... .... ..................................... .. ..................... . . .. .... ... ............................................ ....................... ..................................................... . ... .................................................................... .......... ...................................................................................... . ........ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............................. .. . . . .... ... . .. . ..... .................................... ..... .. ..... ......................................................................................................................................................................... ............................................................................................ ............... . . ..................... ..... .... .... .. ....... . ... .. ..... . ......... .. ..... .. .. . ..... ............................................................ ......... ................................................................................................................................................. ........ ............................................................................................. ...... . ..... ..... ............................ .... ..... . . ..... . .... ............................................................................................................................................................................................................................. ........................................................ ..... ............................................. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ......................................... ............... ......................... .................................... . ... .. .. .. ......................................... ...................................................... .......... ..... .... ....................... ..... ... ..... . .................................. ..... . ....... ... ..... ... ... ..... ................... ................................. ......................................................... ........ .... ..... ................................. ............................ ................................................................................... .............................. ......... ..... . ..... ...................................... ......... .............................. ......... ... ........................................... ... .... n . .... ............................ . ................................. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................. .... ............................ ................................ ......................... .. ..... ... ... . . . . . . . . . . . . . . . . ................................... . . . . . . . . . . . . . ......... . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................. . .......................................... .. .. ................................. .................................. .. ..... ..... . .... ................................... ... ............................................. ......... ... .................... .................................. . ................................ ..... ................................... ................................... . ... .......... .................................. . . . . . ..............................
z = S(x, y)
y
x
y
y
x
x
Abb. 12.2. Graph einer bikubischen Splinefunktion
12.1 Interpolierende zweidimensionale Polynom-Splines
499
Das bikubische Polynom in Gleichung (12.1) lautet ausf¨ uhrlich: Sij (x, y) =
3 X 3 X
aijks (x − xi )k (y − yj )s =
k=0 s=0
+ aij10 (x − xi )
aij00 aij20 (x − xi )
2
aij30 (x − xi )3 3
+ aij01 (y − yj )
+ aij11 (x − xi )(y − yj )
+
+ aij21 (x − xi )2 (y − yj )
+ aij12 (x − xi )(y − yj )2
3
aij02 (y − yj )
+ 2
2
+ + 2
+ +
aij03 (y − yj )
+ aij31 (x − xi ) (y − yj )
+ aij22 (x − xi ) (y − yj )
aij13 (x − xi )(y − yj )3
+ aij32 (x − xi )3 (y − yj )2
+ aij23 (x − xi )2 (y − yj )3
aij33 (x − xi )3 (y − yj )3 . Die 16 m · n Koeffizienten aijks von (12.1) m¨ ussen nun so bestimmt werden, dass S die Bedingungen (1) und (2) erf¨ ullt. Die Interpolationsbedingungen (1) liefern aij00 = uij f¨ ur i = 0(1)n−1, j = 0(1)m−1. Zur eindeutigen Bestimmung der aijks m¨ ussen dann noch (wie bei den eindimensionalen Splines) gewisse Randbedingungen auf R vorgegeben werden; eine M¨oglichkeit ist die Vorgabe der folgenden partiellen Ableitungen von S ∂ S(x , y ) =: pij = aij10 , i = 0, n, j = 0(1)m, i j ∂x ∂ S(x , y ) =: qij = aij01 , i = 0(1)n, j = 0, m, (12.2) i j ∂y 2 ∂ S(xi , yj ) =: sij = aij11 , i = 0, n, j = 0, m. ∂x∂y Falls die Ableitungen der Funktion u verf¨ ugbar sind, werden ∂ S(x , y ) i j ∂x ∂ S(x , y ) i j ∂y ∂ 2 S(x , y ) i j ∂x∂y
= = =
∂ u(x , y ) , i j ∂x ∂ u(x , y ) , i j ∂y ∂ 2 u(x , y ) . i j ∂x∂y
gesetzt. Andernfalls k¨ onnen die ben¨ otigten Ableitungen auch mit Hilfe eindimensionaler kubischer Splines oder anderer Interpolationsmethoden n¨aherungsweise berechnet werden. Je nach Vorgabeart der Randbedingungen wird einer der folgenden Algorithmen eingesetzt. In [BOOR1962] wird nachgewiesen, dass zu gegebenen uij und gegebenen Randableitungen (12.2) genau eine bikubische Splinefunktion (12.1) existiert, welche die gegebenen uij interpoliert.
Berechnung der bikubischen Splinefunktion S Im Folgenden werden drei Algorithmen zur Berechnung von S angegeben.
500
12. Spezielle Splines
Algorithmus 12.1. (Bikubische Splinefunktion) Gegeben: (i) uij = u(xi , yj ) f¨ ur i = 0(1)n, j = 0(1)m. (ii) die Randwerte der partiellen Ableitungen (12.2). Gesucht: Die bikubische Splinefunktion (12.1). 1. Schritt: Berechnung der aij10 = pij f¨ ur i = 1(1)n−1, j = 0(1)m nach 1 + 2a 1 + 1 +a 1 a i−1,j10 ij10 i+1,j10 hi−1 hi−1 hi hi = 23 (aij00 − ai−1,j00 ) + 32 (ai+1,j00 − aij00 ), hi−1 hi f¨ ur i = 1(1)n−1, j = 0(1)m, mit hi = xi+1 − xi f¨ ur i = 0(1)n−1.
(12.3)
Dies sind (m+1) lineare Gleichungssysteme mit je (n−1) Gleichungen f¨ ur (n+1) Unbekannte. Durch Vorgabe der 2(m+1) Randwerte aij10 , i = 0, n, j = 0(1)m , sind diese Systeme eindeutig l¨ osbar. 2. Schritt: Bestimmung der aij01 = qij f¨ ur i = 0(1)n, j = 1(1)m−1 mit 1 1 1 ai,j−1,01 + 2aij01 + + ai,j+1,01 1 kj−1 kj−1 kj kj 3 = 3 (a ij00 − ai,j−1,00 ) + 2 (ai,j+1,00 − aij00 ), 2 kj−1 kj f¨ ur i = 0(1)n, j = 1(1)m−1, mit kj = yj+1 − yj , f¨ ur j = 0(1)m−1.
(12.4)
Mit den vorgegebenen 2(n + 1) Randwerten aij01 , i = 0(1)n, j = 0, m sind die Systeme eindeutig l¨ osbar. 3. Schritt: Berechnung der aij11 = sij f¨ ur i = 1(1)n−1, j = 0, m aus den Gleichungssystemen 1 a 1 + 1 + 1a i−1,j11 + 2aij11 h hi−1 hi hi i+1,j11 i−1 (12.5) = 23 (aij01 − ai−1,j01 ) + 32 (ai+1,j01 − aij01 ), hi−1 hi mit hi = xi+1 − xi f¨ ur i = 0(1)n−1. Die vier Eckwerte a0011 , an011 , a0m11 und anm11 sind vorgegeben.
12.1 Interpolierende zweidimensionale Polynom-Splines
501
4. Schritt: Berechnung der Ableitungen sij = aij11 , i = 0, n, j = 1(1)m−1 mit 1 1 1 ai,j−1,11 + 2aij11 + + 1 ai,j+1,11 kj−1 kj kj kj−1 (12.6) = 23 (aij10 − ai,j−1,10 ) + 32 (ai,j+1,10 − aij10 ), k k j−1 j mit kj = yj+1 − yj f¨ ur j = 0(1)m−1. Die erforderlichen Randwerte aij11 f¨ ur i = 1(1)n−1, j = 0, m wurden mit dem 3. Schritt bestimmt, die aij11 , i = 0, n , j = 0, m sind vorgegeben. 5. Schritt: Bestimmung der Matrizen {G(xi )}−1 . Wegen 1 0 0 0 0 1 0 0 G(xi ) := 2 1 hi hi h3i 0 1 2hi 3h2i mit det G(xi ) = h4 6= 0, hi = xi+1 − xi , i i = 0(1)n−1, existiert {G(xi )}−1 . Es gilt 1 0 0 0 0 1 0 0 −1 3 2 3 {G(xi )} = − 2 − −1 2 h h hi i i hi 2 1 2 1 − 3 h3i h2i hi h2i 6. Schritt: Bestimmung der Matrizen {G(yj )T }−1 . Wegen 1 0 0 0 0 1 0 0 G(yj ) := 2 1 kj kj kj3 0 1 2kj 3kj2 mit det G(yj ) = kj4 6= 0, kj = yj+1 − yj , T −1 j = 0(1)m−1, existiert {G(yj ) } . Es gilt 2 1 0 − 32 kj kj3 1 0 1 −2 2 k j k j T −1 {[G(yj )] } = 3 2 0 0 − kj2 kj3 1 0 0 −1 2 kj kj
(12.7)
(12.8)
502
12. Spezielle Splines
7. Schritt: Bestimmung der Matrizen Mij nach aij00 aij01 ai,j+1,00 aij10 a ai,j+1,10 ij11 Mij = ai+1,j00 ai+1,j01 ai+1,j+1,00 ai+1,j10 ai+1,j11 ai+1,j+1,10 i = 0(1)n−1, j = 0(1)m−1
ai,j+1,01 ai,j+1,11 ai+1,j+1,01 ai+1,j+1,11
(12.9)
8. Schritt: Berechnung der Koeffizientenmatrizen Aij f¨ ur Sij gem¨aß Gleichung Aij = {G(xi )}−1 Mij {[G(yj )]T }−1 = {aijks } (12.10) k = 0(1)3,
s = 0(1)3,
i = 0(1)n−1,
j = 0(1)m−1
9. Schritt: Aufstellung der bikubischen Splinefunktion S(x, y) ≡ Sij (x, y) f¨ ur jedes Rechteck Rij gem¨ aß (12.1).
Beispiel 12.2. Von der Funktion u : u(x, y) = x2 cos(y) sind in der folgenden Tabelle zu 20 Gitterpunkten (xi , yj ), i = 0(1)4, j = 0(1)3, mit x0 = 0, x1 = 1, x2 = 2, y0 = −1.5, y1 = 0, y2 = 1,
x3 = 3.4, x4 = 5, y3 = 1.5
die Funktionswerte uij = x2i cos(yj ) angegeben. H HHj i H H
0
1 +00
2 +00
3 +00
0.000 · 10
0.000 · 10+00
0
0.000 · 10
0.000 · 10
1
7.074 · 10−02
1.000 · 10+00
5.403 · 10−01
7.074 · 10−02
2
2.829 · 10−01
4.000 · 10+00
2.161 · 10+00
2.829 · 10−01
3
8.177 · 10−01
1.156 · 10+01
6.246 · 10+00
8.177 · 10−01
4
1.768 · 10+00
2.500 · 10+01
1.351 · 10+01
1.768 · 10+00
Ferner sind von den Ableitungen pij
=
qij
=
sij
=
∂ u(xi , yj ) ∂x ∂ u(xi , yj ) ∂y ∂2 u(xi , yj ) ∂x ∂y
=
2 xi cos(yj ),
=
−x2i sin(yj ),
=
−2 xi sin(yj )
12.1 Interpolierende zweidimensionale Polynom-Splines
503
die in (12.2) genannten Werte gegeben: p00 = 0.000 · 10+00 ,
p40 =
7.074 · 10−01
p01 = 0.000 · 10+00 ,
p41 =
1.000 · 10+01
p02 = 0.000 · 10+00 ,
p42 =
5.403 · 10+00
p03 = 0.000 · 10+00 ,
p43 =
7.074 · 10−01
q00 = 0.000 · 10+00 ,
q03 =
0.000 · 10+00
q10 = 9.975 · 10−01 ,
q13 = −9.975 · 10−01
q20 = 3.990 · 10+00 ,
q23 = −3.990 · 10+00
q30 = 1.153 · 10+01 ,
q33 = −1.153 · 10+01
q40 = 2.494 · 10+01 ,
q43 = −2.494 · 10+01
s00 = 0.000 · 10+00 ,
s03 =
s40 = 9.975 · 10+00 ,
s43 = −9.975 · 10+00
0.000 · 10+00
Zu diesen Daten wird mit Hilfe des Algorithmus 12.1 die interpolierende bikubische Splinefunktion S auf dem Rechteck R = { (x, y) | 0 ≤ x ≤ 5, −1.5 ≤ y ≤ 1.5 } erzeugt.
15 10 5 0
.. ...... ......... .................. . . . . . . . .................. .................... .................. . .......................................... . . . . . . ........ . . .. . . ....................... ....... .. ... .................. ........... . ... ...................... ....... .. ... ... ............................................................................. . . . . . ........ . . . ...... .. ..... ..... ............. . ... ................................................................ .................................. ... ....... .. .. ............................................................................................................................ ............ ............. .. .. ... ................................................................................................................................ ................... ........... . ............ ... ............................................................................................................................................................................................................................................................................................................. ........................ .... . . . . . . . ... . ........ ....................................................................................................................................................... ............. .. ........... . .. . ..... ................................................................................................................................................................................... ................ .. .. ... .. ... ... ................................................................................................................................................................ ................ .. . .. ................. ... ... ............................................................................................................................................................................................................................................................................................................. ................................................... ..... . . . . . . . . . ... . . . ... . ... .......... . . ....... ... .. .. ...... ..... ... ... ........................................................................................................................................................................................................................................................................................................................................ .... ..... .... .... ....................... .......................... .. ...................................................................................................................................... ............. ..... .... ... ... .. ... ....................................................... ........................... ................................. ....................................................................................................... . . . .. .. ... .......................... ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . ...................................... .. .. . . . .. .. .. .............. .... . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . .............................................. . . . ..... ...................... .......... ... .......... .......... ... .................. .... .......... ............... ... .......... . . . . . ........................... . . . . . ... .......................... ..... .......... ........................... ......... ........................... ... .......... ........................... ... ......... . . ........................... . . . . . . . . .......................... .. ............ ................
Abb. 12.3. Graph der Funktion u(x, y) = x2 cos(y) u ¨ber dem Rechteck R
504
12. Spezielle Splines
15 10 5 0
...... ..... ...... ............... . . . . . . . .............. .................... ........................ .......... ........................................... . . . . . . . ... . . . ........... ..... .......... ... .......................... ....... . ... .................................................................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ . . . . . . . . . ........................................................................... .......................... .......... ......... .... ... .................................................... .......................................................................................... ............ ............ . ... ... ................................................................................................................................................................................................................................................................................................................................... ... ...... . . . . . . . ... . . ... . . . . ................................................................................................................................................................................................................................................... ... .................... . . . . . . . . ... ... . ................................................................................................................................................................................................................................ .................. .. ... . . . . . . . . . . ........ ... . . . . . . . . . . ................................................................................................................................................................................................................... ......................... .. .. ... . . . . . . . . ... . ... . ....................................................................................................................................................................................................... ... ... ......................... . . . . . . . ... . ... . . ....... . . ......... . . . . . ... ... .......................................................................................................................................................................................................................................................................................................... .......................................................... ... ... ... .................................................................................................................................................................................................................. ... ... .. .. .. ................................. ... ........................... .. .... ................................................................................................................................................................................................................................................................... ........................... .......................................... ..... ... .... .. .. .. .. .. . . . ... ............................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . . ...................................... ... .. . . .. .. ... . ..... . . . . . . . . . . . . . . . . . . . . . . . . . ... . . . . . . . . . . ............................................ ... ..... ... ... .......... ......... .......... ... .................. ... .......... ......................... ... .......... . . . ........................... . . . . . . ........................... ........ ..... ........................... .......... ........................... ... ......... ........................... ... ................... ........................... . . . . . ..............................
Abb. 12.4. Graph der bikubischen Splinefunktion S
Beim n¨achsten Algorithmus werden nur die Funktionswerte in den Gitterpunkten, nicht aber die Randwerte f¨ ur die partiellen Ableitungen vorgegeben; diese werden mit Hilfe eindimensionaler Splines durch jeweils drei Punkte ermittelt.
...
z ..............
. .... ... .. ... ... ... ... ..... ... ... ... ... ... .. ................ ... ... 0m ... ... .... ... ... ... . ...... ... .. ..... ..... ... . ...... ... ...... ... ... .. ..... ... ..... .. ... .. ...... ..... ... ..... . . . . . . . . . . . . .. . ...... ............................................. ... ... ... ...... ... ... .. ..... ...... 00 .. ... .. .. . ..... ... ... ........................................................... ..... .... ...... ... ... .. .. ... ........... .. .. ......................... ... .... .. .. . . .. .. .. ..... .... .. ....... .... ... .... ... .... ............................. .. ... ... .. .... . ... . . . ..... ......... .... .... .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............. . . . . . . . .. .. ... . ... .. .... .. .... . .. .... ... ... ................................................................ ... ... ... ...... .. ...................................... .... ... ........ .... .... .......... ... .... . 10 ......... . . .. .. .. . . . ... .. .. ... .. .. .... .. .. .... .... .... ..... .... .... .... ... ...... .... .... .... .... ............................................................ .. ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................ ... .. .. ... .. .. ... .. .. ... .. .. ... ... .. .. .. .. .. .. .. .. .. .. .. .. .. ..... .. ... .............................................................. .... ... ... ... ... ... ... ...... ... ... .... ... .... .... ... .... ... ... .... ..... . . . . . . . . . . . . . . . . . . . . . . . . ... ....... .. . .... .. . .............................. . ... ... . .. . . . . .. .. . .. ... .. .. . . .. . . ........ . . . . . . . ..... . n−1,0 .................................... ....................... ................... ................................................................................................................... .................................................................................................................................. ..... ..... ..... ..... ..... ..... ..... .............................. ..... . . .. . .......... . . . . . . ........... ... ... .. ... ... ....... .............................................. .......... . ................................................ ... ... ......................................................................... .... . . ............................ ............ . ... ..... ................................. .. .. ... .. .. ..... ............................ ............ ....... .. .. . .. .. .............................. . ............................ ..... . .. .. .. .. ...... . .. .. ..................... .. ..... ........................................................ ............ .................................. ..... .... .... .... .... ................. .... .... .... .... .... .... ......................... . . . .................................... ............ . ........... . .. .. .. .. ...... .. .. .. .. .. .. .. .. .. .. . ... . . . . . . . . . . . . . . . . . . . . . . . . .......................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . ..... .... .... .... ........... .... .... ... .... .... ... .... ... .... .... .... .... .... .... ..................... ..... ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .. ............................ .. .. .. .. .. .. .. ... .. .. ... .. .. .. .. .. ............ .. .. .... ..... . . ... .. . ...................... . .. .. . . . . . . . . .. . . .... . . ..... ..... ..... .... ................................ ............. ... .......................................................................... .... .... .... .... .... .... .... .... ... .... .... ................ .... ..... ..... ..... .......... . .......................................................... ... ........... ... .......................................................... .. ... ... .... ... ... ..... ... ... ........ ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ......................................... . . . . . . . . . . . . . . . . . . .......... . . . . . . . . . . . . . . . . . . . . . . . .. ............................................. ... ........ .. .. ............................................... .. .. ....... ..................................... ................................ .. ....... . . . ...................................... ............................... .... ............. .................................... . .. ....................................... .............................. .. ....... . .. ...................................... ..................... . .. ....................................... . .. ..................................... ........................................
P
P (x)
P (x)
y
P
x
Abb. 12.5a.
12.1 Interpolierende zweidimensionale Polynom-Splines
505
...
z ..............
. .... ... .. ... ... ... ... ..... 0,m−1 ... ...... .. ...... .... ... ...... . . . ... . 01 ... . .... ..... ... .. ....... 00................................ ..... ....... .. ... ...... .. ....... .... ......... .... .... . . . . ... .................... .... . . . . ........ .......... ... ... .. .. ... ... . . . . ...... .. .................................... .. ... .... .... ...... .. ........................... ... ..... ... ... ........................... ... ............. ... ... ..... .......................... . ..... .................................. ... ... ... ............. ... ... ......................... ......................... ... . ..... . . . . . . . . . . . . . . . . . ... ... . . . . . . . . . .......................... ........ . .. .. .. . .. . .. ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... . .. . .. . .. ............................................. .... .... . . . . . . . . . . . . . . . . . . . . . ............................................ ............................................ . ... .... ... ... ........................................ ... ... . . . . . . ..................... . . ....... ... ... .. ... ... ... .. ... ....... ... ... ... ... ... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. ......................................................................................... .. .. ..... ....... .... .... .... .... .... .... .... .... ..... ...... .................................................................................. .................... .... .............................................................. . . . . . . . . . . . . . . . . . . . . . . ........................... .... .............. ............. . .. ... . ........................ . ..... .............................. ... ... .... ... ... .... ... ... ................................................................................. .. . ...... ......................... ......... . . . . . ................... ... ... ........................................................................................................................... ... ... ... ....... .............................................................................. ... ... .. ...... .. .. .. .. .. .. ........................ ......... .. ..... ................................ ... ... .................. .... .......................................................... .......... .... .... ..... .... .... .... ............................................................................ .... ............. . . . . ... ... ........ ......................................................... ........... .... ... ... ... ... ... ............................. ... ... ... ......... ... ....................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................ . . .. . .. ..... . ....................................... ...... ..... .... ... ... .... .................... .... .... ... ............ ........................................ ................... .......... ... ................................................................ ..... ... ... ... ........ .............................................. ... ......... ..... . . ... ...... .......................... ......................................................... ..... ............................................................................................................................................................... ... ... ........................ ... .............. ... ........................ ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... . . . . .. . . ............ ............. . ..... ..... ................................ ............. ... ......................... ..... .... .... ............................................. ............................................................... ..... .......... ... ... ... .......... ............................................................ ........... .................................................. ....... . .. ......................................... .......... .. ... ................................... ............... ... .. ............. ....................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... . . ............ .. . .. . ............................ ... .................................................... .... .... .......... ........................... ........................... ........... . ... .................................... ........................... ............ ........................... ............ ...
Q
Q
Q
y
x
Abb. 12.5b. Zur Berechnung der sij = aij11 f¨ ur i = 0, n, j = 0, m werden eindimensionale nat¨ urliche Splines durch die Punkte (xi , qij ) f¨ ur i = 0, 1, 2 und i = n−2, n−1, n und j = 0, m gelegt und abgeleitet (vgl. Abbildung 12.5c).
...
q .............
.. ... .. ... ... ... ... ... ..... ... 0m........... ... . . .. ... ... . .. .. ... .. . ... ... ... ... . ...... ... ..... ... ... ....... . .. . 00 .............................................................................0 ... .. .. ......................... .. ... ... .. ... . . .......................... ... .. .. .. ..... ... .. ......................... ..... ..... .......... ... .. ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... 10...................................... ... ... ... . .. .. ......................... . .. .. .. .... ................................ .... ..... ... .. .. ...... .. .............................................. m ............ . . . . . . . . . . . . .................. . . ... ... ... 0... . ....... .......... ......... ............................... ..... .. . . . ..... ............................ .... ........... ... .... .... ... ..... .............................. ..... .................... ......... . ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............................. .............................. .. ..... . . .. .. ...... .................................. ......... ........................... ... .. ... .. .. .......... .. ............................. ......... ............................. ..... ........... .. ............... .... ... ..... ............................. ............................... .... ............ ..... ..................................................................... .. .................................. ......... ......... .. . . ................................. ..... .. .. ..... ... .............................. ..... .... .................... ......... .... .... ........................................................... ......... .. ...................................... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . .............................. ..... . .............................. . ........ . ............................. ......... . .................................. .... ................................... ..... ..... .... .... ... ............................. ........ ................................. ..... ................................................................. ..... . .... .... ..... ............................. . . . .... ... ..... .................... ..... .... ........................... .................................. .... .................................................................. . ................................ ..... ... ... .. ....... ................................. .................................. ..................................... . .. .. . . ..... .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............. . . . . . . . . . . . ............................. .. .. .............................. ..... .. .. ........................................... .. ... . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................................. ..... . . . ...................................... . . .. .. ........................................... ...... .......... .. ..... . .................................. .............................. .......... ... .............................................. ... ..... . ............................................. .... .............................. .......... n ..... ....................................................... .... ............. ....... ....... ....... ....... .................. .............................. ......... ... .... ......................... ................................. . .................................... .............................. ......... .................................. . .... ................. .... ............ ................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................. ... ............................... ... ... ................. . . . . ................................... . . . . . . . . . . . . . . . . . . . . . . . . . .............................. .. ..... . ................................. .................... .. ................................... . .. ................................... ....................................
P
P
y
P x
y y
x
x
Abb. 12.5c.
506
12. Spezielle Splines
Algorithmus 12.3. (Bikubische Splinefunktion ohne Vorgabe von Randwerten) Gegeben: Funktionswerte uij = u(xi , yj ) f¨ ur i = 0(1)n, j = 0(1)m in den Gitterpunkten (xi , yj ). Gesucht: Die zugeh¨ orige bikubische Splinefunktion S (12.1). Die zur Berechnung von S erforderlichen Randwerte f¨ ur die partiellen Ableitungen pij = aij10 , qij = aij01 , sij = aij11 gem¨ aß (12.2) werden hier mit Hilfe eindimensionaler (nat¨ urlicher) kubischer Splinefunktionen durch jeweils drei Punkte und mit deren Ableitungen ermittelt. Durch die Punkte (xi , uij ) werden f¨ ur i = 0, 1, 2 und i = n−2, n−1, n Splines f¨ ur j = 0(1)m gelegt und abgeleitet; sie liefern die pij am Rande. Durch die Punkte (yj , uij ) werden f¨ ur j = 0, 1, 2 und j = m−2, m−1, m Splines f¨ ur i = 0(1)n gelegt und abgeleitet; sie liefern die qij am Rande. Um diese Vorgehensweise im Algorithmus wiedererkennen zu k¨ onnen, wurden die folgenden Formeln (12.12) nicht in (12.11) eingearbeitet, (12.14) nicht in (12.13) und (12.16) nicht in (12.15), was zu Vereinfachungen gef¨ uhrt h¨ atte. Zur Berechnung der sij = aij11 f¨ ur i = 0, n, j = 0, m werden eindimensionale nat¨ urliche Splines durch die Punkte (xi , qij ) f¨ ur i = 0, 1, 2 und i = n−2, n−1, n und j = 0, m gelegt und abgeleitet. Die aij00 sind durch die uij vorgegeben. Dann wird die bikubische Splinefunktion S gem¨ aß (12.1) wie folgt berechnet: 1. Schritt: Berechnung der Randwerte aij10 , i = 0, n , j = 0(1)m mit a0j10
=
Sx (x0 , yj ) = boj =
=
1 (a − a0j00 ) − h30 c1j h0 1j00
anj10
=
Sx (xn , yj ) = bn−1,j + 2cn−1,j hn−1
+
3dn−1,j h2n−1
mit j = 0(1)m und
mit j = 0(1)m,
(12.11)
hi = xi+1 − xi
mit den aus (12.12) zu ermittelnden Werten f¨ ur die Koeffizienten bij , cij und dij
12.1 Interpolierende zweidimensionale Polynom-Splines
1. uij 2. c0j 3. cij 4. bn−1,j 5. d n−1,j
=
aij00 ,
507
i = 0, 1, 2, (n−2), (n−1), n,
j = 0(1)m, =
c2j = cn−2,j = cnj = 0,
=
(nat¨ urliche Splines) h 3 1 (a − aij00 ) 2(hi + hi−1 ) hi i+1,j00 i 1 (a − ai−1,j00 ) , hi−1 ij00
−
j = 0(1)m,
(12.12)
i = 1, (n−1), j = 0(1)m, =
2k 1 (a − an−1,j00 ) − n−1 3 cn−1,j , kn−1 nj00 j = 0(1)m,
=
1 c , 3kn−1 n−1,j
j = 0(1)m.
2. Schritt: Berechnung der Randwerte aij01 , i = 0(1)n , j = 0, m mit ai001 aim01
−
Sy (xi , y0 ) = βi0 = 1 (ai100 − ai000 ) k0 k0 γ , i = 0(1)n, und 3 i1
=
Sy (xi , ym ) = βi,m−1 + 2γi,m−1 km−1
+
2 3δi,m−1 km−1 , i = 0(1)n,
=
mit kj = yj+1 − yj .
mit den gem¨aß (12.14) zu ermittelnden Koeffizienten
(12.13)
508
12. Spezielle Splines
1. uij 2. γi0 3. γij 4. βi,m−1 5. δi,m−1
=
αij = aij00 ,
i = 0(1)n,
j = 0, 1, 2, (m−2), (m−1), m = = −
γi2 = γi,m−2 = γim = 0, i = 0(1)n, 3 1 (a − aij00 ) 2(kj−1 + kj ) kj i,j+1,00 1 (a − ai,j−1,00 ) , kj−1 ij00
(12.14)
i = 0(1)n, j = 1, (m−1). =
2h 1 (a − ai,m−1,00 ) − m−1 3 γi,m−1 , hm−1 im00 i = 0(1)n,
=
−
1 γ , 3km−1 i,m−1
i = 0(1)n.
3. Schritt: Berechnung der Randwerte aij11 , i = 0, n , j = 0, m mit a0j11
=
Syx (x0 , yj ) = s0j = eb0j =
=
1 (a − a0j01 ) − k30 e c1j , k0 1j01
anj11
=
Syx (xn , yj ) = snj =
=
ebn−1,j + 2e cn−1,j hn−1 + 3den−1,j h2n−1 ,
j = 0, m,
j = 0, m
und
mit hi = xi+1 − xi .
mit den gem¨aß (12.16) zu ermittelnden Koeffizienten
(12.15)
12.1 Interpolierende zweidimensionale Polynom-Splines
1. qij 2. e c0j 3. e cij 4. ebn−1,j 5. den−1,j
=
aij01 ,
509
i = 0, 1, 2, (n−2), (n−1), n,
j = 0, m = = −
c2j = e e cn−2,j = e cn,j = 0, j = 0, m h 3 1 1 2 (hi−1 + hi ) hi (ai+1,j01 − aij01 ) i 1 (a ij01 − ai−1,j01 ) , hi−1
(12.16)
i = 1, n−1, j = 0, m =
2h 1 (a − an−1,j01 ) − n−1 cn−1,j , 3 e hn−1 nj01 j = 0, m
=
−
1 e c , 3hn−1 n−1,j
j = 0, m
4. Schritt:
Berechnung der partiellen Ableitungen aij10 f¨ ur i = 1(1)n−1, j = 0(1)m mit (12.3).
5. Schritt:
L¨osung der Gleichungssysteme (12.4) zur Bestimmung der aij01 , i = 0(1)n, j = 1(1)m−1.
6. Schritt:
Bestimmung der Werte aij11 , i = 1(1)n−1 , j = 0, m mit (12.5).
7. Schritt:
Berechnung der partiellen Ableitungen aij11 , i = 0, n, j = 1(1)m−1 mit (12.6).
8. Schritt:
Bestimmung der Matrizen {G(xi )}−1 mit (12.7).
9. Schritt:
Bestimmung der Matrizen {[G(yj )]T }−1 mit (12.8).
10. Schritt: Bestimmung der Matrizen Mij gem¨aß (12.9). 11. Schritt: Berechnung der Koeffizientenmatrizen Aij nach (12.10), i = 0(1)n−1, j = 0(1)m−1. 12. Schritt: Aufstellung der bikubischen Splinefunktion S(x, y) ≡ Sij (x, y), (x, y) ∈ Rij , gem¨aß (12.1). In Algorithmus 12.3 werden eindimensionale Splines durch jeweils drei Punkte benutzt, man kann aber genauso jeweils eindimensionale Splines durch alle gegebenen Punkte (xi ,uij ), i = 0(1)n, j fest bzw. (yj ,uij ), j = 0(1)m, i fest, legen und ableiten.
510
12. Spezielle Splines
Zu jedem Punkt (xi , yj , uij ) des Graphen der Funktion u(x, y) sei jetzt ein zur x, y-Ebene nicht paralleler Vektor T nij = (nij1 , nij2 , nij3 ) ,
nij3 6= 0 ,
gegeben, der die Fl¨ achennormale bestimmt. Damit k¨onnen die Ableitungen pij = ux (xi , yj )
und qij = uy (xi , yj )
wie folgt ermittelt werden. Der Graph der Funktion u(x, y) besitzt den Ortsvektor x . y x (x, y) = u(x, y) Mit den Tangentenvektoren
1 , 0 xx (x, y) = ux (x, y)
0 1 xy (x, y) = uy (x, y)
ergibt sich der Vektor der Fl¨ achennormale
−ux n = xx × xy = −uy . 1 Mit n3 6= 0 ist ein beliebiger Normalenvektor −n3 ux n1 n3 n = −n3 uy = n2 . n3 n3 Wenn ein solcher Vektor mit n3 6= 0 gegeben ist, sind demnach ux = −
n1 , n3
uy = −
n2 . n3
Mit den gegebenen Normalenvektoren nij sind also f¨ ur i = 0(1)n, j = 0(1)m pij = aij10 = −
nij1 , nij3
qij = aij01 = −
nij2 . nij3
Dann sind nur noch die Ableitungen sij = aij11 u ¨ ber eindimensionale Splines zu berechnen wie im 3. Schritt des Algorithmus 12.3.
12.2 Zweidimensionale interpolierende Oberfl¨ achensplines
511
Algorithmus 12.4. (Bikubische Splinefunktion mit Vorgabe der Normalen) Gegeben: (i) Funktionswerte uij = u(xi , yj ) f¨ ur i = 0(1)n, j = 0(1)m in den Gitterpunkten (xi , yj ); (ii) zu jedem Gitterpunkt (xi , yj ) ein Normalenvektor T nij = (nij1 , nij2 , nij3 ), nij3 6= 0, i = 0(1)n, j = 0(1)m. Alle nij3 m¨ ussen entweder positiv oder negativ sein. Gesucht: Die zugeh¨ orige bikubische Splinefunktion S (12.1), die in den Gitterpunkten die Ordinaten (i) und die Normalen (ii) besitzt. 1. Schritt:
Berechnung der partiellen Ableitungen pij = aij10 = −nij1 /nij3 f¨ ur i = 0(1)n, j = 0(1)m.
2. Schritt:
Berechnung der partiellen Ableitungen qij = aij01 = −nij2 /nij3 f¨ ur i = 0(1)n, j = 0(1)m.
3. Schritt:
Berechnung der vier Randwerte f¨ ur die gemischten partiellen Ableitungen sij = aij11 f¨ ur i = 0, n, j = 0, m gem¨aß (12.15) und (12.16).
4. Schritt:
Bestimmung der aij11 f¨ ur i = 1(1)n−1 , j = 0, m gem¨aß (12.5).
5. Schritt:
Bestimmung der aij11 f¨ ur i = 0, n , j = 1(1)m−1 gem¨aß (12.6).
6. Schritt:
Bestimmung der Matrizen {G(xi )}−1 gem¨aß (12.7).
7. Schritt:
Bestimmung der Matrizen {[G(yj )]T }−1 gem¨aß (12.8).
8. Schritt:
Bestimmung der Matrizen Mij gem¨aß (12.9).
9. Schritt:
Bestimmung der Koeffizientenmatrizen Aij f¨ ur i = 0(1)n−1, j = 0(1)m−1 gem¨ aß (12.10).
10. Schritt: Aufstellung der bikubischen Splinefunktion S(x, y) ≡ Sij (x, y) f¨ ur jedes Rechteck Rij gem¨ aß (12.1).
12.2
Zweidimensionale interpolierende Oberfl¨ achensplines
W¨ahrend im vorigen Abschnitt bei der bikubischen Splinefunktion die St¨ utzstellen in einem Rechteckgitter liegen m¨ ussen, unterliegen sie jetzt keinen einschr¨ankenden Bedingungen und k¨onnen also in der x, y-Ebene beliebig vorgegeben werden. Zu N X vorgegebenen Interpolationsstellen (xi , yi , zi ), i = 1(1)N X, mit verschiedenen St¨ utzstellen (xi , yi ) wird eine interpolierende Funktion Φ erzeugt, deren Graph eine glatte Fl¨ache durch die Interpolationsstellen ist.
512
12. Spezielle Splines
Die Oberfl¨achensplines lassen sich physikalisch-technisch so interpretieren, dass sie die Verbiegung einer d¨ unnen (ebenen) Platte unendlicher Ausdehnung beschreiben, die an mehreren, voneinander unabh¨ angigen Punkten senkrecht zur Ruhelage abgelenkt wird unter der Forderung, die Biegungsenergie zu minimieren (analog zu den nat¨ urlichen Splines im eindimensionalen Fall). Hier wird nur rezeptartig beschrieben, wie diese Oberfl¨achensplines konstruiert werden. Um den Algorithmus verstehen zu k¨ onnen, muss zus¨atzlich die Arbeit von J. Meinguet [MEING1979] angesehen werden. Die auftretenden linearen Gleichungssysteme sind im Allgemeinen schlecht konditioniert. Problemstellung Gegeben seien in der x, y-Ebene N X paarweise verschiedene St¨ utzstellen (xi , yi ), i = 1(1)N X. Jeder St¨ utzstelle sei genau ein St¨ utzwert zi ∈ R zugeordnet. Diese St¨ utzwerte kann man auffassen als die Werte einer empirischen Funktion f : z = f (x, y) an den gegebenen St¨ utzstellen: zi = f (xi , yi ). Gesucht ist eine Funktion Φ : z = Φ(x, y), die den N X Interpolationsbedingungen Φ(xi , yi ) = zi , i = 1(1)N X, gen¨ ugt, so dass Φ die Funktion f ann¨ahert. Damit der Graph der Funktion Φ eine gen¨ ugend glatte Fl¨ache u ¨ber der x, y-Ebene ist, wird die Ableitungsordnung M , M ≥ 2 vorgegeben. Die Funktion Φ wird in der Gestalt Φ(x, y) =
n X
cj ϕj (x, y)
(12.17)
j=1
mit gegebenen Funktionen ϕj und zu bestimmenden Koeffizienten cj angesetzt. (M −1)
F¨ ur einige der Funktionen ϕj werden zweidimensionale Monome pj Grad M−1 verwendet; deren Anzahl ist M M := M (M + 1)/2.
(x, y) bis zum
(1)
Beispielsweise sind dies f¨ ur M = 2 die 3 Monome pj , j = 1(1)3, (1)
p1 = 1,
(1)
(1)
p2 = x,
p3 = y
(2)
und f¨ ur M = 3 die 6 Monome pj , j = 1(1)6, (2)
p2 = x,
(2)
p5 = xy,
p1 = 1, p4 = x2 ,
(2)
p3 = y
(2)
(2)
p6 = y 2 .
(2)
Die folgende Voraussetzung muss erf¨ ullt sein: Unter den gegebenen St¨ utzstellen (xi , yi ), i = 1(1)N X, gibt es M M St¨ utzstellen (xij , yij ) mit ij ∈ {1 2 . . . N X} und j = 1(1)M M derart, dass die Matrix (M −1)
Pj nicht singul¨ar ist (N X ≥ M M ).
(M −1)
= pj
(xij , yij )
12.2 Zweidimensionale interpolierende Oberfl¨ achensplines
513
Zur Erl¨auterung dient das folgende Beispiel 12.5. Es sei M = 2, also M M = 3. a) Unter den N X St¨ utzstellen gebe es die drei St¨ utzstellen (xi1 , yi1 ) = (0, 0),
(xi2 , yi2 ) = (0, 1), (1)
Dann ist die Determinante der Matrix Pj mit j 1 xi1 yi1 (1) (1) det Pj = pj (xij , yij ) = 1 xi2 yi2 1 xi3 yi3
(xi3 , yi3 ) = (1, 0). = 1, 2, 3 1 = 1 1
0 0 1
0 1 0
= −1 6= 0,
d. h. die Matrix ist nicht singul¨ ar. b) Aus den N X St¨ utzstellen seien jetzt die drei St¨ utzstellen (xi1 , yi1 ) = (0, 0), ausgew¨ahlt. Damit ist
(xi2 , yi2 ) = (0.5, 0.5),
1 (1) det Pj = 1 1
0 0.5 1
0 0.5 1
(xi3 , yi3 ) = (1, 1) = 0. (1)
In diesem Fall erf¨ ullen die ausgew¨ ahlten St¨ utzstellen nicht die an die Matrix Pj gestellte Bedingung bez¨ uglich des Ranges.
Im Ansatz (12.17) sei nun n = N X +M M . Die n Funktionen ϕj werden wie folgt gew¨ahlt. 1)
ϕj (x, y) = E (x−xj , y−yj ),
j = 1(1)N X,
mit der sogenannten Kernfunktion M −1 E (x−xj , y−yj ) = (x − xj )2 + (y − yj )2 ln (x − xj )2 + (y − yj )2 . 2)
(M −1)
ϕN X+j (x, y) = pj
(x, y),
j = 1(1)M M
(Monome bis zum Grad M−1). Die Funktion Φ soll die Interpolationsbedingungen Φ(xi , yi ) =
N X+M XM
cj ϕj (xi , yi ) = zi ,
i = 1(1)N X,
j=1
und zus¨atzlich gewisse Minimaleigenschaften (vgl. [MEING1979]) erf¨ ullen. Diese Bedingungen f¨ uhren auf ein lineares Gleichungssystem f¨ ur die N X + M M Koeffizienten cj .
514
12. Spezielle Splines
Dieses System lautet
G PT
P 0
c (1) c (2)
=
z 0
(12.18)
mit den Matrizen G = E (xi−xj , yi−yj ) , i, j = 1(1)N X, (M −1) P = pj (xi , yi ) , i = 1(1)N X, j = 1(1)M M, und den Vektoren c (1) =
c1 c2 .. .
,
c (2) =
cN X
cN X+1 cN X+2 .. .
,
z =
z1 z2 .. .
.
zN X
cN X+M M
Alle Elemente der Hauptdiagonale i = j der Matrix G verschwinden wegen E (xi − xi , yi − yi ) = E (0, 0) = 0 (dazu muss der unbestimmte Ausdruck 0 · ∞ behandelt werden). P T ist die zu P transponierte Matrix. Mit wachsenden N X und M verschlechtert sich die Kondition des Systems (12.18) stark. Es ist zu empfehlen, die St¨ utzstellen (xi , yi ), i = 1(1)N X, in einen Einheitskreis mit dem Mittelpunkt (x, y) zu transformieren: (xi , yi ) 7→
mit
x=
NX 1 X xi , NX
y=
i=1
12.3
1 (xi − x, yi − y) r
NX 1 X yi , NX i=1
r=
max
1≤i≤N X
p
(xi − x)2 + (yi − y)2 .
B´ ezier-Splines
Hier werden nur eine knappe Darstellung der kubischen B´ezier-Spline-Kurve und B´ezierSpline-Fl¨ache sowie Algorithmen zu deren Berechnung angegeben. Analog zu den kubischen und bikubischen Splinefunktionen werden hier parametrische kubische bzw. bikubische B´ezier-Polynome mit gleicher Kr¨ ummung an den Anschlussstellen aneinander gesetzt. Bei diesen parametrischen Kurven- und Fl¨achen-Splines entfallen einschr¨ankende Voraussetzungen wie die monotone Anordnung der Knoten bei den kubischen Splinefunktionen und die Verwendung eines Rechteckgitters bei der bikubischen Splinefunktion. Die B´ezier-Splines sind nicht im engeren Sinne interpolierend wie die genannten Splinefunktionen.
12.3 B´ezier -Splines
515
Mit B´ezier-Splines k¨ onnen auch Kurven und Fl¨ achen erzeugt werden, die einen Knick“ ” haben, bei denen also an bestimmten Nahtstellen zwischen den kubischen Parabeln einer B´ezier-Spline-Kurve bzw. den bikubischen Pflastern“ einer B´ezier-Spline-Fl¨ache auf ” ¨ die stetige Differenzierbarkeit verzichtet und nur ein stetiger Ubergang gefordert wird. Beispiele daf¨ ur treten bei der Konstruktion von Karosserieteilen auf, vergleiche folgende Abbildung aus [BEHR1975]. z0 6 ...a......................... ........... ... ......... ... ......... ........ ...a.......................... . .......... z 6 ..... ....a ......... ... ... . . . . . . ........ ..... ..... ..a........................... . . . . . .. ..a. ......... . .. .. . . . . . ......... . .. .............. .... .. ....a......... .. .. ....a ... ..................... ... ... ... ..... ........ .. . . . ... ... ........ .... ... ....a......... ... . . . .......a ... ... .......... ..... . . . . ... ......... .. ......a .. .... . . ........ . . .... ... ... ........ .... ... . . . . . ....a ..... ........ .... ... ... . . . . . . .....a .. .... ... ... . . . . . .. . . ..... ... ... ...... ....... .... ... ... .......a ... .. y0 .... 0 ... .... ..... ... .... ... ... 0 . . . . . . . . . . . . . . ... ........ .. .. .. b ... . ... ..... ........a .. . . ... .. . ...... ..... .. ... ....... ..... .. .. ....... ....... ................a. .... . ...... .. .... ....... .. ... ...... .... .... ... ......... .... . . ..... .. ... .......... .. ... ........... ..
x0
b
. ...... .. ... .... .... .. ... ............ ..
0
.. .............. ................ ..
x
. ...... ..... ...... .. . ... .. ... ... ....... .... ...... ... ... ....... ... .. . . .... . . .......... .. ..... .......... ..
y
Abb. 12.6.
12.3.1
B´ ezier-Spline-Kurven
Eine B´ezier-Spline-Kurve setzt sich st¨ uckweise aus B´ezier-Kurven zusammen, die zweimal stetig differenzierbar aneinander schließen. Eine B´ezier-Kurve der Ordnung n, n ≥ 1, l¨ asst sich mit Hilfe der Bernstein-Polynome n-ten Grades n Bjn (v) = (1 − v)n−j v j , j = 0(1)n, (12.19) j und der n+1 B´ezier-Punkte bj , j = 0(1)n, bj ∈ R2 oder bj ∈ R3 , wie folgt darstellen: P(v) =
n X
Bjn (v)bj ,
v ∈ [0, 1].
(12.20)
j=0
Im Folgenden werden nur B´ezier-Kurven der Ordnung n=3 betrachtet. Eine solche Kurve besitzt nach (12.19) und (12.20) die Darstellung P(v) = (1 − v)3 b0 + 3(1 − v)2 vb1 + 3(1 − v)v 2 b2 + v 3 b3 , v ∈ [0, 1].
(12.21)
P(0) = b0 ist der Anfangspunkt, P(1) = b3 ist der Endpunkt der B´ezier-Kurve. Die Punkte b1 und b2 liegen nicht auf der Kurve.
516
12. Spezielle Splines y6
rb
.... ........ ..... 2 ....... ... ........ ... ........ . . . . . . . ... .. ........ ... ........ . . ... . . . . ..... ... . . . . . . . ... ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... .. ........ . . . . . ........ . . . . . . . . ...... .... ...... . 1 .... . . . . . . . ..... .... .... . . . . . ..... ... . . ... . .... .. . .. . . . ....... .. ...... ... ....... ...... ... .... ..... .. ....... . ... .. .... ... . .. ....... . ..... . ....... . . ...
b r
r b3
b0 r
x Abb. 12.7. Kubische B´ezier-Kurve mit B´ezier-Punkten Die Ableitungen in den Randpunkten sind P 0 (0) = 3(b1 − b0 ),
P 0 (1) = 3(b3 − b2 ).
(12.22)
Daher ist die Verbindungsgerade der Punkte b0 und b1 (b0 6= b1 ) die Tangente der Kurve im Punkt b0 , und im Endpunkt b3 ber¨ uhrt die Kurve die Verbindungsgerade von b2 und b3 (b2 6= b3 ) (Abb. 12.7). Ferner gilt: Die B´ezier-Kurve liegt ganz im kleinsten konvexen Bereich, der die B´ezier-Punkte b0 , b1 , b2 , b3 enth¨alt. Mit diesen Eigenschaften l¨asst sich der ungef¨ahre Verlauf einer B´ezier-Kurve aufgrund der vorgegebenen B´ezier-Punkte absch¨atzen. F¨ ur die 2. Ableitung von (12.21) ergeben sich in den Randpunkten (
P 00 (0)
=
6(b0 − 2b1 + b2 ),
P 00 (1)
=
6(b1 − 2b2 + b3 ).
(12.23)
Eine kubische B´ezier-Spline-Kurve setzt sich st¨ uckweise aus m B´ezier-Kurven 3. Ordnung zusammen. Die Spline-Segmente besitzen die Darstellung Pk (v)
= (1 − v)3 b3k + 3(1 − v)2 vb3k+1 + 3(1 − v)v 2 b3k+2 +v 3 b3k+3 , v ∈ [0, 1], k = 0(1)m−1, m ≥ 2.
Die B´ezier-Punkte sind so nummeriert, dass gilt Pk−1 (1) = b3(k−1)+3 = b3k = Pk (0),
k = 1(0)m−1.
Da die Spline-Kurve durch alle Randpunkte b0 , b3 , . . . , b3m der m Kurvensegmente geht, werden diese im Folgenden Interpolationspunkte der kubischen B´ezier-Spline-Kurve genannt. In den Punkten b3 , b6 , . . . , b3m−3 stoßen jeweils zwei Kurvensegmente aneinander. In diesen Punkten sollen die benachbarten Spline-Segmente bis zur 2. Ableitung u ¨bereinstimmen. Daher m¨ ussen die folgenden Bedingungen erf¨ ullt sein: 0 Pk−1 (1) = Pk0 (0),
00 Pk−1 (1) = Pk00 (0),
k = 1(1)m−1.
(12.24)
12.3 B´ezier -Splines
517
F¨ ur die erste Bedingung ergibt sich vgl. (12.22)
b3k − b3k−1 = b3k+1 − b3k .
(12.25)
Daraus folgt: Die Punkte b3k−1 , b3k , b3k+1 sind kollinear, und der Interpolationspunkt b3k ist deren Mittelpunkt (Abb. 12.8). Aus der zweiten Bedingung 12.24) folgt (vgl. (12.23) dk := b3k−1 + (b3k−1 − b3k−2 ) = b3k+1 − (b3k+2 − b3k+1 ).
(12.26)
Die Punkte dk , k = 1(1)m−1, heißen Gewichtspunkte (oder auch kurz Gewichte). Ihre aus (12.26) folgende Lage zeigt Abb. 12.8. y 6
dr1
b2 b1
b
pc
b c b b3
Gewichtspunkt
d2 PP c r P@ @b b6 P @ @b Kubischer
b4
b5b
B´ ezier-Spline
@ c @r Interpolations- b punkt b b3m−1 c p b =d
b0 = d0
3m
dm−1
m
x Abb. 12.8. • Vorgabepunkte, o Interpolationspunkte Mittels (12.26) und (12.25) k¨ onnen die B´ezier-Punkte b1 , b2 , . . . , b3m−2 , b3m−1 mit Hilfe der m + 1 Gewichtspunkte d0 , d1 , . . . , dm−1 , dm wie folgt dargestellt werden: b3k−2 = 1 k = 1(1)m, 3 (2dk−1 + dk ), (12.27) b3k−1 = 1 k = 1(1)m, 3 (dk−1 + 2dk ), b = 1 3k 6 (dk−1 + 4dk + dk+1 ), k = 1(1)m−1. Dies bedeutet, dass genau die m+1 Gewichtspunkte d0 , . . . , dm vorgegeben werden m¨ ussen, um einen B´ezier-Spline zu erzeugen; es werden also nicht die Interpolationspunkte vorgegeben. Festzulegen sind noch die Randpunkte b0 und b3m . Mit der Wahl b0 = d0 ,
b3m = dm
ergeben sich P000 (0) = 0 ,
00 Pm−1 (1) = 0 ,
d. h. es liegt dann ein nat¨ urlicher kubischer B´ezier-Spline vor.
(12.28)
518
12. Spezielle Splines
Algorithmus 12.6. (Kubische B´ezier-Spline-Kurve) Gegeben: m + 1 Gewichtspunkte dk , k = 0(1)m, m ≥ 2, dk ∈ R2 oder dk ∈ R3 . Gesucht:
m kubische Polynome Pk (v) = (1 − v)3 b3k + 3(1 − v)2 vb3k+1 + +3(1 − v)v 2 b3k+2 + v 3 b3k+3 , v ∈ [0, 1], k = 0(1)m−1.
1. Schritt: Bestimmung der 3m − 1 B´ezier-Punkte b1 , b2 , . . . , b3m−1 mit (12.27). 2. Schritt: Wahl der Randpunkte mit (12.28).
¨ Vorteile. Die Anderung eines Gewichtspunktes dk wirkt sich nur auf die B´ezier-Punkte ¨ b3k−3 , b3k−2 , . . . , b3k+2 , b3k+3 aus und ruft daher nur eine lokale Anderung des Kur¨ venverlaufs hervor. Ahnliches gilt beim Hinzuf¨ ugen neuer Gewichtspunkte (Abb. 12.9). Deshalb k¨onnen die kubischen B´ezier-Splines in gut kontrollierter Weise zur Modellierung verwendet werden. F¨ ur die Erzeugung eines kubischen B´ezier-Spline ist die L¨osung eines linearen Gleichungssystems nicht erforderlich. .................................................................................................................................................................................................................................................................................................................................... .. ... ... . ............................................ ..... ... ....................... ............ . . . . . . . . . . ... ... . .......... ...... . . . . . . . . . . . ... . ... . ........ ...... . . . . . . . . . ... ... . . ....... ..... . . . . . . . ... ... . . ....... .... . . . . . . ... ... . ...... .... . . . . . ... . ... . ...... .... . . . . . ... ... . ..... ... . . . . . . . ... ... . ..... .... . . . . . ... . ... . ..... ... . . . . . ... . . ... ..... .... . . . . . ... ... . . ..... .... . . . . . ... ... . . . ..... ..... . ... .. .....................................................................................................................................................................................................................................................................................................................................
r
r
r
r
r
r
.................................................................................................................................................................................................................................................................................................................................... ... .... .... ... .... ... ... ... ... ... ... ... ... ... ... ... ... ... . . . . . . . . ... . . ... . .... ...... ... . ... .. .. . ... ... ... .. ... . . ... ... .. ... . ... ... .. . ... ... ... .. . . ... ... ... .. ... . ... ... .. . ... . ... ... .. . ... ... ... .. . ... . ... ... . . ... . ... ... .. . . . ... . ... . .... ... . . ... . ... .... .. . . . . . ... . ... .... ... . . . . . ... . ... . .... .................................................................................. ....... . . . ... ... . .......... ..... ................... . . . . . . . ... . . ... . ............. ......... . . . . . . . . . . ... . . . . ... ........ ..... . . . . . . . ... . . ... ...... ..... . . . . . . . ... . ... . ...... ..... . . . . . ... ... . . ...... .... . . . . . ... ... . ..... ... . . . . . . ... . ... . ..... .... . . . . . ... ... . . ..... ... . . . . . ... . ... ..... .... . . . . . . ... ... . ..... .... . . . . . . ... ... . ..... ... . . . . . ... . . .. . . ......................................................................................................................................................................................................................................................................................................................................
r
r
r
r
r
r
r
Abb. 12.9. Hinzuf¨ ugen eines Gewichtspunktes
12.3 B´ezier -Splines
519
Nachteil. Es k¨onnen nicht die Interpolationspunkte b3k , k = 1(1)m−1, vorgegeben werden, sondern nur die recht unanschaulichen Gewichtspunkte dk . Die Interpolationspunkte werden erst im Verlauf der Durchf¨ uhrung berechnet. Eine Modifizierung dazu ist in Abschnitt 12.3.3 zu finden; man erh¨ alt damit modifizierte (interpolierende) B´ezier-Splines, siehe dazu auch andere Darstellungen in [HOSC1989].
Besonderheiten der kubischen B´ ezier-Splines Will man mit Hilfe kubischer B´ezier-Splines einen Knick erzeugen, so l¨asst man einfach drei aufeinander folgende Gewichtspunkte (z. B. di−1 , di , di+1 ) zusammenfallen. Dann ist n¨amlich die Interpolationsstelle b3i mit diesen Gewichtspunkten identisch und damit die B´ezier-Kurve an der Stelle b3i nicht mehr differenzierbar.
d i−1 = d i = d i+1 = b 3i b 3i−4 = b 3i−3
b d i−2 r c b 3i−6 b b r d i−3
cpXX X bX b 3i+3 = b 3i+4 b X X bX Xr d i+2 Z ZX cS b 3i+6 Z Sb Z S Sb S
d i+3S Sr
Abb. 12.10. B´ezier-Spline mit Knick Die Kurvensegmente zwischen b3i−4 und di bzw. di und b3i+4 sind Geradenst¨ ucke.
12.3.2
B´ ezier-Spline-Fl¨ achen
Eine B´ezier-Spline-Fl¨ ache setzt sich st¨ uckweise aus B´ezier-Fl¨achen, den sogenannten Pflastern (patches) zusammen. Im Folgenden werden nur bikubische B´ezier-Spline-Fl¨achen und Pflaster betrachtet. Eine bikubische B´ezier-Fl¨ ache besitzt die Darstellung P (v, w) =
3 X 3 X
Bj3 (v)Bs3 (w)bjs ,
v ∈ [0, 1], w ∈ [0, 1].
(12.29)
j=0 s=0
Dabei sind Bj3 (v), Bs3 (w) Bernstein-Polynome 3. Grades, vgl. (12.19), und bjs ∈ R3 , j = 0(1)3, s = 0(1)3, sind die 16 B´ezier-Punkte der Fl¨ache. Diese Darstellung ergibt sich aus der folgenden Erzeugung der B´ezier-Fl¨ache. Im Raum sei eine kubische B´ezier-Kurve
520
12. Spezielle Splines
P(v) =
3 X
Bj3 (v)bj ,
v ∈ [0, 1],
j=0
gegeben, vgl. (12.20), (12.21). Jeder B´ezier-Punkt bj durchlaufe nun selbst eine kubische B´ezier-Kurve 3 X bj (w) = Bs3 (w)bjs , w ∈ [0, 1], j = 0(1)3. s=0
Die Kurve P(v) wird also, im Allgemeinen bei gleichzeitiger Gestalt¨anderung, im Raum bewegt und u ache mit der Darstellung ¨ berstreicht dabei eine Fl¨ 3 X P(v, w) = Bj3 (v)bj (w) j=0
=
3 X
Bj3 (v)
3 X
Bs3 (w)bjs
s=0
j=0
¨ in Ubereinstimmung mit (12.29). F¨ ur w = const. ergeben sich die v-Kurven, f¨ ur v = const. die w-Kurven der B´ezierFl¨ache. Aus den Eigenschaften der Bernstein-Polynome folgt, dass die B´ezier-Punkte (Randpunkte) P(0, 0) = b00 , P(1, 0) = b30 , P(0, 1) = b03 , P(1, 1) = b33 auf der B´ezierFl¨ache liegen, vgl. Abb. 12.11. Die Punkte bj0 , bj3 , j = 0(1)3, b0s , b3s , s = 0(1)3, sind die B´ezier-Punkte der Randkurven der B´ezier-Fl¨ache (Abb. 12.11). Wegen (12.22), angewendet auf die Randkurven, sind die Tangentialebenen der B´ezierFl¨ache in den Randpunkten durch die folgenden (nicht kollinearen) Punkttripel bestimmt: (b00 , b10 , b01 ), (b30 , b31 , b20 ), (b03 , b02 , b13 ), (b33 , b23 , b32 ). Die 16 B´ezier-Punkte sind im Raum so zu w¨ ahlen, dass 9 (im Allgemeinen nicht ebene) Vierecke entstehen (Abb. 12.11). b 0,3 b 0,2..................................c...........................................
b
b
b 1,3 .. ... . .. ............................................... ........................................................ ........ ....... ............ ........... ............. ....... ....... ...... ................. . . .............. . . . ...... ........ .... b 1,2 ............. ...... ...... ......... ...... ... ... .. .. ...................................................... ................................................... b 2,3 . ... ........ ........... . . . . . . . . ..... .... .... ........ .... . .. ...... .. . . ..... ... . . . . . . . . . . . .... b 2,2 ...... ..... ... .. b 1,1 .............. . . ........... . . . . . . .... ........ ....... ..... ... ..... .... ... .......... ......... .......... .... ..... ... . ........ . . . . . . .... ...... ... ...... .. ....... . . . . . ........ . . . . .... .... .... .. .. . ...... . . . . . . . . . . . . .... ........ .. ... b 2,1...... . ....... . . . .... . . . . . .... .... .. .. . . . .... . . . . . . . ....b 3,2 ........ .... 1,0 .. . ...............................................b . . . . . . . . . . . . . . . .... b 0,0 ........... ............................ ............. .. ..... .............. ...... . . . . . . . . . . . . . . . . ... .. ......... . .... b 3,1.......... .... ..... ........ ............... ....... .... .......... ................................................................... ...... ........ . . ... ............ ...... ......... ... ....... ............ b 2,0 ........ .. ....... ....... ..... ... ....... ............... ....... ...... . . . ....... . . ....... ..... ........ ...... . ....... . . . . . . . . . . . . . . ...... ..... ....... ....... .... . . . ............ ....... . . . . . . . ... ... ....... ............. . . . . . . . . . . ....... ............ ... . ....... ....... .... ...... ....... ...... ...... ....... . b 3,0 ...... ....... ...... .... ....... ...... . . . ....... . . . . .. ....... ...... .... ....... ...... ....... ... ...... ....... . ...... ....... ....... .... .......... ............... ... b 0,1 .................................
b
b
b
b
b
b
c
b
b
b
b
cb 3,3
c
Abb. 12.11. Bikubische B´ezier-Fl¨ ache, gleichzeitig Pflaster i = 0, k = 0 einer bikubischen B´ezier-Spline-Fl¨ache
12.3 B´ezier -Splines
521
Eine bikubische B´ezier-Spline-Fl¨ ache setzt sich aus m·n bikubischen Pflastern zusammen (Abb. 12.11): 3 X 3 X Pik (v, w) = Bj3 (v)Bs3 (w)b3i+j,3k+s , (12.30) j=0 s=0
i = 0(1)m−1, k = 0(1)n−1. Ausf¨ uhrlich lautet diese Darstellung eines Pflasters Pik (v, w)
=
3 3 X X
Bj3 (v)
s=0
j=0
= + + + + + + + +
! Bs3 (w)b3i+j,3k+s
[b3i,3k (1 − w)3 3b3i,3k+1 (1 − w)2 w + 3b3i,3k+2 (1 − w)w2 b3i,3k+3 w3 ](1 − v)3 + 3[b3i+1,3k (1 − w)3 3b3i+1,3k+1 (1 − w)2 w + 3b3i+1,3k+2 (1 − w)w2 b3i+1,3k+3 w3 ](1 − v)2 v + 3[b3i+2,3k (1 − w)3 3b3i+2,3k+1 (1 − w)2 w + 3b3i+2,3k+2 (1 − w)w2 b3i+2,3k+3 w3 ](1 − v)v 2 + [b3i+3,3k (1 − w)3 3b3i+3,3k+1 (1 − w)2 w + 3b3i+3,3k+2 (1 − w)w2 b3i+3,3k+3 w3 ]v 3
(12.31)
Die Nummerierung der B´ezier-Punkte ist so gew¨ ahlt, dass sich f¨ ur benachbarte Pflaster Randkurven mit denselben B´ezier-Punkten ergeben. Damit ist gesichert, dass benachbarte Pflaster stetig aneinander schließen. Aus (12.31) folgt z. B., dass f¨ ur die benachbarten Pflaster (i−1, k) und (i, k) gilt: Pi−1,k (1, w)
=
3 X
Bs3 (w)b3(i−1)+3,3k+s
s=0
=
3 X
Bs3 (w)b3i,3k+s = Pik (0, w).
s=0
Pflaster i,k w
i−1,k
i,k
i−1,k−1
v
i,k−1
Abb. 12.12.
522
12. Spezielle Splines
Berechnung der bikubischen B´ ezier-Splines F¨ ur die hier zu konstruierende B´ezier-Spline-Fl¨ ache wird vorausgesetzt, dass f¨ ur die partiellen Ableitungen erster und zweiter Ordnung von (12.31) nach v bzw. w benachbarter Pflaster (i−1, k−1), (i−1, k), (i, k−1) und (i, k) die folgenden Bedingungen erf¨ ullt sind: P (1, 1)|v = Pi,k−1 (0, 1)|v , i−1,k−1 Pi−1,k (1, 0)|v = Pi,k (0, 0)|v , (12.32) Pi−1,k−1 (1, 1)|w = Pi−1,k (1, 0)|w , P = Pi,k (0, 0)|w , i,k−1 (0, 1)|w wobei |v , |w die partiellen Ableitungen nach v bzw. w bedeuten, und Pi−1,k−1 (1, 1)|vv Pi−1,k−1 (1, 1)|vw Pi−1,k (1, 0)|vv Pi−1,k (1, 0)|vw
= Pi,k−1 (0, 1)|vv ,
Pi−1,k−1 (1, 1)|ww Pi−1,k−1 (1, 1)|wv Pi,k−1 (0, 1)|ww Pi,k−1 (0, 1)|wv
= Pi−1,k (1, 0)|ww ,
= Pi,k−1 (0, 1)|vw , = Pi,k (0, 0)|vv , = Pi,k (0, 0)|vw ,
(12.33)
= Pi−1,k (1, 0)|wv , = Pi,k (0, 0)|ww , = Pi,k (0, 0)|wv ,
wobei |vv , |vw , |ww , |wv die zweiten partiellen Ableitungen bezeichnen. Aus den Bedingungen (12.32) und (12.33) lassen sich mit den sogenannten Gewichtspunkten dik :=
b3i−2,3k−2 − 2b3i−2,3k−1 − 2b3i−1,3k−2 + 4b3i−1,3k−1
=
4b3i+1,3k+1 − 2b3i+1,3k+2 − 2b3i+2,3k+1 + b3i+2,3k+2
= −2b3i−2,3k+1 + 4b3i−1,3k+1 − 2b3i−1,3k+2 + b3i−2,3k+2 = −2b3i+1,3k−2 + 4b3i+1,3k−1 + b3i+2,3k−2 − 2b3i+2,3k−1
12.3 B´ezier -Splines
523
die folgenden Gleichungen ableiten: 4 2 2 1 b3i−2,3k−2 = 9 di−1,k−1 + 9 di−1,k + 9 di,k−1 + 9 di,k f¨ ur i = 1(1)m, k = 1(1)n, b3i−2,3k+2 = 49 di−1,k+1 + 29 di−1,k + 29 di,k+1 + 19 di,k f¨ ur i = 1(1)m, k = 0(1)n−1, b3i+2,3k−2 = 49 di+1,k−1 + 29 di,k−1 + 29 di+1,k + 19 di,k f¨ ur i = 0(1)m−1, k = 1(1)n, 4 b = 9 di+1,k+1 + 29 di,k+1 + 29 di+1,k + 19 di,k 3i+2,3k+2 f¨ ur i = 0(1)m−1, k = 0(1)n−1, 1 b3i−2,3k = 9 di−1,k−1 + 49 di−1,k + 19 di−1,k+1 + 1 1 + 18 di,k−1 + 29 di,k + 18 di,k+1 f¨ ur i = 1(1)m, k = 1(1)n−1, 1 b3i,3k−2 = 9 di−1,k−1 + 49 di,k−1 + 19 di+1,k−1 + b3i,3k+2 b3i+2,3k b3i,3k
1 + 18 di−1,k + 29 di,k +
1 18 di+1,k
(12.34)
f¨ ur i = 1(1)m−1, k = 1(1)n, =
1 4 1 9 di−1,k+1 + 9 di,k+1 + 9 di+1,k+1 + 1 1 + 18 di−1,k + 29 di,k + 18 di+1,k
f¨ ur i = 1(1)m−1, k = 0(1)n−1, =
1 4 1 9 di+1,k−1 + 9 di+1,k + 9 di+1,k+1 + 1 1 + 18 di,k−1 + 29 di,k + 18 di,k+1
f¨ ur i = 0(1)m−1, k = 1(1)n−1, =
1 1 d + 19 di,k−1 + 36 di+1,k−1 + 36 i−1,k−1 + 19 di−1,k + 49 di,k + 19 di+1,k + 1 + 36 di−1,k+1 + 19 di,k+1 +
1 36 di+1,k+1
f¨ ur i = 1(1)m−1, k = 1(1)n−1.
Kennt man nun die dik in den Gleichungen (12.34), so lassen sich die nicht an den R¨andern der Fl¨ache gelegenen B´ezier-Punkte mit Hilfe dieser Gleichungen bestimmen. F¨ uhrt man also die (m + 1)(n + 1) Gewichtspunkte dik als unabh¨angige Gr¨oßen ein, so sind folglich die inneren B´ezier-Punkte bekannt. F¨ ur die Berechnung der bikubischen Polynome (12.31) fehlen nur noch die an den R¨ andern liegenden 6(m + n) B´ezier-Punkte b0,s , b3m,s , bj,0 und bj,3n , s = 0(1)3n, j = 1(1)3m−1, welche ebenfalls als unabh¨angige Gr¨oßen vorgegeben werden.
524
12. Spezielle Splines b0,6 ×d
d
d
d
q
q
d
q
q
b0,3 ×d
q
q
d
q
q
d
q
q
b0,0 ×d
d
d
b3,6 ×d
d
d
b6,6 ×d
q
q
q
d
q
q
q
d
q
q
b6,3 ×d
q
q
q
d
q
q
q
d
d
d
b6,0 ×d
b3,3 ×q
b3,0 ×d
Abb. 12.13. ◦ vorzugebende B´ezier-Punkte, r errechnete B´ezier-Punkte und × Interpolationsstellen in der Parameterebene Das Rechteckgitter gibt hier nur Aufschluss u ¨ ber die Reihenfolge der B´ezier-Punkte, nicht u ¨ber ihre relative Lage zueinander im Raum Korrektur bikubischer B´ ezier-Splines Verschiebt man einen Gewichtspunkt dik eines bikubischen B´ezier-Splines um 36d , so a¨ndern sich die B´ezier-Punkte bj,s in den angrenzenden Pflastern in der folgenden Weise: ∗ Aus den Gleichungen (12.34) ergeben sich die neuen B´ezier-Punkte bjs zu ∗ b3i−2,3k−2 ∗ b3i−2,3k+2 ∗ b3i+2,3k−2 ∗ b3i+2,3k+2 ∗ b3i−2,3k
= = = = =
∗ b3i,3k−2
=
∗ b3i,3k+2
=
∗ b3i+2,3k
=
∗ b3i,3k
=
[4di−1,k−1 + 2di−1,k + 2di,k−1 + di,k + 36d ] / 9 = b3i−2,3k−2 + 4d , [4di−1,k+1 + 2di−1,k + 2di,k+1 + di,k + 36d ] / 9 = b3i−2,3k+2 + 4d , [4di+1,k−1 + 2di,k−1 + 2di+1,k + di,k + 36d ] / 9 = b3i+2,3k−2 + 4d , [4di+1,k+1 + 2di,k+1 + 2di+1,k + di,k + 36d ] / 9 = b3i+2,3k+2 + 4d , [2di−1,k−1 + 8di−1,k + 2di−1,k+1 + di,k−1 + 4(di,k + 36d ) + di,k+1 ] / 18 = b3i−2,3k + 8d , [2di−1,k−1 + 8di,k−1 + 2di+1,k−1 + di−1,k + 4(di,k + 36d ) + di+1,k ] / 18 = b3i,3k−2 + 8d , [2di−1,k+1 + 8di,k+1 + 2di+1,k+1 + di−1,k + 4(di,k + 36d ) + di+1,k ] / 18 = b3i,3k+2 + 8d , [2di+1,k−1 + 8di+1,k + 2di+1,k+1 + di,k−1 + 4(di,k + 36d ) + di,k+1 ] / 18 = b3i+2,3k + 8d , [di−1,k−1 + 4di,k−1 + di+1,k−1 + 4di−1,k + 16(di,k + 36d ) + 4di+1,k + di−1,k+1 + 4di,k+1 + di+1,k+1 ] / 36 = b3i,3k + 16d .
12.3 B´ezier -Splines
525
¨ Die Anderungen der restlichen, in der nachstehenden Tabelle aufgef¨ uhrten B´ezier-Punkte errechnet man analog.
3i + 3 3i + 2 3i + 1 3i 3i − 1 3i − 2 3i − 3
+d +2d +4d +4d +4d +2d +d
+2d +4d +8d +8d +8d +4d +2d
+4d +8d +16d +16d +16d +8d +4d
+4d +8d +16d +16d +16d +8d +4d
+4d +8d +16d +16d +16d +8d +4d
+2d +4d +8d +8d +8d +4d +2d
+d +2d +4d +4d +4d +2d +d
3k − 3
3k − 2
3k − 1
3k
3k + 1
3k + 2
3k + 3
(12.35)
¨ Eine Anderung der ¨ außeren B´ezier-Punkte bj,s (j ∈ {0, ..., 3m}, s ∈ {0, . . . , 3n}) ¨andert die u ¨brigen B´ezier-Punkte nicht. Korrigiert man nun statt des Gewichtes dik den B´ezier-Punkt b3i,3k um 16d , so ¨andern sich der Gewichtspunkt dik um 36d und die entsprechenden B´ezier-Punkte bj,s um die in der Tabelle (12.35) aufgezeigten Werte. Als wesentliches Ergebnis der Untersuchung ¨ des Verhaltens von bikubischen B´ezier-Splines gegen¨ uber Anderungen der Vorgabepunkte kann man feststellen, dass eine mittels des bikubischen B´ezier-Verfahrens errechnete Splinefl¨ache (im Gegensatz zu den bikubischen Splines in Abschnitt 12.1) lokal ¨ anderbar ist, was dem bikubischen B´ezier-Verfahren f¨ ur die praktische Anwendung gegen¨ uber den bikubischen Splines erhebliche Vorteile einr¨ aumt. Nachteil. Bei der praktischen Anwendung des kubischen bzw. bikubischen B´ezierVerfahrens wird dem Benutzer auffallen, dass er zwar den Verlauf der jeweils zu bestimmenden Splinekurve (-fl¨ ache) an den R¨ andern durch Vorgabe der ¨außeren B´ezier-Punkte relativ exakt bestimmen kann, dass er aber auf den Verlauf der Splinekurven im Inneren der Fl¨ache nur indirekt, d. h. durch die Wahl der sehr unanschaulichen Gewichtspunkte, Einfluss aus¨ uben kann. Es liegt also nahe, diese Verfahren so zu modifizieren, dass man statt der Gewichtspunkte die Interpolationsstellen des kubischen bzw. bikubischen B´ezier-Spline vorgeben kann, um ein f¨ ur die Anwendung besser einsetzbares, echtes Interpolationsverfahren zu erhalten, vgl. Abschnitt 12.3.3.
Algorithmus 12.7. (Berechnung eines bikubischen B´ezier-Spline) Gegeben: 1. b0,s , b3m,s , bj,0 , bj,3n f¨ ur s = 0(1)3n, j = 0(1)3m als a ußere B´ e zier-Punkte. ¨ 2. dik , i = 0(1)m , k = 0(1)n , als Gewichtspunkte. Gesucht: Bikubischer B´ezier-Spline (12.30). 1. Schritt: Bestimmung der 9(m−1)(n−1) inneren B´ezier-Punkte mit (12.34). 2. Schritt: Aufstellung der m · n bikubischen Polynome (12.31) f¨ ur i = 0(1)m−1, k = 0(1)n−1.
526
12. Spezielle Splines
Im Anschluss werden noch Beispiele f¨ ur Fl¨ achen angegeben, die sich mit Hilfe des bikubischen bzw. modifizierten bikubischen B´ezier-Verfahrens darstellen lassen.
Abb. 12.14. Erzeugung einer sich selbst durchdringenden Fl¨ache
Abb. 12.15. Erzeugung einer geschlossenen Fl¨ache (Ringtorus)
12.3 B´ezier -Splines
527
r
....... .................................... .................................................... .................................................. ......................................................................................................................... . . . . . . . . . . . . . ........ .. ... .... ......................... .................................................................................................. ................................. .............. ......................................... ............................................................................................................................................................... . . . . . . . ... .. .. . ............................... ....... ..................................................................... ............................................................ .............. ....................... ...................... ......................... ................................... ...................................................... ..................................... ............................................ ...... ... ............................... ......................................................................................................................................................................................................................... . . ................... ... ... ... .... ... ........... ... ............................ ................................................................................................... .................... ............................... ....................................................................................................................................................................................................... ................................ .. .. ... .. .. ......... .. ..... .... ......... .. ............................. ..................................................................... .... .... ....................... ................................................................................................ . . .. ....... . . . . . ..... . . . . . .. . .. . . .. .. . . ..................................... ... ... ... ................................. ................................................................................ .................. .. .. .. .. .. ... ... ............. ................ ................ ..................................... ... ... ........................... ....................
r
z y 6 x
r
r
r
r
r
a)
r
r .................... .....................................................................................
r z y 6 x
..... ...... ......... . ........ ........................................................................................................................................................................................................................r .. . . . ... ............ ...................................................r ........................................................................................................................................................ .......................................................................................................................................................................................................................................................................................................r ..r . . . . . . . . . . .................................................................................................................................................................................................................................................. ...r ............................................. ......................................................................................r ....................... .. ............................................................................................... .r....................................................................................... .r
b)
Abb. 12.16. a) Konstruierte B´ezier-Spline-Fl¨ache zu den eingetragenen Interpolationsstellen ¨ b) Anderung einer Interpolationsstelle in a) und die dazugeh¨ orige B´ezier-Spline-Fl¨ ache
12.3.3
Modifizierte (interpolierende) kubische B´ ezier-Splines
Eine wegen der in Abschnitt 12.3.2 genannten Nachteile sinnvolle Modifikation der bisher behandelten B´ezier-Verfahren ist z. B. in [STEU1979] und [HOSC1989] angegeben. In [STEU1979] wird das bikubische B´ezier-Verfahren zu einem echten“ Interpolations” verfahren ausgebaut, indem statt der Gewichtspunkte dik neben den 6(m + n) ¨außeren B´ezier-Punkten b0,s , b3m,s , bj,0 , bj,3n , s = 0(1)3n, j = 1(1)3m−1, die (m−1)(n−1) B´ezier-Punkte b3i,3k , i = 1(1)m−1, k = 1(1)n−1, als Interpolationspunkte des bikubischen B´ezier-Spline vorgegeben werden. Zun¨achst werden diese Interpolationspunkte als Gewichtspunkte betrachtet, zu welchen man sich durch Mittelbildung sogenannte Pseudointerpolationspunkte errechnet, die unter Beachtung des Korrekturverhaltens bikubischer B´ezier-Splines so lange verschoben werden, bis sie um weniger als ein vorgegebenes ε > 0 von den gegebenen Interpolationspunkten abweichen.
528
12.4
12. Spezielle Splines
B-Splines
Wie die B´ezier-Splines sind auch die B-Splines parametrisch und nicht interpolierend. Gegen¨ uber den B´ezier-Splines sind die B-Splines leichter in der Handhabung und deshalb im Allgemeinen vorzuziehen. Ganz besonders macht sich das bei den geschlossenen Kurven bzw. Fl¨achen bemerkbar, f¨ ur diese sind nur die B-Splines zu empfehlen.
12.4.1
B-Spline-Kurven
F¨ ur eine B-Spline-Kurve sind n + 1 de Boor-Punkte1 (Kontrollpunkte) di , i = 0(1)n, n ≥ 1, di ∈ R2 oder di ∈ R3 , vorzugeben. Diese Punkte d0 , d1 , . . . , dn sind die Ecken des de Boor-Polygons. Zu gegebenen n+1 de Boor-Punkten wird eine B-Spline-Kurve der Ordnung k, 1 ≤ k ≤ n+1, mit Hilfe normalisierter B-Spline-Funktionen Ni,k wie folgt erzeugt: n X P(t) = Ni,k (t)di , t ∈ I. (12.36) i=0
Zun¨achst werden die Definition und einige Eigenschaften der B-Spline-Funktionen Ni,k behandelt. Gegeben seien k + 1 reelle Parameterwerte tj , j = i(1)i+k, k ≥ 1, mit ti < ti+1 < . . . < ti+k ; die tj werden auch Knoten genannt. Je zwei benachbarte Knoten bestimmen ein Intervall. Die zu diesen Knoten geh¨ orige normalisierte B-Spline-Funktion Ni,k der Ordnung k wird wie folgt definiert: 1 f¨ ur ti ≤ t < ti+1 k = 1 : Ni,1 (t) = 0 f¨ ur t < ti und t ≥ ti+1 (12.37) t − t t − t i+k i k ≥ 2 : Ni,k (t) = ti+k−1 − ti Ni,k−1 (t) + ti+k − ti+1 Ni+1,k−1 (t). Das Intervall [ti , ti+k ] heißt Tr¨ ager von Ni,k . Die Ordnung k gibt an, aus wievielen Teilintervallen, beginnend bei ti , der Tr¨ ager besteht. Die B-Spline-Funktion Ni,k ist nur auf ihrem Tr¨ager von Null verschieden. F¨ ur k ≥ 2 gilt: Ni,k (t) > 0 f¨ ur ti < t < ti+k , Ni,k (t) = 0
f¨ ur
t ≤ ti und t ≥ ti+k .
Aufgrund der rekursiven Definition (12.37) gilt f¨ ur k ≥ 2: Ni,k (t) setzt sich st¨ uckweise aus k Polynomen (k − 1)ten Grades zusammen (je eines in jedem Teilintervall des Tr¨ agers), die an den inneren Knoten tj , ti < tj < ti+k , des Tr¨agers C k−2 -stetig aneinander schließen. 1 Die de Boor-Punkte d sind verschieden von den ebenso bezeichneten Gewichtspunkten der B´ ezieri Spline-Kurven.
12.4 B-Splines
529
F¨ ur einen glatten Anschluss muss k − 2 ≥ 1, also k ≥ 3 sein. Nach (12.36) werden f¨ ur eine B-Spline-Kurve mit den n+1 Kontrollpunkten di , i = 0(1)n, ebenso viele B-Spline-Funktionen Ni,k mit den insgesamt n + 1 + k Knoten t0 , t1 , . . . , tn , tn+1 , . . . , tn+k ben¨otigt. Die Knoten k¨onnen mittels tj := j, j = 0(1)n+k, normiert werden: 0, 1, . . . , n, n + 1, . . . , n + k; alle Teilintervalle haben dann die L¨ ange 1, und (12.37) lautet 1 f¨ ur i≤ t
r X
Ni,k (t)di ,
t ∈ [tr , tr+1 ).
(12.38)
i=r−k+1
¨ Ubrigens gilt
n P
r P
Ni,k (t) = 1, f¨ ur t ∈ [tr , tr+1 ) also
i=0
Ni,k (t) = 1, d. h. an jeder
i=r−k+1
Stelle dieses Teilintervalls wird das Gesamtgewicht 1 auf die k de Boor-Punkte dr−k+1 bis dr verteilt. Die Berechnung von P(t) erfolgt zweckm¨ aßig mit dem de Boor-Algorithmus, f¨ ur dessen Formulierung αji,k :=
t − ti ti+k−j − ti
(12.39)
und j j j−1 Dij := αi,k Dij−1 + (1 − αi,k )Di−1 ,
Di0 := di
(12.40)
f¨ ur k ≥ 2, j ≥ 1 ben¨ otigt werden. Mit (12.39) lautet (12.37) f¨ ur k ≥ 2 1 1 Ni,k (t) = αi,k Ni,k−1 (t) + (1 − αi+1,k )Ni+1,k−1 (t).
Damit ergibt sich f¨ ur (12.38) P(t) =
r X
1 1 [Ni,k−1 (t)αi,k di + Ni+1,k−1 (t)(1 − αi+1,k )di ].
i=r−k+1
(12.41)
530
12. Spezielle Splines
Wird im zweiten Summanden i + 1 durch i ersetzt und beachtet, dass f¨ ur die Ni,k−1 wegen t ∈ [tr , tr+1 ) die Summation ab i = r − (k − 1) + 1 gen¨ ugt, so folgen r X
P(t) =
1 1 Ni,k−1 (t)[αi,k di + (1 − αi,k )di−1 ]
i=r−(k−1)+1
und mit (12.40) f¨ ur j = 1 r X
P(t) =
Ni,k−1 (t)Di1 .
i=r−(k−1)+1
Dieser Prozess l¨asst sich fortsetzen. Mit k − j + 1 anstelle von k lautet (12.41) 1 Ni,k−j+1 (t) = α1i,k−j+1 Ni,k−j (t) + (1 − αi+1,k−j+1 )Ni+1,k−j (t) j und wegen α1i,k−j+1 = αi,k , vgl. (12.39), j Ni,k−j+1 (t) = αji,k Ni,k−j (t) + (1 − αi+1,k )Ni+1,k−j (t).
Damit ergibt sich wie oben im ersten Schritt mit r − (k − j + 1) + 1 = r − (k − j) P (t)
r X
= = =
Ni,k−(j−1) (t)Dij−1
i=r−(k−j) r X i=r−(k−j)+1 r X
j j j−1 Ni,k−j (t)[αi,k Dij−1 + (1 − αi,k )Di−1 ]
Ni,k−j (t)Dij .
i=r−(k−j)+1
Das Verfahren bricht ab, wenn die Summe nur noch einen Summanden enth¨alt, wenn also r − (k − j) + 1 = r und somit j = k − 1 ist. Dann ist wegen (12.37) P (t) = Nr,k−j (t)Drj = Nr,1 (t)Drk−1 = Drk−1 . Der de Boor-Algorithmus l¨ asst sich u ¨bersichtlich in dem folgenden Schema darstellen.
j=1
j=2
...
j =k−2
j =k−1
0 dr−k+1 = Dr−k+1 0 dr−k+2 = Dr−k+2
1 Dr−k+2
0 dr−k+3 = Dr−k+3 .. .
1 Dr−k+3
2 Dr−k+3
0 dr−1 = Dr−1
1 Dr−1
2 Dr−1
...
k−2 Dr−1
dr = Dr0
Dr1
Dr2
...
Drk−2
Drk−1 = P(t) t ∈ [tr , tr+1 )
12.4 B-Splines
531
Ein Punkt Dij der Spalte j entsteht aus dem links und links oben notierten Punkt Dij−1 j−1 bzw. Di−1 der Spalte j − 1 nach (12.40) mit (12.39). Beim horizontalen Fortschreiten wird mit αji,k , beim absteigenden mit (1 − αji,k ) multipliziert. (Da in den Endformeln die j αi,k nur mit demselben Index k auftreten, kann auf die Angabe dieses Index verzichtet werden.) F¨ ur den ersten de Boor-Punkt d0 ist r − k + 1 = 0, also r = k − 1, f¨ ur dn , den letzten, ist r = n. Daher k¨onnen mit dem de Boor-Algorithmus Punkte P(t) mit t ∈ [tr , tr+1 ) f¨ ur r = (k − 1)(1)n berechnet werden, d. h. f¨ ur tk−1 ≤ t < tn+1 . Da stets k de Boor-Punkte ben¨otigt werden, muss n + 1 ≥ k sein. Der de Boor-Algorithmus benutzt f¨ ur j=1 α1r−k+2,k bis α1r,k , d. h. wegen (12.39) die Knoten tr−k+2 , . . . , tr , tr+1 , . . . , tr+k−1 . F¨ ur r = k − 1 bis r = n sind das also t1 , . . . , tk−1 , tk , . . . , tn , tn+1 , . . . , tn+k−1 . Die Randknoten t0 und tn+k werden demnach nicht ben¨ otigt. Es k¨onnen sowohl offene, d. h. nicht geschlossene, als auch geschlossene B-Spline-Kurven erzeugt werden. Da diese Kurven glatt sein sollen, wird k ≥ 3 vorausgesetzt, die Kurven werden also mit mindestens 3 de Boor-Punkten erzeugt. Offene B-Spline-Kurven Eine offene B-Spline-Kurve soll ebenso wie eine B´ezier-Kurve durch den ersten und letzten de Boor-Punkt d0 bzw. dn gehen, und die Verbindungsgeraden von d0 und d1 bzw. von dn−1 und dn sollen Tangenten der Kurve sein. Das l¨asst sich erreichen, indem die ersten und letzten k Knoten einander gleichgesetzt werden. Die Knoten einer offenen B-Spline-Kurve sind also t0 = t1 = . . . = tk−1 < tk < . . . < tn < tn+1 = tn+2 = . . . = tn+k . Zwischen tk−1 und tn+1 liegen n − k + 2 Intervalle, deren L¨ange von Null verschieden ist. Eine Kurve maximaler Ordnung k = n + 1 ist eine B´ezier-Kurve mit dem Intervall [tn , tn+1 ]. F¨ ur eine uniforme, offene B-Spline-Kurve der Ordnung k ≥ 3 k¨onnen die normierten Knoten wie folgt erzeugt werden: t =k−1 f¨ ur j = 0(1)k−1, j tj = j f¨ ur j = k(1)n, falls k ≤ n ist, (12.42) tj = n + 1 f¨ ur j = n+1(1)n+k. Falls beim de Boor-Algorithmus wegen zusammenfallender Knoten ein αji,k mit verschwindendem Nenner auftritt, ist αji,k = 0 zu setzen.
532
12. Spezielle Splines
Geschlossene B-Spline-Kurven Eine geschlossene B-Spline-Kurve wird erzeugt mit dn+1 := d0 ,
dn+2 := d1 , . . . ,
so dass die de Boor-Punkte zyklisch durchlaufen werden k¨onnen. Der de Boor-Algorithmus kann dann f¨ ur insgesamt n + 1 k-Tupel aufeinander folgender de Boor-Punkte (dr−k+1 , . . . , dr ), r = k − 1(1)n + k − 1, durchgef¨ uhrt werden: (d0 , d1 , . . . , dk−1 ), .. . (dn−k+1 , . . . , dn−1 , dn ), (dn−k+2 , . . . , dn , dn+1 ), .. . (dn , dn+1 , . . . , dn+k−1 ). Dabei werden die Knoten t1 , . . . , tn+k−1 , tn+k , . . . , tn+2k−2 ben¨otigt, die alle verschieden sein m¨ ussen. F¨ ur eine geschlossene B-Spline-Kurve sind den n + 1 de Boor-Punkten d0 , . . ., dn also die k − 1 weiteren Punkte dn+1 = d0 , dn+2 = d1 , . . . , dn+k−1 = dk−2 hinzuzuf¨ ugen. F¨ ur t mit tk−1 ≤ t ≤ tn+k ergeben sich alle Punkte P(t) der geschlossenen B-SplineKurve. Die Anzahl der Teilintervalle ist n + 1, unabh¨angig von k. F¨ ur eine uniforme, geschlossene B-Spline-Kurve der Ordnung k ≥ 3 sind die normierten Knoten: tj = j f¨ ur j = 0(1)n + 2k − 1; (12.43) der erste und der letzte Knoten werden nicht ben¨otigt.
Algorithmus 12.8. (Uniforme B-Spline-Kurve) Gegeben: n + 1 de Boor-Punkte di , i = 0(1)n, n ≥ 2, di ∈ R2 oder di ∈ R3 ; Ordnung k, 3 ≤ k ≤ n + 1; Typ der Kurve: offen oder geschlossen. Gesucht: Punkte P(t) der uniformen B-Spline-Kurve. 1. Offene Kurve: Bereitstellung der Knoten (12.42). Das Intervall I = [k − 1, n + 1] enth¨alt n − k + 2 Teilintervalle. Geschlossene Kurve: Bereitstellung der Knoten (12.43). Das Intervall I = [k −1, n+k] enth¨alt n+1 Teilintervalle. Bereitstellung von k − 1 weiteren de Boor-Punkten dn+1 = d0 , dn+2 = d1 , . . . , dn+k−1 = dk−2 . 2. F¨ ur t ∈ I wird das Teilintervall [r, r + 1] mit r ≤ t < r + 1 ermittelt.
12.4 B-Splines
533
3. de Boor-Algorithmus: F¨ ur j = 1(1)k − 1 sind zu berechnen, jeweils f¨ ur i = (r − k + j + 1)(1)r i αij = t t − t− ti , i+k−j
(12.39)
j−1 Dij = αji Dij−1 + (1 − αji )Di−1 ,
Di0
(12.40)
= di
4. P(t) = Drk−1 .
Die folgenden Beispiele zeigen offene und geschlossene B-Spline-Kurven der Ordnungen 3, 4 und 5. Die Kurven der Ordnung 3 ber¨ uhren die Seiten des de Boor-Polygons; mit zunehmender Ordnung entfernen sich die Kurven vom Kontrollpolygon. ...................................... .. ... ... .. ..... ...... ..... ...... .... ... ..... .. ... ... ... .... .... ...... ....... ... . ...... .. ... .... ... .. .... ... ... ... .... ... ....... ........ .... .. ........... ............... ..... ............... ...... ............. ....... ..... ........ ..... . . . . . . . .... ......... .... ... ............... . .... ... . . . . .... .. .... ...... . . . . .... .. . ... .. ..... ... ... . ...... .......... ..... ... ........ ... ..... .... ..... ...... .... . . . . ........ .... ... . . ... ........ ..... .. .................................................................................
a) Ordnung 3
....................................... .. ..... ..... .. ... .. ... ... .. ... ... ... .. . .... ...... .... ...... ... ..... ...... ..... . ....... .. ... ... ... . . ... ... ... .. .. .. ... .... .. . .... ... ...... ..... .... ....... ...... .... ...... ....... ..... ...... .................. ........... ............. ........ ....... . . . . . . ........ .... ....... ............ . ........ ........... .... ..... .............. . . . . . .... . .... ...... . ..... .. . . . . ... .. ..... ... ... . . .. ... ... ...... ...... ... .. ...... ........ ...... .... ..... ........ ..... ........ . . . . . .... ... ..... .... . . ... ........... ...... .. .........................................................................................
............................... .. ........... .. ... .... .... ... ... .. ... ... ... ... ... ... . ... ... .... ... .. ... .... .. . ... .... ... ... . .. ... ... . ... ... ... ... ... ... ..... .... .... ......... .. .... ...... ......... ........ .. ...... .................... . . . .......... ..... .. ............ ............ ....... ....... ...... ......... ....... ............. . . . ....... .... . . .... ...... ...... .. . . . . . ....... .. .... .... . . . ........ . . ... ........ ... ..... ... .. .......... ....... ........ ... ... . . .... .. ... ... ... . . .... . . ... ..... .... .... .. ..... ... ....... ..... ... ... ...................................... . .............................................................
b) Ordnung 4
c) Ordnung 5
Abb. 12.17. Offene B-Spline-Kurven
......... ................... .. .......................................... .... ...................... .. .. ................................... . . . . ...... .. .. ......... ...... ...... ... ..... ... ....... . . .......... ... .......... ..... ... .... .... .. .... ...... .. .... ...... . ....... ... .... ....... ....... ....... ... ..... ..... ... . ....... .. . . ......... ..... . .. ..... ..... .. . . ..... ..... . .... .. ... . .... ..... .. . . ....... .. ....... . . ..... . . . ..... .. ...... ..... ............ .... ................. ............... ....... ......................
a) Ordnung 3
.......... ................... .... ................... ......................................................... ... ........................ ........... ... ... . ...... . .. ... ...... ... .. ........ ...... ....... .......... .... ... ....... ..... . .. ... ....... ...... .. ... .. .. ... ... ... .. ... .. ....... .... ... .... ..... .. .... ........ ...... ....... ..... .... ........ ...... . ......... .... . ... .... .. ... . .. .. .. .. .. .. . .. .. ... . .... ..... .. ..... . ..... ... ..... ....... . .... ......... . . .......... .......... ...... ............ .... .. .................................... ... .............................
.......... ................... .... ................... .. ................... ...................... ........................ ................ .... .... ...... ... .. ...... .... .. ... ...... ... . . . . ...... .. .......... .... ... ........ .... ... ....... .. .. . ... ... .... . . . . . .. ... .. .. ... ... . ....... .... .. .. ..... .. .. ... ..... ... ........ ....... .. ..... .. .......... ...... ... ...... ..... ... .... .. .... . .. .. .. ... . .. . .. .. . .. ... ..... .. ...... ..... ... ..... ..... .. . .. ......... ......... ...... ........... .... .. ............ .... .. ..... ................... ... . ............................
b) Ordnung 4 Abb. 12.18. Geschlossene B-Spline-Kurven
c) Ordnung 5
534
12. Spezielle Splines
Wie der de Boor-Algorithmus erkennen l¨ asst, wird ein Kurvensegment einer B-SplineKurve zum Intervall [tr , tr+1 ] nur von k de Boor-Punkten beeinflusst. Umgekehrt hat ein de Boor-Punkt di nur auf k Intervalle [ti , ti+1 ] bis [ti+k−1 , ti+k ] Einfluss. ¨ Somit wirkt sich die Anderung eines Kontrollpunktes in vorteilhafter Weise nur lokal auf den Kurvenverlauf aus, und zwar umso weniger, je niedriger die Ordnung k ist. Außerdem verl¨auft eine Kurve niedriger Ordnung in der N¨ ahe des Kontrollpolygons, so dass sich der Kurvenverlauf gut absch¨ atzen l¨ asst. G¨ unstig ist die Verwendung kubischer B-SplineKurven der Ordnung 4, die C 2 -stetig sind. ¨ Das Verhalten einer offenen B-Spline-Kurve der Ordnung 4 bei Anderung eines Kontrollpunktes zeigt die folgende Abbildung. ........................................ ... ...... ....... ... ... .. ... ... ...... ...... .... ...... ... ..... ...... ...... ...... ........ ....... .. ... ... .. .. ... ... ... .. ... ... ..... .... ..... .... ...... ...... .... ....... ....... ....... ....... ... ... ............. .. ............ ............. . . . . . ....... ... . . . ....... . . . ....... ...... . ...... .......... ..... ........... .. ............. .... ... . . . . . . ..... .. . ........ .... ...... ... ... .......... ... .. ...... .... ... ... .... ........ ..... .... ........ . ........ . . .... . . ... ...... .... ...... .. . ... ........... ...... . ...........................................................................................
........................................ ... ....... .......... .... ....... ... ... ...... ...... ...... ...... ...... ...... ...... ...... .. .. ....... .. ... .. .. ... ... .. .... . ... ... .. .... . ... .... ... ..... ... .... .... ... ........ ............. .... .. .... ....... ......... ....... . . . . . . . . . . . . ..................... ........ .............. ........ ........ ............ . ........ ................. . . .. . ...... . . . .... .. ..... .... ....... .... .... .. ......... ........ . . . ... ... ... ......... ... .. ...... ..... ... .. .... ........ ...... .... ........ . ....... . . .... . . ... ...... .... ...... .. ... ............ ...... . ..........................................................................................
a)
b) Abb. 12.19.
Im Gegensatz zu den B-Spline-Kurven sind bei den B´ezier-Kurven die Anzahl n + 1 der Kontrollpunkte bi und der Grad n der Bernsteinpolynome Bin wechselseitig festgelegt. Die kubischen B´ezier-Spline-Kurven erfordern die Vorgabe der Gewichtspunkte, deren Einfluss nicht so leicht u ¨berschaubar ist. Ein Vorteil der B-Spline-Kurven ist die bequeme Erzeugung geschlossener Kurven.
12.4.2
B-Spline-Fl¨ achen
Analog zu den B´ezier-Fl¨ achen k¨ onnen mit den B-Spline-Funktionen Ni,k (v) und Nj,k (w) der Ordnung k sowie den (m + 1) · (n + 1) Kontrollpunkten dij ∈ R3 Tensor-ProduktB-Spline-Fl¨achen mit der Darstellung P(v, w) =
m X n X
Ni,k (v)Nj,k (w)dij ,
v ∈ Iv , w ∈ Iw
i=0 j=0
erzeugt werden. Die de Boor-Punkte dij sind die Ecken des de Boor-Polyeders; vgl. das B´ezier-Polyeder in Abb. 12.11.
12.4 B-Splines
535
F¨ ur w = w∗ = const ergibt sich eine v-Kurve der B-Spline-Fl¨ache P(v, w∗ )
m X
=
Ni,k (v)(
i=0 m X
=
n X
Nj,k (w∗ )dij )
j=0
(12.44)
Ni,k (v)di (w∗ ),
v ∈ Iv ;
i=0
sie ist eine B-Spline-Kurve der Ordnung k zu den m + 1 de Boor-Punkten ∗
di (w ) =
n X
Nj,k (w∗ )dij ,
i = 0(1)m .
(12.45)
j=0
Ebenso entsteht f¨ ur v = v ∗ = const eine w-Kurve P(v∗ , w)
n X
=
m X Nj,k (w)( Ni,k (v ∗ )dij )
j=0 n X
=
i=0
(12.46) ∗
Nj,k (w)dj (v ),
w ∈ Iw ;
j=0
sie ist eine B-Spline-Kurve der Ordnung k zu den n + 1 de Boor-Punkten dj (v∗ ) =
m X
Ni,k (v ∗ )dij ,
j = 0(1)n .
i=0
Wie bei den B-Spline-Kurven (vgl. Algorithmus 12.8) sei 3 ≤ k ≤ min (m + 1, n + 1). Also muss f¨ ur die Mindestordnung k = 3 ein de Boor-Polyeder mit mindestens 9 Ecken gegeben sein. Die Ordnungen der v- und w-Kurven k¨ onnen auch unterschiedlich gew¨ahlt werden: v-Kurven mit der Ordnung kv , w-Kurven mit der Ordnung kw ,
3 ≤ kv ≤ m+1, 3 ≤ kw ≤ n+1.
Hier wird zwecks Vereinfachung kv = kw = k gesetzt. Bei den Programmen k¨onnen kv und kw gesondert angegeben werden. Im Folgenden werden uniforme, offene B-Spline-Fl¨achen betrachtet, deren v- und wKurven uniforme, offene B-Spline-Kurven der Ordnung k sind. Nach (12.42) sind die normierten Knoten f¨ ur Ni,k (v) f¨ ur ` = 0(1)k−1, v` = k − 1 v` = ` f¨ ur ` = k(1)m, falls k ≤ m ist, (12.47) v` = m + 1 f¨ ur ` = m+1(1)m+k und f¨ ur Nj,k (w) w` = k − 1 w` = ` w` = n + 1
f¨ ur f¨ ur f¨ ur
` = 0(1)k−1, ` = k(1)n, falls k ≤ n ist, ` = n+1(1)n+k .
(12.48)
536
12. Spezielle Splines
Die Intervalle f¨ ur v und w sind Iv = [k−1, m+1], Iw = [k−1, n+1]. Nun werde von einer uniformen, offenen B-Spline-Fl¨ache der Punkt P(v∗ , w ∗ ) mit v ∗ ∈ Iv und w∗ ∈ Iw berechnet. Dann gibt es r, s ∈ N, so dass gilt k − 1 ≤ r ≤ v ∗ < r + 1 ≤ m + 1, k − 1 ≤ s ≤ w∗ < s + 1 ≤ n + 1. Als Punkt der v-Kurve (12.44) ist wegen v ∗ ∈ [r, r + 1), vgl. (12.38), r X P (v ∗ , w∗ ) = Ni,k (v ∗ )di (w∗ ) .
(12.49)
i=r−k+1
Es werden also k de Boor-Punkte (12.45) ben¨ otigt, die wegen w∗ ∈ [s, s + 1) mittels s X di (w∗ ) = Nj,k (w∗ )dij , i = r − k + 1(1)r , (12.50) j=s−k+1
berechnet werden k¨ onnen. Sowohl diese k de Boor-Punkte als auch der Fl¨achenpunkt P(v ∗ , w ∗ ) k¨onnen mit dem de Boor-Algorithmus ermittelt werden; vgl. (12.38) und Algorithmus 12.8. P (v ∗ , w∗ ) kann auch als Punkt der w-Kurve (12.46) berechnet werden: P(v ∗ , w∗ ) =
s X
Nj,k (w∗ )dj (v ∗ ) ,
(12.51)
j=s−k+1 ∗
d (v ) =
r X
Ni,k (v ∗ )dij ,
j = s − k + 1(1)s .
(12.52)
i=r−k+1
Auf beiden Wegen sind f¨ ur P (v∗ , w∗ ) k + 1 Anwendungen des de Boor-Algorithmus erforderlich.
Algorithmus 12.9. (Uniforme, offene B-Spline-Fl¨ ache) Gegeben: (m + 1) · (n + 1) de Boor-Punkte dij ∈ R3 , i = 0(1)m, m ≥ 2, j = 0(1)n, n ≥ 2; Ordnung k, 3 ≤ k ≤ min(m + 1, n + 1). Gesucht: Punkte P(v∗ , w ∗ ) der uniformen, offenen B-Spline-Fl¨ache. 1. Bereitstellung der Knoten (12.47) und (12.48). Intervalle Iv = [k−1, m+1], Iw = [k−1, n+1]. 2. F¨ ur v ∗ ∈ Iv wird das Teilintervall [r, r + 1] mit r ≤ v ∗ < r + 1, f¨ ur w∗ ∈ Iw das ∗ Teilintervall [s, s + 1] mit s ≤ w < s + 1 ermittelt. 3. P(v ∗ , w ∗ ) wird als Punkt der v-Kurve w = w∗ mit (12.50), (12.49) berechnet. 3.1 Erzeugung der k de Boor-Punkte di (w∗ ) f¨ ur i = (r − k + 1)(1)r:
12.4 B-Splines
F¨ ur q = 1(1)k−1 sind zu berechnen, jeweils f¨ ur p = (s − k + q + 1)(1)s w∗ − wp αqp = w , p+k−q − wp q−1 Dpq = αqp Dpq−1 + (1 − αqp )Dp−1 , 0 Dp = dip ,
di (w∗ ) = Dsk−1 . 3.2 Berechnung des Punktes P(v ∗ , w∗ ): F¨ ur q = 1(1)k−1 sind zu berechnen, jeweils f¨ ur p = (r − k + q + 1)(1)r v ∗ − vp αqp = v , p+k−q − vp q−1 Dpq = αqp Dpq−1 + (1 − αqp )Dp−1 ,
Dp0 = dp (w∗ ), P(v ∗ , w∗ ) = Drk−1 . 4. P(v ∗ , w ∗ ) wird als Punkt der w-Kurve v = v∗ mit (12.52), (12.51) berechnet. 4.1 Erzeugung der k de Boor-Punkte dj (v ∗ ) f¨ ur j = (s − k + 1)(1)s: F¨ ur q = 1(1)k−1 sind zu berechnen, jeweils f¨ ur p = (r − k + q + 1)(1)r v ∗ − vp αqp = v , p+k−q − vp q−1 Dpq = αqp Dpq−1 + (1 − αqp )Dp−1 ,
Dp0 = dpj , dj (v∗ ) = Drk−1 . 4.2 Berechnung des Punktes P(v ∗ , w∗ ): F¨ ur q = 1(1)k−1 sind zu berechnen, jeweils f¨ ur p = (s − k + q + 1)(1)s w∗ − wp αqp = w , p+k−q − wp q−1 Dpq = αqp Dpq−1 + (1 − αqp )Dp−1 ,
Dp0 = dp (v ∗ ), P(v ∗ , w∗ ) = Dsk−1 .
537
538
12. Spezielle Splines
Wenn viele Punkte einer v-Kurve erzeugt werden sollen, ist es zweckm¨aßig, zun¨achst alle de Boor-Punkte (12.45) zu ermitteln, um deren wiederholte Berechnung im Algorithmus 12.9 zu vermeiden. F¨ ur v ∗ ∈ [r, r + 1) sind dann unter 3.1 nur die in 3.2 ben¨otigten de Boor-Punkte dr−k+1 (w∗ ) bis dr (w∗ ) bereitzustellen. Analog ist vorzugehen, wenn viele Punkte einer w-Kurve zu ermitteln sind. ¨ Ebenso wie bei den B-Spline-Kurven wirken sich Anderungen der de Boor-Punkte dij nur lokal auf den Verlauf der uniformen B-Spline-Fl¨ache aus. Ein Punkt P(v ∗ , w∗ ) mit v ∗ ∈ [r, r + 1), w∗ ∈ [s, s + 1) wird nach (12.49) bis (12.52) mit Hilfe der de Boor-Punkte dij , i = r − k + 1(1)r, j = s − k + 1(1)s berechnet. Die Punkte P (v ∗ , w∗ ) des Fl¨achensegmentes r ≤ v ∗ < r + 1, s ≤ w∗ < s + 1 werden also nur von den genannten k · k de Boor-Punkten beeinflusst. Umgekehrt hat ein de Boor-Punkt dij Einfluss auf die vIntervalle [i, i + 1] bis [i + k − 1, i + k] und auf die w-Intervalle [j, j + 1] bis [j + k − 1, j + k], also auf k · k Fl¨achensegmente. Eine rohrf¨ormige uniforme B-Spline-Fl¨ ache kann erzeugt werden, wenn z. B. f¨ ur die vKurven offene und f¨ ur die w-Kurven geschlossene uniforme B-Spline-Kurven der Ordnung k gew¨ahlt werden. F¨ ur die de Boor-Punkte der geschlossenen w-Kurven sind dann f¨ ur i = 0(1)m zu setzen: di,n+1 := di,0 , di,n+2 := di,1 , . . . , di,n+k−1 := di,k−2 , und zu den B-Spline-Funktionen Nj,k (w) geh¨ oren analog zu (12.43) die Knoten w` = ` f¨ ur ` = 0(1)n+2k−1.
Beispiel 12.10. Eine B-Spline-Fl¨ache wird zusammen mit ihrem Kontrollpolyeder dargestellt, das aus 4 Polygonen mit je 5 Ecken in x-Richtung und 5 Polygonen mit je 4 Ecken in y-Richtung besteht. Die Kurven der B-Spline-Fl¨ ache sind nicht geschlossen und sind alle von dritter Ordnung.
z
........................... .......... .................................. ...... . . .. .. ........................... ....... ...... ............. . . . . . . .... . . . . ... .... .......... ... ........... ........ ................. .................. ................. . . . .... . .... ............ . . . .... .............................................. ..... ...... ..... ...... ...... ...... . . . . . . . . . . . . . . . . . . .. ... .. .. ..... .. ..... ... ... .. .......... ... ... ...... ... .... .... ........... .... .... ..... ............ .. .. ....... ..... ..... ..... ...... ........ ... ........ .... ... ... ......... ..... ..................... ...... .................. ....................... ....... ..... ............. ...... ....... . . . .. .. ....... .... ..... ... .... .... ....... . .. .. ... ....... ....... .... ........ ... .... ........... ............... ............ ..... .......... .... ......... ........ ... ... . .... .... ..... .... .. .... . ..... ..... ... . . .. .. .. ... .. ........... .. ...... ... .... ........ ................. .......................... ....... ................... ............ ...... ......... ... ...... ....... ............. .... ........ ........... ...... .... .. ... ..... . . . ... .. .. ... ...... ................. ..... ....... ..... ............ .... ......... ... .......... ....... ... .... ............... ............................................... ............... ........ .............. ........................ ....... ............. ....... ...... ........ .... .... . . . . . . . . .... ... . . .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... . .... ..... ........ ........ ...................... .......... ....... ... ... ..... ..... .. ........ .. ..... .... ... .. .. ............... ......... .... ... ... . ... .. ................... ............... ........ ................. ............................. ..................... .............................. ...... ... ............... .... ....................... .................... ................ ............... .... ................ ........... .................. ....... . . . . .... .......... ..... .... ............. ........... .... ..... ... .... ............................... .... .. .... . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . .... ...... .... .... .... ......... ....... .... ......... .... ... .... ................. ..... ... .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ .... ......... ... ... .. ... .... ................... ... ...... ....... ......... .......... .. .......... ...... ... .... ... ..................... ........................... ....... ...................................... .................... ..... ...... ...... .................. .. ... .... ............. .... ..... ........ .......... ... . . . . .... ....... . ......... . .... ....... ...... .... . . . . . . ..... .... .. ..... .... .. ..... .. . . . . .. .. . ..... ........ .. ..... ... ........................ ...... ........... ....... ............ .......................... ... . . . . . ... ........ ........ ........ .... ..... ....................... .... ........... . . . . . . . . . . . . . . . . . . . . ...... .... ........... ... ... ... .......... ... .... .. . . . . ........ . . . . . . . . . . . . . . ... ... .. .... .. ... . . ... ........ .. .. . .... .................. ..... .... ......... ..... ....... ... .. .... .. .... ........ ..... .......... .... ......... .... ............ ....... ... ....... ..... .... ......... ... .... ..... ..... ....... . ........ ........... . . . . .... ......... ..... ... .. ..... ..... ......... ........ . . . . . . . .......... ... ..... . ........ ...... ... .... .......... ......... ...... ....... .. .. ....... .......... . ....... .. ..... . . . . . . . . . . . . . . . . .... .... ............ .... . ........... .... ..... ......... ..... .......... ............ ...... ............ ............. ......... ............................. ...................... ..
x
y
Abb. 12.20. B-Spline-Fl¨ ache mit Kontrollpolyeder
12.5 Anwendungsbeispiel
12.5
539
Anwendungsbeispiel
Im Brennkammerlabor der FH Aachen wurden Versuche im Zusammenhang mit der Wasserstoffverbrennung in Flugtriebwerken gefahren. Zum Beispiel wurde an Messstellen (xi , yi ) in der Ebene des Brennkammeraustrittes (Abb. 12.22) die Temperatur zi gemessen. Um eine Aussage u ¨ber die Temperaturverteilung machen zu k¨onnen, wird durch die Messpunkte (xi , yi , zi ) ein interpolierender Oberfl¨achenspline der Ableitungsordnung M = 2 gelegt. Versuchsaufbau:
Abb. 12.21. Brennkammer
Abb. 12.23. Messpunkte u ¨ ber einer kreisf¨ormigen Grundfl¨ ache
Abb. 12.22. Brennkammeraustritt
Abb. 12.24. Oberfl¨achenspline (M = 2) zu den beliebig angeordneten Messpunkten aus Abb. 12.23
540
12. Spezielle Splines
Die Messstellen k¨onnen bei Verwendung eines Oberfl¨achenspline v¨ollig beliebig angeordnet sein. F¨ ur den Einsatz eines bikubischen Spline m¨ ussen sie in einem Rechteckgitter liegen. Den Anwender interessieren nun Linien gleicher Temperatur, d. h. die H¨ohenlinien z = const. des Oberfl¨ achenspline, und die Bereiche, in denen die Temperatur innerhalb bestimmter Grenzen schwankt. Dazu werden die H¨ohenlinien berechnet (Abb. 12.25) und in die x, y-Ebene projiziert (Abb. 12.26).
Abb. 12.25. H¨ohenlinien z = const. auf dem Oberfl¨achenspline Abb. 12.24
Abb. 12.26. In die Ebene projizierte H¨ ohenlinien von Abb 12.25
In dieser Ebene (Abb. 12.26) werden dann die Bereiche zwischen den Linien konstanter Temperatur farbig ausgef¨ ullt, um die Temperaturverteilung anschaulich darzustellen; hier ist das nat¨ urlich nur in verschiedenen Grauabstufungen m¨oglich.
Abb. 12.27. Temperaturbereiche Bemerkung. In der Programmbibliothek mit den C-Programmen ist ein Kurvenverfolgungsprogramm angegeben, mit dem speziell die H¨ohenlinien der Oberfl¨achensplines, ihre Projektion in die Ebene und das Ausf¨ ullen der Fl¨achen zwischen den H¨ohenlinien realisiert werden k¨ onnen. Die Bedienoberfl¨ ache von CurvTrac“ mit dem Modul H¨ohen” linien ist in Java geschrieben, sie nutzt die C-Programme und ist f¨ ur Windows und Linux getestet.
12.5 Anwendungsbeispiel
541
Folgende Daten (xi , yi , zi ) wurden in einem Versuch mit einer Brennkammer rechteckigen Querschnitts (siehe Abb. 12.21) ermittelt. Die Temperaturdaten zi wurden hier u ¨ ber einem Rechteckgitter mit Mess-Sonden ermittelt. Insofern ist f¨ ur dieses Beispiel neben den Oberfl¨achensplines auch der Einsatz bikubischer Splines m¨oglich, die im Gegensatz zu den Oberfl¨achensplines an ein Rechteckgitter gebunden sind. Die folgende Tabelle gibt die 12 · 4 = 48 St¨ utzstellen (Gitterpunkte) (xi , yi ) und die zugeh¨origen St¨ utzwerte (Temperaturen) zi an:
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Gesucht:
xi / mm 11.625 11.625 11.625 11.625 34.875 34.875 34.875 34.875 58.125 58.125 58.125 58.125 81.375 81.375 81.375 81.375 104.625 104.625 104.625 104.625 127.875 127.875 127.875 127.875
yi / mm 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125
zi / ◦ C 582.0955 852.1718 966.4116 582.8441 898.5392 1099.0728 1230.4410 1205.7226 867.5090 1261.8866 1376.0741 1205.5225 1016.2651 1340.9722 1310.8810 1287.4576 803.9880 1286.6032 1340.9722 1250.0519 851.8760 1340.9275 1358.7555 1268.7461
i 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
xi / mm 151.125 151.125 151.125 151.125 174.375 174.375 174.375 174.375 197.625 197.625 197.625 197.625 220.875 220.875 220.875 220.875 244.125 244.125 244.125 244.125 267.375 267.375 267.375 267.375
yi / mm 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125 13.875 41.625 69.375 97.125
zi / ◦ C 787.9407 1236.8262 1280.6493 1268.7828 898.4575 1112.8422 1139.5120 1262.8046 851.7656 1198.9421 1192.3113 1211.9989 820.0187 1205.3432 1153.1227 1311.9108 851.8790 1064.6590 1085.9858 1086.3762 536.2519 811.5963 820.0769 609.1909
Zu diesen Interpolationsstellen (xi , yi , zi ) eine interpolierende Fl¨ache, erzeugt mit • einer bikubischen Splinefunktion ohne Vorgabe von Randwerten (Abschnitt 12.1) • zweidimensonalen interpolierenden Oberfl¨achensplines der Ableitungsordnungen M = 2, M = 3, M = 4 (Abschnitt 12.2) • einer modifizierten kubischen B´ezier-Spline-Fl¨ache (Abschnitt 12.3.3)
542
12. Spezielle Splines
L¨osung:
1400 1200 1000 800 600 400
.. ................. ......... ................ .............................................................................................. ............... ......................................................... ................................... ......................................................................... ................................................... ........................................................................................................................................... .......................... ......................................................................................................................................................................................................................................................................................................................................................................................................... . . . . . . . . ........................... .. ........... . ................................................. .... ............ ...... .......... ....... .... ............ ........... ............................ ................................................ .............................................................. ................. ........ ............. ............. ........... .................. ............... ..... ..... .......... .......................................................................................................................... .................. ..... .............. ............ .............. .............. ...... ..................................................... . .................................................................................................................................................................................................................................................................................... ................................................................................................................................................. ................... ........ . . . . . . . . . . . . . ... . . . .................................................. ..................................................... ...... .............. ..... ............. ..... .......... ................. ...................... ............................. ...... ............. .... .... .......................................................................... .................................................................... .................................... ...................... ......... .................................................................................................................................................................................. ......... .......................... . . . . .......... . . . ..... .. .. ........... .......... .... .. . .. . .. .... .... ... ..... ... .... ... ... ....... .. .... .. ..... .. ...... ... ................................. ..... ..... .................... ........ ........................ ............................. .................. ................................ ............................................................................................................................................................................................................................. ..... ..... .. .. .. .. .. .. . . ... .. .. . ... ....... ... . . . .. ...................... ........................ . . . . . ......... ............. .................. ..... .................. .................. ....... ......................... ................... ..................................................................................................................................................................................................................................................... ........ .................................. ... . . . . . ....... ........................ ..... .... . . . . . . . . ................... ........................................................ ....... ................................................................ ......................... ...................... ....................................................................................... ........................ .................................. ....................... ........ ...................................... ..... ..... .... . . ... . . ....... ... .... ... .... ......... ......... ..... ......... .... ............ .... .... ... .. .. .. .............................. ... ..... .... ... ...... ..... ............... ..... .... .... .......... ......... ............................ .................................. ...................... ........ ............................................................ ............................ ............................................................................................................ .................... ............................. ............................... ........ ....... .................................................... . . . . . . ... . . ...... ...... ... ......... ... ... ... .. ... .. ... ...... ... ... ............ ... .... ... .... ... .... .......... ..... .... ... .... ..... ... ... ... ............ ... ................ ...... ..... ............................ ....................... ....... ....... ....... .............................. ........ .............................................................................................. ................. ................. .......................... ........ ....................... . ..... . . . . . . . . ......... . . . ... . ... . .. ........ ................................. ........................... ..... .............................. ............................. ........ ................................................................................................... ................................... ................. ........ .................. ... ............. ..... .... .. .... .... ... ........................................................ .... .... ... .............. ......... .......... .... ......... ................................... ... ........ ..... ..... ..... .................... ..... .... ..... ............ .... ......... ..... ..... ......... ....... .............. ................................ .... ... ................................. . . . . . . . . . . . . . . . . . . ......... . . . . . . ..... . ..... .............................. ... .... ................ ..... ........ ........... . ............ ................................. ........ ... .................. ................................................................ ................. .................. ........ ... .... . ........ . ........ ..... ........................................................................ ........ ......... ...................... ........ .......... ... ..... . . . . . ... . . ...................... .. ... ... ...... ....................... ........ ... ... ...... .................. ........ . . . . . . . . . ... . . . ....... ...... . ........ . . . . ... . . ........ ..... . . . . . ........ . ... . ...... ........ . . . . . . . . . . ... . . . . ... ... ........ ................... ........ ....................... ........ ...................... ........ ...................... ........ ....................... . . . . . . . . ...................... ........ ...................... ........ ....................... ........ ....................... ........ ...................... ...................... ................ .....
Abb. 12.28. Bikubische Splinefunktion ohne Vorgabe von Randwerten
1400 1200 1000 800 600 400
.......................... .......... ............................................................................................. ............ .......................................................................................... ....................... .................................. ...................................................................................................................................................................................................................................................................................................................................... . . . . . . . . ................................................................................................................................................................................................................................................................ ............................... ................... . . . . . . . . . . .................. ............... ............................................... .... ........... ..... .......... ........ .... .......... ........... .............................. ........................................................................................................................................................ ........ ................ ............... ............... ...... .................. ......................................... ...... .................................................................. ............................................................... ................. ...................... .............. ............. ....................... ..................... ...... ..... ...... ........ ................................................................................................................................................................................................................................ ............................... .................... .................................................................................................................................. .................. ....... . . . . . . . . ........ ... .... ..................... ......................... ............................................ ..... ..... .......... ... ...... ..... ........ ............ ..... ..... ..... ................ ...... ..................................... ................. ..... ..... ..... ............ ........... .................. ................... ...... ...................................................... .................... .... ..... ......... .... ......................... ......................... .............................................. ..... .......... ..... ............ ..................... .............................................................. ................ .......... ..... ........... .. ........................................ ............ ..... .... ... ..... ........... ..... ....... ........... ............ ....... ......................................................................................... ............. ..... ............ ... ... ... ................................................................................. .......................................................................... .................... .................. .................................................................................................................................................................................................................... ............................. ..... ..... ..... . . . . . . . . . ......... . . . . . . . . . . . . . . . . .. .. ..... ... .. ..... .. .. .... ... .. ... .. . . . ..... .. . ..... . .. ... . .. .. ......... . . . . .. ........... ........................................................ ......................... ............... ................... .... ..... ................... .. ........................... .... ..... .... .......... .... .... .... ..... ........... ... ................... ...... ................................... ..... ........................................... .... .................. .............. ...................................................... ........ .................. ........................ ........................ ...... ......................... .... ... ... ... .................................................................................. ................. ........ ....... ....... ............................. ............................. ................................................................ ................................. ..................... ................................. ......................................... ....... ...... .... ..... ..... . . . . ......... . . ...................... .................... .......... ..... ........................................................ ....... ............................... .......................................... ....... .................................. .................. .................. ........ ........................... ........ ................................................................ ... ........... ...... ............................ ..... ......... . . .. .. ..... .. .. ... ....................................... .. ... ........ ... .... ... ...... ... .. ........ ... .......................................................... ............ ........................ ........ ..... ....... ........................................................................ ......... .............................................. ................................... ........................... ............................ ... ........ ....... ....... . . . .... . . . .. . . . . ............................. ..... ...... .................. ................................ ........ ......................... ........ ................................................................ .................................... ................ ......... ................ ... ........... ..... .... ..... .... .... ..... ............................. ..................... .... .... .... .............. ..... .... . . . . ................................. .... ................. .... .... ..................... ..... .... ..... .......... ..... ................. ................... ......... ......................................................... ... ... ................................ .... .... . . . . . . . . . . . ......... . . . . ..... .... ............................................... ..... ..... .............. ..... ....... ..... ........... ........ ..... ... ................ ................................... ..... ........ .... ..... ........ ............... ........... ............................... .. ... ........ ..... . . ...... ...... ........ ......... ..... .............. ........................................................ ........ . . . ...................... . ....... ... .... . . ... . ....................... ..... ........ . . . . . . . . ...................... ... . . ... ..... ... ........ ........ .... ..... ... ........ . . ........ . . . . . . . ... . ........ ..... . . . . . ........ . ... . .... ........ . . . . . ... ............... . . ... ........ ................ ........ ....................... ........ ...................... ........ ...................... ........ ....................... . . . . . . . ...................... ........ ...................... ........ ....................... ........ ...................... ........ ...................... ....................... ................ ...
Abb. 12.29. Zweidimensionaler interpolierender Oberfl¨achenspline mit der Ableitungsordung M = 2
12.5 Anwendungsbeispiel
1400 1200 1000 800 600 400
. ..................................... ................ ........................................................................................................... ............. ........................................................... ................................ .................... .................................. ................................................................................................................................................................................................................................................................................................................................................... . . . . . . . . ..................................................................... ................................................................................................................................................................................ .................................. ................... . . . . . ... . . . . . . . ........... ................... .............. ............................ ............. ..................................................... ............... ............. ..... ......... ..... ......... ................................. .................. ...................................................................... .................. .............. ...... ............. .............. ...... ............... .................................... ..... ....................................................................................................................................................... ............... ....... ............. ............ ................ ....... .................................. ........... .......... ......................................................................................... ............................................................................................................................ ............................... ..................... ................................................................................................................................ ................... ....... . . . . . . . ... .. . . .. .......... ..... ........... ..... .......... ................................................... ........................ .......... .... .... ......... . .... . . .. . . ... . .. . . ....................................... ............... ..... ................................................ .... . .. . .. . . . .. .. ...... ...................................... ..... ........... ..... ..... ..... ..... ........... .... .......... ..... ........ .................................................. ................ ..... .......... .... ........... .. .... ............................................. ............... ...... .................................................... .......... ........... ...... ............. ............................................................ ................. ................. ....... ....... .............. ... ... ........................................ ..... ......... .... .... .... .... ........... ..... ........... .......... .................................................. ............... .............. ............ .......... .... ... ... ... ................................................................. ............................ ................................................................ ..................................... ............................................................................................................................................................................................................. ..................... ........ ....... ...................... . . . . . . ......... . . ......... ........................................................ ................... .............. ...... ............. .... .................. ... ... ......... .... .... .... .... ......... .................................. ....................... ........ ... ..................... .................. .......... .... ............................................ .... ...... ..... ............ .............................................. ...... .................... .............. .................... ..... ............. ... ... .. .. ... ............................................. .... .... ................. ........ ....... ........ ........ .................... ................................................................................................... .................................................................... ............................... ................................ ..... ...... ..... ..... ..... .. . . . . . . ... . ..... . .... . .. . . . .............. .... ... .......................... . . . ......... ......................................................................... ........ ................ ............................................................. ........ ......................................................................................... ........ ................................. ....................... ............................... ............................ ....... ....................................................... . . . . . ... . . .... .. ... .. .. ........ . .. . . ... ............... .. .. ..... ... ... ... ..... .. . . ...... . ... .. ... ......................................... ......................... ............. ...... ............... ......................... ...... ....................................................................................... ....... ............................................................................. .......................... ........ .................... ............. ............. ... .......... ... .... .... ..... .... .................... .... .... ........ ........ .......... .... .... ....... ......... . ...................... . ..... .... ..... .... .... ............................................................ ...... ...... .................................. ............. ...... .............. ...... .......... ......... ..... .. .. .. .. ... ..... ... .... .... ........... .... .... .... ................. ..... ......... .... ....... ................................... ... .............. ...... .... .... .................. .... ..... ......... ........ .... ........... .... .......... ........... ......................................... .... .... .................................. .... .... ......... .... ..... ......... ............................. ... ... ... ......... .. . . .................... .......... .............................. .... ..... .............. ...... ........... ... ........ ................................................................... ... ..... ........ ... ..... ...................................... ........ . . . . . . . . . . . . . . ...................... . . . . . . ......... . . ........ .... .... ....................... ....... . ... ... ...................... ........ ... ............ ...................... ........ ... ... .... .............. ........ . . . . . . . . . ... . . . .. ..... . . ........ . . . . ... . ........ ...... . . . . . ........ ... . . .... ........ . . . . . ... ............... . . .. ........ ................. ........ ...................... ........ ....................... ........ ...................... ........ ...................... . . . . . . . . ....................... ........ ...................... ........ ...................... ........ ....................... ........ ...................... .....................................
Abb. 12.30. Zweidimensionaler interpolierender Oberfl¨achenspline mit der Ableitungsordung M = 3
1400 1200 1000 800 600 400
........................................... .................... ............................................................................................................. .............. ............................................................... ............................. .................. ................................. ............................................................................................................................................................................................................................................................................................................................................... . . . . . . . . . . . . . . . . .......................................................................................................................................................................................................................................................................................................... ..................... . . . . . . .............. . . . . ................................................. ........ ...................................... ................................. .............. ...... ............ ...... ........... .... ........................... .......... ......................................................................................................... .................................. ................ ...... ............ ............ ...... .............. ...... .......................... .... ............................ ...... ................................................................................... ....... ............ ..... ............. ............ ............ ...... ............................ .... ..... ......... ..................................................................................................................................................................................... ................................ ............................... ...................... ............................................................................................................................. .................. ........ . . . . . . . ....................................... ................ ..................................................... .......... ..... .......... ..... .......... ........................................ ................................. .......... .... ..... ....... ......................................... ..... ............ ..... .... ..... ..... .................... ............................. ................................. ................................................................................................................................................................. ............................... .... .... ............................................ ............ ..... ................................................ . . . .. . . . .. . . . . . . . . ...................................... ........ ..... ......... .... .... ..... .... ........... ..... ......... ........... ...... ............................................. ............... .............. ............ ............... ... .. ... ............................................................................ .............................. ................................................................ ................. ................... ....................................................................................................................................................................................................... ................................ ........ ..... ........... . . . . . . . . ......... . . . . . . . . . ................................................................................. ....................... .................................... ................ ................. .................... ......................................................................................... ..................................... ......................... .............................. ............................................... .... . . . . . . . . ... . . ................... ....... ........................... ...... ............. ...... ..................... .................... ............... ............................................................................................... .................. ............................ ................... ........ ......................... .... ..... ... .... . . . . . . . ... . . ..... ... ... .. ... .. ... .. . . . .. . ......... .................. . ... ....... .. ... .. . . .. .... . .... .. ... ... .. .. .. ......... ...................................... ........ ............................... ................ ....... ........................................................... ....... ...................... ............................................................................................................... .............................. ....................................................... ........ ....... ..................................................... . . . .. ... . . ...... . . . . . . . . . . .. ... ................. ..................................... .... . . ... .. ... ... ......... ..... ...................................................................... ..... ............ ..... ........... .... ........... .... ................. ... .............................................. ........................ ........... ....... .......................................................... ...... ............................................................................... ........ ........ ........................................................... ........................... ........................... ........ . .. ... ... .......... .... ..... .... ..... ... .......................... .... ..... ...... ............ .......... .... ............ ............ ............... . . .. ..... ... ... ... ... ........................................................ ..... .... .... ...................... .......... ............ ..... ..... ....... ........... ..... .. ... ... ... ... ... ... ..... .... ............ .... .... .... ..... ............. ..... ......... .... ....... ................................... .. ........... ... ...... .... .... ...................... .... .... ........ .. . . ... .......... ......... ............................................. .... ... .. ........................ ..... ..... ............... ........ ............. ............................ ... ... .... ......... .. ......... . ................ ........... .............................. .... ..... ............... ...... .......... ........ ... ................................................................ ... ..... ........ . . . . . . . . . . . . . . ... . . . . . . . . ..... .... ... ............................ ... ....................... ........ ... .... ........ ......... ...................... ... . . ........ ... ...................... ........ ... ........... ....................... ........ ... ..... ... .............. ........ . . . . . . . . . . . ... . . ...... . ........ . . . . . ... . ........ ..... . . . . . ........ . ... . .... ........ . . . . . . ... ................ . ... ........ .................... ........ ....................... ........ ...................... ........ ...................... ........ ....................... . . . . . . . ...................... ........ ...................... ........ ....................... ........ ...................... ........ ...................... ................................
Abb. 12.31. Zweidimensionaler interpolierender Oberfl¨achenspline mit der Ableitungsordung M = 4
543
544
12. Spezielle Splines
1400 1200 1000 800 600 400
............... .................................................................................................. .............................................................. ..................................................... ... .............................................. ................ .................................................................................................................. ........................................................... ................ .................................................................... ................... .................. .................... .......................................................................................................................................................................................................................................................................................................................................................................................................... . . . . . . . . . ............................ ............................................................................................................................................... .......................... ................. ....... ............... ....................... ...................................................... ....................................................................................................................................... .............. ...... ............ .................. .................... ............................................... ......... ............................................................. ........................................................... .................... ................. ................ ............ .............................................. .... ........... ..... .............................................................. ............................ ............................. ............. ....... .................. ................ ........... ................................................. ....................... ...... ......... ........................................................................................................................................................................ ...................... ............................ .............................................................................................................................................................................................................................. ....... . . . . . . . ...... ...................... ............. ........... ..... ..... ..... ..... ........... .......... ..... ................. .................................................................... ..... .............. ............ ..... .... ...... .... ..................... .................................. ............................................. ..... ...... ........... .......... ..... ............. ...................................... .................... ................................ ................... .... .......... .. ... ........................... ................. .................. ..... .... ..... .......... .......... ................. .............. ............................................................................... .................. ............... ...... .................. ... ... ....................... .................. .... .............. ................................................... ........... ........... ...... ............... ............................................................................................................................. ...... ................. .... .... ... ......... ...................................................................................... ............................................................. ......................... ........................................................................................................................................................................................................................................................... ........ ....... .......................... . . . ... . . . ..................................... ..... ......... .... ... .... .... ............ .......... ..... ............. ............................................... ...... ..................... ............ ...... ................. .... ..... ....................... ... ... ... ...................... ........................... .... .......... .... ... ... .... .......... ......... ............................... ..... ............ .... ...... .......... ..... ........ .... .... .................. ... ... ... ... ... ......... ............ ...................... .... ........ .... ...................................... .... .......... ..... ............. .............................................. .......... ......... ..... .......... ..... .... .............. .... .... ... ... .. .. ....................... .... ..................... .... ...... ..... .... .... .... ............ .... ............. ..... ................ ..... ..... .... ............. ............ ...... ........... ..... ..... .............. ..... ..... ..... .... ... ...................... ... ................................................................................... ................. ................................................................ .............................. .................................................................................................................................. ................... ........ ........................... ........ ............................................. . . . . . . . ... . . . .......... ........ .... ... ... ......... .... .... ....................................................... ..... ............ ..... ..... ....... ..... ......... .... .... .......... ......... .. . .. .... ................ ................. .... ................................... ..... ..... ..... .... ..................... ......... .......... ..... ......... ..... ............... ......... ............................ .............................. ..... .... ............ ................ .... .... .... .................................... .... .... ................ .... ......... .... ........... .... ...... ... ................... ....... ... .. ... ................... ........................... ..... ..... ............................. ........... .......... ..... ........ ..... ....... .. ........ ....... .. .................. .. ......................... .... ................... .... .... ................ ........ .... ....... ..... ...... .. ......... ........... ......... ... ..................................... .................... .... .... .......... ......... .... ........... .......... ............... .............................................................................. ............ ...... ........... ............ ........................... ... ........ .. ... ................................. .... .... ....... ..... .... ........ ... .................................... ....................................... ......... ........ ... ......... .... ......... ............................. ........ . . . . . ...................... ......... . . .... ......... ..... ........ ...... ....................... . . ..... ....... ... .... . . . ... . . ...................... ...... .... ....... ..... . . . . ...................... . . ... . ... ... ..... .......... ...... . . . . . . . . . ... . . . .... ..... ..... . ........ . . . . . . ... . . . ........ ... ...... . . . . ........ . ... . . .... ......... . . . . . ... ............... . . ... ........ ................. ........ ....................... ...................... ........ ...................... ........ ....................... ........ . . . . . . . ....................... ........ ...................... ........ ...................... ........ ....................... ........ ...................... ....................................
Abb. 12.32. B´ezier-Spline-Fl¨ ache mit dem modifizierten Verfahren, ε = 0.0001.
12.6
Entscheidungshilfen
B´ ezier- und B-Spline-Kurven Beide Kurven-Typen sind parametrisch und nicht interpolierend. Bei den B´ezier-Splines ist in Abschnitt 12.3.3 eine interpolierende Variante angegeben (modifizierte interpolierende kubische B´ezier-Splines). In der Orientierungstabelle f¨ ur Spline-Kurven in Abschnitt 10.4 sind die kubischen B´ezier-Splines enthalten. Die uniformen B-Spline-Kurven sind gegen¨ uber den B´ezier-Spline-Kurven leichter zu handhaben, weil nur das de Boor-Polygon vorgegeben werden muss, das den Kurvenverlauf festlegt. Geschlossene Kurven sollte man nur mit B-Spline-Kurven erzeugen. Fl¨ achendarstellung mit Splines Bei der Konstruktion glatter Fl¨ achen haben die bikubischen Splinefunktionen (Abschnitt 12.1) den Nachteil, dass sie nur dann angewendet werden k¨onnen, wenn die Funktionswerte auf einem Rechteckgitter mit monoton angeordneten Knoten in x- und y-Richtung gegeben sind; dies ist eine starke Einschr¨ ankung. In der Reihenfolge v¨ ollig beliebig k¨ onnen die Wertetripel xi , yi , zi = f (xi , yi ) f¨ ur die interpolierenden Oberfl¨ achensplines (Abschnitt 12.2) vorgegeben werden; dies ist f¨ ur den praktischen Einsatz ¨ außerst vorteilhaft. Allerdings muss gew¨ahrleistet sein, dass zu jeder St¨ utzstelle (xi , yi ) genau ein St¨ utzwert zi existiert. Die Ableitungsordnung f¨ ur die Oberfl¨achensplines ist frei w¨ ahlbar. Aus Testrechnungen hat sich ergeben, dass im
12.6 Entscheidungshilfen
545
Allgemeinen die Ableitungsordnungen 3, 4 oder 5 empfehlenswert sind. Bei wachsender Ableitungsordnung und zunehmender Zahl von Interpolationsstellen verschlechtert sich die Kondition der zu l¨ osenden linearen Gleichungssysteme stark. Bei den B´ezier-Splines (Abschnitt 12.3) kann wegen ihrer parametrischen Darstellung die Monotonieforderung entfallen. Sie k¨ onnen deshalb auch zur Darstellung von geschlossenen, sich selbst durchdringenden Fl¨ achen benutzt werden, außerdem k¨onnen bewusst ¨ Fl¨achen mit Knick erzeugt werden, und lokale Anderungen sind m¨oglich. Die Vorteile der B-Spline-Kurven u ¨ bertragen sich auch auf die B-Spline-Fl¨achen; sie sind den B´ezier-Fl¨achen vorzuziehen, weil sie u ¨ berall mindestens einmal stetig differenzierbar sind (bei Ordnung k ≥ 3).
Erg¨ anzende Literatur zu Kapitel 12 [DAHM2008], Kap.9; [DONG1993]; [HAMM1994]; [PIEG1997]; [STOE2002A], 2.4.4-5.
Kapitel 13
Numerische Differentiation
13.1
Aufgabenstellung und Motivation
Durch Anwendung von Differentiationsregeln kann praktisch jeder Ausdruck aus differenzierbaren Funktionen geschlossen abgeleitet werden. Eine n¨aherungsweise Berechnung der Ableitungen ist nur dann unumg¨ anglich, wenn die zu differenzierende Funktion empirisch gegeben ist. Es gibt beispielsweise folgende M¨ oglichkeiten, N¨ aherungswerte f¨ ur die Ableitungen einer differenzierbaren Funktion f zu berechnen: • Differentiation eines Interpolationspolynoms Φ, • Differentiation einer interpolierenden Splinefunktion S, • Differentiation mit dem Romberg-Verfahren (Richardson-Extrapolation), • Adaptive numerische Differentiation.
Die ersten drei Methoden werden hier besprochen, die adaptiven Verfahren k¨onnen analog zur Beschreibung der adaptiven Quadraturverfahren (vgl. Abschnitt 14.12) konstruiert werden, siehe dazu [STEP1979], [BJOR1979]. Von den angegebenen Methoden ist die Differentiation eines Interpolationspolynoms am wenigsten zu empfehlen. Insgesamt ist im Vergleich zur numerischen Quadratur eine weitaus geringere Genauigkeit der Ergebnisse zu erwarten. F¨ ur eine empirische Funktion f , deren Werte f (xi ) an nicht ¨aquidistanten Stellen xi gegeben sind, eignet sich nur die Differentiation mit Hilfe einer interpolierenden Splinefunktion.
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_13, © Springer-Verlag Berlin Heidelberg 2011
548
13.2
13. Numerische Differentiation
Differentiation mit Hilfe eines Interpolationspolynoms
Gegeben seien Wertepaare xi , yi = f (xi ) , xi ∈ [a, b], i = 0(1)n, einer hinreichend oft differenzierbaren Funktion f . Gesucht sind N¨aherungswerte f¨ ur die Ableitungen von f . Dazu interpoliert man f durch ein algebraisches Polynom Φ vom H¨ ochstgrad n, welches anstelle von f an einer beliebigen Stelle x ∈ [a, b] differenziert wird. Man kann dazu jede Darstellung des eindeutig bestimmten Interpolationspolynoms Φ benutzen. Das Restglied der Differentiation ergibt sich durch Differentiation des Restglieds der Interpolationsformel. Rechnungsfehler wirken sich infolge Ausl¨ oschung sicherer Stellen stark aus. Sogar in den St¨ utzstellen xi , in 0 denen f und das Interpolationspolynom Φ u bereinstimmen, kann Φ stark von f 0 abwei¨ chen. Man muss also mindestens voraussetzen, dass Φ eine gute Polynomapproximation f¨ ur f ist; trotzdem ist im Allgemeinen die Genauigkeit von Φ0 schlechter als die von Φ; man spricht von der aufrauenden“ Wirkung der Differentiation. ” Als Beispiel f¨ ur eine abgeleitete Interpolationsformel wird die in Abschnitt 9.5 angegebene Newtonsche Interpolationsformel N+ (t) f¨ ur ¨ aquidistante St¨ utzstellen mit x = x0 + ht, dx = h dt verwendet: ( 1 e0 1 2t − 1 2 3t2 − 6t + 2 3 0 0 Φ (x) ≡ N+ (x) = N+ (t) = ∆11/2 + ∆1 + ∆3/2 h h 2! 3! 3
2
4t − 18t + 22t − 6 4 1 + ∆2 + . . . + 4! n!
n−1 Q
n−1 X
(t − i)
i=0
t−k
k=0
) ∆nn/2
.
Analog l¨asst sich jede andere Interpolationsformel differenzieren. Die durch Ableitung eines algebraischen Interpolationspolynoms Φ f¨ ur eine Funktion f erhaltenen Werte Φ0 (x) k¨ onnen wegen der großen Welligkeit von Polynomen h¨oheren Grades erheblich von den Werten f 0 (x) abweichen. Das veranschaulicht Abb. 13.1. W¨ahrend die Werte f (x) und Φ(x) an den St¨ utzstellen u ¨bereinstimmen, unterscheiden sich die Tangentensteigungen erheblich. Im Inneren eines Teilintervalls [xi , xi+1 ] gibt es eine Stelle ξi , so dass f 0 (ξi ) durch Φ0 (ξi ) besser angen¨ahert wird als f 0 (xi ) durch Φ0 (xi ). y6 . .... ...... ... ... . .. ... ............................................................ .. ........ ........... ... . .. ...... ................ ...... ...... ........... ............ . . ... . .. .. ..... . . ... ... .. ........................... . .... .. .. .... .. ....................................... .... .. .. .... .. ... . .... .... .... .. .... .. .... ... . .. ... ... ... .. . . . .. .. .. .. .. .. .. ..
r
x0
r
x1
r
h
x2
Abb. 13.1.
y = Φ(x)
r
x3
y = f (x)
x
13.2 Differentiation mit Hilfe eines Interpolationspolynoms
549
Vor allem Rechnungsfehler infolge Ausl¨ oschung sicherer Stellen bei der Bildung der Differenzen und der gleichzeitigen Division durch h wirken sich stark aus. Einerseits soll h klein sein, um den Verfahrensfehler klein zu halten, andererseits f¨ uhrt ein kleiner Wert von h zu großen Rechnungsfehlern. ( Aufrauende“ Wirkung der Differentiation mit Hilfe von ” Interpolationspolynomen gegen¨ uber der gl¨ attenden“ Wirkung der Interpolationsquadra” tur, Kapitel 14.) Bei Verkleinerung von h m¨ ussen die Werte fi mit mehr Dezimalstellen zur Verf¨ ugung stehen ([STIE1976], S. 127). Zur Ermittlung einer optimalen Schrittweite h f¨ ur die Differentiation mit Hilfe von Differenzenquotienten siehe [HERM2001] 8.1.3 und [PREU2001] 7.1. Nach [HERM2001] S. 419 ist f¨ ur den zentralen Differenzenquotienten f (x0 +h)−f (x0 −h) /2h ein Richtwert f¨ ur die optimale Schrittweite h = 10−(q/3+1) , worin q durch die Maschinengenauigkeit % ≈ 10−q gegeben ist. Eine Fehlerabsch¨atzung mit Hilfe des Restgliedes (vgl. Abschnitt 9.6) der Interpolationsformel ist in der Praxis schwierig, weil dazu die Kenntnis des Wertes einer h¨oheren Ableitung an einer unbekannten Zwischenstelle erforderlich w¨are. Im Anschluss wird eine Tabelle zur n¨ aherungsweisen Berechnung der ersten und zweiten Ableitungen an ¨aquidistanten St¨ utzstellen xi angegeben. Gesucht sind N¨aherungswerte Yi0 , Yi00 f¨ ur die Ableitungen yi0 = f 0 (xi ) und yi00 = f 00 (xi ); es gilt yi0 yi00
= Yi0 = Yi00
+ +
Restglied , Restglied .
Die Tabelle gibt die gesuchten N¨ aherungswerte Yi0 bzw. Yi00 f¨ ur i = 0(1)n, n = 2(1)6 bzw. n = 2, 3, 4 an. Sie werden u ¨ber ein Interpolationspolynom gewonnen. Die Anzahl n + 1 der verwendeten St¨ utzstellen ist in der Tabelle angegeben. Die Restgliedkoeffizienten sind jeweils in den mittleren St¨ utzstellen des Interpolationsintervalls [x0 , xn ] am kleinsten. Es empfiehlt sich daher, wenn gen¨ ugend Interpolationsstellen vorliegen, diese von Schritt zu Schritt durch Erh¨ ohung des Index i um 1 so umzunummerieren, dass zur Ermittlung von Yi0 bzw. Yi00 jeweils die Formeln f¨ ur die mittleren St¨ utzstellen verwendet werden. Doch auch hier wirken sich Rechnungsfehler infolge Ausl¨oschung sicherer Stellen stark aus. Deshalb ist die Ableitung eines Interpolationspolynoms weniger zu empfehlen als die in den folgenden Abschnitten beschriebenen Ableitungen von Splinefunktionen und das Romberg-Verfahren f¨ ur die Differentiation.
550
13. Numerische Differentiation
Anzahl d. Interpolationsstellen
Restglied N¨aherungswerte Yi0 , Yi00 (ξ, ξ1 , ξ2 ∈ [x0 , xn ]) 1 Y00 = 2h (−3y0 + 4y1 − y2 ) 1 0 Y1 = 2h (−y0 + y2 ) 1 0 Y2 = 2h (y0 − 4y1 + 3y2 )
h2 3 2 − h6 h2 3
Y000 = h12 (y0 − 2y1 + y2 ) Y100 = h12 (y0 − 2y1 + y2 ) Y200 = h12 (y0 − 2y1 + y2 )
−hf 000 (ξ1 ) +
1 Y00 = 6h (−11y0 + 18y1 − 9y2 + 2y3 ) 1 0 Y1 = 6h (−2y0 − 3y1 + 6y2 − y3 ) 1 Y20 = 6h (y0 − 6y1 + 3y2 + 2y3 ) 1 0 Y3 = 6h (−2y0 + 9y1 − 18y2 + 11y3 )
− h4 f (4)(ξ)
Y000 = 6h1 2 (12y0 − 30y1 + 24y2 − 6y3 ) Y100 = 6h1 2 (6y0 − 12y1 + 6y2 ) Y200 = 6h1 2 (6y1 − 12y2 + 6y3 ) Y300 = 6h1 2 (−6y0 + 24y1 − 30y2 + 12y3 )
11 2 (4) (ξ1 ) 12 h f h2 (4) − 12 f (ξ1 ) 2 − h12 f (4)(ξ1 )
− −
h3 (5) (ξ2 ) 10 f h3 (5) (ξ2 ) 30 f h3 (5) f (ξ2 ) 30
11 2 (4) (ξ1 ) 12 h f
+
h3 (5) (ξ2 ) 10 f
f 000 (ξ) f 000 (ξ) f 000 (ξ)
3 h2 (4) (ξ2 ) 6 f h2 (4) (ξ) 12 f h2 (4) f (ξ2 ) 6
− 000
hf (ξ1 ) + 3
h3 (4) 12 f (ξ) h3 (4) − 12 f (ξ) h3 (4) 4 f (ξ)
4
1 Y00 = 12h (−25y0 + 48y1 − 36y2 + 16y3 − 3y4 ) 1 0 Y1 = 12h (−3y0 − 10y1 + 18y2 − 6y3 + y4 ) 1 0 Y2 = 12h (y0 − 8y1 + 8y3 − y4 ) 1 0 Y3 = 12h (−y0 + 6y1 − 18y2 + 10y3 + 3y4 ) 1 Y40 = 12h (3y0 − 16y1 + 36y2 − 48y3 + 25y4 )
+
h4 (5) 5 f (ξ) h4 (5) − 20 f (ξ) h4 (5) 30 f (ξ) h4 (5) − 20 f (ξ) h4 (5) f (ξ) 5
5 1 Y000 = 24h 2 1 00 Y1 = 24h 2 1 Y200 = 24h 2 1 00 Y3 = 24h2 1 Y400 = 24h 2
(70y0 − 208y1 + 228y2 − 112y3 + 22y4 ) (22y0 − 40y1 + 12y2 + 8y3 − 2y4 ) (−2y0 + 32y1 − 60y2 + 32y3 − 2y4 ) (−2y0 + 8y1 + 12y2 − 40y3 + 22y4 ) (22y0 − 112y1 + 228y2 − 208y3 + 70y4 )
− 56 h3 f (5)(ξ1 ) + h3 (5) 12 f (ξ1 ) h4 (6) f (ξ) 90 3 − h12 f (5)(ξ1 )
−
5 3 (5) 6 h f (ξ1 )
+
−
h4 (6) f (ξ2 ) 15 h4 (6) (ξ2 ) 60 f
h4 (6) (ξ2 ) 60 f h4 (6) (ξ2 ) 15 f
13.3 Differentiation mit Hilfe interpolierender kubischer Polynom-Splines Anzahl d. Interpolationsstellen
N¨aherungswerte Yi0 , Yi00
551 Restglied ( ξ, ξ1 , ξ2 ∈ [x0 , xn ] ) 5
− h6 f (6)(ξ)
6
1 Y00 = 60h (−137y0 + 300y1 − 300y2 + 200y3 − 75y4 + 12y5 ) 1 0 Y1 = 60h (−12y0 − 65y1 + 120y2 − 60y3 + 20y4 − 3y5 ) 1 Y20 = 60h (3y0 − 30y1 − 20y2 + 60y3 − 15y4 + 2y5 ) 1 0 Y3 = 60h (−2y0 + 15y1 − 60y2 + 20y3 + 30y4 − 3y5 ) 1 Y40 = 60h (3y0 − 20y1 + 60y2 − 120y3 + 65y4 + 12y5 ) 1 0 Y5 = 60h (−12y0 + 75y1 − 200y2 + 300y3 − 300y4 + 137y5 )
7
h (7) 1 7 f (ξ) Y00 = 60h (−147y0 + 360y1 − 450y2 + 400y3 − 225y4 + 72y5 − 10y6 ) 6 − h42 f (7)(ξ) 1 Y10 = 60h (−10y0 − 77y1 + 150y2 − 100y3 + 50y4 − 15y5 + 2y6 ) h6 (7) 1 Y20 = 60h (2y0 − 24y1 − 35y2 + 80y3 − 30y4 + 8y5 − y6 ) 105 f (ξ) h6 (7) 1 Y30 = 60h (−y0 + 9y1 − 45y2 + 45y4 − 9y5 + y6 ) − 140 f (ξ) h6 (7) 1 f (ξ) Y40 = 60h (y0 − 8y1 + 30y2 − 80y3 + 35y4 + 24y5 − 2y6 ) 105 6 1 0 h Y5 = 60h (−2y0 + 15y1 − 50y2 + 100y3 − 150y4 + 77y5 + 10y6 ) − 42 f (7)(ξ) 1 h6 (7) Y60 = 60h (10y0 − 72y1 + 225y2 − 400y3 + 450y4 − 360y5 + 147y6 ) f (ξ)
h5 (6) f (ξ) 30 h5 (6) − 60 f (ξ) h5 (6) 60 f (ξ) h5 (6) − 30 f (ξ) h5 (6) 6 f (ξ) 6
7
13.3
Differentiation mit Hilfe interpolierender kubischer Polynom-Splines
Die angen¨aherte Differentiation einer Funktion f : [a, b] → R mittels der Ableitungen einer interpolierenden Splinefunktion S zu St¨ utzpunkten xi , f (xi ) , i = 0(1)n, mit a = x0 < x1 < . . . < xn = b beruht darauf, dass S gegen f , S 0 gegen f 0 , und S 00 gegen f 00 konvergiert, wenn mit wachsender Anzahl der Teilintervalle von [a, b] deren maximale L¨ange gegen Null strebt (Abschnitt 10.1.9). Das gilt f¨ ur die Splinefunktion S mit vorgegebenen 1. oder 2. Randableitungen und f¨ ur die nat¨ urliche Splinefunktion. Mit S(x) S 0 (x) S 00 (x)
≡ ≡ ≡
Si (x) Si0 (x) Si00 (x)
= ai + bi (x − xi ) + ci (x − xi )2 + di (x − xi )3 , = bi + 2 ci (x − xi ) + 3 di (x − xi )2 , = 2 ci + 6 di (x − xi ) f¨ ur x ∈ [xi , xi+1 ], i = 0(1)n−1,
sind S 0 und S 00 N¨aherungsfunktionen f¨ ur f 0 bzw. f 00 .
552
13. Numerische Differentiation
Die Genauigkeit der Ann¨ aherung f¨ ur f 00 l¨ asst sich erh¨ohen, wenn man mit den erhaltenen Wertepaaren f¨ ur xi , S 0 (xi ) , i = 0(1)n, S 0 (xi ) ≈ f 0 (xi ), eine weitere Spline-Interpolation durchf¨ uhrt und die dann erhaltene Splinefunktion ableitet ( spline on spline“, [AHLB1986], ” S.43 und 49). Die numerische Differentiation mit Hilfe kubischer Splines l¨asst im Allgemeinen eine bes¨ sere Ubereinstimmung von S 0 und f 0 erwarten, als sie durch die Differentiation eines Interpolationspolynoms erreicht werden kann.
Beispiel 13.1. ([AHLB1986], S. 48) Gegeben: Die Funktion f (x) = sin x. Die ¨ aquidistanten Knoten xi = iπ/18, i = 0(1)9. Gesucht:
N¨aherungswerte f¨ ur f 0 (xi ) mit Hilfe der nat¨ urlichen kubischen Splinefunktion zu den gegebenen Knoten. Es werden hier nur die numerischen Resultate (nicht die Splinefunktion selbst) angegeben.
L¨osung: xi
sin xi
S 0 (xi )
f 0 (xi ) = cos xi auf 5 Dezimalen
0 π/18 2π/18 3π/18 4π/18 5π/18 6π/18 7π/18 8π/18 π/2
0.00000 0.17365 0.34202 0.50000 0.64279 0.76604 0.86603 0.93969 0.98481 1.00000
1.00005 0.98478 0.93966 0.86606 0.76603 0.64279 0.49999 0.34201 0.17366 0.00000
1.00000 0.98481 0.93969 0.86603 0.76604 0.64279 0.50000 0.34202 0.17365 0.00000
max. absoluter Fehler 5 3 3 3 1
· · · · ·
10−5 10−5 10−5 10−5 10−5
1 · 10−5 1 · 10−5 1 · 10−5
13.4 Differentiation mit dem Romberg-Verfahren
553
Beispiel 13.2. ([AHLB1986], S. 49) Gegeben: Die Funktion f (x) = sin x, xi = iπ/18, i = 0(1)9, hi = π/18. N¨aherungswerte f¨ ur f 00 (xi ) mit Hilfe der periodischen Splinefunktion S.
Gesucht: L¨osung: xi
S 0 (xi )
S 00 (xi ) mit S 0 (xi ) = bi 00 S (xi ) = 2ci
S 00 (xi ) durch spline-on-spline“ ”
f 00 (xi ) = − sin xi auf 5 Dezimalen
0 π/18 2π/18 3π/18 4π/18 5π/18 6π/18 7π/18 8π/18 π/2
1.00005 0.98478 0.93966 0.86606 0.76603 0.64279 0.49999 0.34201 0.17366 0.00000
0.00000 −0.17494 −0.34212 −0.50119 −0.64516 −0.76706 −0.86924 −0.94107 −0.98814 −1.00184
0.00000 −0.17375 −0.34196 −0.50002 −0.64280 −0.76600 −0.86594 −0.93970 −0.98479 −0.99996
0.00000 −0.17365 −0.34202 −0.50000 −0.64279 −0.76604 −0.86603 −0.93969 −0.98481 −1.00000
Die Tabellen in Beispiel 13.2 sind (unter Beachtung des Vorzeichens) symmetrisch zu x = π/2 bis zu x = π fortzusetzen. Je mehr man sich von den Randpunkten x0 = 0 und xn = π entfernt, umso geringer werden die Fehler. W¨ahlt man statt hi = π/18 die Schrittweite hi = π/9, so stellt sich bei der Berechnung von S 0 (xi ) als maximaler absoluter Fehler der Wert 11·10−5 gegen¨ uber 5·10−5 f¨ ur hi = π/18, also etwa eine Verdoppelung, ein. Die verschiedenen Randbedingungen wirken sich auf S 0 (xi ) mit Ausnahme der letzten Dezimale eines Wertes nahe x0 bzw. xn u ¨ berhaupt nicht aus.
13.4
Differentiation mit dem Romberg-Verfahren
Gegeben seien eine Funktion f ∈ C 2n [a, b], n ≥ 1, und eine Schrittweite h, h > 0. Gesucht ist an der Stelle x0 ∈ (a, b) ein N¨ aherungswert f¨ ur f 0 (x0 ); x0 sei so gew¨ahlt, dass a ≤ x0 − h und x0 + h ≤ b sind. Wenn f gen¨ ugend oft stetig differenzierbar ist, sind (p) mit f (x0 ) = f0 , f (p) (x0 ) = f0 , p = 1, 2, . . . , sowie mit ξ1 ∈ (x0 , x0 +h), ξ2 ∈ (x0 −h, x0 ), f (x0 + h) = f0 + hf00 +
h2 00 h3 000 h4 (4) h5 (5) f + f0 + f0 + f (ξ1 ) , 2! 0 3! 4! 5!
(13.1)
f (x0 − h) = f0 − hf00 +
h2 00 h3 000 h4 (4) h5 (5) f − f0 + f0 − f (ξ2 ) . 2! 0 3! 4! 5!
(13.2)
554
13. Numerische Differentiation
Subtrahiert man (13.2) von (13.1), so folgt f¨ ur den zentralen Differenzenquotienten zur Schrittweite h f (x0 + h) − f (x0 − h) h2 h4 (5) = f 0 (x0 ) + f0000 + f (ξ1 ) + f (5) (ξ2 ) . (13.3) 2h 3! 2 · 5! Der zentrale Differenzenquotient zur Schrittweite hj wird mit (0)
Dj (f ) :=
f (x0 + hj ) − f (x0 − hj ) 2hj
(13.4)
1 000 bezeichnet. F¨ ur (13.3) ergibt sich mit hj anstelle von h, mit (13.4) und mit c2 = − 3! f0 kurz (0) f 0 (x0 ) = Dj (f ) + c2 h2j + O(h4j ) . (13.5)
Dabei ist c2 unabh¨ angig von hj . Mit Verwendung der h¨ oheren Ableitungen von f in (13.1) und (13.2) l¨asst sich (13.5) in einer allgemeinen Form schreiben mit von hj unabh¨angigen c2k : (0)
f 0 (x0 ) = Dj (f ) +
n−1 X
2n c2k h2k j + O(hj ) .
(13.6)
k=1
Im Folgenden wird (13.6) verwendet zu den Schrittweiten hj = h/(2j ), j = 0, 1, 2, . . ., die also durch fortgesetzte Halbierung von h0 = h entstehen. F¨ ur die Schrittweiten hj und hj+1 = hj /2 lautet (13.6) ausf¨ uhrlich (0) f 0 (x0 ) = Dj (f ) + c2 h2j + c4 h4j + . . . + c2n−2 h2n−2 + O h2n , (13.7) j j f 0 (x0 ) =
Dj+1 (f ) + c2
hj 2
+ . . . + c2n−2
hj 2
(0)
2
+ c4
2n−2
hj 2
4
h + O ( 2j )2n .
(13.8)
Um aus diesen Gleichungen c2 h2j zu eliminieren, wird (13.7) von der mit 22 = 4 multiplizierten Gleichung (13.8) subtrahiert. Mit dieser Linearkombination ergibt sich f 0 (x0 ) =
1 3
(0) (0) (1) 4Dj+1 (f ) − Dj (f ) + c4 h4j (1)
+ . . . + c2n−2 h2n−2 + O(h2n j ) j und mit (1)
Dj (f ) :=
f 0 (x0 )
(1)
(1)
1 (0) (0) 4Dj+1 (f ) − Dj (f ) 3 (1)
(1)
=
Dj (f ) + c4 h4j + . . . + c2n−2 h2n−2 + O(h2n j ) j
=
(1) Dj (f )
+
O(h4j ) ;
also ist Dj (f ) eine N¨ aherung der Fehlerordnung O(h4j ) f¨ ur f 0 (x0 ).
(13.9)
13.4 Differentiation mit dem Romberg-Verfahren
555 (0)
Durch eine Linearkombination zweier N¨ aherungen Dj (1)
f¨ ur f 0 (x0 ) eine neue N¨ aherung Dj
(0)
und Dj+1 f¨ ur f 0 (x0 ) wurde somit
der Fehlerordnung O(h4j ) erzeugt.
Dies ist das Prinzip des Romberg-Verfahrens (Richardson-Extrapolation). Das Verfahren l¨asst sich wie folgt fortsetzen. Um eine N¨aherung der Fehlerordnung O(h6j ) zu gewinnen, wird (13.9) f¨ ur die Schrittweiten hj und hj+1 = hj /2 notiert f 0 (x0 ) =
f 0 (x0 ) =
(1)
(1)
(1)
Dj (f ) + c4 h4j + c6 h6j
(1) + . . . + c2n−2 h2n−2 + O h2n , j j 4 6 (1) (1) hj (1) hj Dj+1 (f ) + c4 + c 6 2 2 2n−2 (1) hj h + . . . + c2n−2 2 + O ( 2j )2n .
(13.10)
(13.11)
(1)
Um c4 h4j zu eliminieren, wird (13.10) von der mit 24 multiplizierten Gleichung (13.11) subtrahiert. Diese Linearkombination ergibt 1 (1) (1) (2) (2) f 0 (x0 ) = 4 24 Dj+1 (f ) − Dj (f ) + c6 h6j + . . . + c2n−2 h2n−2 + O(h2n j ). j 2 −1 Mit 1 (2) (1) (1) Dj (f ) := 4 24 Dj+1 (f ) − Dj (f ) 2 −1 folgt (2) f 0 (x0 ) = Dj (f ) + O(h6j ) . Indem man so fortfahrend je einen N¨ aherungswert f¨ ur f 0 (x0 ) zu den Schrittweiten hj und hj /2 erstellt und anschließend eine geeignete Linearkombination der beiden N¨aherungswerte bildet, erh¨ alt man durch dieses Zusammenspiel von Schrittweitenhalbierung und Linearkombination mit 22k = 4k f¨ ur f 0 (x0 ) die Darstellung (k)
f 0 (x0 ) = Dj (f ) + O(h2k+2 ) j mit (k)
Dj (f )
:= =
1 k (k−1) (k−1) 4 Dj+1 (f ) − Dj (f ) −1 1 (k−1) (k−1) (k−1) Dj+1 (f ) + k Dj+1 (f ) − Dj (f ) 4 −1 4k
(13.12)
f¨ ur j = 0, 1, 2, . . ., hj = h/(2j ), k = 1(1)n − 1; n ergibt sich aus der Voraussetzung f ∈ C 2n [a, b]. Die zu berechnenden Werte erscheinen in dem folgenden Rechenschema.
556
13. Numerische Differentiation (0)
Dj
(1)
Dj
(2)
Dj
···
(m−1)
Dj
(m)
Dj
(0)
D0
(0)
D0
D2
(0)
D1
D0
.. .
.. .
.. .
..
(0)
Dm−2
(1)
Dm−3
(2)
···
D0
(1)
Dm−2
(2)
···
D1
D1
Dm−1 (0)
Dm
(1)
(1)
Dm−1
(2)
. (m−1)
(m−1)
(m)
D0
Da f¨ ur die Berechnung der Werte in einer neuen Zeile des Schemas nur die in der vorangehenden Zeile stehenden Zahlen ben¨ otigt werden, gen¨ ugt es, mit diesen beiden aktuellen Zeilen, der oberen Do und der unteren Du, zu arbeiten. Wichtig ist, dass im Laufe des Verfahrens die optimale Schrittweite hopt f¨ ur die Berechnung des zentralen Differenzenquotienten nicht unterschritten wird. Die Schrittweite h0 , mit der das Verfahren beginnt, wird bei jedem Schritt von einer Zeile zur n¨achsten halbiert. Daher wird f¨ ur h0 zweckm¨ aßig h0 = 2m hopt , m ≥ 1, gew¨ahlt. Nach m Halbierungsschritten ist dann die Schrittweite hopt erreicht. Das Schema besitzt m + 1 Zeilen, und in der letzten Zeile stehen m + 1 Werte. Wie schon im Abschnitt 13.2 erw¨ ahnt, ergibt sich die optimale Schrittweite nach [HERM2001] S. 419 mit Verwendung der Maschinengenauigkeit % = 10−q . Es ist hopt = 10−(1+q/3) . In der aktuellen k-ten Zeile Du steht der neueste N¨aherungswert Du(k) f¨ ur die Ableitung f 0 (x0 ) an der k-ten Stelle. Mit dem vorangehenden Wert Du(k−1) ergibt sich die Abbruchbedingung |Du(k) − Du(k−1)| ≤ |Du(k)| δ + ε. Dabei sind δ und ε Schranken f¨ ur den relativen bzw. absoluten Fehler. Es hat sich als zweckm¨aßig erwiesen, f¨ ur N¨aherungswerte Du(k) mit |Du(k)| ≥ 10 s g¨ ultige Ziffern zu ermitteln mit ε = 0 und δ = 5 · 10−s . Wenn |Du(k)| < 10 ist, werden s−1 g¨ ultige Dezimalen bestimmt mit δ = 0 und ε = 0.5·10−(s−1) = 5·10−s ; zusammen mit der Ziffer vor dem Dezimalpunkt sind das ebenfalls s g¨ ultige Ziffern. Mit Hilfe des ersten berechneten Differenzenquotienten Do(1) wird entschieden, ob die Abfrage nach dem relativen oder absoluten Fehler vorgenommen wird. Wegen der Fehler infolge Ausl¨ oschung sicherer Ziffern bei der Berechnung der Differenzenquotienten ist die Beschr¨ ankung auf eine mittlere Genauigkeit mit s = 7 oder s = 8 angebracht (siehe auch die folgenden Beispiele). In der praktischen Anwendung gen¨ ugt m = 4. Dann ben¨otigen Do und Du m+1 = 5 Pl¨atze. Meist werden nur 2 oder 3 Zeilen im Romberg-Schema ben¨otigt. Jede Zeile im Romberg-Schema erfordert zwei Funktionsauswertungen.
13.4 Differentiation mit dem Romberg-Verfahren
557
Algorithmus 13.3. (Romberg-Verfahren zur numerischen Differentiation) Gegeben: f ∈ C2n [a, b], n ≥ 1, x 7→ f (x), die optimale Schrittweite hopt , die maximale Anzahl m, m ≥ 1, der Schrittweiten-Halbierungsschritte und die Anzahl s der zu ermittelnden g¨ ultigen Ziffern. Gesucht: Ein N¨aherungswert f¨ ur die Ableitung f 0 (x0 ) an der Stelle x0 ∈ [a + h0 , b − h0 ], h0 = 2m hopt . 1. Setze h := 2m hopt , k := 1. 2. Berechne Do(1) := f (x0 + h) − f (x0 − h) /2h. 3. Falls |Do(1)| < 10 ist, setze δ := 0 und ε := 5 · 10−s , andernfalls ε := 0 und δ := 5 · 10−s . 4. (Beginn der Schleife) Setze h := 0.5 h und berechne Du(1) := f (x0 + h) − f (x0 − h) /2h. Setze k := k + 1 und r := 4. 5. Berechne f¨ ur i = 2 bis k: Du(i) := Du(i−1) + Du(i−1) − Do(i−1) /(r−1) und setze r := 4 r. 6. Setze Duk := Du(k) und ∆Du := Du(k) − Du(k−1). 7. Bereite den n¨achsten Durchgang ab 4. vor mit Do := Du. (Du wird die obere Zeile Do und Du wird u ¨berschrieben.) 8. Abbruchbedingung. Falls |∆Du| ≤ |Duk| δ + ε oder h ≤ hopt sind, erfolgt Abbruch mit f 0 (x0 ) = Duk. Andernfalls weiter mit 4.
Beispiel 13.4. Gegeben: Die Funktion f (x) = sin(x). Gesucht:
N¨aherungswerte f¨ ur f 0 (x) = cos(x) an den Stellen x = mit dem Romberg-Verfahren.
L¨osung:
Der verwendete Rechner hat die Maschinengenauigkeit
π 4
π + i 28 f¨ ur i = 0(1)7
% = 6 · 10−12 = 10−q mit q = 11.221 849. Damit ist die optimale Schrittweite hopt = 10−(1+q/3) = 0.000 018 17 , gerundet hopt = 0.000 02. Es sei m = 4. Dann ist die Startschrittweite h0 = 24 hopt = 0.000 32. Do und Du haben m + 1 = 5 Pl¨atze.
558
13. Numerische Differentiation Mit s = 8 werden wegen | cos(x)| < 10 7 g¨ ultige Dezimalen ermittelt. F¨ ur jeden Wert werden nur die ersten beiden Zeilen des Romberg-Schemas ben¨otigt. Die berechneten Werte stimmen mit denen der Ableitung f 0 (x) = cos(x) u ¨berein. x π 4 π 4 π 4 π 4 π 4 π 4 π 4 π 4
+
π 28
Du(2)
cos(x)
0.707 106 8
0.707 106 8
0.623 489 8
0.623 489 8
π + 2 28
0.532 032 1
0.532 032 1
π 28 π 28 π 28 π 28 π 28
0.433 883 7
0.433 883 7
0.330 279 1
0.330 279 1
0.222 520 9
0.222 520 9
0.111 964 5
0.111 964 5
0.000 000 0
0.000 000 0
+3 +4 +5 +6 +7
Da sin(x) eine recht harmlose“ Funktion ist, wird das Romberg-Verfahren im folgenden ” Beispiel bei einer komplizierteren Funktion angewendet.
Beispiel 13.5. Gegeben: Die Funktion f (x) = x4 + 6 sin(5x). Gesucht:
N¨aherungswerte f¨ ur die Ableitung f 0 (x) = 4 x3 + 30 cos(5x) an den Stellen a) x = 0.91 + i 0.005, i = 0(1)5 b) x = 1.7 + i 0.1, i = 0(1)9 mit dem Romberg-Verfahren.
L¨osung:
Wie im vorigen Beispiel sind hopt = 0.000 02, m = 4, h0 = 0.000 32. a) Mit s = 8 werden 8/7 g¨ ultige Ziffern/Dezimalen ermittelt. Jeder Wert Du(k) wird mit k = 3 Zeilen im Romberg-Schema berechnet. Außer bei x = 0.910 weichen die N¨ aherungswerte von der exakten Ableitung um eine Einheit der siebenten Dezimale ab. x 0.910 0.915 0.920 0.925 0.930 0.935
Du(k) −1.836 002 5 −1.044 471 5 −0.249 823 9 0.547 478 6 1.346 972 5 2.148 193 5
k 3 3 3 3 3 3
f 0 (x) −1.836 002 5 −1.044 471 6 −0.249 823 8 0.547 478 7 1.346 972 6 2.148 193 4
13.5 Entscheidungshilfen
559
b) Die Werte Du(k) werden mit s = 7 und s = 8 berechnet. Daf¨ ur gen¨ ugen 2 oder 3 Zeilen im Romberg-Schema. x 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6
Du(k), s = 7 1.591 642 −4.005 908 −2.479 164 6.827 854 22.777 89 42.724 77 63.167 14 80.611 62 92.433 95 97.527 40
k 3 3 3 3 2 2 2 2 2 2
Du(k), s = 8 1.591 642 5 −4.005 907 6 −2.479 164 4 6.827 854 4 22.777 892 42.724 771 63.167 143 80.611 619 92.433 948 97.527 404
k 3 3 3 3 3 2 2 2 2 2
f 0 (x), s = 8 1.591 642 9 −4.005 907 9 −2.479 164 7 6.827 854 1 22.777 892 42.724 771 63.167 143 80.611 619 92.433 948 97.527 403
Wenn die Werte von f 0 (x) auf 7 Ziffern gerundet werden, stimmen sie bis auf die bei x = 1.7 und x = 1.9 mit Du(k) f¨ ur s = 7 u ¨ berein. Dieses Beispiel zeigt: Mit s = 7 und s = 8 erh¨ alt man mit einem geringen oder m¨aßigen Rechenaufwand genaue Resultate. Bei der Anwendung des Verfahrens sind m = 4, h0 = 16 hopt und s = 7 oder s = 8 zu empfehlen. Mit hopt h¨ angen auch die Ergebnisse vom eingesetzten Rechner ab.
13.5
Entscheidungshilfen
Wegen der aufrauenden“ Wirkung der Differentiation sind hier bei weitem nicht so gute ” Ergebnisse zu erwarten wie bei der numerischen Quadratur. Die Berechnung von Ableitungen u ¨ber Splines ist der u ¨ber Interpolationspolynome vorzuziehen. Lassen sich die Funktionswerte an den f¨ ur das Romberg-Verfahren erforderlichen St¨ utzstellen berechnen, so ist dieses Verfahren einzusetzen.
Erg¨ anzende Literatur zu Kapitel 13 [HERM2001]; [KNOR2003], 7.1; [PREU2001]; [WERN1993], III §5, §8.
Kapitel 14
Numerische Quadratur
14.1
Vorbemerkungen
Jede auf einem Intervall Ix stetige Funktion f besitzt dort Stammfunktionen F , die sich nur durch eine additive Konstante unterscheiden, mit d F (x) = F 0 (x) = f (x), x ∈ Ix . dx Die Zahl I(f ; α,β) heißt das bestimmte Integral der Funktion f u ¨ber [α,β]; es gilt der Hauptsatz der Integralrechnung Zβ f (x) dx = F (β) − F (α),
I(f ; α, β) :=
[α, β] ⊂ Ix ,
α
f heißt integrierbar auf [α,β]. In der Praxis ist man in den meisten F¨ allen auf eine n¨aherungsweise Berechnung bestimmter Integrale I(f ; α,β) mit Hilfe sogenannter Quadraturformeln Q angewiesen. Die Ursachen daf¨ ur k¨onnen sein: 1. f hat eine Stammfunktion F , die nicht in geschlossener (integralfreier) Form darp −x2 2 stellbar ist (z. B. f (x) = (sin x)/x, f (x) = e , f (x) = 1 − k sin2 x mit 2 0 < k < 1 ). 2. f ist nur an diskreten Stellen xk ∈ [α,β] bekannt. 3. F ist in geschlossener Form darstellbar, jedoch ist die Ermittlung von F oder auch die Berechnung von F (α) und F (β) mit Aufwand verbunden. Beispiel 14.1. (zu 1.) Ein sogenanntes elliptisches Integral 2. Gattung Zπ/2p
1 − k 2 sin2 t dt ,
0 < k2 < 1 ,
0
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_14, © Springer-Verlag Berlin Heidelberg 2011
562
14. Numerische Quadratur
das nicht elementar integrierbar ist, ergibt sich bei der Berechnung des Umfanges U einer Ellipse mit der Parameterdarstellung x = b cos t ,
y = a sin t ,
a > b > 0.
Es gilt n¨amlich U
= = = = =
π/2 R p
4
0 π/2 R p
4
0 π/2 R q
4a
0 π/2 R q
4a
0 π/2 R p
4a
x˙ 2 (t) + y˙ 2 (t) dt ,
x˙ :=
dx dt
,
dy dt
a2 cos2 t + b2 sin2 t dt cos2 t + 1−
b2 a2
a2 −b2 a2
sin2 t dt
sin2 t dt
1 − k 2 sin2 t dt
mit k 2 =
0
und 0 < k 2 < 1 wegen a > b.
y˙ :=
a2 −b2 a2
Beispiel 14.2. (zu 2., Spritzgießen) Beim Spritzgussverfahren in der Kunststofftechnik werden Thermoplaste in eine gek¨ uhlte Form gespritzt. Das heiße Formteil bleibt so lange im Werkzeug, bis es eine Temperatur erreicht hat, bei der es nach der Entformung nicht mehr deformiert werden kann. Nimmt man beispielsweise als Form eine beidseitig gek¨ uhlte Platte, bei der beide Oberfl¨achen die konstante Wandtemperatur ϑW (Werkzeugwandtemperatur) besitzen, so ergeben sich sinusf¨ormige Temperaturprofile ϑM (x) (Massetemperatur in Abh¨angigkeit vom Ort zur Zeit t) durch Integration der Differentialgleichung f¨ ur die W¨armeleitung ϑt = a∆ϑ ∂ ∂2 ∂2 (a = Temperaturleitf¨ ahigkeit) ϑt := ∂t ϑ , ∆ := ∂x . L¨ost man die DGL etwa 2 + ∂y 2 mit dem Differenzenverfahren, so erh¨ alt man die Temperaturprofile ϑM (x) in Form einer Wertetabelle zu diskreten Stellen xk .
tk tk+1 tk+2 tk+3 ϑW
r 0r
r -x
s
Abb. 14.1. Temperaturprofile beim Spritzgussverfahren
14.1 Vorbemerkungen
563
Gesucht ist nun die mittlere Massetemperatur ϑM u ¨ ber dem Formteilquerschnitt Zs 1 ϑM = ϑM (x) dx . s 0
Da ϑM (x) nur empirisch vorliegt, muss numerisch integriert werden mit einer Quadraturformel, die die Funktionswerte an den Stellen xk verwendet.
In allen F¨allen muss die vorliegende Aufgabe der Analysis, die nur mit Funktionen einer stetigen Ver¨anderlichen arbeitet, durch eine approximierende Aufgabe (Ersatzproblem) der numerischen Mathematik ersetzt werden. M¨ogliche Ersatzprobleme f¨ ur die Integration sind z. B. Linearkombinationen Q aus Funktionswerten f (xk ) des Integranden an diskreten St¨ utzstellen (Knoten) xk des Integrationsintervalls [α,β] mit Gewichten Ak Zβ X Q(f ; α, β) = Ak f (xk ) ≈ f (x) dx, xk ∈ [α, β] k
α
oder entsprechende Linearkombinationen aus Funktionswerten und Ableitungswerten von f an den Stellen xk . Die Quadraturformeln Q liefern N¨aherungswerte f¨ ur das bestimmte Integral I(f ; α,β) . Zum Beispiel ist Zb R Q (f ; a, b) = (b − a)f (a) ≈ f (x) dx a
die sogenannte Rechteckformel, konstruiert f¨ ur das sogenannte Referenzintervall [a, b]; es k¨onnte als Referenzintervall z. B. auch [−1, 1], [0, h], [−h, h] gew¨ahlt werden. Will man mit Hilfe der Rechteckformel einen N¨ aherungswert f¨ ur I(f ; α,β) ermitteln, so zerlegt man das Integrationsintervall [α,β] mit Z : α = t0 < t1 < t2 < . . . < tN = β in Teilintervalle [tk ,tk+1 ] der L¨ ange hk := tk+1 − tk . Z heißt Zerlegung des Integrationsintervalls. Wegen Zβ
Zt1 f (x) dx =
α
Zt2 f (x) dx +
t0
ZtN f (x) dx + . . . +
t1
f (x) dx
tN −1
wendet man auf jedes Teilintervall [tk ,tk+1 ] die auf dieses Intervall als Referenzintervall transformierte Rechteckformel QR an. Man erh¨ alt so als N¨aherungswert f¨ ur I(f ; α,β) die summierte Rechteckformel Zβ N−1 X R Qhk (f ; α, β) = (tk+1 − tk )f (tk ) ≈ f (x) dx. k=0
α
564
14. Numerische Quadratur
y6
.. .......... ......... ........ ........ ....... . . . . . . . .... ....... .............. ...... .... ...... ...... .................. ...... ........................... . . . . . ..... . . . ................... . . . . ..... ........................... ..... ........................................ ..... ........................... ..... ..... .................................... . . . . .... ...................................................... .... .................................... .................................... .................. ......................................................
f (x)
0
α
.. ...
.. ...
β
x
hk Abb. 14.2. Zusammengesetzte (summierte) Rechteckformel Eine so aus einer f¨ ur ein Referenzintervall konstruierten Quadraturformel zusammengesetzte Formel heißt summierte oder zusammengesetzte Quadraturformel. Die Differenz aus Integralwert und Quadraturformel f¨ ur das Referenzintervall liefert den sogenannten lokalen Quadraturfehler, die Differenz aus Integralwert und summierter Quadraturformel den globalen Quadraturfehler. Bei geeigneter Zerlegung des Integrationsintervalls kann der Fehler beliebig klein gemacht werden. Insofern k¨onnte die Kenntnis einer Quadraturformel theoretisch ausreichen. Da aber gleichzeitig der Rechenaufwand minimiert werden soll, werden im Folgenden verschiedene Quadraturformeln angegeben. Eine feinere Unterteilung w¨ urde mehr Funktionsauswertungen erfordern. Deshalb muss man zur Minimierung des Rechenaufwandes optimale Gewichte Ak und geeignete KnoRβ P ten xk w¨ahlen, so dass Q(f ; α, β) = Ak f (xk ) das Integral f (x) dx schon mit einer k
α
geringen Anzahl von Summanden gut approximiert. Entscheidungshilfen f¨ ur die Auswahl der geeigneten Methode sind in Abschnitt 14.15 gegeben.
14.2
Konstruktion von Interpolationsquadraturformeln
Es sollen nun Quadraturformeln Q f¨ ur ein Referenzintervall [a, b] konstruiert werden, die Polynome m¨oglichst hohen Grades exakt integrieren. Von dem Integranden f eines bestimmten Integrals I(f ; a, b) seien an n + 1 paarweise verschiedenen und nicht notwendig ¨aquidistanten St¨ utzstellen (Knoten) xk , k = 0(1)n, des Referenzintervalles [a, b], die St¨ utzwerte yk = f (xk ) bekannt. Dann liegt es nahe, durch die n + 1 St¨ utzpunkte xk , yk = f (xk ) das zugeh¨orige Interpolationspolynom Φ vom H¨ ochstgrad n zu legen und das bestimmte Integral von Φ u ¨ ber [a, b]: I(Φ; a, b) als N¨ aherungswert f¨ ur das gesuchte Integral I(f ; a, b) zu benutzen. Mit dem Restglied R(x) der Interpolation gilt f (x) = Φ(x) + R(x),
x ∈ [a, b].
14.2 Konstruktion von Interpolationsquadraturformeln F¨ ur das Integral I(f ; a, b) erh¨ alt I(f ; a, b) = Q(f ; a, b) = E(f ; a, b) =
565
man somit Rb
f (x) dx = Q(f ; a, b) + E(f ; a, b)
mit
a
I(Φ; a, b) =
Rb
I(R; a, b) =
a Rb
(14.1)
Φ(x) dx, R(x) dx.
a
Nach Ausf¨ uhrung der Integration u ¨ber Φ bzw. R liefert Q(f ; a, b) die Quadraturformel und E(f ; a, b) das zugeh¨ orige Restglied der Quadratur. Die Summe aus Q und E wird als Integrationsregel bezeichnet. F¨ ur das Restglied gilt mit (14.1) Zb E(f ; a, b) =
Zb R(x) dx =
a
f (x) − Φ(x) dx.
a
Falls also f − Φ in [a, b] das Vorzeichen mehrfach wechselt, heben sich positive und negative Fehler teilweise auf, so dass der resultierende Fehler selbst dann klein werden kann, wenn Φ keine gute Approximation von f darstellt, d. h. zwischen den St¨ utzstellen stark von f abweicht. Durch Integration werden also Fehler gegl¨attet. .......................... ...... ...... ..... ..... .............................. .... .......... . . . ... . . . . . . . . . . . . . . . . ........................ .. ... . .... . . . . . . .................................................................... . . . . . ... ....... .... .. .. . . ... . ....... . . ...... .. .. ... ... .... . . . . . . . . . . . ..... . .. .. ..... ....... .... ......... ... . ... ..... .... ..... ... ... ... ...... ........ .... ....... ... ... . ............ ........... .... .. . . . . . . . . . . .................... ... . .... ... . . .. . . . . . .. .. . ... . . . . . . . . . .... .... . ............ . . .. ......................... ... ... . . ... ...... . ... .. . .. ... ... .... ... . . .. ... .... ... ... ... . ... .. ... ... .... ... . . .. . .... . . .... ... ... .... ... ..... ..... . .. .. .. .. .. .. .. ..
r
6
−
y = Φ(x)
r
+
+
r
r
y = f (x)
x0
x1
x2
-
x3
Abb. 14.3. Aufhebung der Fehler Benutzt man die Interpolationsformel von Lagrange (9.3) mit n X Φ(x) = L(x) = Lk (xk ) f (xk ) , k=0
so erh¨alt man f¨ ur Q(f ; a, b) die Darstellung Zb Q(f ; a, b) =
L(x) dx =
n X k=0
a
Zb f (xk )
Lk (x) dx a
und mit der Abk¨ urzung Zb Ak :=
Lk (x) dx , a
k = 0(1)n ,
(14.2)
566
14. Numerische Quadratur
die Darstellung Q(f ; a, b) =
n X
Ak f (xk ) = A0 f (x0 ) + A1 f (x1 ) + . . . + An f (xn ).
(14.3)
k=0
Die Koeffizienten Ak heißen Gewichte der Quadraturformel; sie h¨angen von den gegebenen St¨ utzstellen xk und dem Referenzintervall [a, b] ab. Die Integrale in (14.2) k¨onnen stets berechnet werden, denn die Integranden Lk sind Polynome, deren Stammfunktionen in geschlossener Form darstellbar sind. Die Aufgabe, das Integral I(f ; a, b) zu bestimmen, ist also zur¨ uckgef¨ uhrt worden auf die Berechnung von elementar ausf¨ uhrbaren Integralen I(Lk ; a, b). Aus der Forderung, dass die Quadraturformel (14.3) auf dem Referenzintervall [a, b] Polynome Pm bis zum Grade M ≥ n exakt integrieren soll Zb ! Pm (x) dx = Q(Pm ; a, b) a
ergibt sich mit Pm (x) = x
m
Zb
xm dx
=
Q(xm ; a, b)
=
a
1 (bm+1 − am+1 ) m+1 n P A k xk m . k=0
Man erh¨alt so das lineare Gleichungssystem n X k=0
Ak xm k =
1 (bm+1 − am+1 ) , m+1
m = 0(1)M ,
(14.4)
welches linear in den Ak und nichtlinear in den xk f¨ ur k = 0(1)n ist. Je nachdem, ob die xk oder die Ak oder weder die xk noch die Ak vorgegeben werden, erh¨alt man bestimmte Arten von interpolatorischen Quadraturformeln unterschiedlicher Konvergenzordnung. Interpolationsquadraturformeln (14.3) k¨ onnen f¨ ur Polynome h¨ochstens bis zum Grad M = 2n + 1 exakt sein (Beweis siehe [NIED1987], 11.3). Dies ist genau dann der Fall, wenn in (14.4) die xk und die Ak frei sind, d. h. 2n + 2 Gr¨oßen zu berechnen sind. Dazu werden 2n + 2 Bedingungen ben¨ otigt, die man f¨ ur m = 0(1)2n + 1 erh¨alt. Lokale und globale Fehlerordnung Ist eine f¨ ur ein Referenzintervall [a, b] konstruierte Quadraturformel Q exakt f¨ ur alle Polynome vom Grad M und gilt f ∈ C M +1 [a, b], so betr¨agt die lokale Fehlerordnung q` = M + 2. Ist f ∈ C M +1 [α, β] und ist hmax die L¨ ange des gr¨oßten Teilintervalls der Zerlegung Z von [α, β], so betr¨ agt die Fehlerordnung der aus Q zusammengesetzten (summierten) +1 Quadraturformel O(hM max ), d. h. die globale Fehlerordnung ist qg = M + 1.
14.3 Newton-Cotes-Formeln
567
Sind a, b und s¨amtliche St¨ utzstellen xk , k = 0(1)n, im Referenzintervall [a, b] gegeben, so ist (14.4) ein lineares Gleichungssystem von n + 1 Gleichungen f¨ ur die n + 1 Gewichte Ak ; es ergeben sich die Newton-Cotes-Formeln, die f¨ ur eine gerade Anzahl (n + 1) von St¨ utzstellen Polynome bis zum n-ten Grade exakt integrieren (d. h. der Exaktheitsgrad M = n, die lokale Fehlerordnung q` = n + 2, die globale Fehlerordnung qg = n + 1) und f¨ ur ungerades (n + 1) Polynome bis zum (n + 1)-ten Grade (d. h. M = n + 1, q` = n + 3, qg = n + 2). Sind a, b mit a = −h, b = h und s¨ amtliche Gewichte Ak mit Ak = 2h/(n + 1) vorgegeben, so ist (14.4) ein nichtlineares Gleichungssystem f¨ ur die St¨ utzstellen xk ; man erh¨alt die Tschebyscheffschen Quadraturformeln, die Polynome bis zum (n + 1)-ten Grade exakt integrieren (d. h. M = n + 1, q` = n + 3, qg = n + 2). Schreibt man f¨ ur ein Referenzintervall weder die St¨ utzstellen xk noch die Gewichte Ak vor und fordert, dass die Quadraturformel (14.3) Polynome bis zum (2n + 1)-ten Grade exakt integriert, so ist (14.4) ein nichtlineares Gleichungssystem f¨ ur die xk und Ak , und es ergeben sich die optimalen Gauß-Formeln (d. h. M = 2n + 1, q` = 2n + 3, qg = 2n + 2). Die genannten und weitere Quadraturverfahren werden in den folgenden Abschnitten angegeben.
14.3
Newton-Cotes-Formeln
Mit Hilfe des linearen Gleichungssystems (14.4) lassen sich f¨ ur ein Referenzintervall [a, b] spezielle Quadraturformeln f¨ ur ¨ aquidistante St¨ utzstellen aufstellen. Die Randpunkte des Referenzintervalls [a, b] fallen dabei jeweils mit St¨ utzstellen des zu integrierenden Interpolationspolynoms zusammen. So konstruierte Formeln geh¨oren zur Klasse der NewtonCotes-Formeln. Man erh¨alt die n + 1 Gewichte Ak der Newton-Cotes-Formeln bei vorgegebenen xk aus (14.4) f¨ ur m = 0(1)n. Das lineare Gleichungssystem lautet ausgeschrieben
1
1
1
x0
x1
x2
···
x20 .. .
x21 .. .
x22 .. .
···
xn0
xn1
xn2
···
1
A0
xn A1 2 xn A 2 = .. .. . . xnn An
b−a
1 (b2 − a2 ) 2 1 (b3 − a3 ) 3 .. .
1 n+1 − an+1 ) n + 1 (b
(14.5)
Die Matrix des Systems (14.5) heißt Vandermonde-Matrix. F¨ ur paarweise verschiedene St¨ utzstellen xk ist ihre Determinante verschieden von Null und das System (14.4) bzw. (14.5) eindeutig l¨osbar, d. h. die Gewichte Ak sind durch die Vorgabe der St¨ utzstellen xk eindeutig bestimmt.
568
14. Numerische Quadratur
Mit dieser Methode kann also zu einem gegebenen Referenzintervall [a, b] und n + 1 gegebenen paarweise verschiedenen und nicht notwendig a¨quidistanten St¨ utzstellen xk ∈ [a, b] jeweils eine Interpolationsquadraturformel hergeleitet werden. Sind dann an diesen St¨ utzstellen xk ∈ [a, b] Funktionswerte f (xk ) einer u ber [a, b] zu integrierenden Funktion ¨ f bekannt, so liefert die Quadraturformel (14.3) einen N¨aherungswert f¨ ur das Integral I(f ; a, b). Mit dem Restglied der Interpolation (9.12) und f ∈ C n+1 [a, b] erh¨alt man f¨ ur E(f ; a, b) die Darstellung Rb (n+1) 1 E(f ; a, b) = f (ξ) π(x) dx mit (n + 1)! a ξ = ξ(x, x0 , x1 , . . . , xn ) ∈ [a, b], π(x) = (x − x0 )(x − x1 ) . . . (x − xn ) bzw. nach dem verallgemeinerten Mittelwertsatz der Integralrechnung 1 E(f ; a, b) = f (n+1) (ξ ∗ ) (n + 1)!
Zb π(x) dx,
ξ ∗ ∈ [a, b] ,
(14.6)
a
falls u ¨berall in [a, b] gilt π(x) ≥ 0 oder π(x) ≤ 0, d. h. π(x) in [a, b] nicht das Vorzeichen wechselt. Im ganzen Intervall [a, b] gilt π(x) ≥ 0 (bzw. π(x) ≤ 0) aber nur dann, wenn kein Knoten xk in (a, b), d. h. die Knoten mit den Randpunkten a, b des Referenzintervalles zusammenfallen. F¨ ur alle u ¨brigen muss das Restglied E(f ; a, b) auf andere Weise als mit dem Mittelwertsatz der Integralrechnung bestimmt werden; eine solche Herleitung wird f¨ ur die Simpsonsche Formel (siehe Abschnitt 14.3.2) und die Tangententrapezformel (siehe Abschnitt 14.4.1) durchgef¨ uhrt. Aus der Darstellung des Restgliedes folgt, dass das Restglied f¨ ur f (x) = Pn (x) verschwindet, weil die (n + 1)-te Ableitung eines Polynoms Pn n-ten Grades Null ist. Das bedeutet, dass die zugeh¨orige Quadraturformel Q zu n + 1 vorgegebenen Knoten im Referenzintervall Polynome bis zum Grade n exakt integriert. Bei geeigneter Wahl der St¨ utzstellen xk k¨onnen außerdem durch dieselbe Quadraturformel auch Polynome noch h¨oheren Grades integriert werden (vgl. Simpsonsche Formel). Allgemein gelten die folgenden Aussagen, die ohne Beweis angegeben werden: F¨ ur 2n-mal stetig differenzierbare Funktionen f hat unter Verwendung von 2n−1 bzw. 2n Knoten xk im Referenzintervall [a, b] f¨ ur das zu integrierende Interpolationspolynom das Restglied der Quadraturregel die Gestalt E(f ; a, b)
=
c2n−1
(b − a)2n−1 (2n)!
f (2n) (ξ)
ξ ∈ [a, b]
E(f ; a, b)
=
c2n
(b − a)2n−1 (2n)!
f (2n) (ξ)
ξ ∈ [a, b] .
bzw.
Die Koeffizienten c2n−1 bzw. c2n h¨ angen nur von den 2n − 1 bzw. 2n Knoten im Referenzintervall ab. Mit einem oberen Index an Q und E wird im Folgenden der Name der Quadraturformel gekennzeichnet, mit dem unteren Index die gew¨ ahlte Schrittweite.
14.3 Newton-Cotes-Formeln
14.3.1
569
Die Sehnentrapezformel
Sehnentrapezformel f¨ ur das Referenzintervall [a,b] Betrachtet man das Integral von f u ¨ber das Referenzintervall [a, b] = [0, h] und w¨ahlt die Randpunkte x0 = 0, x1 = h als St¨ utzstellen, so ergeben sich aus (14.4) wegen n = 1, a = 0, b = h die Gewichte A0 = A1 = h/2, so dass die Quadraturformel (14.3) lautet h QST (f ; 0, h) = A0 f (x0 ) + A1 f (x1 ) = f (0) + f (h) . (14.7) 2 y6
.. ... ... ............. ........................ . . . . . . . . . . .... . . . . .. . ............. . . . . ...... . ............. . . . . . . ...... . .......................................... ......................................... . . . . . . . . ...... . . . ............................................................................................. . . . . . . . . . ....... ...................................................... .... . . . . . . . . . . . . . . . . . . . . . .... ......... . . . . . . . . . . . . ......... ........ ............ ST ........ ........ ........ ............................................... ........................................... ........................................... . . .. . . .. . .. . .. . .. . .. . .
f (0)
f (x)
Q
(f ; 0, h)
0
f (h)
h
x
Abb. 14.4. Zur Sehnentrapezformel QST (f ; 0, h) heißt Sehnentrapezformel (ST -Formel). F¨ ur das zugeh¨orige Restglied folgt mit (14.6) die Darstellung E
ST
1 (f ; 0, h) = f 00 (ξ ∗ ) 2
Zh x(x − h) dx = −
h3 00 ∗ f (ξ ), ξ ∗ ∈ [0, h], f ∈ C 2 [0, h]. 12
(14.8)
0
Die ST -Formel besitzt somit die lokale Fehlerordnung O(h3 ), sie integriert Polynome 1. Grades exakt. Geometrisch bedeutet QST (f ; 0, h) die Fl¨ache des der Kurve y = f (x) f¨ ur x ∈ [0, h] einbeschriebenen Sehnentrapezes. Zusammengefasst folgt die Sehnentrapezregel Zh
f (x) dx = QST (f ; 0, h) + E ST (f ; 0, h) =
h3 h f (0) + f (h) − f 00 (ξ ∗ ), 2 12
ξ ∗ ∈ [0, h].
0
Summierte Sehnentrapezformel bei ¨ aquidistanter Zerlegung Ist die Integration u uhren, so zerlegt man [α,β] ¨ber ein ausgedehntes Intervall [α,β] auszuf¨ in N Teilintervalle der L¨ ange h = (β − α)/N ; h heißt Schrittweite. Wegen Zβ I(f ; α, β) =
α+h Z
f (x) dx = α
f (x) dx + α
β=α+N Z h
α+2h Z
f (x) dx + α+h
...
+
f (x) dx α+(N−1)h
kann man auf jedes Integral u ¨ber ein Teilintervall der L¨ange h die Sehnentrapezformel (14.7) anwenden und anschließend addieren. So ergibt sich die summierte Sehnentrapezformel
570
14. Numerische Quadratur
ST Qh (f ; α, β) =
h 2
f (α) + 2f (α+h) + 2f (α+2h) + . . . + 2f (α(N−1)h) + f (β)
=
h 2
f (α) + f (β) + 2
N−1 P
f (α+ih)
(14.9)
i=1
und mit Hilfe von (14.8) das summierte Restglied ( 3 ∗ EhST (f ; α, β) = − h12 f 00 (ξ0∗ ) + f 00 (ξ1∗ ) + . . . + f 00 (ξN−1 ) mit
ξj∗ ∈ [a + jh, α + (j + 1)h],
j = 0(1)N−1,
(14.10)
β = α + N h.
Ist f 00 stetig in [a, b] und bezeichnet man mit m den kleinsten und mit M den gr¨oßten Wert von f 00 in [a, b], so gilt m
≤
1 00 ∗ ∗ f (ξ0 ) + f 00 (ξ1∗ ) + . . . + f 00 (ξN −1 ) N
≤
M
und nach dem Zwischenwertsatz gibt es mindestens ein η ∈ [a, b], so dass ∗ f 00 (η) = N1 f 00 (ξ0∗ ) + f 00 (ξ1∗ ) + . . . + f 00 (ξN−1 ) ist. Damit erh¨alt man f¨ ur (14.10) EhST (f ; α, β) = −
h2 β − α β − α 2 00 N f 00 (η) = − h f (η) , 12 N 12
η ∈ [a, b] ;
(14.11)
die globale Fehlerordnung ist somit O(h2 ). F¨ ur das Integral von f u ¨ber [α,β] gilt dann die summierte Sehnentrapezformel β Z ST f (x) dx = QST h (f ; α, β) + Eh (f ; α, β) mit
(14.12)
α
QST h (f ; α, β) EhST (f ; α, β)
= =
h 2 −
f (α) + f (β) + 2
N −1 X
! f (α + kh)
k=1
β − α 2 00 h f (η), 12
η ∈ [α, β],
f ∈ C 2 [α, β].
ST Dabei sind QST (f ; α, β) das Restglied der h (f ; α, β) die summierte ST-Formel und Eh 2 summierten ST-Formel; die globale Fehlerordnung ist O(h ).
Geometrisch stellt die summierte Sehnentrapezformel (14.9) die Fl¨ache des der Kurve y = f (x) f¨ ur x ∈ [a, b] einbeschriebenen Polygonzuges mit den Eckpunkten α + νh, f (α + νh) f¨ ur ν = 0(1)N dar, d. h. die Summe der Fl¨acheninhalte der in Abbildung 14.5 eingezeichneten Trapeze.
14.3 Newton-Cotes-Formeln
571
y6
.. ........................................ .... .......................... ....................... .... ....................... . . . . . . ................. .... ................................................... .... ...... .......................................................... . . . . . . . . . ...................................................................... ..... ....... .............. ..... .......................................................... ............... . ..... ................................................................ ..................... ..... ...................................................................... ....................................... . ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. ... ................................................................................................................................................. .... ................................................................................. .... ................................................................................. ................................................................................. ......................................... ......................................................................................................................... ......................... . . . . . . . . . . . . . . . . . . . . . . . . ....... ......................... ...... ST ......................... ......... ......................... .......................... . . . . . . . . . . . . . . . . . . . . . . . . ......... ......................................... ......................................................................................................................... ................................................................................. ................................................................................. ................................................................................. .........................................
f (x)
f (α)
f (β) = f (α + N h)
Q
(f ; α, α + N h)
x
β
← −h− →
α
Abb. 14.5. Summierte Sehnentrapezformel Beispiel 14.3. 2
Bei der Berechnung des Integrals von f (x) = e−x u ¨ber [0, 1] mit der Sehnentrapezformel QST (f ; 0, 1) ist die Schrittweite h so zu w¨ a hlen, dass der maximale absolute Verfahrensh fehler den Wert 0.5 · 10−6 nicht u ur h. ¨ berschreitet. Gesucht ist ein Wert f¨ L¨osung: Es ist
Rβ
f (x) dx
α
=
R1
2
e−x dx
=
ST QST h (f ; 0, 1) + Eh (f ; 0, 1) .
0 2
Der Betrag der zweiten Ableitung f 00 (x) = 2e−x (2x2 − 1) hat im Intervall [0, 1] sein Maximum bei x = 0, | f 00 (0) | = 2. Mit (14.11) muss dann | EhST (f ; 0, 1) | ≤
h2 h2 max |f 00 (x)| = ≤ 0.5 · 10−6 12 x∈[0,1] 6
daraus folgt wegen h = N1 (β − α) = N ≥ 578 erf¨ ullt ist.
1 N
bzw.
h ≤
√
3 · 10−3 sein ;
√ f¨ ur N die Bedingung N ≥ (1/ 3) · 103 , die f¨ ur
Beispiel 14.4. Gegeben: Die Funktion f : f (x) = 1/(1 + x2 ) f¨ ur x ∈ [0, 1] Gesucht:
Ein N¨aherungswert f¨ ur π4 , der durch Integration von f u ¨ ber [0, 1] mit Hilfe der Sehnentrapezformel zu bestimmen ist. Man w¨ahle die Schrittweite h = 0.5 und gebe eine obere Schranke f¨ ur den Verfahrensfehler an.
L¨osung:
Es gilt π = arctan 1 = 4
Z1
1 ST dx = QST h (f ; 0, 1) + Eh (f ; 0, 1) . 1 + x2
0
Wegen h = 0.5 ist das Intervall [0, 1] zu halbieren:
572
14. Numerische Quadratur
h
h
0
0.5
1
Man wendet also die Sehnentrapezformel zweimal an, einmal transformiert man sie auf das Intervall [0, 0.5], einmal auf das Intervall [0.5, 1] und addiert beide Formeln. So ergibt sich die summierte Formel QST h (f ; 0, 1)
= QST (f ; 0, 0.5) + QST (f ; 0.5, 1) = h2 f (0) + f (0.5) + h2 f (0.5) + f (1) = h2 f (0) + 2 f (0.5) + f (1) 0.25 (1 + 2 · 0.8 + 0.5) = 0.775 ,
=
die (14.9) entspricht f¨ ur N = 2. Eine obere Schranke f¨ ur den Verfahrensfehler erh¨alt man durch Absch¨atzung 1 des zugeh¨ origen Restgliedes (14.11). Aus EhST (f ; 0, 1) = − 12 · 14 f 00 (η) folgt |EhST (f ; 0, 1)| ≤
1 1 max |f 00 (x)| = ≤ 0.42 · 10−1 , 48 x∈[0,1] 24
da wegen f 00 (x) = 2 · g(x) mit g(x) = (3x2 − 1)/(1 + x2 )3 und g 0 (x) = 12x (1 − x2 )/(1 + x2 )4 = 0 f¨ ur x = 0 und x = 1 das Maximum von |g(x)| f¨ ur x = 0 angenommen wird, so dass |g(x)| ≤ 1, also |f 00 (x)| ≤ 2 gilt. F¨ ur den wahren Fehler folgt wegen π4 = 0.785398 . . . die Absch¨atzung 0.1 · 10−1 = 0.785 − 0.775 ≤
π − 0.775 ≤ 0.786 − 0.775 = 0.11 · 10−1 . 4
Dieser Weg zur Absch¨ atzung des Verfahrensfehlers ist f¨ ur die praktische Anwendung uninteressant, da man die Ableitungen des Integranden kennen und absch¨atzen muss. Man verwendet besser eine Fehlersch¨ atzung (siehe Abschnitt 14.11). Beispiel 14.5. π
Gegeben: Das Integral
I
sin x π ; 0, x 2
Z2
=
sin x dx x
0
Gesucht:
Der N¨aherungswert QST f¨ ur das Integral mit Hilfe der summierten Sehnenπ trapezformel f¨ ur h = . 12
14.3 Newton-Cotes-Formeln L¨osung:
QST π/12
573
Mit f (x) = (sin x)/x ist sin x π ; 0, x 2
π π/12 f (0) + f 2 2 ! π 2π 3π 4π 5π +2 f +f +f +f +f 12 12 12 12 12 √ √ √ √ ! π 2 3−1 3 2 2 3 3 3+1 √ = 1+ +2 6 √ + + + +6 24 π π π 2π π 2 5π 2
=
≈ 1.368445849 Der exakte Integralwert ist Iex = 1.370 762 168.
Im folgenden Beispiel 14.6 wird I(f ; α, β) zun¨achst mit der Sehnentrapezformel h QST (f ; α, β) = f (α) + f (β) mit h = β − α berechnet. Dann wird die Schrittweite h 2 h halbiert und QST (f ; α, β) f¨ u r h = (β − α)/2 mit der summierten Sehnentrapezformel h gem¨aß (14.12) f¨ ur N = 2 berechnet. Allgemein m¨ ussen mit (14.12) beim Schritt von ST QST zu Q alle Funktionswerte berechnet werden, obwohl in QST nur diejenigen in den h h h 2
2
Intervallmitten neu hinzukommen. Das l¨ asst sich wie folgt vermeiden. Nach (14.12) sind f¨ ur h = (β − α)/N und h2 = (β − α)/2N QST h (f ; α, β)
=
2
=
=
h 4 h 4
f (α) + f (β) + 2
2N −1 X
!
f α + k h2
k=1
f (α) + f (β) + 2
1 ST h Qh (f ; α, β) + 2 2
N−1 X
f α+
2k h2
N X +2 f α + (2k−1) h2
k=1 N X
!
k=1
f α + (2k−1) h2 .
k=1
Mit dieser Rekursionsformel m¨ ussen bei einer Halbierung der Schrittweite also nur die neu hinzukommenden Funktionswerte berechnet werden. Zu allen anderen Newton-CotesFormeln gibt es eine solche Rekursionsformel nicht, da sie unterschiedliche Gewichte haben. Bei der Anwendung solcher Formeln m¨ ussen daher die berechneten Funktionswerte gespeichert werden. Im Beispiel 14.6 wird dreimal eine Halbierung der Schrittweite vorgenommen. Außer h und QST wird auch die Anzahl der ben¨ otigten Funktionsauswertungen genannt. Ferh ner werden die Abweichung I(f ; α, β) − QST h (f ; α, β) vom exakten Integralwert und ein Sch¨atzwert EhST (f ; α, β) f¨ ur den Fehler (siehe Abschnitt 14.11) angegeben. Dieses Schema gilt auch f¨ ur die entsprechenden Beispiele 14.10, 14.13 und 14.14−17 zu den in den folgenden Abschnitten behandelten Newton-Cotes-Formeln.
574
14. Numerische Quadratur
Beispiel 14.6. p Gegeben: Die Funktion f (x) = 1 − k 2 sin2 x, k = 0.75 , mit I f ; 0, π2 = 1.318 472 107 99. Gesucht:
N¨aherungswerte f¨ ur I f ; 0, π2 mit der summierten Sehnentrapezformel zu den π Schrittweiten h0 = π2 , h1 = π4 , h2 = π8 , h3 = 16 .
L¨osung: h0 =
π 2
h1 =
π 4
h2 =
π 8
h3 =
π 16
Funktionsausw.
2
3
5
9
QST hi
1.304 890 218 54
1.318 298 798 30
1.318 472 008 18
1.318 472 108 00
I − QST hi
0.013 581 889 45
0.000 173 309 69
0.000 000 099 81
0.000 000 000 01
0.004 469 526 59
0.000 057 736 63
0.000 000 033 27
EhST i
Summierte Sehnentrapezformel bei nicht¨ aquidistanter Zerlegung Mit hk = tk+1 − tk und hmax :=
max {hk } erh¨alt man f¨ ur ein Integrationsintervall
0≤k≤N−1
[α,β] bei der Zerlegung α = t0 < t1 < ... < tN = β Rβ
f (x) dx
α
ST = QST hk (f ; α, β) + Ehk (f ; α, β)
mit
N−1 1 P (t 2 k=0 k+1 − tk ) f (tk ) + f (tk+1 ) −1 tN − tN−1 t0 f (t ) + 1 NP = t1 − f (tN ) 0 2 2 k=1 (tk+1 − tk )f (tk ) + 2 ST 2 Ehk (f ; α, β) = O(hmax ).
QST hk (f ; α, β)
=
Sehnentrapezformel f¨ ur periodische Funktionen f Sei f eine auf [α,β] (2m)-mal stetig differenzierbare periodische Funktion mit der Periode β − α und sei [α,β] in N Teilintervalle der L¨ ange h = (β − α)/N unterteilt, dann gilt mit der summierten Euler-Maclaurinformel (vgl. Abschnitt 14.5) wegen f (2k−1) (α) = f (2k−1) (β) f¨ ur die Sehnentrapezregel Zβ f (x) dx = h α
N−1 X k=0
f (α + kh) + O(h2m ).
14.3 Newton-Cotes-Formeln
14.3.2
575
Die Simpsonsche Formel
Simpsonsche Formel f¨ ur das Referenzintervall [0,2h] Betrachtet man das Integral von f u ¨ ber [a, b] = [0, 2h] und w¨ahlt x0 = 0, x1 = h, x2 = 2h als St¨ utzstellen, so ergeben sich wegen n = 2, a = 0, b = 2h aus dem Gleichungssystem (14.4) A2 = 2h , A0 + A1 + A1 + 2A2 = 2h , A1 + 4A2 = 83 h; die Gewichte A0 = A2 = h/3, A1 = 4h/3, so dass die Quadraturformel (14.3) lautet QS (f ; 0, 2h) = A0 f (x0 ) + A1 f (x1 ) + A2 f (x2 ) =
h f (0) + 4f (h) + f (2h) . 3
(14.13)
QS (f ; 0, 2h) heißt Simpsonsche Formel (S-Formel). Da π(x) = x (x − h) (x − 2h) das Vorzeichen in [0, 2h] wechselt, kann das Restglied E S (f ; 0, 2h) nicht in der Form (14.6) dargestellt werden. Daher wird ein anderer Weg eingeschlagen. Im Folgenden wird vorausgesetzt, dass f (4) (x) ∈ C [−h, h] ist, und das Integral I(f ; −h, h) betrachtet. F¨ ur das Restglied gilt dann := E S (f ; −h, h) = I(f ; −h, h) − QS (f ; −h, h) Zh h = f (x) dx − f (−h) + 4f (0) + f (h) . 3
E(h)
(14.14)
−h
Man bildet E 0 (h)
=
E 00 (h)
=
E 000 (h)
=
h 1 2f (h) − 4f (0) + 2f (−h) − f 0 (h) − f 0 (−h) , 3 3 h 00 1 0 0 f (h) − f (−h) − f (h) − f 00 (−h) , 3 3 2h2 1 000 − · f (h) − f 000 (−h) . 3 2h
Mit dem Mittelwertsatz der Differentialrechnung folgt f¨ ur E 000 (h) die Darstellung E 000 (h) = −
2h2 (4) f (ξ) , 3
ξ ∈ (−h, h) .
Wegen E(0) = 0, E 0 (0) = 0, E 00 (0) = 0, E 000 (0) = 0 und Zh E(h) =
0
E (t) dt , 0
0
Zh
E (h) =
00
E (t) dt , 0
00
Zh
E (h) = 0
E 000 (t) dt
576
14. Numerische Quadratur
erh¨alt man mit dem verallgemeinerten Mittelwertsatz die Beziehung Zh
00
E (h)
Zh 2t2 (4) E (t) dt = − f (ξ) dt 3 000
= 0
0
2 = − f (4) (ξ1 ) 3
Zh
2 t2 dt = − h3 f (4) (ξ1 ) 9
(14.15)
0
und analog zu (14.15) E 0 (h)
=
2 − f (4) (ξ2 ) 9
Rh
E(h)
1 = − f (4) (ξ3 ) 18
Rh
t3 dt
= −
h4 (4) f (ξ2 ) , 18
t4 dt
= −
h5 (4) f (ξ3 ) . 90
0
0
F¨ ur das Restglied (14.14) gilt somit h5 (4) ∗ f (ξ ) ξ ∗ ∈ [−h, h] 90 F¨ ur das Restglied der S-Formel gilt bezogen auf das Intervall [0, 2h] E S (f ; −h, h) = −
E S (f ; 0, 2h) = −
h5 (4) ∗ f (ξ ), 90
ξ ∗ ∈ [0, 2h],
(14.16)
f (4) ∈ C[0, 2h].
Die S-Formel besitzt somit die lokale Fehlerordnung O(h5 ), sie integriert Polynome bis 3-ten Grades exakt. Diese Tatsache ist bemerkenswert, denn die Sehnentrapezformel, die zwei St¨ utzstellen verwendet, ist von der Ordnung O(h3 ) und die Simpsonsche Formel mit nur einer St¨ utzstelle mehr von der Ordnung O(h5 ). Aus dieser Tatsache resultiert die Beliebtheit der Simpsonschen Formel. Zusammengefasst folgt die Simpsonsche Regel 2h R
f (x) dx
0
= QS (f ; 0, 2h) + E S (f ; 0, 2h) h5 (4) ∗ = h 3 f (0) + 4f (h) + f (2h) − 90 f (ξ ),
ξ ∗ ∈ [0, 2h].
Summierte Simpsonsche Formel f¨ ur ¨ aquidistante Zerlegung Zur Bestimmung des Integrals von f u ¨ber ein ausgedehntes Intervall [α,β] zerlegt man [α,β] in 2N Teilintervalle der L¨ ange h = (β − α)/(2N ). Man erh¨alt Zβ I(f ; α, β) =
α+2h Z
f (x) dx = α
f (x) dx + α
Zβ
α+4h Z
f (x) dx + . . . + α+2h
f (x) dx .
α+2(N −1)h
Auf jedes Integral u ange 2h wendet man die Simpsonsche Formel ¨ber ein Teilintervall der L¨ (14.13) an und erh¨ alt so die summierte Simpsonsche Formel mit β = α + 2N · h h QSh (f ; α, β) = f (α) + 4f (α + h) + 2f (α + 2h) + 4f (α + 3h) + . . . 3 +4f α + (2N − 1)h + f (β)
14.3 Newton-Cotes-Formeln
577
Unter der Voraussetzung f (4) ∈ C[α, β] erh¨ alt man mit (14.16) das summierte Restglied, ¨ indem man analoge Uberlegungen wie bei (14.11) anstellt. F¨ ur η ∈ [α, β] gilt EhS (f ; α, β) = −
h5 (4) β − α 4 (4) f (η) + N O(h6 ) = − h f (η) + O(h5 ) . 90 180
(14.17)
Die globale Fehlerordnung der Simpsonschen Formel ist O(h4 ). F¨ ur das Integral von f u ¨ ber [α, β] gilt schließlich zusammengefasst die Simpsonsche Regel Rβ
= QSh (f ; α, β) + EhS (f ; α, β) mit NP −1 N−1 P QSh (f ; α, β) = h f (α) + f (β) + 4 f (α + (2k + 1)h) + 2 f (α + 2kh) , 3 f (x) dx
α
k=0
β−α EhS (f ; α, β) = − 180 h4 f (4) (η),
η ∈ [α, β],
k=1
f (4) ∈ C[α, β],
β−α h = 2N .
Dabei ist QSh (f ; α, β) die summierte S-Formel und EhS (f ; α, β) das Restglied der summierten S-Formel. Die summierte S-Formel besitzt die globale Fehlerordnung O(h4 ). Ein Nachteil der S-Formel f¨ ur ¨ aquidistante Zerlegung ist, dass immer eine gerade Anzahl von Teilintervallen der L¨ ange h erforderlich ist, um die Formel anwenden zu k¨onnen. Dieser Nachteil l¨asst sich aber durch Kombination der S-Formel mit der 3/8-Formel im Falle einer ungeraden Zahl von Teilintervallen immer vermeiden, vgl. dazu die Bemerkung in Abschnitt 14.3.3.
Beispiel 14.7. (Fortsetzung von Beispiel 14.3) 2
Bei der Berechnung des Integrals von f mit f (x) = e−x u ¨ber [0, 1] mit der Simpsonschen Formel QSh (f ; 0, 1) ist die Schrittweite h so zu w¨ahlen, dass der maximale absolute Verfahrensfehler den Wert 0.5 · 10−6 nicht u ¨ berschreitet. Die Schrittweite h ist zu ermitteln. L¨osung: 2
f (4) = e−x (16x4 − 48x2 + 12) hat f¨ ur x = 0 den maximalen Wert f (4) (0) = 12. Mit (14.17) muss dann √ 4 12 h4 1 4 7.5 |EhS (f ; 0, 1)| ≤ = h ≤ 0.5 · 10−6 bzw. h ≤ √ ≤ 0.0523 180 15 10 10 sein; also reicht h = 0.05 aus, um die geforderte Genauigkeit zu erreichen. Wegen h = 1/(2N ) ergeben sich N = 10 Simpsonschritte gegen¨ uber N ≥ 580 Schritten bei der Berechnung mit der Sehnentrapezformel (vgl. Beispiel 14.3)
Beispiel 14.8. (Fortsetzung von Beispiel 14.4) F¨ ur das Integral von f : f (x) = 1/(1 + x2 ), x ∈ [0, 1], ist mit der Simpsonschen Formel f¨ ur h = 0.5 ein N¨aherungswert zu bestimmen. Das Ergebnis ist mit dem des Beispiels 14.4 zu vergleichen. Wegen h = 0.5 entspricht [0, 1] dem Referenzintervall [0, 2h]. Man erh¨alt
578
14. Numerische Quadratur
0.5 0.5 f (0) + 4f (h) + f (2h) = (1 + 4 · 0.8 + 0.5) = 0.7833. 3 3 Wegen π4 = 0.785398 . . . ist QS (f ; 0, 2h) schon ein bedeutend besserer N¨aherungswert f¨ ur π ST als der Wert Q (f ; 0, 2h) = 0.775, der mit der Sehnentrapezformel ermittelt wurde. 4 Es gilt f¨ ur den wahren Fehler die Absch¨ atzung QS (f ; 0, 1) =
0.19 · 10−2 ≤
π − 0.7833 ≤ 0.7854 − 0.7833 = 0.21 · 10−2 . 4
Eine Absch¨atzung des Verfahrensfehlers mit Hilfe des Restgliedes E S (f ; 0, 2h) h¨atte wegen der erforderlichen Berechnung und Absch¨atzung von f (4) (x) große M¨ uhe bereitet. Da der wahre Wert des Integrals im Allgemeinen nicht bekannt ist, so dass eine Absch¨atzung des wahren Fehlers, wie in dem vorliegenden Beispiel, nicht praktikabel ist, muss eine bessere M¨ oglichkeit zur Bestimmung des Fehlers gesucht werden; vgl. dazu Abschnitt 14.11 (Fehlersch¨ atzung). Beispiel 14.9. (Fortsetzung von Beispiel 14.5) π
Gegeben: Das Integral
I
sin x π ; 0, x 2
Z2
=
sin x dx x
0
Gesucht:
Der N¨aherungswert QS f¨ ur das Integral mit Hilfe der summierten Simpsonπ schen Formel f¨ ur h = . 12
L¨osung: Mit f (x) = (sin x)/x ist π sin x π π/12 π 3π 5π QSπ/12 ; 0, = f (0) + f +4 f +f +f x 2 3 2 12 12 12 ! 2π 4π +2 f +f 12 12 √ √ √ π 2 3−1 2 2 3+1 √ = 1+ +4 6 √ + +6 36 π π π 2 5π 2 √ ! 3 3 3 +2 + π 2π ≈ 1.370768213 Der exakte Wert des Integrals ist Iex = 1.370 762 168.
Beispiel 14.10. (vgl. Vorbemerkungen zum Beispiel 14.6) p Gegeben: Die Funktion f (x) = 1 − k 2 sin2 x, k = 0.75 , mit I f ; 0, π2 = 1.318 472 107 99.
14.3 Newton-Cotes-Formeln Gesucht:
579
N¨aherungswerte f¨ ur I f ; 0, π2 mit der summierten Simpsonschen Formel zu π π den Schrittweiten h0 = π4 , h1 = π8 , h2 = 16 , h3 = 32 ; die Simpsonsche Formel hat 2 Teilintervalle im Referenzintervall.
L¨osung: h0 = Funktionsausw. QShi
π 4
h1 =
3
h2 =
5
1.322 768 324 90
I − QShi
π 8
1.318 529 744 81
π 16
h3 =
9
π 32
17
1.318 472 141 27
1.318 472 108 00
−0.004 296 216 91 −0.000 057 636 82 −0.000 000 033 28 −0.000 000 000 01
EhSi
−0.000 282 572 01 −0.000 003 840 24 −0.000 000 002 22
Summierte Simpsonsche Formel f¨ ur nicht¨ aquidistante Zerlegung Mit der Zerlegung Z : α = t0 < t1 < t2 < . . . < tm = β des Integrationsintervalls [α,β] und hk := tk+1 − tk , hmax =
max {hk }, erh¨alt man
0≤k≤m−1
die Simpsonsche Formel Rβ
f (x) dx
α
= QShk (f ; α, β) + EhSk (f ; α, β)
mit
QShk (f ; α, β)
=
h i m−1 tk + tk+1 1 P (t − t ) f (t ) + 4f + f (t ) , k+1 k k k+1 6 k=0 2
EhSk (f ; α, β)
=
O(h4max ).
14.3.3
Die 3/8-Formel
3/8-Formel f¨ ur das Referenzintervall [0,3h] Betrachtet man das Integral von f u ¨ber [a, b] = [0, 3h] und w¨ahlt x0 = 0, x1 = h, x2 = 2h, x3 = 3h als St¨ utzstellen, so ergibt sich aus (14.4) wegen n = 3, a = 0, b = 3h das Gleichungssystem A0 + A1 + A2 + A3 = 3h , 9 A1 + 2A2 + 3A3 = h, 2 A1 + 4A2 + 9A3 = 9h , 81 A1 + 8A2 + 27A3 = h; 4
580
14. Numerische Quadratur
es hat als L¨osung die Gewichte A0 = 38 h, A1 = 98 h, A2 = 98 h, A3 = 38 h. Die Quadraturformel (14.3) lautet damit Q3/8 (f ; 0, 3h) = A0 f (x0 ) + A1 f (x1 ) + A2 f (x2 ) + A3 f (x3 ) 3h = f (0) + 3f (h) + 3f (2h) + f (3h) . 8 Q3/8 (f ; 0, 3h) heißt 3/8-Formel. F¨ ur das Restglied der 3/8-Formel gilt E 3/8 (f ; 0, 3h) = −
3 5 (4) ∗ h f (ξ ), 80
ξ ∗ ∈ [0, 3h],
f (4) ∈ C[0, 3h].
Die lokale Fehlerordnung ist somit O(h5 ), die Quadraturformel integriert Polynome 3. Grades exakt. Zusammengefasst folgt die 3/8-Regel Z3h
f (x) dx = Q3/8 (f ; 0, 3h) + E 3/8 (f ; 0, 3h)
0
3 5 (4) ∗ = 3h 8 f (0) + 3f (h) + 3f (2h) + f (3h) − 80 h f (ξ ),
ξ ∗ ∈ [0, 3h].
Summierte 3/8-Formel bei ¨ aquidistanter Zerlegung Zur Bestimmung des Integrals von f u ¨ber ein ausgedehntes Intervall [α,β] zerlegt man [α,β] in 3N Teilintervalle der L¨ ange h = (β − α)/(3N ), so dass die summierte 3/8-Regel lautet Rβ 3/8 3/8 f (x) dx = Qh (f ; α, β) + Eh (f ; α, β) mit α N P 3/8 Qh (f ; α, β) = 3h 8 f (α) + f (β) + 3 k=1 f (α + (3k − 2)h) N N−1 P P +3 f (α + (3k − 1)h) + 2 f (α + 3kh) , k=1 3/8 Eh (f ; α, β)
k=1
β−α = − 80 h4 f (4) (η),
η ∈ [α, β],
3/8
f (4) ∈ C[α, β].
3/8
Dabei ist Qh (f ; α, β) die summierte 3/8-Formel und Eh (f ; α, β) das Restglied der summierten 3/8-Formel. Die summierte 3/8-Formel besitzt die globale Fehlerordnung O(h4 ).
Beispiel 14.11. (Fortsetzung von Beispiel 14.5) Gegeben: Das Integral
π
I
sin x π ; 0, x 2
Z2
=
sin x dx x
0
Gesucht:
Der N¨aherungswert Q3/8 f¨ ur das Integral mit Hilfe der 3/8-Formel f¨ ur h =
π . 12
14.3 Newton-Cotes-Formeln L¨osung: 3/8 Qπ/12
581
Mit f (x) = (sin x)/x ist sin x π ; 0, x 2
π 3 π/12 π = · f (0) + f + 3 f 8 3 2 12 ! 2π 4π 5π 3π +f +f +f +2 f 12 12 12 12 √ √ √ ! √ π 2 3−1 3 3 3 3+1 2 2 √ = 1+ +3 6 √ + + +6 +2· 32 π π 2π π π 2 5π 2 ≈ 1.370775847
Der exakte Integralwert ist Iex = 1.370 762 168.
Bemerkung. Soll das Integral I(f ; α, β) von f u ¨ ber [α,β] mit der globalen Fehlerordnung O(h4 ) bei vorgegebenem konstantem h berechnet werden, und ist es nicht m¨oglich, das Intervall [α,β] in 2N oder 3N Teilintervalle der L¨ange h zu zerlegen, so empfiehlt es sich, die Simpsonsche Formel mit der 3/8-Formel zu kombinieren, da beide die Fehlerordnung O(h4 ) besitzen. Beispiel 14.12. (Fortsetzung von Beispiel 14.4) Das Integral von f : f (x) = 1/(1 + x2 ) u ¨ber [0, 1] ist mit h = 0.2 mit der globalen Fehlerordnung O(h4 ) zu berechnen. L¨osung: Es sind N = 5 Teilintervalle der L¨ ange h = 0.2, d. h. eine ungerade Anzahl. Man kann also die Simpsonsche Formel, die die geforderte Fehlerordnung besitzt, nicht allein anwenden. Die 3/8-Formel ist ebenfalls nicht allein anwendbar, da die Anzahl der Teilintervalle nicht durch 3 teilbar ist. Man kann aber beide Formeln kombinieren, indem man z. B. die Simpsonsche Formel auf [0, 0.4] und die 3/8-Formel auf [0.4, 1] anwendet. y 6 1.0
......................................... ........ ....... ....... ....... ...... ...... 1 ...... ...... ...... 1+x2 ...... ...... ...... ....... ....... ....... ........ ........ ......... .......... .......... ............ .............. .................. ...
f (x) =
0.5
h -0.2
0.2
0.6
1.0
Abb. 14.6.
1.4
1.8
x
582
14. Numerische Quadratur
Man erh¨alt 0 | Q(f ; 0, 1)
0.2 0.4 0.6 0.8 1.0 {z } | {z }
QS (f ; 0, 0.4) + Q3/8 (f ; 0.4, 1)
=
Die Wertetabelle f¨ ur f : f (x) = 1/(1 + x2 ) mit 6-stelliger Mantisse lautet: i
0
1
2
3
4
5
xi
0
0.2
0.4
0.6
0.8
1.0
f (xi )
1.00000
0.961538
0.862069
0.735294
0.609756
0.500000
0.2 3
QS (f ; 0, 0.4) =
f (0) + 4f (0.2) + f (0.4)
0.2 (1.00000 3
=
+ 4 · 0.961538 + 0.862069) = 0.380548 ,
Q3/8 (f ; 0.4, 1) =
3 8
0.2 f (0.4) + 3f (0.6) + 3f (0.8) + f (1.0)
=
3 8
0.2 (0.862069 + 3 · 0.735294 + 3 · 0.609756 + 0.500000)
= 0.404791 , =⇒
Q(f ; 0, 1) = 0.380548 + 0.404791 = 0.785339 .
Der exakte Werte des Integrals ist
π 4,
damit ist der Fehler
π 4
− Q(f ; 0, 1) = 0.59 · 10−4
Beispiel 14.13. (vgl. Vorbemerkungen zum Beispiel 14.6) p Gegeben: Die Funktion f (x) = 1 − k 2 sin2 x, k = 0.75 , mit I f ; 0, π2 = 1.318 472 107 99. Gesucht:
N¨aherungswerte f¨ ur I f ; 0, π2 mit der summierten 3/8-Formel zu den Schrittπ π π weiten h0 = π6 , h1 = 12 , h2 = 24 , h3 = 48 ; die 3/8-Formel hat 3 Teilintervalle im Referenzintervall.
L¨osung: h0 = Funktionsausw. 3/8
Qh i
3/8
I − Qhi 3/8
Ehi
π 6
4 1.320 165 603 78
h1 =
π 12
7 1.318 493 771 61
h2 =
π 24
13 1.318 472 120 48
h3 =
π 48
25 1.318 472 108 00
−0.001 693 495 79 −0.000 021 663 62 −0.000 000 012 49 −0.000 000 000 01 −0.000 111 455 48 −0.000 001 443 41 −0.000 000 000 83
14.3 Newton-Cotes-Formeln
583
Summierte 3/8-Formel bei nicht¨ aquidistanter Zerlegung Mit der Zerlegung: Z : α = t0 < t1 < t2 < . . . < tm = β des Integrationsintervalls [α,β] und hk := tk+1 − tk , hmax =
max {hk }, erh¨alt man
0≤k≤m−1
die summierte 3/8 Formel Rβ
f (x) dx
α
3/8
3/8
= Qhk (f ; α, β) + Ehk (f ; α, β)
mit
h m−1 P 2tk + tk+1 3/8 Qhk (f ; α, β) = 3 (t − t ) f (t ) + 3f k k 8 k=0 k+1 3 i t + 2t +3f k 3 k+1 + f (tk+1 ) 3/8
Ehk (f ; α, β) = O(h4max ).
14.3.4
Weitere Newton-Cotes-Formeln
Bisher wurden drei Newton-Cotes-Formeln angegeben, die sich jeweils durch Integration des Interpolationspolynoms f¨ ur f zu 2 bzw. 3 bzw. 4 St¨ utzstellen ergaben. Hier werden vier weitere Formeln angegeben zu 5,6,7 und 8 St¨ utzstellen. Diese Formeln werden sofort zusammen mit den Restgliedern aufgeschrieben, so dass sich folgende Regeln ergeben: 4/90-Regel (5 St¨ utzstellen f¨ ur das Referenzintervall [0, 4h]). 4h R 0
f (x) dx = 4h 7f (0) + 32f (h) + 12f (2h) + 32f (3h) + 7f (4h) 90 7 8h − 945 f (6) (ξ ∗ ), ξ ∗ ∈ [0, 4h], f (6) ∈ C[0, 4h].
Summierte 4/90-Regel bei ¨ aquidistanter Zerlegung. Mit h =
(β−α) 4N
ist
N Rβ P f (x) dx = 4h f α + (4k − 3)h 90 7f (α) + 7f (β) + 32
α
k=1
N P
N P +12 f α + (4k − 2)h + 32 f α + (4k − 1)h k=1 k=1 NP −1 2(β − α) 6 (6) +14 f (α + 4kh) − 945 h f (η), k=1
η ∈ [α, β],
f (6) ∈ C[α, β].
584
14. Numerische Quadratur
5/288-Regel f¨ ur das Referenzintervall [0,5h] (6 St¨ utzstellen). 5h R 0
5h 19f (0) + 75f (h) + 50f (2h) + 50f (3h) + 75f (4h) f (x) dx = 288 275 h7 f (6) (ξ ∗ ), +19f (5h) − 12096 ξ ∗ ∈ [0, 5h], f (6) ∈ C[0, 5h].
Summierte 5/288-Regel bei ¨ aquidistanter Zerlegung. Mit h = (β−α) ist 5N N Rβ 5h 19f (α) + 19f (β) + 75 P f α + (5k − 4)h f (x) dx = 288 k=1
α
N P
N P +50 f α + (5k − 3)h + 50 f α + (5k − 2)h k=1 k=1 N N−1 P P +75 f α + (5k − 1)h + 38 f (α + 5kh) k=1
55(β − α) − 12096 h6 f (6) (η),
k=1
η ∈ [α, β],
f (6) ∈ C[α, β].
6/840-Regel f¨ ur das Referenzintervall [0,6h] (7 St¨ utzstellen). 6h R 0
6h 41f (0) + 216f (h) + 27f (2h) + 272f (3h) f (x) dx = 840 9 h9 f (8) (ξ ∗ ), +27f (4h) + 216f (5h) + 41f (6h) − 1400 ξ ∗ ∈ [0, 6h], f (8) ∈ C[0, 6h].
Summierte 6/840-Regel bei ¨ aquidistanter Zerlegung. Mit h = (β−α) ist 6N β N R 6h 41f (α) + 41f (β) + 216 P f α + (6k − 5)h f (x) dx = 840 α
k=1
+27
N P
N P f α + (6k − 4)h + 272 f α + (6k − 3)h
k=1 N P
k=1
N P +27 f α + (6k − 2)h + 216 f α + (6k − 1)h k=1 k=1 NP −1 3(β − α) 8 (8) +82 f (α + 6kh) − 2800 h f (η), k=1
η ∈ [α, β],
f (8) ∈ C[α, β].
7/17280-Regel f¨ ur das Referenzintervall [0,7h] (8 St¨ utzstellen). 7h R 0
7h 751f (0) + 3577f (h) + 1323f (2h) + 2989f (3h) f (x) dx = 17280 +2989f (4h) + 1323f (5h) + 3577f (6h) + 751f (7h) 8163 h9 f (8) (ξ ∗ ), − 518400
ξ ∗ ∈ [0, 7h],
f (8) ∈ C[0, 7h].
14.3 Newton-Cotes-Formeln
585
Summierte 7/17280-Regel bei ¨ aquidistanter Zerlegung. Mit h = (β−α) ist 7N N Rβ 7h 751f (α) + 751f (β) + 3577 P f α + (7k − 6)h f (x) dx = 17280 α
k=1
N P
N P
k=1 N P
f α + (7k − 4)h
f α + (7k − 2)h k=1 k=1 N N−1 P P +3577 f α + (7k − 1)h + 1502 f (α + 7kh)
+1323 +2989
k=1 N P
f α + (7k − 5)h + 2989 f α + (7k − 3)h + 1323
k=1
k=1
8163(β − α) − 3628800 h8 f (8) (η),
η ∈ [α, β],
f (8) ∈ C[α, β].
Eine Herleitung der Restglieder aller Newton-Cotes-Formeln ist in [FADD1979] Bd.1, 3.4.2; [ISAA1973], S.323/4; [KRYL1991], 6.1 und [WILL1971], S.144-146 zu finden.
Beispiel 14.14. (vgl. Vorbemerkungen zum Beispiel 14.6) p Gegeben: Die Funktion f (x) = 1 − k 2 sin2 x, k = 0.75 , mit I f ; 0, π2 = 1.318 472 107 99. Gesucht:
N¨aherungswerte f¨ ur I f ; 0, π2 mit der summierten 4/90-Formel zu den Schrittπ π π weiten h0 = π8 , h1 = 16 , h2 = 32 , h3 = 64 ; die 4/90-Formel hat 4 Teilintervalle im Referenzintervall.
L¨osung: h0 = Funktionsausw. 4/90
Qhi
4/90
I − Qh i
4/90
Ehi
5
π 8
h1 = 9
π 16
h2 =
π 32
17
1.318 247 172 80 1.318 468 301 03 1.318 472 105 78
h3 =
π 64
33 1.318 472 108 00
0.000 224 935 19 0.000 003 806 96 0.000 000 002 21 −0.000 000 000 01 0.000 003 509 97 0.000 000 060 39
0.000 000 000 04
Beispiel 14.15. (vgl. Vorbemerkungen zum Beispiel 14.6) p Gegeben: Die Funktion f (x) = 1 − k 2 sin2 x, k = 0.75 , mit I f ; 0, π2 = 1.318 472 107 99. Gesucht:
N¨aherungswerte f¨ ur I f ; 0, π2 mit der summierten 5/288-Formel zu den π π π π Schrittweiten h0 = 10 , h1 = 20 , h2 = 40 , h3 = 80 ; die 5/288-Formel hat 5 Teilintervalle im Referenzintervall.
586
14. Numerische Quadratur
L¨osung: h0 = Funktionsausw. 5/288
Qhi
5/288
I − Qh i
π 10
6
π 20
h1 = 11
h2 =
π 40
h3 =
21
π 80
41
1.318 343 717 48 1.318 470 050 77 1.318 472 106 80
1.318 472 108 00
0.000 128 390 51 0.000 002 057 22 0.000 000 001 19 −0.000 000 000 01
5/288
E hi
0.000 002 005 29 0.000 000 032 64
0.000 000 000 02
Beispiel 14.16. (vgl. Vorbemerkungen zum Beispiel 14.6) p Gegeben: Die Funktion f (x) = 1 − k 2 sin2 x, k = 0.75 , mit I f ; 0, π2 = 1.318 472 107 99. Gesucht:
N¨aherungswerte f¨ ur I f ; 0, π2 mit der summierten 6/840-Formel zu den π π π π Schrittweiten h0 = 12 , h1 = 24 , h2 = 48 , h3 = 96 ; die 6/840-Formel hat 6 Teilintervalle im Referenzintervall.
L¨osung: h0 = Funktionsausw. 6/840
Qh i
6/840
Ehi
7 1.318 467 713 06
6/840
I − Qhi
π 12
h1 =
π 24
13 1.318 472 301 07
h2 =
π 48
h3 =
25 1.318 472 108 11
π 96
49 1.318 472 108 00
0.000 004 394 93 −0.000 000 193 08 −0.000 000 000 12 −0.000 000 000 01 0.000 000 017 99 −0.000 000 000 76
0
Beispiel 14.17. (vgl. Vorbemerkungen zum Beispiel 14.6) p Gegeben: Die Funktion f (x) = 1 − k 2 sin2 x, k = 0.75 , mit I f ; 0, π2 = 1.318 472 107 99. Gesucht:
N¨aherungswerte f¨ ur I f ; 0, π2 mit der summierten 7/17280-Formel zu den π π π π Schrittweiten h0 = 14 , h1 = 28 , h2 = 56 , h3 = 112 ; die 7/17280-Formel hat 7 Teilintervalle im Referenzintervall.
14.3 Newton-Cotes-Formeln
587
L¨osung: h0 = Funktionsausw. 7/17280
Qh i
7/17280
I − Qh i
π 14
8 1.318 470 149 68
h1 =
π 28
15 1.318 472 224 43
h2 =
π 56
h3 =
29 1.318 472 108 06
π 112
57 1.318 472 108 00
0.000 001 958 31 −0.000 000 116 44 −0.000 000 000 07 −0.000 000 000 01
7/17280
Ehi
0.000 000 008 14 −0.000 000 000 46
0
14.3.5
Zusammenfassung zur Fehlerordnung von Newton-Cotes-Formeln
Sei n + 1 die Anzahl der St¨ utzstellen xk im Referenzintervall und sei f in [α,β] gen¨ ugend oft stetig differenzierbar. Die lokale Fehlerordnung sei O(hq ). Dann gelten folgende Aussagen: 1. F¨ ur gerades n+1: q = n + 2, d. h. es werden Polynome bis zum n-ten Grade exakt integriert, die globale Fehlerordnung ist O(hn+1 ). Beispiel 1 (ST -Formel): n + 1 = 2 St¨ utzstellen, d. h. n = 1, lokale Fehlerordnung O(h3 ), globale Fehlerordnung O(h2 ). Beispiel 2 (3/8-Formel): n + 1 = 4 St¨ utzstellen, d. h. n = 3, lokale Fehlerordnung O(h5 ), globale Fehlerordnung O(h4 ). 2. F¨ ur ungerades n+1: q = n + 3, d. h. es werden Polynome bis zum (n + 1)-ten Grade exakt integriert, die globale Fehlerordnung ist O(hn+2 ). Beispiel (S-Formel): n + 1 = 3, d. h. n = 2, daraus ergibt sich die lokale Fehlerordnung O(h5 ), die globale Fehlerordnung O(h4 ). Zur Fehlersch¨atzung siehe Abschnitt 14.11. Die genannten Newton-Cotes-Formeln sind Formeln vom geschlossenen Typ; NewtonCotes-Formeln vom offenen Typ sind in [CARN1990], S.75 zu finden. Bei wachsendem Grad des integrierten Interpolationspolynoms, d. h. bei wachsender Anzahl (>8) verwendeter St¨ utzstellen, treten negative Gewichte auf, so dass die Quadraturkonvergenz nicht mehr gesichert ist (s. Abschnitt 14.13). Außerdem differieren die Koeffizienten bei zunehmendem Grad immer st¨ arker voneinander, was zum unerw¨ unschten Anwachsen von Rundungsfehlern f¨ uhren kann. Deshalb werden zur Integration u ¨ber große Intervalle anstelle von Formeln h¨ oherer Ordnung besser summierte Formeln niedrigerer Fehlerordnung mit hinreichend feiner Zerlegung oder ein anderes Verfahren verwendet.
588
14. Numerische Quadratur
14.4
Quadraturformeln von Maclaurin
Bei den Formeln von Maclaurin liegen die St¨ utzstellen jeweils in der Mitte eines Teilintervalls der L¨ange h, es sind Formeln vom offenen Typ. Gewichte und Restglieder k¨onnen z. B. mittels Taylorabgleich bestimmt werden.
14.4.1
Die Tangententrapezformel
Tangententrapezformel f¨ ur das Referenzintervall [0,h]: Betrachtet man das Integral von f u ¨ ber das Referenzintervall [a, b] = [0, h], w¨ahlt nur eine St¨ utzstelle x0 in [0, h] und fordert, dass diese m¨oglichst g¨ unstig liegt, so dass sich Polynome vom Grad 0 und 1 exakt integrieren lassen, so ergeben sich aus (14.4) mit n = 1 und m = 0, 1 die Gleichungen A0 = h und A0 x0 = h2 /2 mit den L¨osungen A0 = h, x0 = h/2. Die Quadraturformel (14.3) lautet somit QT T (f ; 0, h) = A0 f (x0 ) = hf (h/2). QT T (f ; 0, h) heißt Tangententrapezformel (T T -Formel), da sie geometrisch den Fl¨acheninhalt des Trapezes bedeutet, dessen vierte Seite von der Tangente an f (x) im Punkt h/2, f (h/2) gebildet wird. .............. ......... ....... ....... ...... . . . . . . ...... ...... ...... ................................................................ .............................................................. .... ............................................................. ..... . . . . . . . ........ . . . . .. . . . . . . . . . . . . .............................................................................................................. ........................... .................................................................................... ..................... . . . .. . . . . . . . . . . . .. .................... .. .................... .. TT .................... .. .................... . . . . . . . . . . . . . . . .. . . . . . . . . . . . .. .................................................................................... ....................................................... ........................................................ .
f (x)
Q
0
f (x)
⇐⇒
(f ; 0, h)
h/2
h
. ...... ..... ...... .......... . . . . . ....... . ................ ..................... ..... ......... . . .............. ........ ..................................... . . . . . .. ............................ ......... . . . . . . . . . ............................ ...... . . . . . . . . . . . . ................................................. . . . . . . . ..... . . . . . . . . . . . . . . . .... ............................................. ...... ...................................................................................................... ..... . . . . ... . . . . . . . . . . . . . ................................................................... . . . . ...... . . . . . . . .. . . . . . . . . . . . . . .................................................... ...... . . . . . ................... ... TT ...... . . . . . . . . .. ................................ . ..................... . . . .. . . . . . . . . . . . .. .................................................................................... ....................................................... ........................................................ .
y6
y6
Q
x
0
(f ; 0, h)
h/2
h
x
Abb. 14.7. Zur Tangententrapezformel Das Gewicht A0 und das Restglied E T T (f ; 0, h) k¨onnen auch durch Taylorabgleich bestimmt werden. Dazu entwickelt man f an der Stelle x = h2 : 2 h h h h 1 00 f (x) = f + x− f0 + x− f (ξ) , ξ = ξ(x) ∈ [0, h] (14.18) 2 2 2 2 2 und integriert u ¨ber [0, h]: Zh 0
Zh Zh 2 Zh h h h 1 h 0 f (x) dx = f dx + f x− dx + x− f 00 (ξ) dx 2 2 2 2 2 0 0 0 h = A0 f + E T T (f ; 0, h) . 2
14.4 Quadraturformeln von Maclaurin
Mit
Rh 0
x−
h 2
589
dx = 0 und dem verallgemeinerten Mittelwertsatz erh¨alt man 2 Zh h h 1 00 ∗ h TT A0 f + E (f ; 0, h) = h f + f (ξ ) x− dx 2 2 2 2 0 h h3 00 ∗ = hf + f (ξ ) , ξ ∗ ∈ [0, h] . 2 24
F¨ ur das zugeh¨orige Restglied folgt E T T (f ; 0, h) =
h3 00 ∗ f (ξ ), 24
ξ ∗ ∈ [0, h],
f 00 ∈ C[0, h].
Die lokale Fehlerordnung ist somit O(h3 ). Zusammengefasst folgt die Tangententrapezregel f¨ ur das Referenzintervall [0, h] Rh
QT T (f ; 0, h)
= QT T (f ; 0, h) + E T T (f ; 0, h) = hf h 2 ,
E T T (f ; 0, h)
=
f (x) dx
0
h3 f 00 (ξ ∗ ), 24
ξ ∗ ∈ [0, h],
mit
f 00 ∈ C[0, h].
Bemerkung. W¨ urde man die Entwicklung (14.18) schon nach dem linearen Glied abbrechen, dann w¨ urde die Integration auf ein Integral der Form Zh h x− f 0 (ξ) dx , ξ ∈ [0, h] , 2 0
f¨ uhren, auf das der verallgemeinerte Mittelwertsatz nicht anwendbar ist, da x − h2 in [0, h] das Vorzeichen wechselt. Die Entwicklung bis zum quadratischen Glied f¨ uhrt wegen Rh x − h2 dx = 0 zum Erfolg. 0
Summierte Tangententrapezformel f¨ ur ¨ aquidistante Zerlegung Zur Bestimmung des Integrals von f u ¨ber ein ausgedehntes Intervall [α,β] zerlegt man [α,β] in N Teilintervalle der L¨ ange h = (β − α)/N , so dass die summierte Tangententrapezregel bei ¨aquidistanter Zerlegung lautet Rβ
f (x) dx
= QTh T (f ; α, β) + EhT T (f ; α, β)
mit
α
QTh T (f ; α, β) EhT T (f ; α, β)
= h
NP −1 k=0
=
f α + (2k + 1) h 2 ,
h2 (β − α)f 00 (η), 24
Die globale Fehlerordnung ist somit O(h2 ).
η ∈ [α, β], f 00 ∈ C[α, β].
590
14. Numerische Quadratur
Beispiel 14.18. (Fortsetzung von Beispiel 14.5) Gegeben: Das Integral
π
I
sin x π ; 0, x 2
Z2
=
sin x dx x
0
Gesucht:
Der N¨aherungswert QT T f¨ ur das Integral mit Hilfe der summierten Tangenπ tentrapezformel f¨ ur h = . 12
L¨osung:
Mit f (x) = (sin x)/x ist
T QTπ/12
sin x π ; 0, x 2
! π π 3π 5π 7π 9π 11π = f +f +f +f +f +f 12 24 24 24 24 24 24 π = 0.9971467 + 0.9744954 + 0.9301189 + 0.8658247 + 0.7842133 + 0.6885528 12 ≈ 1.371920892 Der exakte Integralwert ist Iex = 1.370 762 168.
Summierte Tangententrapezformel f¨ ur nicht¨ aquidistante Zerlegung Mit der Zerlegung Z : α = t0 < t1 < t2 < . . . < tN = β, hk = tk+1 − tk , hmax :=
max {hk },
0≤k≤N−1
erh¨alt man
Rβ
f (x) dx = QThkT (f ; α, β) + EhTkT (f ; α, β) mit NP −1 t +t QThkT (f ; α, β) = (tk+1 − tk )f k 2 k+1 ,
α
k=0
EhTkT (f ; α, β)
= O(h2max ).
Bemerkung. Die beiden Trapezformeln (ST und T T ) sind von derselben Fehlerordnung. Der Restgliedkoeffizient der T T -Formel ist nur halb so groß wie der der ST -Formel. Außerdem ist bei der Integration nach der T T -Formel stets ein Funktionswert weniger zu berechnen, da als St¨ utzstellen die Intervallmitten genommen werden.
14.4 Quadraturformeln von Maclaurin
14.4.2
591
Weitere Maclaurin-Formeln
Im Folgenden werden noch die Formeln f¨ ur 2,3,4 und 5 St¨ utzstellen zusammen mit den zugeh¨origen Restgliedern als Integrationsregeln angegeben: Regel zu zwei St¨ utzstellen f¨ ur das Referenzintervall [0,2h]: ! Z2h h 3h h3 f (x) dx = h f +f + f 00 (ξ ∗ ), ξ ∗ ∈ [0, 2h], 2 2 12
f 00 ∈ C[0, 2h].
0
Summierte Regel bei ¨ aquidistanter Zerlegung. Mit h = Zβ
(β−α) 2N
2N X h β − α 2 00 f (x) dx = h f α + (2k − 1) + h f (η), 2 24 k=1
α
ist η ∈ [α, β], ∈ C[α, β].
f 00
Regel zu drei St¨ utzstellen f¨ ur das Referenzintervall [0,3h]. 3h R 3h h 3h 21 h5 f (4) (ξ ∗ ), f (x) dx = 8 3f 2 + 2f 2 + 3f 5h + 640 2 0
ξ ∗ ∈ [0, 3h],
f (4) ∈ C[0, 3h],
vgl. [LAUX1988].
Summierte Regel bei ¨ aquidistanter Zerlegung. Mit h = (β−α) ist 3N N−1 Rβ P h + 2f α + (6k + 3) h f (x) dx = 3h 3f α + (6k + 1) 8 k=1 2 2 α 1701 (β − α)h4 f (4) (η), +3f α + (6k + 5) h + 20480 2 η ∈ [α, β],
f (4) ∈ C[α, β].
Regel zu vier St¨ utzstellen f¨ ur das Referenzintervall [0,4h]. 4h R h 13f h + 11f 3h + 11f 5h + 13f 7h f (x) dx = 12 2 2 2 2 0
103 h5 f (4) (ξ ∗ ), + 1440
ξ ∗ ∈ [0, 4h],
f (4) ∈ C[0, 4h].
Summierte Regel bei ¨ aquidistanter Zerlegung. Mit h = (β−α) ist 4N N −1 Rβ h P 13f α + (8k + 1) h + 11f α + (8k + 3) h f (x) dx = 12 2 2 α k=0 h +11f α + (8k + 5) h + 13f α + (8k + 7) 2 2 103 (β − α)h4 f (4) (η), + 5760
η ∈ [α, β],
f (4) ∈ C[α, β].
592
14. Numerische Quadratur
Regel zu f¨ unf St¨ utzstellen f¨ ur das Referenzintervall [0,5h]. 5h R 5h 3h + 402f 5h + 100f 7h f (x) dx = 1152 275f h + 100f 2 2 2 2 0 435 546 875 h7 f (6) (ξ ∗ ), +275f 9h + 3170 2 893 824 ξ ∗ ∈ [0, 5h],
f (6) ∈ C[0, 5h].
Summierte Regel bei ¨ aquidistanter Zerlegung. Mit h = (β−α) ist 5N N −1 Rβ 5h P 275f α + (10k + 1) h + 100f α + (10k + 3) h f (x) dx = 1152 2 2 α k=0 h +402f α + (10k + 5) h 2 + 100f α + (10k + 7) 2 87 109 375 (β − α)h6 f (6) (η), +275f α + (10k + 9) h + 3170 2 893 824 η ∈ [α, β],
f (6) ∈ C[α, β].
Aus der Aufstellung ist erkennbar, dass die Formeln mit ungerader St¨ utzstellenzahl ebenso wie bei den Newton-Cotes-Formeln die g¨ unstigeren Formeln sind. Die Formel f¨ ur n = 6 wird nicht mehr angegeben, da sie dieselbe Fehlerordnung hat wie die f¨ ur n = 5. In der Formel f¨ ur n = 7 ist bereits ein negatives Gewicht (n¨amlich A0 ), so dass die Quadraturkonvergenz nicht mehr gesichert ist. Anders als bei den Newton-Cotes-Formeln ¨ andern sich bei einer Halbierung der Schrittweite bei den MacLaurin-Formeln alle St¨ utzstellen und somit auch alle ben¨otigten Funktionswerte.
14.5
Die Euler-Maclaurin-Formeln
Euler-Maclaurin-Formeln f¨ ur das Referenzintervall [0,h] Die Euler-Maclaurin-Formeln entstehen durch Integration der Newtonschen Interpolatie+ (t) f¨ onsformel N ur absteigende Differenzen (vgl. Abschnitt 9.2). Es sei f 2n-mal stetig differenzierbar auf dem Referenzintervall [0, h]. Betrachtet man das Integral von f u ¨ ber [0, h] und w¨ahlt als St¨ utzstellen x0 = 0, x1 = h, so ergibt sich f¨ ur jedes n ∈ N mit f ∈ C 2n [0, h] eine Euler-Maclaurin-Formel (EMn -Formel) Q
EMn
X B2j n−1 h (f ; 0, h) = f (0) + f (h) + h2j f (2j−1) (0) − f (2j−1) (h) 2 (2j)!
(14.19)
j=1
mit den Bernoullischen Zahlen 1 1 1 1 B0 = 1, B1 = − , B2 = , B4 = − , B6 = , . . . ; B2j+1 = 0 f¨ ur j = 1, 2, . . . . 2 6 30 42
14.5 Die Euler-Maclaurin-Formeln
593
Das zugeh¨orige Restglied lautet E EMn (f ; 0, h) = −
B2n 2n+1 (2n) ∗ h f (ξ ), (2n)!
ξ ∗ ∈ [0, h],
(14.20)
d. h. die lokale Fehlerordnung ist O(h2n+1 ). Zusammengefasst folgt mit (14.19) und (14.20) f¨ ur jedes n eine Euler-Maclaurin-Regel Zh f (x) dx = QEMn (f ; 0, h) + E EMn (f ; 0, h). 0
Summierte Euler-Maclaurin-Formeln f¨ ur ¨ aquidistante Zerlegung Ist die Integration u ¨ ber ein ausgedehntes Intervall [α,β] zu erstrecken, so zerlegt man [α,β] in N Teilintervalle der L¨ ange h = (β − α)/N und wendet eine EMn -Formel und das zugeh¨orige Restglied auf jedes Teilintervall an. Man erh¨alt so die summierte EulerMaclaurin-Regel Zβ n f (x) dx = QEM (f ; α, β) + EhEMn (f ; α, β), h
α
mit der summierten Euler-Maclaurin-Formel n QEM (f ; α, β) h
h = 2 +
n−1 X j=1
f (α) + 2
N −1 X
! f (α + νh) + f (β)
(14.21)
ν=1
B2j 2j (2j−1) h f (α) − f (2j−1) (β) (2j)!
und dem Restglied der summierten Euler-Maclaurin-Formel β−α EhEMn (f ; α, β) = − B2n h2n f (2n) (η), η ∈ [α, β], (2n)! die globale Fehlerordnung ist somit O(h2n ). Bemerkung. Mit der Sehnentrapezformel kann man f¨ ur (14.19) auch schreiben n−1 X QEMn (f ; 0, h) = QST (f ; 0, h) + e c2k h2k k=1
und mit der summierten Sehnentrapezformel f¨ ur (14.21) n QEM (f ; α, β) = QST h (f ; α, β) + h
n−1 X
c2k h2k ,
(14.22)
k=1
wobei die e c2k und c2k unabh¨ angig von h sind. Die einfache und summierte EulerMaclaurin-Formel setzt sich also aus der einfachen bzw. summierten Sehnentrapezformel und einem Korrekturglied zusammen. F¨ ur n = 1 sind die ST -Formel und die EMn Formel identisch. Wegen der Notwendigkeit der Berechnung von Ableitungen haben die Euler-Maclaurin-Formeln weniger praktische Bedeutung.
594
14. Numerische Quadratur
Beispiel 14.19. π
Gegeben: Das Integral
I
sin x π ; 0, x 2
Z2
=
sin x dx. x
0
Gesucht:
Der N¨aherungswert f¨ ur das Integral mit der Euler-Maclaurin-Formel f¨ ur n = 3.
L¨osung:
Diese Formel lautet h2 0 h h4 000 QEM3 (f ; 0, h) = f (0) + f (h) + f (0) − f 0 (h) − f (0) − f 000 (h) . 2 12 720 Mit
sin x , x cos x sin x f 0 (x) = − 2 und x x 3 6 1 6 f 000 (x) = − sin x − − cos x x2 x4 x x3 f (x)
=
ergeben sich f (0) = 1 , f 0 (0) = f 000 (0) = 0 π π π 12 2 4 96 f = , f0 = − 2 , f 000 = 2− 4. 2 π 2 π 2 π π Damit ist EM3
Q
sin x π ; 0, x 2
π = 4
2 1+ π
π2 4 π4 + − 48 π 2 11520
= 1.370 679 001 . Der exakte Wert des Integrals ist Iex = 1.370 762 168.
96 12 − 2 π4 π
14.6 Tschebyscheffsche Quadraturformeln
14.6
595
Tschebyscheffsche Quadraturformeln
Bei der Konstruktion aller bisher behandelten Quadraturformeln vom Typ (14.3) wurden die n + 1 St¨ utzstellen xk ∈ [a, b] vorgegeben und die Gewichte Ak als L¨osungen des f¨ ur sie linearen Gleichungssystems (14.4) erhalten. Sind die Funktionswerte f (x) des Integranden mit Rundungsfehlern behaftet, so wird der dadurch bedingte Fehler des Integralwertes am kleinsten, wenn alle Gewichte der Quadraturformel gleich sind. Die Tschebyscheffschen Formeln haben die Form (14.3) mit gleichen Gewichten. Tschebyscheff-Formeln f¨ ur das Referenzintervall [−h,h] Man betrachtet das Integral von f u ¨ber das Referenzintervall [−h, h] und setzt die Tschebyscheffschen Regeln in der Form an: Zh I(f ; −h, h) =
f (x) dx = QChn+1 (f ; −h, h) + E Chn+1 (f ; −h, h),
−h
wobei n + 1 die Anzahl der St¨ utzstellen xk ∈ [−h, h] ist. QChn+1 (f ; −h, h) heißt Tschebyscheffsche Formel (Chn+1 -Formel) zu n + 1 St¨ utzstellen und E Chn+1 (f ; −h, h) ist das Restglied der Chn+1 -Formel. Die Gewichte Ak werden gleich groß vorgegeben: Ak =
2h , n+1
k = 0(1)n.
Es wird gefordert, dass die Quadraturformel QChn+1 (f ; −h, h) Polynome bis zum Grad M = n + 1 exakt integriert. So erh¨ alt man aus (14.4) mit m = 1(1)n + 1 f¨ ur die n + 1 St¨ utzstellen xk n + 1 nichtlineare Gleichungen. Es muss also vorausgesetzt werden, dass sich die Funktionswerte f (x) an den St¨ utzstellen xk berechnen oder aus einer Tabelle ablesen lassen; ist von f nur eine Wertetabelle bekannt, so sind die Tschebyscheffschen Formeln im Allgemeinen nicht anwendbar. F¨ ur n = 1 sind in (14.4) a = −h, b = h, m = 1, 2, und√wegen Ak √ = 2h/(n + 1), A0 = A1 = h zu setzen. Man erh¨ alt die L¨ osungen x0 = −h/ 3, x1 = h/ 3, so dass die zugeh¨orige Tschebyscheffsche Regel f¨ ur 2 St¨ utzstellen lautet: Rh
f (x) dx
−h Ch2
Q
(f ; −h, h)
E Ch2 (f ; −h, h)
= QCh2 (f ; −h, h) + E Ch2 (f ; −h, h) mit √ √ = A0 f (x0 ) + A1 f (x1 ) = h f (−h/ 3) + f /(h/ 3) , = O(h5 );
sie besitzt die lokale Fehlerordnung O(h5 ). Allgemein haben die Tschebyscheffschen Formeln mit 2ν und 2ν + 1 St¨ utzstellen die lokale Fehlerordnung O(h2ν+3 ). Die Restgliedkoeffizienten sind in [BERE1971] Bd.1, S.219 zu finden.
596
14. Numerische Quadratur
Tabelle der St¨ utzstellenwerte f¨ ur das Referenzintervall [−h, h]: n
xk
f¨ ur k = 0(1)n
1
x0,1 = ±0.577350 h
2
x0,2 = ±0.707107 h
x1 = 0
3
x0,3 = ±0.794654 h
x1,2 = ±0.187592 h
4
x0,4 = ±0.832498 h
x1,3 = ±0.374541 h
5
x0,5 = ±0.866247 h x2,3 = ±0.266635 h
x1,4 = ±0.422519 h
6
x0,6 = ±0.883862 h x2,4 = ±0.323912 h
x1,5 = ±0.529657 h x3 = 0
x2 = 0
Reelle Werte xk ergeben sich nur f¨ ur n = 0(1)6 und n = 8 . Summierte Tschebyscheff-Formeln f¨ ur ¨ aquidistante Zerlegung Ist die Integration u ¨ber ein ausgedehntes Intervall [α,β] zu erstrecken, so teilt man [α,β] in N Teilintervalle der L¨ ange 2h mit h = (β − α)/2N und wendet auf jedes Teilintervall die entsprechende Chn+1 -Formel an. Die St¨ utzstellen xk des Referenzintervalls sind dabei wie folgt zu transformieren: xk 7→ α + (2j + 1)h + xk ,
j = 0(1)N−1, k = 0(1)n.
Man erh¨alt so z. B. f¨ ur n = 1 bei ¨ aquidistanter Zerlegung folgende summierte Tschebyscheffsche Regel Rβ
2 QCh (f ; α, β) h
2 = QCh (f ; α, β) + EhCh2 (f ; α, β) mit h N−1 √ √ P = h f α + (2j + 1)h − h/ 3 + f α + (2j + 1)h + h/ 3 ,
EhCh2 (f ; α, β)
=
f (x) dx
α
j=0
O(h4 ).
2 Dabei ist QCh (f ; α, β) die summierte Tschebyscheffsche Formel zu zwei St¨ utzstellen h Ch2 und Eh (f ; α, β) das Restglied der summierten Ch2 -Formel, die globale Fehlerordnung betr¨agt somit O(h4 ).
14.7 Quadraturformeln von Gauß
597
Summierte Tschebyscheff-Formeln f¨ ur nicht¨ aquidistante Zerlegung Mit der Zerlegung α = t0 < t1 < t2 < . . . < tm = β, hj = tj+1 − tj , hmax :=
max {hj }, sind die St¨ utzstellen xk des Referenzintervalles
0≤j≤m−1
wie folgt zu transformieren: xk 7→ tj + hj /2 + xk
f¨ ur j = 0(1)m−1,
k = 0(1)n.
F¨ ur n = 1 z. B. erh¨ alt man die summierte Regel Rβ
f (x) dx
α
Ch2 2 = QCh hj (f ; α, β) + Ehj (f ; α, β)
2 QCh hj (f ; α, β) = 2 EhCh (f ; α, β) j
m−1 P j=0
mit
h h h h hj f tj + 2j − √j + f tj + 2j + √j , 2 3 2 3
= O(h4max ).
Die Tschebyscheffschen Formeln haben f¨ ur eine gerade Anzahl von St¨ utzstellen eine g¨ unstigere Fehlerordnung als die Newton-Cotes-Formeln. Zur Fehlersch¨atzung vergleiche Abschnitt 14.11.
14.7
Quadraturformeln von Gauß
Um die Gaußschen Formeln optimaler Genauigkeit zu erhalten, werden weder die St¨ utzstellen xk noch die Gewichte Ak in (14.3) vorgeschrieben, so dass in (14.4) insgesamt 2(n + 1) = 2n + 2 freie Parameter enthalten sind. Die Forderung, dass die Quadraturformel Polynome bis zum Grad M = 2n + 1 exakt integriert, f¨ uhrt hier auf ein System von 2n + 2 Gleichungen f¨ ur die n + 1 Gewichte Ak und die n + 1 St¨ utzstellen xk , k = 0(1)n; n es lautet X 1 (bm+1 − am+1 ) = A k xm m = 0(1)2n + 1; (14.23) k , m+1 k=0
es ist linear bzgl. der Gewichte Ak und nichtlinear bzgl. der St¨ utzstellen xk . Man muss hier also voraussetzen, dass sich die Funktionswerte f (x) an den sogenannten Gaußschen St¨ utzstellen xk ∈ [a, b] berechnen oder aus einer Tabelle ablesen lassen. Ist von der Funktion f nur eine Wertetabelle bekannt, in der die Gaußschen St¨ utzstellen im Allgemeinen nicht auftreten werden, so berechnet man das Integral bei ¨aquidistanten St¨ utzstellen mittels einer Newton-Cotes-Formel oder einer Maclaurin-Formel und bei beliebigen St¨ utzstellen mittels einer Quadraturformel, die mit Hilfe des Systems (14.4) konstruiert wird. F¨ ur das Integral von f u asst sich zeigen, dass die n + 1 Gaußschen ¨ber [a, b] = [−1, +1] l¨ St¨ utzstellen xk gerade die Nullstellen der Legendreschen Polynome Pn+1 (x) in [−1, +1] sind (s. hierzu z. B. [POLO1964], S.209; [STRO1966], 1.2; [STUM1982], S.86/87 sowie [ENGE1996], 8.1.2).
598
14. Numerische Quadratur
Gaußsche Formeln f¨ ur das Referenzintervall [−h,+h] Betrachtet man nun das Integral von f u ¨ber das Referenzintervall [−h, +h] und setzt Z+h n X f (x) dx = QGn+1 (f ; −h, h) + E Gn+1 (f ; −h, h) = Ak f (xk ) + O(hq ), k=0
−h
so bezeichnet man diese Beziehung als Gaußsche Regel, QGn+1 (f ; −h, +h) als Gaußsche Formel (Gn+1 -Formel) und E Gn+1 (f ; −h, +h) als Restglied der Gn+1 -Formel zu n+1 Gaußschen St¨ utzstellen. Wie oben erw¨ahnt, sind die n+1 Gaußschen St¨ utzstellen xk zum Intervall [−1, 1] die Nullstellen der Legendreschen Polynome Pn+1 in [−1, 1]. Die Legendreschen Polynome Pn sind Polynome vom Grad n und bilden ein in [−1, 1] orthogonales Funktionensystem mit w(x) = 1; es gilt ( Z+1 Pn (x) Pm (x) dx =
0 f¨ ur n 6= m , 2/(2n + 1) f¨ ur n = m .
−1
Die Legendreschen Polynome Pn f¨ ur n = 0(1)4 sind P0 (x) = 1 ; P1 (x) = x ; P2 (x) = P3 (x) = 12 (5x3 − 3x) ; P4 (x) =
1 2 1 8
(3x2 − 1) ; (35x4 − 30x2 + 3) .
Weitere Polynome lassen sich aus der Rekursionsformel (n + 1) Pn+1 (x) = (2n + 1) x Pn (x) − n Pn−1 (x) ,
n≥1
ermitteln. Die Nullstellen der Pn liegen symmetrisch zum Nullpunkt; alle Polynome ungerader Ordnung besitzen x = 0 als Nullstelle. Das Intervall [−1, +1] muss zun¨ achst auf [−h, +h] transformiert werden. Dann ergeben sich f¨ ur einige spezielle Gaußsche Quadraturformeln die folgenden Gewichte Ak und St¨ utzstellen xk , k = 0(1)n.
14.7 Quadraturformeln von Gauß
599
Tabelle der Gaußschen St¨ utzstellenwerte und Gewichte: n
xk ,
k = 0(1)n
0
x0 = 0
Ak ,
A0 = 2h
h x0,1 = ± √ = ±0.577350269 h 3 r 3 x0,2 = ± h = ±0.774596669 h 5 x1 = 0
1
2
3
4
5
k = 0(1)n
A0 = A1 = h A0 = A2 = 59 h = 0.¯5 h A1 = 89 h = 0.¯8 h
x0,3 = ±0.86113631 h
A0 = A3 = 0.34785485 h
x1,2 = ±0.33998104 h
A1 = A2 = 0.65214515 h
x0,4 = ±0.90617985 h
A0 = A4 = 0.23692689 h
x1,3 = ±0.53846931 h x2 = 0
A1 = A3 = 0.47862867 h ¯ A2 = 128 225 h = 0.568 h
x0,5 = ±0.93246951 h
A0 = A5 = 0.17132449 h
x1,4 = ±0.66120939 h
A1 = A4 = 0.36076157 h
x2,3 = ±0.23861919 h
A2 = A3 = 0.46791393 h
Weitere Werte sind in [ABRA1986], Tabelle 25.4 angegeben. Das Restglied besitzt die allgemeine Form E Gn+1 (f ; −h, h) =
22n+3 (n + 1)!
4
3 h2n+3 f (2n+2) (ξ ∗ ), (2n + 3) (2n + 2)! ξ ∗ ∈ [−h, h],
f (2n+2) ∈ C[−h, h],
d. h. die lokale Fehlerordnung bei n + 1 St¨ utzstellen im Referenzintervall [−h, +h] ist O(h2n+3 ). Im Folgenden werden zwei der Gaußschen Regeln explizit aufgeschrieben, und zwar die f¨ ur 2 und 3 St¨ utzstellen xk ∈ [−h, +h]: 1. n = 1 (2 St¨ utzstellen): Z+h f (x) dx −h G2
Q
(f ; −h, h)
E G2 (f ; −h, h)
=
QG2 (f ; −h, h) + E G2 (f ; −h, h)
mit
√ √ = h f (−h/ 3) + f (h/ 3) , =
h5 (4) ∗ 135 f (ξ ),
ξ ∗ ∈ [−h, h],
f (4) ∈ C[−h, h].
600
14. Numerische Quadratur
2. n = 2 (3 St¨ utzstellen): Z+h f (x) dx −h G3
= QG3 (f ; −h, h) + E G3 (f ; −h, h)
mit
(f ; −h, h)
=
h 5f (−√0.6h) + 8f (0) + 5f (√0.6h) , 9
E G3 (f ; −h, h)
=
h7 (6) ∗ 15750 f (ξ ),
Q
ξ ∗ ∈ [−h, h],
f (6) ∈ C[−h, h].
Mit zwei St¨ utzstellen erh¨ alt man eine Formel der lokalen Fehlerordnung O(h5 ), mit drei St¨ utzstellen eine Formel der lokalen Fehlerordnung O(h7 ). Die Newton-Cotes-Formeln der lokalen Fehlerordnungen O(h5 ) und O(h7 ) erfordern dagegen drei bzw. f¨ unf St¨ utzstellen. F¨ ur n = 4 und n = 5 lassen sich die Formeln an Hand der Tabelle der xk , Ak leicht bilden. Dabei ist E G4 =
h9 f (8) (ξ ∗ ), 3472875
E G5 =
h11 f (10) (ξ ∗ ), 1237732650
ξ ∗ ∈ [−h, +h].
Summierte Gaußsche Quadraturformeln bei ¨ aquidistanter Zerlegung Zur Bestimmung des Integrals von f u ¨ber ein Intervall [α,β] teilt man [α,β] in N Teilintervalle der L¨ange 2h : h = (β − α)/2N . Die St¨ utzstellen sind dabei wie folgt zu transformieren: xk 7→ α + (2j + 1)h + xk ,
j = 0(1)N−1,
k = 0(1)n.
Man erh¨alt f¨ ur n = 1 und n = 2 die folgenden summierten Gaußschen Regeln: Zβ f (x) dx
G2 2 = QG h (f ; α, β) + Eh (f ; α, β)
α 2 QG h (f ; α, β) = h
EhG2 (f ; α, β) Zβ f (x) dx
mit
√ √ f α + (2j + 1)h − h/ 3 + f α + (2j + 1)h + h/ 3 ,
NP −1 j=0
β−α = 270 h4 f (4) (η),
η ∈ [α, β],
G3 3 = QG h (f ; α, β) + Eh (f ; α, β)
f (4) ∈ C[α, β].
mit
α N −1 h P 5f α + (2j + 1)h − p3/5h + 8f α + (2j + 1)h 3 QG (f ; α, β) = h 9 j=0 p +5f α + (2j + 1)h + 3/5h ,
β−α EhG3 (f ; α, β) = 31500 h6 f (6) (η),
η ∈ [α, β],
f (6) ∈ C[α, β].
14.8 Verallgemeinerte Gauß-Quadraturformeln
601
Summierte Gaußsche Quadraturformeln bei nicht¨ aquidistanter Zerlegung Mit der Zerlegung α = t0 < t1 < t2 < . . . < tm = β, hj = tj+1 − tj , hmax =
max {hj } sind die St¨ utzstellen xk des Referenzintervalles wie
0≤j≤m−1
folgt zu transformieren: xk 7→ tj + hj /2 + xk
f¨ ur j = 0(1)m−1,
Man erh¨alt z. B. f¨ ur n = 1 die summierte Regel: β Z G2 2 n=1: f (x) dx = QG hj (f ; α, β) + Ehj (f ; α, β)
k = 0(1)n.
mit
α 2 QG hj (f ; α, β)
m−1 X
=
j=0
EhGj2 (f ; α, β)
O(h4max ),
=
und f¨ ur n = 2 die Regel Zβ n=2: f (x) dx
hj hj hj hj h j f tj + − √ + f tj + + √ 2 2 2 3 2 3
G3 3 = QG hj (f ; α, β) + Ehj (f ; α, β)
mit
α 3 QG hj (f ; α, β)
m−1 X
√ 5hj f tj + hj /2 − 0.6/2hj 18 j=0 √ +f tj + hj /2 + 0.6/2hj + 4/9hj f (tj + hj /2) =
hh
EhGj3 (f ; α, β) = O(h6max ). Die Gaußschen Formeln QGn+1 sind optimal bez¨ uglich der Fehlerordnung. Gegen¨ uber den Newton-Cotes-Formeln gleicher Fehlerordnung ben¨otigen sie nur etwa die H¨alfte des Rechenaufwandes. Schwierig ist jedoch die Berechnung der Gewichte Ak und der St¨ utzstellen xk aus dem nichtlinearen Gleichungssystem (14.23). Die Fehlersch¨atzung verl¨auft gem¨aß der Beschreibung in Abschnitt 14.11.
14.8
Berechnung von Gewichten und Stu ¨tzstellen verallgemeinerter Gauß-Quadraturformeln
Im Folgenden ist eine Berechnungsmethode f¨ ur die Gewichte und St¨ utzstellen der verallgemeinerten Gaußschen Quadraturformeln f¨ ur das Referenzintervall [a, b] angegeben, die die L¨osung eines nichtlinearen Gleichungssystems umgeht. Die Quadraturformel Q(f, g; a, b) =
n X i=1
Ai f (xi )
602
14. Numerische Quadratur Rb
soll eine N¨aherung f¨ ur das Integral
f (x) g(x) dx liefern, die alle Polynome bis zum Grad
a
2n R − 1, n ≥ 1, exakt integriert. Darin ist g eine Gewichtsfunktion mit g(x) > 0 in (a, b); g(x) dx sei berechenbar f¨ ur alle Teilintervalle aus [a, b]. Das Polynom Qn (x) = xn +
n−1 X
qk xk
k=0
wird so bestimmt, dass Qn orthogonal zu allen Monomen xj mit 0 ≤ j ≤ n−1 ist: b Zb Zb n−1 X Z j n+j Qn (x) x g(x) dx = x g(x) dx + qk xk+j g(x) dx = 0. a
k=0
a
a
Dies ist ein lineares Gleichungssystem zur Bestimmung der qk , wenn die Integrale Rb Aj = xj g(x) dx f¨ ur 0 ≤ j ≤ 2n − 1 vorgegeben sind. Nach der L¨osung dieses Sya
stems werden die Nullstellen xi , i = 1(1)n, von Qn (x) bestimmt. Ein beliebiges Polynom P (x) bis zum Grad 2n −1 kann mit Polynomdivision in der Form P (x) = S(x)Qn (x) + R(x) dargestellt werden, dabei sind S(x) und R(x) Polynome vom Grad ≤ n − 1. Setzt man hier die Nullstellen xi von Qn ein, so gilt: P (xi ) = R(xi ), da Qn (xi ) = 0. Da R(x) maximal vom Grad n − 1 ist, ist die Lagrangesche Interpolation exakt: n n X Y x − xj R(x) = R(xi )Li (x) mit Li (x) = . x − xj i=1 j=1 i j6=i
Aus dem Grad ≤ n − 1 von S(x) folgt wegen der Orthogonalit¨at b Zb n−1 X Z S(x)Qn (x) g(x) dx = sj xj Qn (x) g(x) dx = 0, j=0
a
a
und es gilt Rb
P (x) g(x) dx =
Rb
a
R(x) g(x) dx =
=:
Rb R(xi ) Li (x) g(x) dx
i=1
a n P
n P
P (xi )Ai
a
mit Ai =
Rb
i=1
Li (x) g(x) dx.
a
Die Lagrangeschen Interpolationspolynome k¨ onnen wegen n Y Qn (x) = (x − xi ) i=1
folgendermaßen bestimmt werden: L∗i (x) := Qn (x)/(x − xi ) Li (x) = L∗i (x)/L∗i (xi ) =
n−1 X j=0
Li,j xj ,
14.8 Verallgemeinerte Gauß-Quadraturformeln
603
wobei die Li,j die Koeffizienten des Polynoms Li (x) sind. F¨ ur die Gewichte Ai gilt darum: Zb Ai =
Li (x) g(x) dx =
n−1 X
Zb Li,j
j=0
a
xj g(x) dx.
a
Algorithmus 14.20. (Verallgemeinerte Gauß-Formeln) Gegeben: n, n ≥ 1, die exakten Integralwerte
Rb
xi g(x) dx f¨ ur i = 0(1)2n−1,
a
mit einer Gewichtsfunktion g(x) > 0 in (a, b). Gesucht: Gaußsche Quadraturformel f¨ ur das Referenzintervall [a, b] n Rb P Q(f, g; a, b) = Ai f (xi ) mit f (x) g(x) dx ≈ Q(f, g; a, b). i=1
a
1. L¨osung des linearen Gleichungssystems Aq − a = 0 mit R R R dx . . . Rxn−1 g(x) dx R g(x) dx R xg(x) xg(x) dx x2 g(x) dx xn g(x) dx A= , .. .. .. R n−1. R n . R 2n−2. x g(x) dx x g(x) dx x g(x) dx R n q0 g(x) dx R xn+1 q1 x g(x) dx q = . , a = . . .. .. R 2n−1 qn−1 x g(x) dx 2. Berechnung der Nullstellen xi , i = 1(1)n, von n−1 X Qn (x) = xn + q k xk . k=0
L∗i,j
3. (a) Berechnung der Koeffizienten von L∗i (x) mit Hilfe des Hornerschemas (Division von Qn durch x − xi ), (b) Berechnung von L∗i (xi ) unter Verwendung der Koeffizienten L∗i,j mit dem Hornerschema, (c) Berechnung der Li,j = L∗i,j /L∗i (xi ) . 4. Berechnung der Gewichte Ai aus den Formeln Zb n−1 X Ai = Li,j xj g(x) dx. j=0
a
604
14. Numerische Quadratur
Bemerkung. Da die Randpunkte des Referenzintervalles [a, b] nicht in die Berechnung der Gewichte Ai eingehen, sind auch Gaußsche Quadraturformeln f¨ ur uneigentliche Integrale m¨oglich.
14.9
Quadraturformeln von Clenshaw-Curtis
Will man Quadraturformeln verwenden, deren Knoten sich im Falle h¨oherer Fehlerordnung leichter berechnen lassen als die der Gaußschen Quadraturformeln, so ist der Einsatz von Clenshaw-Curtis-Formeln zu empfehlen. Clenshaw-Curtis-Formeln f¨ ur das Referenzintervall [−1,+1] Es handelt sich dabei um Interpolationsquadraturformeln der Form n X (n) QCCn (f ; −1, 1) := Ak f (xk ), n ≥ 2, n gerade, k=0
f¨ ur das Referenzintervall [−1, +1] mit den Tschebyscheff-Knoten xk = cos(kπ/n),
k = 0(1)n,
als St¨ utzstellen, die alle Polynome f vom Grad n + 1 Z1 I(f ; −1, 1) = f (x) dx −1 (n) Ak
exakt integrieren. Die Gewichte sind s¨ amtlich positiv; es gilt (n) (n) A0 = An = 2 1 , n −1 n/2−1 2 X cos(2jkπ/n) n − 1 − (−1)k (n) 4 Ak = 2 − , k = 1(1)n−1. 2 n n(n − 1) 4j 2 − 1 j=1
Will man die Formeln f¨ ur ein Referenzintervall [a, b] statt [−1, 1] verwenden, so erh¨alt man die transformierte Clenshaw-Curtis-Formel n b − a X (n) b−a kπ b+a CCn Q (f ; a, b) = Ak f cos + . 2 2 n 2 k=0
Die lokale Fehlerordnung betr¨ agt O(hn+3 ) bei geradem n und f ∈ C n+2 ([a, b]).
Zusammengesetzte Clenshaw-Curtis-Formeln Mit der Zerlegung Z des Integrationsintervalles [α,β]: Z : α = t0 < t1 < t2 < . . . < tm = β,
hj := tj+1 − tj , hmax =
max {hj }
0≤j≤m−1
14.10 Das Verfahren von Romberg
605
sind die St¨ utzstellen xk des Referenzintervalles [−1, 1] wie folgt zu transformieren tj+1 + tj hj xk 7→ + xk , 2 2 und man erh¨alt die zusammengesetzten Clenshaw-Curtis-Formeln m−1 n X 1 X tj+1 − tj tj+1 + tj (n) CCn Qhj (f ; α, β) = (tj+1 − tj ) Ak f cos(kπ/n) + . 2 2 2 j=0
k=0
F¨ ur den globalen Fehler gilt bei f ∈ Cn+2 ([α,β]) n EhCC (f ; α, β) = O(hn+2 max ). j
Zur Fehlersch¨atzung siehe Abschnitt 14.11.
14.10
Das Verfahren von Romberg
Das Verfahren von Romberg beruht auf der Approximation des Integrals I(f ; α, β) durch die Sehnentrapezformel. Durch fortgesetzte Halbierung der Schrittweite und geeignete Linearkombination zugeh¨ origer Approximationen f¨ ur das Integral gelingt es, Quadraturformeln von h¨oherer Fehlerordnung zu erzeugen. Setzt man f 2n-mal stetig differenzierbar voraus, so kann zur Entwicklung des Verfahrens die Euler-Maclaurin-Formel verwendet werden. Es l¨asst sich zeigen, dass das Verfahren auch dann konvergiert, wenn nur die Stetigkeit von f gefordert wird. Man zerlegt [α,β] zun¨ achst in N Teilintervalle der L¨ange h = (β − α)/N . F¨ ur I(f ; α, β) gilt dann mit der summierten Sehnentrapezformel (14.9) die Darstellung Rβ
2 f (x) dx = QST h (f ; α, β) + O(h )
mit
α
h ST Qh (f ; α, β) = 2 f (α) − f (β) + 2
N −1 X
f (α + νh) ,
ν=1
und mit der summierten Euler-Maclaurin-Formel (14.22) die Darstellung Zβ
f (x) dx = QST h (f ; α, β) +
α
n−1 X
c2k h2k + O(h2n ) ,
(14.24)
k=1
wobei die c2k unabh¨ angig von h sind. Im Folgenden wird das Verhalten von (14.24) bei fortgesetzter Halbierung der Schrittweite untersucht. Es wird gesetzt β−α h Nj = 2j N , hj = j = j , h0 = h , N0 = N . (14.25) 2 N 2
606
14. Numerische Quadratur
Die summierte Sehnentrapezformel mit der Schrittweite hj bezeichnet man mit N −1
(0) Lj (f )
:=
QST hj (f ; α, β)
j X hj = f (α) + f (β) + 2 f (α + νhj ) . 2 ν=1
F¨ ur die Schrittweiten hj und hj+1 = Zβ
hj 2
(14.26)
lautet (14.24) mit (14.26)
(0)
f (x) dx = Lj (f ) + c2 h2j + c4 h4j + . . . + c2n−2 h2n−2 + O(h2n j ), j
(14.27)
α
Zβ f (x) dx =
(0) Lj+1 (f )
+ c2
hj 2
2
+ c4
hj 2
4
hj 2
2n !
+ ...
α
+ c2n−2
hj 2
2n−2
+O
.
(14.28)
Man bildet nun eine Linearkombination dieser beiden Gleichungen, indem man Gleichung (14.28) mit 4 multipliziert und davon Gleichung (14.27) subtrahiert. Man erh¨alt Zβ 1 (0) (0) (1) (1) f (x) dx = 4Lj+1 (f ) − Lj (f ) + c4 h4j + . . . + c2n−2 h2n−2 + O(h2n j ) . (14.29) j 3 α
Mit (1)
Lj (f ) := gilt somit
1 (0) 1 (0) (0) (0) (0) 4Lj+1 (f ) − Lj (f ) = Lj+1 (f ) + Lj+1 (f ) − Lj (f ) 3 3 Zβ
(1)
f (x) dx = Lj (f ) + O(h4j ) ;
α
also ist
(1) Lj (f )
eine Approximation der Fehlerordnung O(h4j ) f¨ ur das Integral. (1)
Somit wurde durch eine erste Linearkombination Lj (0) Lj+1
f¨ ur das Integral eine Quadraturformel
(1) Lj
(0)
zweier Approximationen Lj
der Fehlerordnung
O(h4j )
und
erzeugt.
Um eine Quadraturformel der Fehlerordnung O(h6j ) zu gewinnen, wird eine Linearkombination der (14.29) entsprechenden Gleichungen f¨ ur die Schrittweiten hj und hj+1 = hj /2 gebildet: Zβ
(1)
(1)
(1)
f (x) dx = Lj (f ) + c4 h4j + c6 h6j + . . .
α (1)
+ c2n−2 h2n−2 + O(h2n j ), j Zβ f (x) dx =
(1) Lj+1 (f )
+
(1) c4
hj 2
4 +
(14.30)
(1) c6
hj 2
6 + ...
α
+
(1) c2n−2
hj 2
2n−2
+O
hj 2
2n ! .
(14.31)
14.10 Das Verfahren von Romberg
607
Man multipliziert Gleichung (14.31) mit 24 , subtrahiert davon Gleichung (14.30) und erh¨alt Zβ
1 4 (1) (1) (2) (2) 2 L (f ) − L (f ) + c6 h6j + . . . + c2n−2 h2n−2 + O(h2n j ). j+1 j j 24 − 1
f (x) dx = α
Mit 1 4 (1) 1 (1) (1) (1) (1) 2 L (f ) − L (f ) = L (f ) + L (f ) − L (f ) j+1 j j+1 j+1 j 24 − 1 15
(2)
Lj (f ) := folgt
Zβ
(2)
f (x) dx = Lj (f ) + O(h6 ) .
α
So fortfahrend erh¨alt man f¨ ur das Integral die Darstellung Zβ (k) 2(k+1) f (x) dx = Lj (f ) + O(hj ) α
mit (k)
1 (k−1) 2k (k−1) 2 L (f ) − L (f ) j+1 j 22k − 1 1 (k−1) (k−1) (k−1) = Lj+1 (f ) + 2k Lj+1 (f ) − Lj (f ) 2 −1
Lj (f ) =
f¨ ur j = 0, 1, 2, . . ., k = 1, 2, . . . , n−1, hj = h/2j , h0 = h; dabei ergibt sich n aus der Voraussetzung f ∈ C 2n [α, β]. Die Formel (14.26) (0)
Lj (f ) := QST hj (f ; α, β) =
Nj −1 X hj f (α) + f (β) + 2 f (α + νhj ) 2 ν=1 (0)
wird nur f¨ ur j = 0 benutzt. F¨ ur j = 1, 2, 3, . . . werden die Lj (f ) besser und mit nur etwa dem halben Rechenaufwand berechnet mit der sich aus (14.26) ergebenden Formel (0)
Lj (f )
= =
1 L(0) + h f (α + h ) + f (α + 3h ) + . . . + f (β − h ) j j j j 2 j−1 Nj−1 −1 X 1 L(0) + h f α + (2k + 1)hj . j 2 j−1 k=0
(k)
Die Lj
f¨ ur k ≥ 1 und j = 0, 1, 2, . . . werden mit 22k = 4k nach der Formel 1 (k−1) (k) (k−1) (k−1) Lj (f ) = Lj+1 (f ) + k Lj+1 (f ) − Lj (f ) 4 −1
berechnet.
608
14. Numerische Quadratur
Die Rechnung wird zweckm¨ aßig zeilenweise nach dem folgenden Schema durchgef¨ uhrt. Rechenschema. (Verfahren von Romberg) (0)
hj
Lj
= QST hj (f ; α, β)
···
(m−1)
Lj
(m)
Lj
L0
(0)
L0
(0)
L1 .. .
h1 =
h0 2
L1
h2 = .. .
h1 2
L2 .. .
hm =
(2)
Lj
(0)
h0
hm−1 =
(1)
Lj
(1)
(1)
(0) Lm−1
hm−2 2
(0)
hm−1 2
Lm
(2)
L0 .. .
..
.
(1) Lm−2
(2) Lm−3
···
L0
(1)
Lm−2
(2)
···
L1
Lm−1
(m−1)
(m−1)
(m)
L0
Das Schema wird so lange fortgesetzt, bis zu vorgegebenen Schranken δ und ε f¨ ur den relativen bzw. absoluten Fehler der kombinierte Abbruchtest (m)
|L0
(m−1)
− L1
(m)
| ≤ |L0 | δ + ε
(m)
erf¨ ullt ist. Dann wird L0 (f ) als bester erreichter N¨aherungswert f¨ ur I(f ; α, β) verwendet. Es gilt mit m ≤ n−1 die Romberg-Regel Zβ I(f ; α, β)
=
(m)
f (x) dx = L0 (f ) + E Rm (f ; α, β)
mit
α
E Rm (f ; α, β)
=
(−1)m+1
B2m+2 β−α h2m+2 f (2m+2) (ξ), 2m(m+1) (2m + 2)! 0
ξ ∈ [α, β],
bzw. umgerechnet mit h0 = 2m hm gilt E Rm (f ; α, β)
=
(−1)m+1 (β − α)
= O(h2m+2 ), m
B2m+2 m(m+1) 2m+2 (2m+2) 2 hm f (ξ) (2m + 2)!
ξ ∈ [α, β],
d. h. das Restglied E Rm ist von der Ordnung O(h2m+2 ) f¨ ur hm → 0. m (k)
Unter der Voraussetzung f ∈ C 2n [α, β] konvergieren die Spalten Lj des Schemas f¨ ur jedes feste k und j → ∞ linear gegen I(f ; α, β). Ist f analytisch, so konvergieren die (k) absteigenden Diagonalen des Schemas Lj f¨ ur jedes j und k → ∞ superlinear gegen I(f ; α, β). Es l¨asst sich zeigen, dass sowohl die Spalten als auch die absteigenden Dia(k) gonalen Lj gegen I(f ; α, β) konvergieren, wenn nur die Stetigkeit von f vorausgesetzt wird.
14.10 Das Verfahren von Romberg
609
Beispiel 14.21. Gegeben: Das Integral I
2 2 √ e−x ; 0, 0.5 π
2 =√ π
Z0.5 2 e−x dx . 0
Gesucht:
Ein N¨aherungswert f¨ ur das Integral mit Hilfe des Romberg-Verfahrens.
L¨osung:
Die Sehnentrapezformel liefert zu h = 0.5 den Wert L0 = 0.5017904365 bei Rundung auf 10-stellige Mantisse.
(0)
(k)
Nach dem Rechenschema erh¨ alt man f¨ ur die Lj 10-stelliger Mantisse: j
(0)
Lj
(1)
Lj
bis zu k = 4 die folgenden Werte bei
(2)
Lj
(3)
Lj
(4)
Lj
0 0.5017904365 1 0.5158987506 0.5206015220 2 0.5193541352 0.5205059301 0.5204995573 3 0.5202137226 0.5205002517 0.5204998732 0.5204998782 4 0.5204283565 0.5204999011 0.5204998777 0.5204998778 0.5204998778
Bei k = 4 kommt die Rechnung mit dem Wert 0.5204998778 zum Stehen.
Im Folgenden wird der Algorithmus f¨ ur das Romberg-Verfahren formuliert. Dabei ist zu bemerken, dass vom Rechenschema aktuell nur zwei aufeinander folgende Zeilen benutzt werden, die obere Zeile Lo und die untere Lu. In der aktuellen k-ten Zeile Lu steht der (k) neueste N¨aherungswert Lu(k) = L0 an der k-ten Stelle. Mit dem vorangehenden Wert (k−1) Lu(k−1) = L1 ergibt sich die Abbruchbedingung |Lu(k) − Lu(k−1)| ≤ |Lu(k)| δ + ε. Der Algorithmus verwendet teilweise andere Bezeichnungen.
Algorithmus 14.22. (Verfahren von Romberg f¨ ur die numerische Quadratur ) Gegeben: Eine Funktion f : x 7→ f (x), die Grenzen α und β des Integrationsintervalls, die Anzahl s der zu ermittelnden g¨ ultigen Ziffern/Dezimalen und die Anzahl m, m ≥ 6, der Pl¨ atze in den Zeilen des Romberg-Schemas. Gesucht: Ein N¨aherungswert f¨ ur das Integral I(f ; α, β).
610
14. Numerische Quadratur
1. Vorbereitung. Stelle die Zeilen Lo und Lu mit je m Pl¨atzen bereit; setze ` := m. Setze f¨ ur die Ermittlung von s g¨ ultigen Ziffern ε := 0, δ := 5 · 10−s , f¨ ur die Ermittlung von s g¨ ultigen Dezimalen δ := 0, ε := 0.5 · 10−s . Setze N := 2, k := 1, h := (β − α)/N . 2. Berechne Lo(1) := h2 f (α) + 2f (α + h) + f (β) . 3. (Beginn der Schleife) Setze h := 12 h und M := 0. Berechne f¨ ur i = 0 bis N−1: M := M + f α + (2i + 1) h . 4. Berechne Lu(1) := 12 Lo(1) + h M . Setze k := k + 1 und r := 4. 5. Berechne f¨ ur i = 2 bis k: Lu(i − 1) − Lo(i − 1) Lu(i) := Lu(i−1) + r−1 und setze r := 4 r. 6. Falls k = ` ist, sind alle Pl¨ atze in Lu belegt. Dann m¨ ussen Lo und Lu um m Pl¨atze verl¨angert werden; ` := ` + m. 7. Setze Luk := Lu(k) und ∆Lu := Lu(k) − Lu(k−1). 8. Bereite den n¨ achsten Durchgang ab 3. vor mit Lo := Lu und N := 2N . (Lu wird die obere Zeile Lo und Lu wird u ¨ berschrieben.) 9. Abbruchbedingung. Falls |∆Lu| ≤ |Luk| δ + ε ist, erfolgt Abbruch mit I(f ; α, β) := Luk. Andernfalls weiter mit 3.
Beispiel 14.23. Gegeben: Das Integral
π
I
sin x π ; 0, x 2
Z2
=
sin x dx x
0
Gesucht:
Der N¨aherungswert mit 5 g¨ ultigen Dezimalen f¨ ur das Integral mit dem Romberg-Verfahren. (Bezeichnungen des Algorithmus werden zus¨atzlich angegeben.)
14.10 Das Verfahren von Romberg L¨osung:
611
F¨ ur die Abbruchbedingung sind δ = 0, ε = 0.5·10−5 . Mit h0 = (β−α)/2 = π/4 und f (x) = sinx x ergibt sich h0 (0)
Lo(1) = L0
h1 (0)
Lu(1) = L1
v
π = : 4
v π 4 π
0
v π 2
π π π = QST (f ; 0, ) = f (0) + 2f + f π/4 2 8 4 2 √ 4 2 π 2 = 8 1 + π + π = 1.349 805 863 v v π π π 3π 0 8 4 2 8 π π 3π (0) = 12 L0 + f +f = 1.365 546 208 8 8 8
π = : 8
(1)
1. Linearkombination:
Lu(2) = L0
(0)
(0)
(0)
= L1 + 13 (L1 − L0 ) = 1.370 792 990 (1)
(0)
Abfrage : |Lu(2) − Lu(1)| = |L0 − L1 | = 0.005 25 < 0.5 · 10−5 ? ⇒
Abbruchbedingung nicht erf¨ ullt! (0)
(1)
Umspeichern : Lo(1) := Lu(1) = L1 , Lo(2) := Lu(2) = L0
h2
Lu(1) =
(0) L2
π = : 16
0
v π 16
π 8
v 3π 16
π 4
v 5π 3π 16 8
v 7π 16
π 2
π π 3π 5π 7π = + f +f +f +f 16 16 16 16 16 = 1.369 459 609 1 (0) 2 L1
(1)
= L2 + 13 (L2 − L1 ) = 1.370 764 076
(2)
= L1 +
2. Linearkombination:
Lu(2) = L1
3. Linearkombination:
Lu(3) = L0
(0)
(0)
(1)
(2)
(1) 1 (L1 15
(0)
(1)
− L0 ) = 1.370 762 149
(1)
Abfrage : |Lu(3) − Lu(2)| = |L0 − L1 | = 1.93 · 10−6 < 0.5 · 10−5 ? ⇒
⇒
Abbruchbedingung erf¨ ullt!
(2)
Der N¨aherungswert des Integrals ist Lu(3) = L0 = 1.370 76.
612
14.11
14. Numerische Quadratur
Fehlersch¨ atzung und Rechnungsfehler
In der Regel ist eine Absch¨ atzung des Quadraturfehlers nicht m¨oglich, da die ben¨otigten Ableitungen des Integranden unbekannt sind oder nur mit erheblichem Aufwand abgesch¨atzt werden k¨ onnen. Die genaue Kenntnis des Restgliedkoeffizienten ist somit nur von theoretischem Nutzen. Wesentlich ist aber die Kenntnis der globalen Fehlerordnung O(hq ) einer Quadraturformel; sie reicht aus, um unter Verwendung von zwei zu verschiedenen Schrittweiten berechneten N¨ aherungswerten f¨ ur I(f ; α, β) einen Sch¨ atzwert f¨ ur den wahren Fehler angeben zu k¨ onnen. Fehlersch¨ atzung bei ¨ aquidistanter Zerlegung Wurde etwa das Integral I(f ; α, β) n¨ aherungsweise mit der Schrittweite hi nach einer Quadraturformel der globalen Fehlerordnung O(hqi ) berechnet, so gilt I(f ; α, β) Ehi (f ; α, β)
=
Qhi (f ; α, β) + Ehi (f ; α, β)
=
O(hqi )
=
ci hqi
,
mit
ci = Restgliedkoeffizient.
F¨ ur i = 1 und i = 2, q fest, erh¨ alt man die folgende Fehlersch¨atzungsformel f¨ ur den globalen Fehler Eh1 (f ; α, β) des mit der Schrittweite h1 berechneten N¨aherungswertes Qh1 (f ; α, β) f¨ ur I(f ; α, β): Eh1 (f ; α, β) ≈
Qh1 (f ; α, β) − Qh2 (f ; α, β) q = Eh∗1 (f ; α, β). h2 −1 h1
(14.32)
Mit (14.32) l¨asst sich ein gegen¨ uber Qh1 (f ; α, β) verbesserter N¨aherungswert Q∗h1 (f ; α, β) f¨ ur I(f ; α, β) angeben; es gilt Q∗h1 (f ; α, β)
= Qh1 (f ; α, β) + Eh∗1 (f ; α, β) = Qh1 (f ; α, β) +
h2 h1
1 q
Qh1 (f ; α, β) − Qh2 (f ; α, β) .
(14.33)
−1
W¨ahlt man speziell h2 = 2h1 und setzt h1 = h, so erh¨alt (14.32) die Form Eh (f ; α, β) ≈
Qh (f ; α, β) − Q2h (f ; α, β) 2q − 1
(14.34)
und f¨ ur Q∗h (f ; α, β) ergibt sich aus (14.33) die Beziehung Q∗h (f ; α, β) = Qh (f ; α, β) +
2q
1 Qh (f ; α, β) − Q2h (f ; α, β) . −1
(14.35)
Dabei sind Qh (f ; α, β) der mit der Schrittweite h berechnete N¨aherungswert, Q2h (f ; α, β) der mit der doppelten Schrittweite berechnete N¨aherungswert und Q∗h (f ; α, β) der gegen¨ uber Qh (f ; α, β) verbesserte N¨ aherungswert f¨ ur I(f ; α, β).
14.11 Fehlersch¨atzung und Rechnungsfehler
613
F¨ ur die Trapezformeln, die Simpsonsche Formel und die 3/8-Formel lauten die (14.34) entsprechenden Fehlersch¨ atzungsformeln und die (14.35) entsprechenden verbesserten N¨aherungswerte Q∗h :
Sehnen- und Tangententrapezformel (q = 2): ST ST EhST ≈ 1 , 3 (Qh − Q2h ) 1 ST ST Q∗ST = QST h h + 3 (Qh − Q2h ) ,
EhT T ≈ 13 (QTh T − QT2hT ), T Q∗T = QTh T + 13 (QTh T − QT2hT ); h
Simpsonsche Formel und 3/8-Formel (q = 4): 1 (QS − QS ) EhS ≈ 15 , h 2h 1 S S S Q∗S h = Qh + 15 (Qh − Q2h ) ,
1 (Q3/8 − Q3/8 ), ≈ 15 h 2h ∗3/8 3/8 1 (Q3/8 − Q3/8 ). Qh = Qh + 15 h 2h 3/8
Eh
Mit Hilfe der Euler-Maclaurin-Formeln l¨ asst sich zeigen, dass bei Verwendung der gegen¨ uber QST und QSh verbesserten N¨ aherungswerte Q∗ST und Q∗S ur I sogar zwei h h h f¨ h-Potenzen in der Fehlerordnung gewonnen werden; es gilt I(f ; α, β) I(f ; α, β)
= Q∗ST (f ; α, β) + O(h4 ) h 6 = Q∗S h (f ; α, β) + O(h ),
bzw.
vgl. auch Abschnitt 14.10. Fehlersch¨ atzung bei nicht¨ aquidistanter Zerlegung Mit allen f¨ ur ein Referenzintervall bestimmten und dann zusammengesetzten Quadraturformeln kann eine Fehlersch¨ atzung so vorgenommen werden, dass man I(f ; α, β) einmal f¨ ur die Zerlegung Z : α = t0 < t1 < . . . < tm = β und einmal f¨ ur die Zerlegung Z/2, wo jeweils die Intervallmitten von [ti , ti+1 ] als zus¨atzliche St¨ utzstellen verwendet werden, n¨aherungsweise berechnet. Dann gilt bei Verwendung einer Quadraturformel der globalen Fehlerordnung q, die Polynome bis zum Grade q − 1 exakt integriert, f¨ ur den globalen Fehler von QZ/2 EZ/2 (f ; α, β) ≈
QZ/2 (f ; α, β) − QZ (f ; α, β) ∗ = EZ/2 (f ; α, β) 2q − 1
und man erh¨alt einen gegen¨ uber QZ/2 verbesserten N¨aherungswert ∗ Q∗Z/2 (f ; α, β) = QZ/2 (f ; α, β) + EZ/2 (f ; α, β)
von der globalen Fehlerordnung q + 1.
614
14. Numerische Quadratur
Rechnungsfehler. W¨ ahrend der globale Verfahrensfehler z. B. im Falle der ST -Regel bzw. S-Regel von zweiter bzw. von vierter Ordnung mit h → 0 abnimmt, w¨achst der Rechnungsfehler in beiden F¨ allen von der Ordnung O(1/h), so dass der Gesamtfehler (Verfahrensfehler plus Rechnungsfehler) nicht beliebig klein gehalten werden kann. Diese Aussage gilt auch f¨ ur andere Quadraturformeln. Es ist empfehlenswert, die Schrittweite h so zu w¨ ahlen, dass Verfahrensfehler und Rechnungsfehler etwa von gleicher Gr¨oßenordnung sind. Im Falle der ST -Regel ergibt sich nach [MCCR1987] f¨ ur den globalen Rechnungsfehler die Beziehung 1 rh (f ; α, β) = (β − α)2 ε, 2h wobei ε der maximale absolute Rechnungsfehler pro Rechenschritt ist.
14.12
Adaptive Quadraturverfahren
Bei den bisher behandelten Quadraturverfahren wird im Allgemeinen das Integrationsintervall in ¨aquidistante Teilintervalle zerlegt. Die L¨ange der Teilintervalle ergibt sich aus der Genauigkeitsforderung. Je nach der Gestalt des Graphen der zu integrierenden Funktion kann es aber durchaus sinnvoll sein, bei gleichbleibender Genauigkeitsanforderung mit unterschiedlichen Schrittweiten zu arbeiten. Berechnet man z. B. das Integral I(f ; α, β) u ¨ber das Romberg-Verfahren mit Adaption, so wird die fortlaufende Schrittweitenhalbierung einzelner Teilintervalle dann gestoppt, wenn die lokale Fehlersch¨ atzung ausreichende Genauigkeit anzeigt. Es werden also nur noch diejenigen Teilintervalle weiter verfeinert, deren gesch¨atzter Fehler oberhalb einer vorgegebenen Genauigkeitsschranke liegt. Im ung¨ unstigsten Falle erh¨alt man das in Abschnitt 14.10 beschriebene Romberg-Verfahren. Bei der Adaption wird also versucht, die Anzahl der Teilintervalle (und damit der Funktionsauswertungen) m¨oglichst klein zu halten. Man kann nat¨ urlich ganz analog zur Sehnentrapezformel, die dem RombergVerfahren zugrunde liegt, Gaußsche oder andere Quadraturformeln zur Adaption benutzen. Beispiel 14.24. Vergleich verschiedener Quadraturverfahren zur Berechnung des elliptischen Integrals s 2 Zπ/2 3 1− sin2 x dx 4 0
mit der relativen Genauigkeit 5 · 10−6 .
14.13 Konvergenz der Quadraturformeln
Verfahren
ermittelte N¨ aherung
NC-ST NC-Simps NC-3 NC-4 NC-5 NC-6 NC-7 Romberg Ad-Gau2 Ad-Gau3 Ad-Gau4 Ad-Gau5 Ad-CC-2 Ad-CC-4 Ad-CC-6 Ad-CC-8 Ad-NC-1 Ad-NC-2 Ad-NC-3 Ad-NC-4 Ad-NC-5 Ad-NC-6 Ad-NC-7
1.3184720082 1.3184721413 1.3184721205 1.3184683010 1.3184700508 1.3184723011 1.3184722244 1.3184683010 1.3184720840 1.3184759445 1.3184719355 1.3184721117 1.3184721413 1.3184738586 1.3184720981 1.3184721081 1.3184721080 1.3184721413 1.3184721205 1.3184683010 1.3184700508 1.3184723011 1.3184722244
14.13
615
gesch¨ atzter Fehler absolut relativ 4.71784 · 10−6 −5.66085 · 10−7 −2.12303 · 10−7 3.50997 · 10−6 2.00529 · 10−6 1.79922 · 10−8 8.13637 · 10−9 −3.84024 · 10−6 2.77101 · 10−6 −3.30398 · 10−6 −1.91333 · 10−8 1.38011 · 10−9 −3.84024 · 10−6 −1.31933 · 10−6 1.57008 · 10−9 2.57731 · 10−11 3.32718 · 10−8 −3.84024 · 10−6 −1.44341 · 10−6 3.50997 · 10−6 2.00529 · 10−6 1.79922 · 10−8 8.13637 · 10−9
Anz. Funkt.Auswertungen
3.6 · 10−6 −4.3 · 10−7 −1.6 · 10−7 2.7 · 10−6 1.5 · 10−6 1.4 · 10−8 6.2 · 10−9 −2.9 · 10−6 2.1 · 10−6 −2.5 · 10−6 −1.5 · 10−8 1.0 · 10−9 −2.9 · 10−6 −1.0 · 10−6 1.2 · 10−9 2.0 · 10−11 2.5 · 10−8 −2.9 · 10−6 −1.1 · 10−6 2.7 · 10−6 1.5 · 10−6 1.4 · 10−8 6.2 · 10−9
14 24 34 14 17 20 23 9 18 9 12 15 27 15 21 27 35 24 33 14 17 20 23
Konvergenz der Quadraturformeln
Aus (14.12) folgt im Falle der Sehnentrapezformel unter der Voraussetzung, dass f 00 in [a, b] existiert und beschr¨ ankt ist Zβ h2 f (x) dx − QST (f ; α, α + N h) = (β − α)|f 00 (η)| 12
mit η ∈ [α, β] .
α
Setzt man wie in (14.25) Nk = 2k N , hk = h/2k , so wird bei fortgesetzter Intervallhalbierung f¨ ur hinreichend großes k > K1 (ε1 ) β 2 Z 1 h ST (β − α)|f 00 (η)| < ε1 . (14.36) f (x) dx − Q (f ; α, α + Nk h) = 12 2k α
(14.36) gilt auch noch, wenn man statt der speziellen Nullfolge h/2k eine beliebige Nullfolge h1 , h2 , . . . , hp , . . . mit lim hp = 0 w¨ ahlt, wobei anstelle von 2k N eine Folge {Np } p→∞
mit Np → ∞ tritt. Analog gilt im Falle der Simpsonschen Formel
616
14. Numerische Quadratur
Zβ f (x) dx − QS (f ; α, α + Nk · 2h) < ε2
f¨ ur k > K2 (ε2 )
α
unter der Voraussetzung, dass f (4) (x) in [α, β] existiert und beschr¨ankt ist. Damit ist die Konvergenz der Sehnentrapezformel und der Simpsonschen Formel unter den genannten Voraussetzungen nachgewiesen. In gleicher Weise l¨asst sich die Konvergenz der Tangententrapezformel zeigen. Satz 14.25. n Eine Quadraturformel der Form X (n) (n) (n) Q (f ; α, β) = Ak f (xk ),
(n)
xk
∈ [α, β],
(14.37)
k=0
konvergiert f¨ ur n → ∞ und f¨ ur jede in [α,β] stetige Funktion f genau dann gegen n I(f ; α, β), d. h. X (n) (n) lim Q(n) (f ; α, β) = lim Ak f (xk ) = I(f ; α, β), (14.38) n→∞
n→∞
k=0
wenn n P 1. (14.38) f¨ ur jedes Polynom f ≡ Φ der Form Φ(x, c) = ck xk erf¨ ullt ist und k=0 n P (n) 2. eine Konstante K existiert, so dass |Ak | < K f¨ ur jedes n gilt. k=0
Wendet man (14.37) auf f (x) = 1 an, so erh¨ alt man mit 1. Zβ n X (n) (n) Q (1; α, β) = Ak = dx = β − α. k=0
α
(n)
Sind alle Gewichte Ak > 0, so ist 2. sicher erf¨ ullt; treten dagegen negative Gewichte auf, (n) (n) (n) so kann |A0 | + |A1 | + . . . + |An | bei gen¨ ugend großem n beliebig groß werden. F¨ ur Interpolationsquadraturformeln mit ¨ aquidistanten St¨ utzstellen treten negative Gewichte erstmals bei 9 St¨ utzstellen auf. Bis zu 8 St¨ utzstellen stimmen die Newton-CotesFormeln mit den Formeln u ur die entspre¨ berein, die man bei dem Romberg-Verfahren f¨ chende St¨ utzstellenzahl erh¨ alt. Die Konvergenz der Romberg-Integration wurde bereits (n) in Abschnitt 14.10 behandelt. Da die Werte von |Ak | f¨ ur Interpolationsquadraturformeln mit ¨aquidistanten St¨ utzstellen f¨ ur wachsendes n unbegrenzt anwachsen, ist 2. nicht erf¨ ullt. F¨ ur die Gaußschen Quadraturformeln sind die Gewichte bei beliebiger St¨ utzstellenzahl stets positiv, ebenso ist die 1. Bedingung erf¨ ullt, diese Formel konvergieren also f¨ ur n → ∞.
14.14 Anwendungsbeispiel
14.14
617
Anwendungsbeispiel
Gegeben: Der folgende Walzenk¨ orper: y6 y
y
0.2
.. 2 . 1 ... ... .......... ....... .. ...................... ...................................... ................ .. 3 ........................................................................................................... . . . . . . . . . . . . ....................................................................................... . . . . . . . . . . ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... ........................................................................................................................................................................... ................................................................................................................. ................................................................................................................. ................................................................................................................. ................................................................................................................. ................................................................................................................. ......................................................... ............................................................................................................................................................................ ........................................................................................................... . ............................................................................... ... ... ... ............... . . . . . . . . . . . . . . . . . . . ............ ........................................................................... ... ... ... ......................... ................. ... .... .... ... ...
0.0 Gesucht:
0.4
1.2
1.6
y
2.2
x
2.6
Die Mantelfl¨ ache M (ohne Stirnfl¨ achen) und das Volumen V des Walzenk¨orpers mit Hilfe der Simpsonschen Formel. Pro Abschnitt sollen 51 St¨ utzstellen berechnet werden. Profilfunktionen in den einzelnen Abschnitten: √ y1 (x) = 0.15 · x − 0.02 y2 (x) = 0.36 + (x − 1.4)2 2.8 − x y3 (x) = 3 Formeln:
Z M = 2π
`
y
p 1 + y 02 dx,
Z
0
L¨osung:
`
V =π
y 2 dx
0
Die Mantelfl¨ achen der einzelnen Teilbereiche sind: M0 =1.005309626678314 · 10−1 M1 =1.610142717146783 M2 =3.603120565805025 · 10−1 M3 =4.128254066379155 · 10−1 M4 =1.005309626678314 · 10−1
m2 m2 m2 m2 m2
Die Gesamtmantelfl¨ ache des Rotationsk¨orpers betr¨agt: Mges = 2.584342105700864 m2 . Die Volumina der einzelnen Teilbereiche sind: V0 =5.026548133391571 · 10−2 V1 =2.513274253949293 · 10−1 V2 =1.753260162734987 · 10−1 V3 =1.759291706246914 · 10−1 V4 =5.026548133391569 · 10−2
m3 m3 m3 m3 m3
Das Gesamtvolumen betr¨ agt Vges = 7.031135749609508 · 10−1 m3 .
618
14.15
14. Numerische Quadratur
Entscheidungshilfen fu ¨r die Auswahl der geeigneten Methode
Die G¨ ute der N¨aherung f¨ ur ein bestimmtes Integral h¨angt ab von • der Fehlerordnung q der Quadraturformel, • der Feinheit der Zerlegung Z, • der Glattheit des Integranden. Ist der Integrand beliebig oft differenzierbar, so w¨ahlt man die Formeln nach der Fehlerordnung aus und passt die Zerlegung dem Verlauf des Integranden an: Man zerlegt dort feiner, wo sich der Integrand stark ¨ andert und w¨ahlt gr¨oßere Teilintervalle, wo sich der Integrand nur langsam ¨ andert (siehe Beispiele in [NIED1987] 11.2). F¨ ur geringe Genauigkeitsanspr¨ uche sind von den behandelten Newton-Cotes-Formeln, die Simpsonsche Formel und die 3/8-Formel zu empfehlen; sie sind der Trapezformel (Ausnahme periodische Funktionen: siehe Abschnitt 14.3.1) wegen der g¨ unstigeren Fehlerordnung vorzuziehen. Newton-Cotes-Formeln h¨oherer Ordnung sind nur bedingt zu empfehlen, weil sich bei ihnen Rundungsfehler wegen der großen Gewichte st¨arker auswirken. Die Tschebyscheffschen Quadraturformeln sind in Bezug auf die Auswirkung von Rundungsfehlern g¨ unstig, weil sie mit gleichen Gewichten arbeiten. Vergleicht man die Tschebyscheffschen Formeln, die Clenshaw-Curtis-Formeln und die Gaußschen Formeln miteinander, so erfordert die Berechnung der Gewichte und St¨ utzstellen bei den Gaußschen Formeln den gr¨oßten Aufwand. Sieht man davon ab, so sind die Gaußschen Formeln am effektivsten. Bei h¨oherer Ordnung sind aus den genannten Gr¨ unden die Clenshaw-CurtisFormeln vorzuziehen, weil sich St¨ utzstellen und Gewichte sehr leicht berechnen lassen. Ein sehr einfaches und dennoch ¨ außerst effektives und stabiles Verfahren ist das RombergVerfahren. Auf den Verlauf des Integranden nehmen die adaptiven Quadraturverfahren automatisch R¨ ucksicht. Arbeitet man etwa mit den Gaußschen Formeln adaptiv, so ist dies bez¨ uglich des Rechenaufwandes und der Genauigkeit die optimale Vorgehensweise. Zur Bestimmung der L¨ ange einer Kurve und des Fl¨acheninhalts einer ebenen geschlossenen Kurve siehe auch Abschnitt 11.4 bzw. Abschnitt 11.5. Erg¨ anzende Literatur zu Kapitel 14 [BART2001] 12, 12.5; [BARW2007], Kap.6; [BRON2001]; [DAHM2008], 10.1-4; [DEUF2002] Bd.1, Kap.9; [HAMM1994], 7; [KNOR2003], 7; [KROM1994]; [OPFE2002], Kap.5; [PLAT2000], Kap.6; [PREU2001], Kap.7; [QUAR2002], Kap.9; [RALS2001], 4.11; [STOE1999], Kap.3; [STOE2002A], Kap.3; [WERN1993], III §6 V, III §7, III §8.
Kapitel 15
Numerische Kubatur
15.1
Problemstellung
Es werden Integrale u ankte ebene Bereiche betrachtet. B sei ein Bereich der ¨ber beschr¨ x, y-Ebene mit st¨ uckweise glattem Rand y
y2 (x)
y
6
y
6
d
B
y
6
d x2 (y)
y1 (x)
c
-
x
a
(1)
R
x1 (y) c
-
6
b
-
x
x
(2)
(3)
a
b
x
(4)
Abb. 15.1. Die Funktion f : B → R, B ⊂ R2 = R × R sei stetig auf B. Dann heißt ZZ I(f ; B) = f (x, y) dx dy
(15.1)
B
das Fl¨ achenintegral von f ¨ uber B. Wenn f (x, y) ≥ 0 f¨ ur alle (x, y) ∈ B gilt, so ist (15.1) das Volumen des Zylinders mit der Grundfl¨ache B und mit der Deckfl¨ ache z = f (x, y) f¨ ur (x, y) ∈ B. Das Fl¨achenintegral (15.1) l¨ asst sich in den F¨ allen (2), (3), (4) aus Abbildung 15.1 durch Hintereinanderschaltung zweier eindimensionaler Integrale berechnen. Ist B ein Bereich vom Typ (2) mit B = {(x, y)| a ≤ x ≤ b, y1 (x) ≤ y ≤ y2 (x)} , so gilt Zb
ZZ f (x, y) dx dy = B
yZ 2 (x)
f (x, y) dy dx,
a
y1 (x)
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_15, © Springer-Verlag Berlin Heidelberg 2011
620
15. Numerische Kubatur
hat B die Gestalt (3) mit B = {(x, y)| x1 (y) ≤ x ≤ x2 (y), c ≤ y ≤ d} , so gilt
Zd
ZZ f (x, y) dx dy =
f (x, y) dx dy,
c
B
xZ2 (y)
x1 (y)
und im Falle eines rechteckigen Bereiches B = R mit R = {(x, y)| a ≤ x ≤ b, c ≤ y ≤ d} =: [a, b ; c, d ] gilt
Zb
ZZ f (x, y) dx dy =
d Z f (x, y) dy dx,
a
R
c
(vgl. [FICH1987] III, XVI). Zur n¨aherungsweisen Berechnung von Fl¨ achenintegralen werden sogenannte Kubaturformeln C(f ; B) verwendet. Der Name erkl¨ art sich daraus, dass diese Formeln auch zur Volumenberechnung eingesetzt werden. Zum Beispiel erh¨alt man einen N¨ aherungswert f¨ ur I(f ; B), wenn man B in Teilbereiche Bj , j = 1(1)N , zerlegt mit der Grundfl¨ ache Fj und zur Berechnung des Gesamtvolumens die N Volumina der einzelnen Zylinder u ¨ber den Bj addiert. Mit je einem beliebigen Punkt (xj ,yj ) ∈ Bj erh¨ alt man f¨ ur das Volumen I(f ; B) ≈
N X
Fj f (xj , yj );
j=1
die rechte Seite ist eine (summierte) Kubaturformel. W¨ahlt man f¨ ur die Punkte (xj , yj ) die Schwerpunkte der Teilfl¨ achen Bj , so ergibt sich die sogenannte Schwerpunkt-Kubaturformel. Analog zum eindimensionalen Fall lassen sich Kubaturformeln f¨ ur Referenzbereiche (Elementarbereiche) Br z. B. in der Form ZZ m X n X C(f ; Br ) = aik f (xi , xk ) ≈ f (x, y) dx dy = I(f ; Br ) (15.2) i=0 k=0
oder C(f ; Br ) =
N X j=1
Br
ZZ Aj f (xj , yj ) ≈
f (x, y) dx dy = I(f ; Br )
(15.3)
Br
als Linearkombination aus N = (m + 1) · (n + 1) Funktionswerten des Integranden an N diskreten Knoten aus dem Referenzbereich Br mit N Gewichten darstellen.
15.2 Konstruktion von Interpolationskubaturformeln
621
Definition 15.1. (Genauigkeitsgrad) Die Kubaturformel (15.2) bzw. (15.3) besitzt als N¨aherung f¨ ur das Fl¨achenintegral I(f ; B) den Genauigkeitsgrad L, wenn sie f¨ ur alle Polynome PL mit X PL (x, y) = cst xs y t (15.4) 0≤s+t≤L
h¨ochstens L-ten Grades exakt ist, jedoch nicht mehr f¨ ur ein beliebiges Polynom PL+1 vom Grad L + 1: ! C(PL ; B) = I(PL ; B) , C(PL+1 ; B) 6= I(PL+1 ; B) f¨ ur mindestens ein Polynom PL+1 mit s + t = L + 1. Ist eine f¨ ur einen Referenzbereich Br konstruierte Kubaturformel C exakt f¨ ur alle Polynome PL der Form (15.4) vom Grad ≤ L und ist f gen¨ ugend oft differenzierbar in Br , so betr¨agt die lokale Fehlerordnung q` = L + 2. Will man ein Fl¨achenintegral (15.1) u ¨ber einem beliebigen Bereich B berechnen, so zerlegt man B in Teilbereiche Bj , die die Form des Referenzbereiches Br besitzen, und wendet auf jeden Teilbereich Bj die f¨ ur Br konstruierte und auf Bj transformierte Kubaturformel an und summiert u ¨ ber j (dies ist eventuell erst nach einer nichtlinearen Transformation m¨oglich). Die so zusammengesetzte Formel heißt summierte oder zusammengesetzte Kubaturformel , sie besitzt die globale Fehlerordnung qg = L + 1. Im Folgenden werden nur Kubaturformeln zu rechteckigen und dreieckigen Referenzbereichen betrachtet. Bekanntlich lassen sich auch andere Bereiche durch nichtlineare Variablentransformationen auf Referenzrechtecke bzw. -dreiecke abbilden, siehe dazu [ENGE1980]; [FICH1987], §4; [MAES1988], 7.4.2 , [NIEM1991], 7.
15.2
Konstruktion von Interpolationskubaturformeln
Br sei der Referenzbereich, f¨ ur den eine Kubaturformel C(f ; Br ) durch Integration eines Interpolationspolynoms konstruiert werden soll. Dazu legt man durch (m + 1) · (n + 1) St¨ utzpunkte xi , yk , f (xi , yk ) , i = 0(1)m, k = 0(1)n das zugeh¨orige Interpolationspolynom Φ mit Φ(xi , yk )= f (xi , yk ). F¨ ur ein Rechteckgitter ist diese Interpolationsaufgabe eindeutig gel¨ ost (vgl. Abschnitt 9.7.1). Im Folgenden wird als Referenzbereich ein Rechteck Rr gew¨ ahlt. In der Form von Lagrange lautet Φ f¨ ur Rr m X n X Φ(x, y) = Li (x) Lk (y) f (xi , yk ) mit Li (x)
=
i=0 k=0 m Y
x − xj xi − xj ,
j=0 j6=i
Lk (y) =
n Y y − yj yk − yj . j=0 j6=k
622
15. Numerische Kubatur
Daraus folgt ZbZd
ZbZd f (x, y) dx dy
≈
ac
Φ(x, y) dx dy ac
=
ZbZd X m X n ac
=
Li (x) Lk (y) f (xi , yk ) dx dy
i=0 k=0 n Zb
m X X
Zd
Li (x) dx
i=0 k=0 a
c
| = =:
m X n X i=0 k=0 m X n X
(15.5)
Lk (y) dy f (xi , yk )
{z
} |
Ai
{z
}
Bk
Ai Bk f (xi , yk ) aik fik =: C(f ; Rr ) .
i=0 k=0
Die Ai bzw. Bk entsprechen den Gewichten eindimensionaler Interpolationsquadraturformeln. Die Kubaturgewichte aik := Ai Bk ergeben sich als Matrizenprodukt AB T aus der (m + 1, 1)-Matrix A und der (1, n + 1)-Matrix B T A0 A1 A = . , B T = (B0 B1 · · · Bn ) .. Am mit den Quadraturgewichten Ai , Bk ; es gilt A0 B0 A0 B1 · · · A0 Bn A0 A1 B0 A1 B1 · · · A1 Bn A1 (aik ) := = .. .. . . Am B0 Am B1 · · · Am Bn Am
(B0 B1 · · · Bn ) = AB T . (15.6)
Beispiel 15.2. Wenn 1 2 2 T A = 1 und B = 0 , also B = 3 3
1
2
0
3
4 2 6
0 0 0
6 3 . 9
,
dann ist
aik
2 := AB T = 1 3
1
2
0
3
2 = 1 3
15.2 Konstruktion von Interpolationskubaturformeln
623
Die interpolatorische Kubaturformel (15.5) stellt somit eine Linearkombination aus (m + 1) · (n + 1) Gewichten aik sowie Funktionswerten fik von f an den (m + 1) · (n + 1) verschiedenen Knoten (xi ,yk ) dar, die auf einem Referenz-Rechteckgitter definiert sind. Zur Berechnung der Knoten und Gewichte wird analog zum eindimensionalen Fall die Forderung gestellt, dass Polynome PL m¨ oglichst hohen Grades L exakt integriert werden. Gibt man in (15.5) z. B. s¨ amtliche Knoten des Referenzrechteckes vor, so ergibt sich aus der oben genannten Forderung f¨ ur die Gewichte der Newton-Cotes-Kubaturformeln ein lineares Gleichungssystem mit N = (m + 1) · (n + 1) Gleichungen. Schreibt man die Gewichte vor, so ergeben sich die Knoten als L¨osungen eines nichtlinearen Gleichungssystems; man erh¨ alt die Tschebyscheffschen Kubaturformeln. L¨asst man schließlich Knoten und Gewichte frei, so lassen sich u ¨ber ein nichtlineares Gleichungssystem die optimalen Gaußschen Kubaturformeln ermitteln. Wenn die Kubaturformel (15.5) alle Polynome PL bis zu m¨oglichst hohem Grad L exakt integrieren soll, so k¨ onnen speziell die Monome xs y t zur Berechnung der Knoten und Gewichte verwendet werden, und aus der Forderung !
C(xs y t ; Rr ) = I(xs y t ; Rr )
f¨ ur s + t ≤ L
ergibt sich mit (15.5) m X n X
aik xsi ykt
!
ZbZd
=
i=0 k=0
xs y t dy dx =
ac
=
Zb a
xs dx
Zd
y t dy
c
1 (bs+1 − as+1 ) (d t+1 − ct+1 ) (s + 1)(t + 1) mit s + t = 0, 1, 2, . . . , L.
Das sind f¨ ur s + t = 0, 1, 2, . . . , L die Gleichungen m X n X
aik xsi ykt =
i=0 k=0
1 (bs+1 − as+1 ) (d t+1 − ct+1 ) (s + 1)(t + 1)
(15.7)
bzw. mit N = (m + 1) · (n + 1) N X j=1
Aj xsj yjt =
1 (bs+1 − as+1 ) (d t+1 − ct+1 ). (s + 1)(t + 1)
(15.8)
Dies sind 12 (L + 1)(L + 2) Bedingungen, die zum Erreichen des gew¨ unschten Genauigkeitsgrades L erf¨ ullt sein m¨ ussen. Die zu jedem Genauigkeitsgrad L geh¨origen Monome xs y t lassen sich aus der folgenden Tabelle ablesen:
624
15. Numerische Kubatur Genauigkeitsgrad L
Monome xs y t mit s + t ≤ L
Anzahl 12 (L + 1)(L + 2) der Monome s + t ≤ L
0 1 2 3 4 5
1 x y x2 xy y 2 3 x x2 y xy 2 y 3 4 x x3 y x2 y 2 xy 3 y 4 5 x x4 y x3 y 2 x2 y 3 xy 4 y 5
1 3 6 10 15 21
Um z. B. den Genauigkeitsgrad L = 1 zu erreichen, muss die Kubaturformel alle Polynome vom Grad s + t ≤ 1 exakt integrieren. Mit den Monomen 1, x, y ergeben sich daraus drei Bedingungen f¨ ur die freien Parameter. Eventuell fehlende Gleichungen stellt man mit Monomen xs y t f¨ ur s + t = L + 1 auf, ohne dass die zu konstruierende Kubaturformel f¨ ur alle Monome mit s + t = L + 1 erf¨ ullt ist (siehe dazu Abschnitt 15.3).
15.3
Newton-Cotes-Formeln fu ¨r rechteckige Integrationsbereiche
Die Newton-Cotes-Kubaturformeln f¨ ur einen rechteckigen Integrationsbereich Rr sind interpolatorische Formeln der Gestalt ZZ m X n X C(f ; Rr ) = aik f (xi , yk ) ≈ f (x, y) dx dy i=0 k=0
Rr
bei vorgegebenen N = (m + 1) · (n + 1) voneinander verschiedenen Knoten (xi , yk ), die auf einem Referenz-Rechteck Rr mit konstanter Schrittweite hx in x-Richtung bzw. hy in y-Richtung definiert sind. Die N Gewichte aik ergeben sich aus dem linearen Gleichungssystem (15.7). Gleichzeitig lassen sich jedoch die Gewichte aus den entsprechenden Quadraturformeln ableiten. Zun¨achst werden beispielhaft f¨ ur die Referenzrechtecke in Abbildung 15.2 die Trapez-, Simpson- und 3/8-Kubaturformeln aufgestellt. y
r
6 hy r(0, hy )
y hy
(−hx ,hy ) (0,hy )
r(hx ,hy )
r
(−hx ,0)
Rr1 r(0,0)
−hx
r(hx ,0)hx
0
m = 1, n = 1
x
y
6 r Rr2 (0,0)
r
0
r
3hy
r6
r
r
r
2hy
r
r
r
r
hy
r
r
r
r
(hx ,hy ) (hx ,0)
r-
hx x
r(−hx ,−hy)r(0,−hy ) r(hx ,−hy ) −hy
m = 2, n = 2 Abb. 15.2.
r 0
Rr3
r
r
hx
2hx
m = 3, n = 3
r-
3hx x
15.3 Newton-Cotes-Kubaturformeln f¨ ur Rechteckbereiche
625
Trapez-Formel f¨ ur das Referenzrechteck Rr1 Die N = 4 Gewichte aik , i, k = 0, 1, ergeben sich aus den Gewichten der entsprechenden Quadraturformeln gem¨ aß (15.6) hx hy hx hy 1 1 1 (aik ) = AB T = (1 , 1) = . 1 1 1 2 2 4 Damit lautet die Trapez-Kubaturformel C T (f ; Rr1 ) =
hx hy f (0, 0) + f (hx , 0) + f (0, hy ) + f (hx , hy ) . 4
(15.9)
Diese Kubaturformel integriert alle bilinearen Polynome P1 mit s + t ≤ 1 exakt sowie zus¨atzlich alle Polynome mit s = 1, t = 1, aber nicht mehr die mit s = 0, t = 2 bzw. t = 0, s = 2, d. h. sie besitzt den Genauigkeitsgrad L = 1.
Beispiel 15.3. Gegeben: Die sechs Polynome unterschiedlichen Grades f (x, y) g(x, y) h(x, y) i(x, y) j(x, y) k(x, y)
= = = = = =
2x + 2 −4 y + 3 2x −y + 1 x2 − 2 3xy + 2 y2 + 1
Gesucht:
Die Unterschiede zwischen den Integralwerten und den Ergebnissen der TrapezFormel
L¨osung:
Dazu werden im Referenzrechteck hx = hy = 1 gesetzt und zun¨achst die Doppelintegrale berechnet: R1R1 0
0
R1R1 0
0
R1R1 0
0
R1R1 0
0
R1R1 0
0
R1R1 0
0
f (x, y) dx dy
=
3
g(x, y) dx dy
=
1
h(x, y) dx dy
=
3 2
i(x, y) dx dy
=
− 53
j(x, y) dx dy
=
11 4
k(x, y) dx dy
=
5 3
626
15. Numerische Kubatur Beim Vergleich dieser Ergebnisse mit denen der Trapezformel C T (f ; R) T
C (g; R)
= =
T
=
T
=
T
=
T
=
C (h; R) C (i; R) C (j; R) C (k; R)
1 4 1 4 1 4 1 4 1 4 1 4
(2 + 4 + 2 + 4)
=
3
(3 + 3 − 1 − 1)
=
1
(1 + 3 + 0 + 2)
=
(−2 − 1 − 2 − 1)
=
(2 + 2 + 2 + 5)
=
3 2 − 32 11 4
(1 + 1 + 3 + 3)
=
6= − 53 5 3
2 6=
erkennt man, dass die Anwendung auf h(x, y) und sogar j(x, y) tats¨achlich ¨ noch Ubereinstimmung zeigt, die auf i(x, y) und k(x, y) dagegen nicht mehr! Simpsonsche Formel f¨ ur das Referenzrechteck Rr2 Die N = 9 Gewichte aik , i, k = 0, 1, 2, ergeben sich aus 1 1 h h h h x y x y 4 (1, 4, 1) = 4 (aik ) = AB T = 3 3 9 1 1
4 16 4
1 4 , 1
und daraus folgt die Simpsonsche Kubaturformel (vgl. Abb. 15.2) n hx hy C S (f ; Rr2 ) = f (−hx , −hy ) + f (−hx , hy ) + f (hx , −hy ) 9 + f (hx , hy ) + 4 f (0, −hy ) + f (hx , 0) + f (0, hy ) o + f (−hx , 0) + 16f (0, 0)
(15.10)
Sie ist f¨ ur alle Polynome P3 mit s + t ≤ L = 3 (d. h. alle bikubischen Polynome) exakt, jedoch nicht mehr f¨ ur alle Polynome mit L = 4.
Beispiel 15.4. Gegeben: Das bikubische Polynom f (x, y) = x2 y − 2 xy 2 + xy + 3 Gesucht:
Kubaturwert gem¨ aß Simpsonscher Formel zu Rr2 = (x, y) − 1 ≤ x ≤ 1; −1 ≤ y ≤ 1
L¨osung:
Bestimmung von hx und hy : Die L¨ angen der Rechteckseiten sind in beiden Richtungen gleich 2. F¨ ur die Simpsonsche Formel werden je zwei Segmente ben¨otigt, also ergibt sich hx = hy = 1 (vgl. dazu auch die Bemerkung 15.6). Damit berechnet man die N¨ aherung zu C S (f ; Rr2 ) = 1·1 f (−1, −1) + f (−1, 1) + f (1, −1) + f (1, 1) 9 + 4 [f (0, −1) + f (1, 0) + f (0, 1) + f (−1, 0)] + 16 f (0, 0) = 19 5 + 5 + (−1) + 3 + 4 [3 + 3 + 3 + 3] + 16 · 3 = 108 9 = 12 .
15.3 Newton-Cotes-Kubaturformeln f¨ ur Rechteckbereiche
627
Als Vergleich dient der wahre Integralwert des Polynoms: RR R1 R1 f (x, y) dx dy = f (x, y) dx dy −1 −1 Rr2 1 R1 1 3 1 1 2 1 2 = y 3 x −1 + (−2 y + y) x +3 [x]−1 dy 2 −1 −1 | {z } =0 Z1 R1 2 2 1 = y + 6 dy = y dy +6 [y]−1 = 6 · 2 = 12 3 3 −1 −1 | {z } =0
Die Kubaturformel hat also erwartungsgem¨ aß das Polynom exakt integriert.
Beispiel 15.5. Gegeben: Die Funktion
f (x, y) = 4 sin x cos y + 1
Gesucht:
Die n¨aherungsweise Berechnung des Fl¨achenintegrals von f mit der Simpsonschen Formel (15.10) u ¨ber dem Bereich R = (x, y) | 0 ≤ x ≤ 1 , −1 ≤ y ≤ 1
L¨osung:
Dazu werden ausgehend vom Referenzrechteck die Argumente der Funktion transformiert statt f (−1, y), f (0, y), f (+1, y) verwendet man f (0, y), f ( 12 , y), f (1, y); hx = 12 , hy = 1 , und man erh¨alt (vgl. dazu auch die Bemerkung 15.6) mit der neuen Formel das Ergebnis: 1 · 1n C S (f ; R) = 2 f (0, −1) + f (0, 1) + f (1, −1) + f (1, 1) 9 o + 4 f ( 12 , −1) + f (1, 0) + f ( 12 , 1) + f (0, 0) + 16 f ( 12 , 0) ≈ =
1 18
{ 1 + 1 + 2.819 + 2.819 + 4 (2.036 + 4.366 + 2.036 + 1) + 16 · 2.918 } 5.115 y 6 1 .......s.....................................s....................................s hy
... ... ... ... ... ... .. ... ... . ... . ... .. ... . ... .. ... . ... .. ... . ... .. ... . ... .. ... . ... .. ... . .. ......................................................................... ... ... ... ... ... 1 ... ... ... x .... 2 ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. .....................................................................
0 s
−1 s
h
s
s 1 x
s
s
Abb. 15.3.
628
15. Numerische Kubatur
3 /8 -Formel f¨ ur das Referenzrechteck Rr3 Die N = 16 Gewichte aik , i, k = 0, 1, 2, 3, ergeben sich aus
1 3hx 3 · 3hy (1, (aik ) = AB T = 3 8 8 1
3,
3,
1 9hx hy 3 1) = 64 3 1
3 9 9 3
3 9 9 3
1 3 , 3 1
und damit folgt die 3/8-Kubaturformel (vgl. Abb. 15.2) C 3/8 (f ; Rr3 )
=
n 9hx hy f (0, 0) + f (3hx , 0) + f (0, 3hy ) + f (3hx , 3hy ) 64 + 3 f (hx , 0) + f (2hx , 0) + f (3hx , hy ) + f (3hx , 2hy ) + f (2hx , 3hy ) + f (hx , 3hy ) + f (0, 2hy ) + f (0, hy )
o + 9 f (hx , hy ) + f (2hx , hy ) + f (hx , 2hy ) + f (2hx , 2hy )
Die 3/8-Formel integriert alle Polynome P3 mit s + t ≤ 3 exakt sowie einzelne (aber nicht alle) Polynome mit s + t = 4. Sie besitzt somit den Genauigkeitsgrad L = 3. Die zusammengesetzten bzw. summierten Newton-Cotes-Formeln ergeben sich wie folgt: Man zerlegt den rechteckigen Integrationsbereich R = {(x, y)| a ≤ x ≤ b, c ≤ y ≤ d} in Teilrechtecke, die jeweils auf das Referenzrechteck der entsprechenden Kubaturformel abgebildet werden. Die Summe der Kubaturformeln u ¨ber alle Teilrechtecke ergibt dann die summierte Kubaturformel. Summierte Trapez-Kubaturformel f¨ ur das Rechteck R Das Rechteck R wird in Teilrechtecke Rpq wie folgt zerlegt: Die Zerlegung in x-Richtung sei mit b−a Zx : xp = a + phx , p = 0(1)P, hx = P definiert, die Zerlegung in y-Richtung mit Zy : yq = c + qhy ,
q = 0(1)Q,
hy =
d−c . Q
Somit erh¨alt man die P · Q Teilrechtecke Rpq := {(x, y)| xp ≤ x ≤ xp+1 ,
yq ≤ y ≤ yq+1 } ,
p = 0(1)P−1,
q = 0(1)Q−1.
15.3 Newton-Cotes-Kubaturformeln f¨ ur Rechteckbereiche
629
Wendet man nun auf jedes Teilrechteck Rpq die Trapez-Formel (15.9) an, so ergibt sich die summierte Trapez-Formel wie folgt: ChTx hy (f ; R)
=
P −1 Q−1 X X
C T (f ; Rpq )
p=0 q=0
hx hy 4 {f (a, c) + f (b, c) + f (a, d) + f (b, d) P −1 X +2 f (a + phx , c) + f (a + phx , d) =
p=1 Q−1
+2
X
f (a, c + qhy ) + f (b, c + qhy )
q=1 P −1 Q−1 X X
+4
f (a + phx , c + qhy )}
p=1 q=1
Die globale Fehlerordnung betr¨ agt qg = 2. Es gilt die Trapez-Regel ZZ f (x, y) dx dy
= ChTx hy (f ; R) + EhTx hy (f ; R)
R
|EhTx hy (f ; R)|
(b − a)(d − c) 12 2 = O(hmax )
≤
mit
h2x max |fxx | + h2y max |fyy | (x,y)∈R
(x,y)∈R
mit hmax = max{hx , hy }. Beweis zur Fehlerordnung in [MAES1988], 7.4.3; [HAMM1994], §6 .
Summierte Simpson-Kubaturformel Hier ben¨otigt man Teilrechtecke mit den Seitenl¨ angen 2hx und 2hy . Deshalb wird R wie folgt zerlegt: Zx : xp = a + phx , Zy :
yq = c + qhy ,
−a hx = b2P q = 0(1)2Q, hy = d − c 2Q
p = 0(1)2P,
Man erh¨alt so P · Q Teilrechtecke RSpq := (x, y)|x2p ≤ x ≤ x2(p+1) , y2q ≤ y ≤ y2(q+1) , p = 0(1)P −1, q = 0(1)Q−1, auf die die Simpsonsche Formel (15.10) angewendet wird. F¨ ur die summierte Simpsonsche Formel ergibt sich
630
15. Numerische Kubatur
ChSx hy (f ; R)
=
P −1 Q−1 X X
S C S (f ; Rpq )
p=0 q=0
n hx hy f (a, c) + f (b, c) + f (a, d) + f (b, d) 9 P −1 X +4 f a + (2p + 1)hx , c + f a + (2p + 1)hx , d =
p=0 Q−1 X
f a, c + (2q + 1)hy + f b, c + (2q + 1)hy
+4
q=0 P −1 X
+2
p=1 Q−1 X
+2
f (a + 2phx , c) + f (a + 2phx , d) f (a, c + 2qhy ) + f (b, c + 2qhy )
q=1 P −1 Q−1 X X
+4
f (a + 2phx , c + 2qhy )
p=1 q=1 P −1 Q−1 X X
+16
f a + (2p + 1)hx , c + (2q + 1)hy
p=0 q=0 P −1 Q−1 X X
f a + 2phx , c + (2q + 1)hy
p=1 q=0 P −1 Q−1 X X
f a + (2p + 1)hx , c + 2qhy
o
+8 +8
p=0 q=1
Die globale Fehlerordnung betr¨ agt qg = 4; es gilt die Simpson-Regel ZZ f (x, y) dx dy = ChSx hy (f ; R) + EhSx hy (f ; R) mit R
|EhSx hy (f ; R)|
(b − a)(d − c) 4 4 h max |f | + h max |f | xxxx yyyy x y 180 = O(h4max )
≤
mit hmax = max{hx , hy }. Beweis zur Fehlerordnung in [MAES1988], 7.4.3 . Analog kann mit der 3/8-Formel verfahren werden.
Beispiel 15.6. (Anwendung der summierten Simpsonschen Formel) 2
1
Gegeben: Die Funktion f (x, y) = e− 2 (x Gesucht:
+y 2 )
Eine Ann¨ aherung des Doppelintegrals Z
a
−a
Z
a
−a
1
2
e− 2 (x
+y 2 )
dx dy
15.3 Newton-Cotes-Kubaturformeln f¨ ur Rechteckbereiche
631
mit der summierten Simpsonschen Kubaturformel f¨ ur verschiedene quadrati sche Integrationsbereiche [−a, a; −a, a] := (x, y) | − a ≤ x ≤ a, −a ≤ y ≤ a sowie wachsende Unterteilungen der Fl¨achen in P × P Teilfl¨achen. Das Integral soll f¨ ur unterschiedliche Integrationsbereiche (verschieden große Quadrate mit a = 5, 10 und 100) ausgewertet werden. Dabei wird sich zeigen, dass die Gestalt der Funktion f (x, y) starken Einfluss nimmt auf die Konvergenz der N¨ aherung. L¨osung: P 1 2 4 8 16 32 64 128 256 512
a=5
a = 10
a = 100
44.444 610 073 629 3.839 976 384 413 5.932 254 308 547 6.283 149 053 446 6.283 177 924 445 6.283 178 089 910 6.283 178 102 002 6.283 178 102 789 6.283 178 102 839 6.283 178 102 842
177.777 777 777 778 11.111 442 371 640 3.840 000 726 790 5.932 269 489 908 6.283 157 977 454 6.283 185 307 180 6.283 185 307 180 6.283 185 307 180 6.283 185 307 179 6.283 185 307 179
17 777.777 777 777 777 1 111.111 111 111 111 277.777 777 777 778 69.444 444 444 444 17.361 111 568 571 4.607 307 670 781 5.229 367 116 254 6.280 604 681 717 6.283 185 307 180 6.283 185 307 180
N 9 25 81 289 1 089 4 225 16 641 66 049 263 169 1 050 625
Dabei ist N die Anzahl der jeweils ben¨otigten Funktionsauswertungen. Die sehr unterschiedlichen Anfangswerte (vgl. obere Tabellenzeilen) werden klar, wenn man sich die Gestalt der Funktion vor Augen f¨ uhrt. Sie ist im Ursprung konvex und weiter außen konkav. Bei grober Unterteilung der (mit a = 10 und a = 100) doch sehr großen Integrationsbereiche wird die eigentliche Funktion gar nicht gut approximiert. Zum Vergleich: 2 π = 6.283 185 307 179 586 ... Anders sieht es aus, wenn man einen Bereich w¨ahlt, innerhalb dessen die Funktion (fast) konvex ist. Dann erkennt man bereits nach wenigen UnterteilungsVerdoppelungen die gute Qualit¨ at der L¨osung: P 1 2 4 8 16 32 64 128 256 512
a=1 3.019 556 480 010 2.931 535 548 730 2.928 556 708 982 2.928 383 725 411 2.928 373 104 874 2.928 372 444 012 2.928 372 402 753 2.928 372 400 175 2.928 372 400 014 2.928 372 400 004
N 9 25 81 289 1 089 4 225 16 641 66 049 263 169 1 050 625
632
15. Numerische Kubatur
Bemerkung 15.6. Wenn eine Kubaturformel mit dem Referenzrechteck [a, b; c, d] auf ein Rechteck [α, β; γ, δ] angewendet werden soll, m¨ ussen die Koordinaten der Knoten in Bezug auf dieses Rechteck berechnet werden. Einem Knoten (x, y) in [a, b; c, d] entspricht bez¨ uglich [α, β; γ, δ] der Knoten β−α αb − βa δ − γ γd − δc x+ , y+ . b−a b−a d−c d−c Beispielsweise ist f¨ ur die Simpsonsche Kubaturformel mit [a, b; c, d] = [−hx , hx ; −hy , hy ] β−α α+β δ−γ γ+δ (x, y) 7→ x+ , y+ . 2 hx 2 2 hy 2
15.4
Das Romberg-Kubaturverfahren fu ¨r Rechteckbereiche
Das Romberg-Verfahren (nach dem Richardson-Extrapolationsprinzip) ist f¨ ur Fl¨achenintegrale analog zum eindimensionalen Fall anwendbar. Durch fortgesetzte Intervallhalbierung und Berechnung von N¨ aherungen f¨ ur das Fl¨achenintegral mit der Trapez-Formel und Extrapolation durch Linearkombinationen von N¨aherungen zu verschiedenen Schrittweiten erh¨alt man fortlaufend verbesserte N¨ aherungen f¨ ur das Integral. Das Verfahren ist sehr gut in [ENGE1980] bewiesen. Die Trapez-Formel f¨ ur das Referenzrechteck Rr mit Rr = {(x, y)| − 1 ≤ x ≤ 1, −1 ≤ y ≤ 1} lautet zur Schrittweite hx0 = hy0 = 2 C T (f ; R)
=
f (−1, −1) + f (1, −1) + f (1, 1) + f (−1, 1)
=:
L0 (f )
(0)
Halbiert man fortlaufend sowohl in x- als auch in y-Richtung die Schrittweite: hj = h/2j , j = 0, 1, 2, . . ., so ergibt sich f¨ ur Rr die summierte Trapez-Kubaturformel zur Schrittweite hj : n (0) Lj (f ) = 1j f (−1, −1) + f (−1, 1) + f (1, −1) + f (1, 1) 4 j 2X −1 h k k +2 f −1, −1 + j−1 + f 1, −1 + j−1 2 2 k=1 i k , −1 +f −1 + k , 1 + f −1 + j−1 j−1 2 2 j j 2X −1 2X −1 o k , −1 + ` +4 f −1 + j−1 . j−1 2 2 k=1 `=1
15.4 Das Romberg-Kubaturverfahren
633
Hieraus ergibt sich die folgende Rekursionsformel f¨ ur j ≥ 1 2j−1 X−1 h (0) (0) 1 1 + 1 + f 1, −1 + 2k + 1 Lj (f ) = 4 Lj−1 + 2j−1 f −1, −1 + 2kj−1 2 2 2j−1 k=0 i + 1 , −1 + f −1 + 2k + 1 , 1 + f −1 + 2kj−1 2 2j−1 j−1 j 2X −1 2X −1 + 1 , −1 + ` +2 f −1 + 2kj−1 j−1 2 2 k=0 `=1 j−1 j−1 2X −2 2 X −1 + 2 , −1 + 2` + 1 + 2 f −1 + 2kj−1 . 2 2j−1 k=0
`=0
Analog zum Romberg-Quadraturverfahren hat das Romberg-Schema die Form (0)
hj
Lj
h0
L0
h1 = h20 h2 = h21 .. .
L1
(2)
Lj
···
(m−1)
Lj
(m)
Lj
(0)
hm−2 2 h = m−1 2
hm−1 = hm
(1)
Lj
(0)
L0
L2
(0)
L1
L0
.. .
.. .
.. .
..
(0)
Lm−2
(1)
Lm−3
(2)
···
L0
(1)
Lm−2
(2)
···
L1
Lm−1 (0)
Lm
(1)
(1)
Lm−1
(2)
. (m−1) (m−1)
(m)
L0
(k)
Die extrapolierten Werte Lj lassen sich wie folgt ermitteln: 1 (k) k−1 Lj = Lk−1 Lk−1 f¨ ur k ≥ 1 und j = 0, 1, 2, . . . j+1 + k j+1 − Lj 4 −1 (k)
Die Argumente x0 ∈ [−1, 1], y 0 ∈ [−1, 1] in den Formeln f¨ ur die Lj m¨ ussen dann auf Wertepaare (x, y) aus dem aktuellen Rechteck [a, b; c, d] transformiert werden mit x
=
y
=
hx x0 + (j − 0.5)h + a, jx = 1(1)jxmax x x 2 hy 0 jy = 1(1)jymax 2 y + (jy − 0.5)hy + c, b−a d−c hx = , hy = jxmax jymax
Mit Ax = hx /2, Ay = hy /2, Bx = (jx − 0.5)hx + a, By = (jy − 0.5)hy + c gelten dann die Transformationsgleichungen x = Ax x0 + Bx y = Ay y 0 + By .
634
15. Numerische Kubatur
Beispiel 15.7. Gegeben: Die Funktion Gesucht:
1
2
f (x, y) = 2 e− 2 (x
+y 2 )
.
Mittels Romberg-Verfahren soll ein N¨aherungswert f¨ ur das Doppelintegral Z1 Z1 f (x, y) dx dy bestimmt werden. −1 −1 Es soll gezeigt werden, wie das Verfahren zeilenweise eine Matrix vergr¨oßert und iterativ zu immer besseren N¨ aherungswerten f¨ ur das Integral f¨ uhrt.
L¨osung:
(0)
Zun¨achst wird f¨ ur die Ausgangsschrittweite h0 = 2 der Wert L0 = 2.943036 ermittelt und in die Tabelle eingetragen: j
hj
0
2
(0)
Lj
2.943036
Man verbessert nun diesen ersten N¨ aherungswert, indem man zwei Schritte ausf¨ uhrt: 1. F¨ ur die Schrittweite h1 = h0 /2 = 1 berechnet man den genaueren N¨ahe(0) rungswert L1 = 5.161882: (0)
j
hj
Lj
0
2
2.943036
1
1
5.161882
2. Nun verfeinert man den N¨ aherungswert, indem man die bisher ermittelten Werte miteinander verkn¨ upft (ohne weitere Funktionsauswertungen): 1 (0) (1) (0) (0) L0 = L1 + L1 − L0 . 3 (1) Man erweitert die Tabelle um eine neue Spalte und tr¨agt L0 = 5.901497 ein: (0) (1) j hj Lj Lj−1 0
2
2.943036
—
1
1
5.161882
5.901497
Man erkennt hier schon das weitere Vorgehen: Es werden verbesserte N¨ aherungswerte ermittelt, indem man zeilenweise zuerst mit weiteren Funktionsauswertungen einen genaueren Wert berechnet und dann die restlichen Tabellen-Werte durch Linearkombinationen der bereits bekannten Werte erg¨ anzt. Dabei w¨achst die Tabelle jedes Mal auch um eine neue Spalte.
15.5 Gauß-Kubaturformeln f¨ ur Rechteckbereiche
635
Hier zur Anschauung noch die n¨ achste Zeile: (0)
Man ermittelt L2 = 5.683589, kombiniert 1 (0) (1) (0) (0) (1) L1 = L2 + L2 − L1 zu L1 = 5.857491 3 und schließlich noch (f¨ ur die neue Spalte) 1 (1) (2) (1) (1) L0 = L1 + L1 − L0 . 15 (2)
Also tr¨agt man L0 = 5.854557 ein und ist fertig:
15.5
Lj−1
(1)
Lj−2
2.943036
—
—
1
5.161882
5.901497
—
1/2
5.683589
5.857491
5.854557
j
hj
0
2
1 2
(0)
Lj
(2)
Gauß-Kubaturformeln fu ¨r Rechteckbereiche
Ganz analog zur Ausf¨ uhrung bei den Newton-Cotes-Formeln lassen sich die Gauß-Formeln u ¨ ber Rechteckbereichen aus den eindimensionalen Gaußschen Quadraturformeln (vgl. Abschnitt 14.7) zusammensetzen. Aus der eindimensionalen Quadraturformel QG2 (f ; −h, h) ergeben sich durch Multiplikation der Gewichtsmatrizen mit je zwei Elementen 1 1 1 (aik ) = AB T = hx hy (1, 1) = hx hy 1 1 1 die vier Gewichte aik , i, k = 1, 2, der entsprechenden Kubaturformel und aus den je zwei Knoten xi , yk hx , x = √ hx in x-Richtung: x0 = − √ 1 3 3 h h in y-Richtung: y0 = − √y , y1 = √y 3 3 die vier Knoten der Kubaturformel. Man erh¨ alt die Gauß-Formel f¨ ur n = 1, m = 1, d. h. N =4 hx hy hx hy hx hy hx hy C G2 (f ; Rr2 ) = hx hy f − √ , − √ +f − √ , √ +f √ , − √ +f √ , √ 3 3 3 3 3 3 3 3 Sie besitzt den Genauigkeitsgrad L = 3 und integriert damit alle bikubischen Polynome vom Grad s + t ≤ 3 exakt und hat die globale Fehlerordnung O(h4max ) mit hmax = max{hx , hy }.
636
15. Numerische Kubatur
Aus der eindimensionalen Quadraturformel QG3 (f ; −h, h) ergeben sich die neun Gewichte der entsprechenden Kubaturformel wie folgt 5 25 40 25 hx hy hx hy 8 40 64 40 . (aik ) = AB T = (5, 8, 5) = 9 9 81 5 25 40 25 Die neun Knoten der Kubaturformel ergeben sich aus den je drei Knoten xi bzw. yk , i, k = 0, 1, 2 in √ √ x-Richtung: x0 = − 0.6hx , x1 = 0, x2 = 0.6hx √ √ y-Richtung: y0 = − 0.6hy , y1 = 0, y2 = 0.6hy Man erh¨alt die Gauß-Kubaturformel (15.5) f¨ ur n = 2, m = 2, d. h. N = 9 √ √ h h C G3 (f ; Rr2 ) = x81 y 25 f (− 0.6hx , − 0.6hy ) √ √ √ √ +f (− 0.6hx , 0.6hy ) + f ( 0.6hx , − 0.6hy ) √ √ √ √ + f ( 0.6hx , 0.6hy ) + 40 f (0, − 0.6hy ) + f (− 0.6hx , 0) √ √ + f ( 0.6hx , 0) + f (0, 0.6hy ) + 64f (0, 0)} . Sie besitzt den Genauigkeitsgrad L = 5, integriert damit alle Polynome vom Grad s + t ≤ 5 exakt und besitzt die globale Fehlerordnung O(h6max ) mit hmax = max{hx , hy }. Weitere Formeln lassen sich analog aus den entsprechenden eindimensionalen Formeln herleiten, die in Abschnitt 14.7 Tabelle der Gaußschen Knoten und Gewichte“ angege” ben sind. Die summierten Formeln ergeben sich in gleicher Weise wie in Abschnitt 15.3 beschrieben: Zur Berechnung eines Integrals u ¨ber einem Rechteck R : {(x, y)|a ≤ x ≤ b, c ≤ y ≤ d} wird R in P · Q Teilrechtecke Rpq der Gr¨ oßen 2hx · 2hy zerlegt. Auf jedes Teilrechteck wird eine Gaußsche Formel angewandt. Dabei sind die Knoten des Referenzrechteckes wie folgt zu transformieren xi yk
7→ 7 →
a + (2p + 1)hx + xi , c + (2q + 1)hy + yk ,
p = 0(1)P−1, q = 0(1)Q−1,
i = 0(1)m k = 0(1)n
F¨ ur n = m = 1 erh¨ alt man so z. B. die summierte Formel P −1 Q−1 X X hy hx , c + (2q + 1)h − √ C G2 (f ; R) = hx hy f a + (2p + 1)hx − √ y 3 3 p=0 q=0 hy hx , c + (2q + 1)h + √ +f a + (2p + 1)hx − √ y 3 3 hy h x √ √ +f a + (2p + 1)hx + , c + (2q + 1)hy − 3 3 hy hx , c + (2q + 1)h + √ + f a + (2p + 1)hx + √ y 3 3 mit der globalen Fehlerordnung qg = 4.
15.5 Gauß-Kubaturformeln f¨ ur Rechteckbereiche
637
Die 17 Knoten und Gewichte (d. h. 51 Parameter xj , yj , Aj ) der Gauß-Formel f¨ ur L = 9 ergeben sich aus den 12 (L + 1)(L + 2) = 55 nichtlinearen Gleichungen (15.8) und sind aus [ENGE1980], S.257 entnommen:
I
X(I)
Y (I)
A(I)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
.96884996636198E + 00 −.96884996636198E + 00 −.63068011973167E + 00 .63068011973167E + 00 .75027709997890E + 00 −.75027709997890E + 00 −.92796164595957E + 00 .92796164595957E + 00 .52373582021443E + 00 −.52373582021443E + 00 −.45333982113565E + 00 .45333982113565E + 00 .76208328192620E − 01 −.76208328192620E − 01 −.85261572933366E + 00 .85261572933366E + 00 0.00000000000000E + 00
.63068011973167E + 00 −.63068011973167E + 00 .96884996636198E + 00 −.96884996636198E + 00 .92796164595957E + 00 −.92796164595957E + 00 .75027709997890E + 00 −.75027709997890E + 00 .45333982113565E + 00 −.45333982113565E + 00 .52373582021443E + 00 −.52373582021443E + 00 .85261572933366E + 00 −.85261572933366E + 00 .76208328192620E − 01 −.76208328192620E − 01 0.00000000000000E + 00
.88879378170200E − 01 .88879378170200E − 01 .88879378170200E − 01 .88879378170200E − 01 .11209960212960E + 00 .11209960212960E + 00 .11209960212960E + 00 .11209960212960E + 00 .39828243926207E + 00 .39828243926207E + 00 .39828243926207E + 00 .39828243926207E + 00 .26905133763978E + 00 .26905133763978E + 00 .26905133763978E + 00 .26905133763978E + 00 .52674897119342E + 00
Die Lage dieser 17 Knoten graphisch dargestellt: y b
6
1
b
b
b
b
b
b
b
b
b
−1 b
b
b b
1
b −1 Abb. 15.4.
b b
x
638
15.6
15. Numerische Kubatur
Berechnung des Riemannschen Fl¨ achenintegrals mit bikubischen Splines
Es sei das Fl¨achenintegral ZZ I(f ; R) =
f (x, y) dx dy R
u ¨ ber dem Rechteck R = {(x, y)|a ≤ x ≤ b, c ≤ y ≤ d} zu berechnen. Dies kann mit Hilfe bikubischer Splines S = S(x, y) ≡ Sij (x, y)
f¨ ur (x, y) ∈ Rij
gem¨aß Darstellung in Abschnitt 12.1, Algorithmen 12.1, 12.3, 12.4, geschehen, die f¨ ur das Rechteck R berechnet wurden. F¨ ur jedes Teilrechteck Rij gilt dann x x Zi+1 yZj+1 Zi+1 yZj+1 f (x, y) dy dx ≈ Sij (x, y) dy dx xi
yj x Zi+1 yZj+1
=
=
xi
yj
3 X
3 X
xi 3 X
3 X
=
3 X 3 X k=0 m=0
aijkm (x − xi )k (y − yj )m dy dx
k=0 m=0 x Zi+1
k
xi
aijkm
yZj+1
(y − yj )m dy
(x − xi ) dx
aijkm
k=0 m=0
yj
(xi+1 − xi ) k+1
yj k+1
(yj+1 − yj )m+1 . m+1
Der gesuchte Integralwert I ergibt sich n¨ aherungsweise aus der Summation der Integrale u ¨ ber alle Teilrechtecke.
15.7
Vergleich der Verfahren anhand von Beispielen
Beispiel 15.8. Gegeben: Die Funktion f (x) = e sin x cos x (Zur einfacheren Nachvollziehbarkeit wurde hier eine Funktion gew¨ahlt, die nur von x abh¨ angt.) Gesucht:
Die N¨aherungen f¨ ur das Integral Z1/2 Z1/2 f (x) dx dy = 1.034 408 860 73 . . . −1/2 −1/2
15.7 Vergleich der Verfahren anhand von Beispielen
639
unter verschiedenen Genauigkeitsanforderungen ........... ..... ......... .......... ...... .......... ...... ........... ..... ....... ........................... ................................ .................. . . . . . . . . .. . . . ...... ............ .......... ..... ............ ........... ......... ............. ...... ............ ........... ..... ........... ....... ........... .......... ...... ............ .......... ..... ......... ........ .............. ............. ........... ........... ...... ........... ..... ........ ................ .......................... ........................ ........................ ...................................................... ................................ ................. . . . . . . . . . . . . . .. .. ... ... .. . . . .. .... ....... ... .. .. ... . ..... ........................................................................................................................................................................................ ....................... ............................... ..................... ...................... ... .. .. ....................................... ...... ............... ............ ............ ........... .......... ..... ............. .......... .... .. 1 ....... ..... ..... .......................................................................................................................................................................................................................................................................................................................................................... ..... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .. .. .. .. .. ........................................ ........................ ............... ............. ............. ............ ........... ... ... ... .. .. .. .. .. .. ............................................ ............................ ................. ................. ................ .......... .. .. .. ... .. .. .. .. .. .. .. ...................................... ....... .............. ............ .......... ......... .. .. .. .. 0.5....... ..... ..... ..... ..... ..... ..... ..... ...................................................................................................................................................................................................................... ..... ..... ..... ..... ..... .. . . . . . . . . . ...... ..... .................... ......... . . . . . . . ..... .... .... .... .... .... .... .... .... .... .... ........................................................................... ... .... .... .... .... .... .... .... ... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . 0 .................................. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .......................... . .......... . . . . . . . . . . . . . . . . . . ..... ..... −0.4 ................................................ ...... ...... ...... ...... ...... ...... ...... ...... ..... ...... ..... ...... ...... ......................................................−0.4 . . . .. −0.2 ............................................. ..... ..... ..... ..... ..... ..... ..... ..... ..... .................................................−0.2 .. .. . .. 0 ................................................. ..... ..... ..... ...... ................................................... 0 . . . . . . 0.2 ............................................................................................... 0.2 0.4 .............. 0.4
y
x
Abb. 15.5. Graph der Funktion f (x) = e sin x cos x L¨osung:
Erl¨auterung zu den folgenden Tabellen: Zur Spalte Verfahren: NC-ST NC-S NC-3 NC-4 NC-5 NC-6 NC-7 Gau-n
Newton-Cotes-Sehnentrapez-Formel Newton-Cotes-Simpson-Formel Newton-Cotes-3/8-Formel Newton-Cotes-4/90-Formel Newton-Cotes-5/288-Formel Newton-Cotes-6/840-Formel Newton-Cotes-7/17280-Formel Summierte Gauß-Verfahren nach Newton-Cotes-Formeln
Zu den Spalten gesch¨ atzter relativer Fehler: Hier werden die letzten beiden Sch¨ atzungen angegeben. Dadurch wird klar, warum in Spalte F nicht unbedingt eine strenge Abnahme der Werte entsteht: Wenn die vorletzte Sch¨ atzung noch knapp oberhalb der geforderten Genauigkeit liegt, muss die Anzahl der Referenz-Rechtecke notwendigerweise erneut vervierfacht werden, wodurch sich die Anzahl der Funktionsauswertungen nat¨ urlich stark erh¨ oht.
Zur Spalte N : Hier wird die Anzahl der verwendeten Referenz-Rechtecke angegeben.
Zur Spalte F : Hier steht die Anzahl der ben¨ otigten Funktionsauswertungen.
640
15. Numerische Kubatur
1. Geforderte Genauigkeit = 5.0e−09 Verfahren
ermittelte N¨ aherung
gesch¨ atzter rel. Fehler vorletzter letzter
N
F
NC-ST NC-S NC-3 NC-4 NC-5 NC-6 NC-7
2.034 408 863 05 1.034 408 858 18 1.034 408 859 60 1.034 408 861 00 1.034 408 860 88 1.034 408 860 70 1.034 408 860 71
−9.3e−09 4.1e−08 1.8e−08 −2.1e−08 −1.2e−08
−2.3e−09 2.5e−09 1.1e−09 −2.8e−10 −1.6e−10 3.9e−11 2.4e−11
10242 82 82 22 22 12 12
22 386 003 5 684 12 604 1 378 2 122 625 841
Gau-0 Gau-1 Gau-2 Gau-3 Gau-4 Gau-5 Gau-6 Gau-7
1.034 408 856 08 1.034 408 860 83 1.034 408 860 72 1.034 408 860 75 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73
1.9e−08 −8.5e−09 5.6e−09 −3.5e−08 −2.3e−08
4.7e−09 −5.3e−10 8.5e−11 −3.0e−09 1.8e−11 8.1e−10 −1.4e−11 1.8e−14
10242 322 82 22 22 12 12 12
6 990 505 27 300 3 825 400 625 180 245 320
2. Geforderte Genauigkeit = 5.0e−10 Verfahren
ermittelte N¨ aherung
gesch¨ atzter rel. Fehler vorletzter letzter
N
F
NC-S NC-3 NC-4 NC-5 NC-6 NC-7
1.034 408 860 57 1.034 408 860 66 1.034 408 861 00 1.034 408 860 88 1.034 408 860 70 1.034 408 860 71
2.5e−09 1.1e−09 −2.1e−08 −1.2e−08
1.6e−10 7.1e−11 −2.8e−10 −1.6e−10 3.9e−11 2.4e−11
162 162 22 22 12 12
22 325 49 853 1 378 2 122 625 841
Gau-1 Gau-2 Gau-3 Gau-4 Gau-5 Gau-6 Gau-7
1.034 408 860 73 1.034 408 860 72 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73
−5.3e−10 5.6e−09 −3.0e−09 −2.3e−08 8.1e−10
−3.3e−11 8.5e−11 −9.0e−12 1.8e−11 −6.6e−14 −1.4e−11 1.8e−14
642 82 42 22 22 12 12
109 220 3 825 1 680 625 900 245 320
15.7 Vergleich der Verfahren anhand von Beispielen
641
3. Geforderte Genauigkeit = 5.0e−11 Verfahren
ermittelte N¨ aherung
gesch¨ atzter rel. Fehler vorletzter letzter
N
F
NC-S NC-3 NC-4 NC-5 NC-6 NC-7
1.034 408 860 72 1.034 408 860 72 1.034 408 860 73 1.034 408 860 73 1.034 408 860 70 1.034 408 860 71
1.6e−10 7.1e−11 −2.8e−10 −1.6e−10
9.9e−12 4.4e−12 −4.2e−12 −2.4e−12 3.9e−11 2.4e−11
322 322 42 42 12 12
88 374 198 078 5 603 8 683 625 841
Gau-1 Gau-2 Gau-3 Gau-4 Gau-5 Gau-6 Gau-7
1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73
−5.3e−10 8.5e−11 −3.0e−09 −2.3e−08 8.1e−10
−3.3e−11 1.3e−12 −9.0e−12 1.8e−11 −6.6e−14 −1.4e−11 1.8e−14
642 162 42 22 22 12 12
109 220 15 345 1 680 625 900 245 320
gesch¨ atzter rel. Fehler vorletzter letzter
N
F
4. Geforderte Genauigkeit = 5.0e−12 Verfahren
ermittelte N¨ aherung
NC-S NC-3 NC-4 NC-5 NC-6 NC-7
1.034 408 860 73 1.034 408 860 72 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73
9.9e−12 7.1e−11 −2.8e−10 −1.6e−10 3.9e−11 2.4e−11
6.2e−13 4.4e−12 −4.2e−12 −2.4e−12 1.2e−13 7.4e−14
642 322 42 42 22 22
351 543 198 078 5 603 8 683 3 026 4 090
Gau-1 Gau-2 Gau-3 Gau-4 Gau-5 Gau-6 Gau-7
1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73 1.034 408 860 73
−3.3e−11 8.5e−11 −9.0e−12 1.8e−11 8.1e−10 −1.4e−11
−2.0e−12 1.3e−12 −3.4e−14 1.4e−14 −6.6e−14 7.4e−17 1.8e−14
1282 162 82 42 22 22 12
436 900 15 345 6 800 2 625 900 1 225 320
642
15. Numerische Kubatur
Beispiel 15.9. Gegeben: Das Polynom P (x, y) = −3 x15 y 17 − 2xy 2 + x2 y + 3y 2 − xy + 2y Gesucht:
Die N¨aherungen f¨ ur das Integral Z 1 Z 1 P (x, y) dx dy = 1.572916 0
0
mit der geforderten Genauigkeit 2.2e−10 . ..... ... .
............ ................ .. ...... ...................... .. ........ .................. ....................................... .. ..................................................................................................................................................................................................................... .... ... . . . . . . . . . . . . . . . . . . . ... ...... ............... ...... ............................................................ ..... .................. . . .. ........... ........ ...................... ....... ....... ...... ...... ............................... ...... .. .. .. ..... ........ .................... ........ ............................................................................................................ .. .. .. .... ........................................................................................................................................................................................................................................ .... .... .... .... . . . . . . . . . ... .. .. .. .. . ..... . .. . ... ..... ... ... ........ ........ .......................... ........................................................................................................ ...... .. .. .. .. .. 2 ........ ........ .................. ............................... ....... ....... ....... ...... ....... ...... .................. .. .. .. .. .. .............. ........ .................... ........ ............................................................................................ ..... .. .. .. .. .. .. ..... ........ .................. ........ ............................. ....... ....... ....... ....... ...... ................ .. .. .. .. .. .. .......... ................................................................................................................................................................................................................................................ .... .... .... .... .... .... . . .... . . . . . . . .... ............................................................................................................................................................................................................................................................................ ... ... ... ... ... ... ... . ... . . . . . . . . 0 ...................................................................................................................................................................................................................................................................................................................................................................................................... ..... ..... ...... ...... ...... ..... ...... ............... ...................... ............................. ......... ...................................................... ......... ....... ......... .. .. .. .. .. .. .. ...................... .. .............. .. .. ......................... ....... ....... .......................... . . . . . . . . . .. ..... ......................... ... ... .. ......................................... ............. ....... ... .... .... .... ... ... ....................................... 0 ...................... .. ... .. ... ......... ...... .......... ... .. .. .. ... ... ..................... . ................... .. .. .. .. ......... .. .. ...... ... .... .... .... .............................. ................... .. .. .. .. .... 0.2 0.2 ........................ ... ... ... ...... ...... ... .. .. .............................. .......................... .. ... ... ... ... ... ... ... ... .................... 0.4 ....................... .. .. .... ... ... ... ................................... 0.4 ........................ ... ... ... ... ............................. ............................. ... ... .................................. 0.6 0.6 ................................................. ...................... ...........
4 ........
y
0.8
x
0.8
1
0
1
Abb. 15.6. Graph der Funktion P (x, y) L¨osung: Verfahren
(Erl¨auterungen zur Tabelle vgl. Beispiel 15.8) ermittelte N¨aherung
gesch¨ atzter rel. Fehler vorletzter letzter
N
F
NC-ST NC-S NC-3 NC-4 NC-5 NC-6 NC-7
1.572 916 666 45 1.572 916 666 57 1.572 916 666 62 1.572 916 666 57 1.572 916 666 61 1.572 916 666 66 1.572 916 666 66
8.5e−10 1.6e−09 7.0e−10 5.8e−09 3.3e−09 7.5e−10 4.6e−10
2.1e−10 4 096 357 979 477 9.9e−11 64 351 543 4.4e−11 64 789 439 9.4e−11 8 22 244 5.3e−11 8 34 604 3.4e−12 4 12 435 2.1e−12 4 16 859
Gau-0 Gau-1 Gau-2 Gau-3 Gau-4 Gau-5 Gau-6 Gau-7
1.572 916 666 78 1.572 916 666 67 1.572 916 666 67 1.572 916 666 67 1.572 916 666 67 1.572 916 666 67 1.572 916 666 67 1.572 916 666 67
−4.3e−10 −3.3e−10 −1.9e−09 −2.5e−10 −2.2e−10 −1.2e−09 −3.5e−08
−1.1e−10 8 192 447 392 425 −2.1e−11 256 1 747 620 −3.0e−11 32 61 425 −1.0e−12 16 27 280 −2.3e−13 8 10 625 −3.5e−13 4 3 780 −3.4e−12 2 1 225 −1.9e−10 1 320
15.8 Kubaturformeln f¨ ur Dreieckbereiche
15.8
643
Kubaturformeln fu ¨r Dreieckbereiche
Analog zu der Behandlung der Integration u ¨ ber Rechtecke l¨asst sich die Integration u ¨ ber ein Referenzdreieck durchf¨ uhren.
15.8.1
Kubaturformeln fu ¨ r Dreieckbereiche mit achsenparallelen Katheten
Es sei R∆
y 6 hy r c c c c R∆
c c c cr hx x
r 0
Abb. 15.7. ein Referenz-Dreieck mit den drei Eckpunkten 0 hx 0 , , . 0 0 hy Im Folgenden werden einige Kubaturformeln angegeben, die alle das Integral ZZ f (x, y) dx dy R∆
ann¨ahern. Je nach Wahl der Knoten (in den Ecken, auf den Kanten oder im Inneren des Referenzdreiecks) erh¨ alt man folgende Newton-Cotes- oder Gauß-Kubaturformeln (z. T. sind sie identisch): 15.8.1.1
Es sei R∆1
Newton-Cotes-Kubaturformeln f¨ ur Dreieckbereiche mit achsenparallelen Katheten y hy
6 r (0,hy ) c c c c c R∆1 c r(0,0)
0
c (h ,0) x cr x hx
Abb. 15.8.
644
15. Numerische Kubatur
ein Referenzdreieck mit den drei Eckpunkten als Knoten. Dann lautet die Kubaturformel hx hy 1 C(f ; R∆1 ) = · f (0, 0) + f (hx , 0) + f (0, hy ) , (15.11) 2 3 sie besitzt den Genauigkeitsgrad L = 1 und integriert damit alle Polynome P1 vom Grad s + t ≤ 1 (d. h. mit den Monomen 1, x, y) exakt und hat die globale Fehlerordnung O(h2max ). Kubaturformeln vom Genauigkeitsgrad L = 2 ergeben sich unter Verwendung folgender Knoten des Referenzdreiecks: y
y 6
6
hy hy 2
0
hy
@ @ r @r @ R∆2 @ r @ hx 2
hx
2hy 3
hy 6
x
0
@ r@ @ @ r R∆3 r@ @ hx 6
2hx 3
hx
x
Abb. 15.9. Die zugeh¨origen Formeln lauten: C(f ; R∆2 )
=
C(f ; R∆3 )
=
hx hy 1 hx hx hy hy f ,0 + f , , f 0, (15.12) 2 3 2 2 2 2 hx hy 1 hx hy 2hx hy hx 2hy f , +f , ,f , (15.13) 2 3 6 6 3 6 6 3
Es ist bemerkenswert, dass diese Formeln bei gleicher Knotenzahl wie (15.11) einen h¨oheren Genauigkeitsgrad besitzen; sie integrieren alle Polynome P2 vom Grad ≤ 2 exakt und besitzen die globale Fehlerordnung O(h3max ). Die entsprechenden summierten Formeln ergeben sich, wenn man einen Bereich B in Dreiecke Bj zerlegt und auf jedes Dreieck eine der angegebenen Formeln anwendet und aufsummiert.
Beispiel 15.10. Gegeben: Das Polynom f (x, y) = 4 x2 + 6 x y − y Gesucht:
Das Integral Z5
x 7 2 Z− 2
f (x, y) dy dx
I= x=1
y=1
15.8 Kubaturformeln f¨ ur Dreieckbereiche
645
Es handelt sich dabei um ein Doppel-Integral, und die Fl¨ache, u ¨ber die integriert wird, ist ein Dreieck, das begrenzt wird durch die Geraden 7 x x = 1, y = 1, y = − . 2 2 Graphisch also: y 6 ......... 3 ... .......... ...... . ... ....... ....... ... ....... ... ....... ....... ... ....... ... ....... ....... ... ....... ... ....... ... ....... ....... ... ....... ... ....... ........ ... ....... ... . .....................................................................................................................................
r
2
r r
1
1 2 3 Abb. 15.10. L¨osung:
4
x
5
Zur Berechnung von I wird hier die Formel f¨ ur das Referenz-Dreieck R∆2 verwendet, wobei nat¨ urlich noch die Koordinaten der auszuwertenden Punkte verschoben werden m¨ ussen. Mit den Gr¨oßen hx = 5 − 1 = 4
und
hy = 3 − 1 = 2
ergibt die Formel den Wert C(f ; R∆2 )
= =
4·2 1 f (3, 1) + f (3, 2) + f (1, 2) 2 3 4 548 (53 + 70 + 14) = = 182.6. 3 3
Durch exakte Berechnung des Doppelintegrals kann man sich davon u ¨berzeugen, dass der Wert exakt ist, denn das Polynom enth¨alt keine x- und y-Potenzen, die in der Summe gr¨ oßer als zwei sind. Zur Anschauung die Fl¨ ache mit den Auswertungspunkten: ..... ...
120 ......... ... ... ...
.. ............ .................. .......................... ........................................... . . . . . . . ............................... ........................... ....... ....... ............. ....... ...... ................ ................................................... . . . . . . ... ... .. . .. ....... ........ ..... ..... .... ........ ....... ....... ..... ..... ....... .. ...... ..... ....... .... ....... ........ ....... ....... ..... ........... ........... .............. .................. . . . . . . .. .. .. . . ........ .................. ........... .............. ......... ......... . . ........ ................ ............... ........... ............ . ........ . ............ .................. ............ ............... .......... . . . . . . . ......... ...... ......... ................. ..... . . . . . . . . . . . . . . . . . . . . . ......... ... ........ .. ...... .. ...... ...... ..... ........... .................... ................... ................ ................... ...... ... ......... ... ......... .. ....... . .. ......... ...... ... ...... . .. ....... ...... .... ... ................... ................. ............ . . . .. . . . . .... .. .... . ... ... .... ............................ ................... .............. ......... .......... ............................ ... . ............................... ........................................................................................ ............ ... . . . . . . . . . . . . .......................................................................................................................................................................................................................... .................................................................................................................................................................................................................................................................................... . ..... . . .. . . . ........................ ..........................................................................................................................................
100 ........ 80 60 40 20 3
... ... .. ..... ... ... .... .. ...... ... .. .... .. ..... .... ... ... .. ...... .. .... ... ... ............ ..... ..... 2 .............. ..... 1 ............... . ..... .......................................................................................................... .......................................................................................................
0
1
Abb. 15.11.
3
2
4
5
646 15.8.1.2
15. Numerische Kubatur Gauß-Kubaturformeln f¨ ur Dreieckbereiche mit achsenparallelen Katheten
Je nach gefordertem Genauigkeitsgrad L ergeben sich aus einem zu (15.8) a¨quivalenten nichtlinearen System f¨ ur dreieckige Integrationsgebiete 12 (L + 1)(L + 2) Gleichungen f¨ ur entsprechend viele Parameter xj , yj , Aj . Hier seien einige Beispiele aufgef¨ uhrt: F¨ ur L = 1 ergeben sich folgende Formeln von der globalen Fehlerordnung O(h2max ): 1. Ein-Punkt-Kubaturformel f¨ ur das Referenzdreieck R∆4, die nur einen Knoten verwendet: y 6 hy .................... ...... ... ...... ... ...... ... ...... ...... ... ...... ... ...... ... ...... 4 ...... ... ...... ... ...... ... ...... . ...... ... ...... ... ...... ... ...... ...... ... ...... .. ...... ... ...... ... ...... .... ... ........................................................................................................................................
R∆
hy /3
r
0
hx /3
hx
x
Abb. 15.12.
C G1 (f ; R∆4 ) =
hx hy f 2
hx hy , 3 3
2. Zwei-Punkt-Kubaturformel f¨ ur R∆5 , die zwei Knoten verwendet: y 6 hy ..................... hy /2 hy /6 0
... ...... ...... ... ...... ... ...... ...... ... ...... ... ...... ... ...... 5 ...... ... ...... ... ...... ... ...... ...... ... ...... ... ...... ... ...... ...... ... ...... ... ...... ... ...... ...... ... ...... ... . ....................................................................................................................................
R∆
r
r
hx /6
hx /2
hx
x
Abb. 15.13.
C
G2
hx hy (f ; R∆5 ) = 4
hx hy hx hy f , +f , 6 2 2 6
F¨ ur L = 2 gelten die beiden Drei-Punkt-Formeln aus Abschnitt 15.8.1.1 f¨ ur R∆2 und R∆3 .
15.8 Kubaturformeln f¨ ur Dreieckbereiche
647
F¨ ur L = 5 ist die folgende Sieben-Punkt-Formel aus [ENGE1980] entnommen worden: y 6 hy .................... ... ...... ... r .................... ... ...... .... ...... ... ...... R∆6 ... ...... ...... ... ...... ... r r.............. ... ...... ... ...... ... r ...... .. ... ... ...... ...... ... ...... ... ...... ...... ... ..... ... .....................................................................................................................................
r
r
r
0
hx
Abb. 15.14. C
G7
x
√ √ √ hx hy hy hy h h x x (f ; R∆6 ) = 2400 270f 3 , 3 + (155 + 15) f 21 (6 + 15), 21 (6 + 15) √ √ hx (6 + √15), hy (9 − √15) x (9 − 15), hy (6 + +f h 15) + f 21 21 21 21 √ √ √ hy x +(155 − 15) f h 21 (6 − 15), 21 (6 − 15) √ √ √ √ hy hy h h x x +f 21 (9 + 2 15), 21 (6 − 15) + f 21 (6 − 15), 21 (9 + 2 15)
Die globale Fehlerordnung ist O(h6max ). Beispiel 15.11. Gegeben: Die Funktion f (x, y) = Gesucht:
x +2 y
Das Integral 7 x 2 Z− 2
Z5 I=
f (x, y) dy dx x=1
y=1
Es handelt sich dabei um ein Doppel-Integral, und die Fl¨ache, u ¨ber die integriert wird, ist ein Dreieck, das begrenzt wird durch die Geraden 7 x x = 1, y = 1, y = − . 2 2 Es werden dabei die Ein-Punkt- und die Zwei-Punkt-Kubaturformel angewendet und die Ergebnisse verglichen. L¨osung:
F¨ ur beide Formeln werden die Schrittweiten hx hy
= =
5−1 3−1
= =
4, 2
verwendet. Bei der Auswertung der Funktion muss darauf geachtet werden, dass das Referenz-Dreieck vom Ursprung in die Ecke (1,1) verschoben wurde. Also m¨ ussen auch die Funktionsargumente angepasst werden.
648
15. Numerische Kubatur Zur Ein-Punkt-Formel: y 6
3
......... ... .......... ....... ... ....... ....... ... ....... ... ....... ....... ... ....... ... ....... ... ....... ....... ....... ..... ....... ... ....... ....... ... ....... ....... .... ....... ... . ....................................................................................................................................
2
r
1
1
2
3
4
5
x
Abb. 15.15. C
G1
(f ; R∆)
= = = =
Zur Anschauung:
hx hy hx hy f 1+ , 1+ 2 3 3 4·2 4 2 f 1+ , 1+ 2 3 3 7 5 7/3 4f , =4 +2 3 3 5/3 17 68 4 = = 13.6 5 5
..... ...
.... ......... ............ ................. .... . . . . . . . . . . . . . . . . ... .............................. ... ...................................... ............................................ 4 ....... ........................................................ ..................................................................................................... . . .... . . . . . . . . . . . . . . . . . . . . . .... .................................. ........................................................................................... .......................................................................... ....... ..... ... ................. 2 ....... ................................................................................................................................................................................................................. ......... .... .. .................. .. .... . . ..................... ............. ........................................... ... . . . . . . . . . . . . . . . . .... .......... .. ....... ...................... 0 .................................................................................................................................................................................................................................................................................................................................................. ..................................................................................................................................................................................................................................................... 3 .. .... .. .. ................. . . . . ..... .................. ................ .................................................................................................................................................................................................................... . . .. ........................................ . . .. . ...... ............ ................................................. .......................................... ........... 4 2 ................................................................................................................................................................................... 3 .................. .. .... .... .......................................................... 2 ....
6 ........
y
x
1 1
Abb. 15.16. Zur Zwei-Punkt-Formel: y 3 2
6
......... ... .......... ....... ... ....... ....... ... ....... ... ....... ....... ... ........ ....... ..... ....... ... ....... ....... ... ....... ... ....... ....... ... ....... ....... .... ....... ... ....................................................................................................................................
r
r
1
1
2
Abb. 15.17.
3
4
5
x
5
15.8 Kubaturformeln f¨ ur Dreieckbereiche C G2 (f ; R∆)
= = = =
649
hx hy hx hy hx hy f 1+ , 1+ +f 1+ , 1+ 4 6 2 2 6 4·2 4 2 4 2 f 1+ , 1+ +f 1+ , 1+ 4 6 2 2 6 5 4 5/3 3 2 f , 2 + f 3, =2 +2+ +2 3 3 2 4/3 17 17 51 + 34 85 2 + =2 = = 14.16 6 4 12 6
Zur Anschauung:
. ... .....
...... ......... ........... ... .................... . . . . . . . . . . . . . . . ... ... .. ................................ .. ....................................... ............................................ 4 ........ ................................................. .... ........................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ............................. ....................................................................................... .............................................................................. ....... ................ ... .... 2 ........ ....................................................................................................................................................................................................................... ......... ....................... ...... .... ..................... .... . ............ . . . . . . . . . . . . . .... ........... ........ ................. ... . . . . . . . . . . . . . . . . . . . . . . ...... .. ....... ...... ............ .... 0 ................................................................................................................................................................................................................................................................................................................................................... .................................................................................................................................................................................................................................................. 3 ................. ......... ............. ........ ................................................................................................... .. ..... ................. . . . . . ... . . ............................................................................................................... .................................................................................................................. ....... ....... ................ ..... ................... ................ 4 2 ..................................................................................................................................................................................... 3 .. ... ... ................ ........................................................... 2 ....
6 ........
y
1 1
5
x
Abb. 15.18. Die Ergebnisse sind nicht gleich, aber in der Gr¨oßenordnung stimmen sie gut u ¨ berein: Der Unterschied betr¨ agt weniger als 8 Prozent. Beispiel 15.12. 2
x Gegeben: Die Funktion f (x) = 1+x 2 (Zur einfacheren Nachvollziehbarkeit wurde hier eine Funktion gew¨ahlt, die nur von x abh¨ angt.)
Gesucht:
N¨aherungen f¨ ur das Integral Z1 1−x Z x2 dx dy = 0.061 175 426 884 . . . 1 + x2 0
0
unter verschiedenen Genauigkeitsanforderungen 0.5....... .... .
. ................. ....................... .. ............................... .. ... ................................................................................... .... .... . . . . . . . . . . . . . . . ...................... ......................................................... .. ... ... 0.3...... .......................................................... .. . . ... ......................................................... .. .. .. ........................................................... .. .. .. .. ... ............................................................................................................ .... .... .... .... . . . . . . . . . . . . . .. . . . .. . 0.2 .... ...................................................................... .. .. .. .. .. ......................................................... .. .. .. .. .. .. .... ............................................................... .. .. .. .. .. .. . ....................... ...... .................................... .. .. .. .. .. .. ................................................................................................................... .... .... .... .... .... .... .... . 0.1....... . . . . . . . . . . . . .. . . .. .................... ...... ............... ...... ............ .... ...... .. .. .. .. .. .. .. ... ............. ........ .............. ....... ............... ..... .................... .. .. .. .. .. .. .. .. .. .............. ............. ....... ............... ...... ............... .... ..... .. .. .. .. .. .. .. .. 0 ....................................................................................................................................................................................................................................................................................................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ................................ ................. ............. ...... ......... ...... .......... .... .. .. .. .. .. .. .. .. .. .. 1 ................................... .............. ........... ...... .......... ..... ...... .. .. .. .. .. .. .. .. .. .. 0.8 ................................................................................................................................................................................................. ..... ..... ..... ..... ..... .......................................................................................... 0.6 ......................................................................................................... ............................................................................................ 1 0.4 ......................................................................................................................... 0.8 0.2 .............. 0.4 0.6
0.4......
y
0 0
0.2
x
Abb. 15.19. Graph der Funktion f (x)
650
15. Numerische Kubatur
L¨osung:
(Gau-n sind die summierten Gauß-Formeln C Gn )
1. Geforderte Genauigkeit = 5e−7 Verfahren
ermittelte N¨ aherung
relativer FunktionsSch¨ atzfehler Auswertungen
Gau-1 Gau-2 Gau-3 Gau-7
0.061 174 579 17 0.061 173 731 51 0.061 175 494 93 0.061 175 477 82
2.1e−7 4.2e−7 −2.0e−8 −1.7e−8
87 381 43 690 255 147
2. Geforderte Genauigkeit = 5e−8 Verfahren
ermittelte N¨ aherung
Gau-1 Gau-2 Gau-3 Gau-7
0.061 175 373 90 0.061 175 320 92 0.061 175 494 93 0.061 175 477 82
15.8.2
relativer FunktionsSch¨ atzfehler Auswertungen 1.3e−8 2.6e−8 −2.0e−8 −1.7e−8
1 398 101 699 050 255 147
Kubaturformeln fu ¨ r Dreieckbereiche allgemeiner Lage
Analog zu der Behandlung der Integration u ¨ber Rechtecke und u ¨ber Dreiecke mit achsenparallelen Katheten l¨ asst sich die Integration auch u ¨ ber Dreiecke allgemeiner Lage durchf¨ uhren. Es sei R∆ y6
Rr
..... ..... ........... ...... ..... ...... ..... ...... ..... . . . ...... . ... . ...... . . . ...... ... . . . ...... . ... . ...... . . . ...... .... . . ... . ... . . ............ . . ... ........... . . . . . . . . . . . . . . ....... ... . . . . . . . . . . . . . . . ... ..... ............ ..... ........... ..... ............ ............ ..... .... ...................... . . . . .. ..... ..............
R∆
rQ
r
P x Abb. 15.20. ein Referenz-Dreieck mit den drei Eckpunkten p1 q1 P = , Q= , p2 q2
R=
r1 r2
.
Im Folgenden werden einige Kubaturformeln angegeben, die alle das Integral ZZ f (x, y) dx dy R∆
15.8 Kubaturformeln f¨ ur Dreieckbereiche
651
ann¨ahern. Praktischerweise fasst man dazu die Argumente x und y der Funktion f (x, y) zusammen zu einem Vektor x T = (x, y), schreibt die Funktion um zu f (x ),
x ∈ R2 ,
und bildet die beiden Kantenvektoren a
:=
−→ PQ = Q − P
b
:=
−→ PR =
q1 − p1 q2 − p2 r1 − p1 = . r2 − p2 =
R−P
Nun k¨onnen alle in Abschnitt 15.8.1 aufgestellten Formeln einfach umgeschrieben werhx hy den. Die dort enthaltene Referenz-Dreiecks-Fl¨ ache wird dabei ersetzt durch 2 1 AP QR = (q1 − p1 )(r2 − p2 ) − (q2 − p2 )(r1 − p1 ) 2 und in der Angabe der jeweiligen Fehlerordnung O(hnmax ) entspricht hmax dem Maximum der L¨angen von a und b.
15.8.2.1
Newton-Cotes-Kubaturformeln f¨ ur Dreieckbereiche allgemeiner Lage
Es sei R∆1 y6
Rr
........... ..... ............ ..... ...... ...... ..... . . . . ...... . ...... ..... ...... .... . . . . ...... ... . ...... . . . ...... ... . . . . .. ... . . ........ . . ... ........... . . . . . . . . . . . . . . . ........ . .... . . . . . . . . . . . . ... .... ............ ..... ............ ..... ........... ..... ........... ..... ....................... . . . . 1 .... ........... ..............
rQ
R∆
r
P x Abb. 15.21. ein Referenz-Dreieck mit den drei Eckpunkten als Knoten. Dann lautet die Kubaturformel C(f ; R∆1 ) = AP QR
1 {f (P ) + f (Q) + f (R)} , 3
sie besitzt den Genauigkeitsgrad L = 1 und integriert alle Polynome P1 vom Grad s + t ≤ 1 (d. h. Linearkombinationen der Monome 1, x und y) und hat die Fehlerordnung O(h2max ).
652
15. Numerische Kubatur
Kubaturformeln vom Genauigkeitsgrad L = 2 ergeben sich unter Verwendung der Knoten der Referenz-Dreiecke R∆2 y6
R
......... ..... ........... ...... ..... ...... ..... ...... .... . . . . ...... ...... ..... ...... ..... . . . . ...... ... . ...... . . . ...... ... . . . . ... .... . ........... . . . . . ....... . ... . . . . . . . . . . . . . . . ... ........ . . . . . . . . . . . . . . ..... ..... ............ ..... ............ ..... ........... ..... ............ ..... ...................... . . 2 . . . ..............
r
r
Q
r R∆
P x Abb. 15.22. mit der Formel C(f ; R∆2 ) = AP QR
1 3
P +Q Q+R R+P f +f +f 2 2 2
oder R∆3 y6
R
.... ..... ........... ..... ...... ...... ..... ...... ..... . . . . ...... .... ...... . . . ...... ... . . . ...... . ... . ...... . . . ...... ... . . . .. . ... . . .......... . . ... ............ . . . . . . . . . . . . . . ....... . . .... . . . . . . . . . . . . .... .... ............ ..... ........... ..... ........... ..... ............ ..... ...................... . . . . 3 .. ..... ................
r
r
Q
r
R∆
P x Abb. 15.23. mit der Formel C(f ; R∆3 )
= AP QR
1 3
1 1 P+ a+ b 6 6 2 1 +f P + a + b 3 6 1 2 +f P + a + b 6 3 f
bzw. (ohne Verwendung der Kantenvektoren) 1 2 1 1 C(f ; R∆3 ) = AP QR f P + Q+ R 3 3 6 6 1 2 1 +f P + Q+ R 6 3 6 1 1 2 +f P + Q+ R . 6 6 3
15.8 Kubaturformeln f¨ ur Dreieckbereiche
653
Beide Formeln integrieren alle Polynome vom Grad s + t ≤ 2 (also Linearkombinationen der Monome 1, x, y, xy, x2 und y 2 ) und besitzen die Fehlerordnung O(h3max ). Die entsprechenden summierten Formeln ergeben sich, wenn man einen Bereich B in Dreiecke Bj zerlegt und auf jedes Dreieck eine der angegebenen Formeln anwendet und aufsummiert.
Beispiel 15.13. Gegeben: Die Funktion f (x, y) = Gesucht:
1 2 1 x − xy − y 2 + 30 4 4
Ein N¨aherungswert f¨ ur das Integral 2 Z10 5 − Z x+2 I= f (x, y) dx dy x=0
y=1
Graphisch veranschaulicht ist dies das Volumen zwischen den eingezeichneten Grund- und Deckfl¨ achen: .... .... ... . 40 ........ ....... .... ... ................................................................................................. .... ... .. ... ............ .... ... ..... ...... ........... ........................................................................................... . 30 ........ . .. ...................... .. . . . . . . . .... .... ........... ... ... ... ........................... ..................................... .... ........... .............. ............................................... . . . 20 ........ . . . . . . . . . . ......... .............................. ..... ........... ............. ............. ... .................... .......................... ..................................... ........... .... ............................................................................................. . . . . . . . . . . . . . . 10 .... ................................................................................... .................... ..... .................................................................................................................................................................................................................................................................................................. ... . . . ............................................................ ............................................................................ .. . ....... ......... .... ......... ..................... ................................. ............................... ......... .............. ...................... ............................................... ............................................................................................................. . . . . 2 ... . .. . . . .............. .. . . 0 ............................. ............................................................... .................................................................................................. 3 . ...................... ... .................. .. ... .. ....................... 10 ........................... .............................................................................. 4 ........................ . . . . . . . . 8 . . . . . . . . . . . . . . . . . . . . ................... 5 6 . .......................................................................... 6 ....................... 4 7
P
Q
2
0 8
R Abb. 15.24. Verwendet werden soll die Drei-Punkt-Formel C(f ; R∆3 ) f¨ ur Dreiecke allgemeiner Lage. L¨osung:
Die drei Eckpunkte des verwendeten Dreiecks sind 0 10 0 P = , Q= und R = . 2 6 8 Damit berechnet sich die Dreiecksfl¨ ache zu AP QR
1 1 10 0 = det(Q−P, R−P ) = = 30 4 6 2 2
654
15. Numerische Kubatur und somit erh¨ alt man als N¨ aherung C(f ; R∆3 )
1 = AP QR · · 3 2 1 1 2 1 1 f 0 + 10 + 0, 2+ 6+ 8 3 6 6 3 6 6 1 2 1 1 2 1 +f 0 + 10 + 0, 2+ 6+ 8 6 3 6 6 3 6 1 1 2 1 1 2 +f 0 + 10 + 0, 2+ 6+ 8 6 6 3 6 6 3 30 5 11 20 17 5 20 = f , +f , +f , 3 3 3 3 3 3 3 503 409 1105 = 10 + + = 700 . 18 36 36
Hier zur Anschauung die Punkte, an denen die Funktion ausgewertet wurde: ..... ... .... . 40 ....... ..... ................................ .. . ................................................................................ .... ... ..... ... .. ... ...... ............. ..... ... . . . . . . ............................... ..... . . 30 .... ............................................................................ .... .... . . . .... .... ... ...................................... . . . . . . . . . .... ... ............. ................ ............. ... .............. ........ .... ......... ............ .................. ... 20 ........ ........... .... .......... ........... ......... ............................................................... . . . . . . . . . . . . . . . . . . . . .. ... ... ..... ...... .. ... ........... .................................................. ........... .... ...................... ............... .......... .......... ......... .... ............................................................................................. . . . . . . . . . . . . . . . . . . . . . . .. ... 10 ...... ........................................................................................................ ........... ............ .................... ... ....... ... ..... ................................................................................................................................................................................................................................................................................................................. .... .............................................................. ......................................................................... . ............ .................... ................................ ........ ...... ........ ........................................................................................................................ .... . . ............... ...................... . . . . 2 ............... ................................................................................................................................ ...................................... 0 ................................... .. . . .. ................ . . . ... 3 ..................... ........................................................................ .................. ............................................... ........................ . 10 . . . . ................... 4 .... .......................................... . . ........................ . . . . . . . 8 . . . 5 . ...................... .................. ........................... 6 .................... .................... . 6 . .................. 4 7 2
0 8
Abb. 15.25. Man kann sich davon u ¨berzeugen, dass dieser Wert mit dem exakten Integralwert I u ¨ bereinstimmt.
15.8.2.2
Gauß-Kubaturformeln f¨ ur Dreieckbereiche allgemeiner Lage
Analog zu den Gauß-Kubaturformeln f¨ ur Rechteck-Bereiche und f¨ ur Dreiecke mit achsenparallelen Katheten k¨ onnen (¨ ahnlich wie bei den Newton-Cotes-Formeln) auch solche f¨ ur Dreiecke allgemeiner Lage aufgestellt werden, jeweils abh¨angig vom Genauigkeitsgrad L. F¨ ur L = 1 beispielsweise ergeben sich die beiden folgenden Formeln, die zwar unterschiedliche Anzahlen von Funktionsauswertungen ben¨ otigen, aber beide von der Fehlerordnung O(h2max ) sind:
15.8 Kubaturformeln f¨ ur Dreieckbereiche
655
1. Ein-Punkt-Kubaturformel f¨ ur das Referenz-Dreieck R∆4 , y6
R
.......... ..... ........... ...... ..... ...... .... . . . . ...... ..... ...... ...... ..... . . . . ...... ... . . ...... . . .. ... . . . . ........ .... . . ............ . ... ........... . . . . . . . . . . . . . . ....... ... . . . . . . . . . . . . . . . . .... ............ ..... ........... ..... ............ ............ ..... 4 .... ............. ..............
r
Q
R∆
P x Abb. 15.26. die nur einen einzigen Knoten verwendet: C(f ; R∆4 ) = AP QR f
P+
1 1 a+ b . 3 3
2. Zwei-Punkt-Kubaturformel f¨ ur das Referenz-Dreieck R∆5 , y6
R
.... ..... ........... ..... ...... ...... ..... ...... ..... . . . . ...... .... . ...... . . ...... ... . . . ...... . ... . ...... . . . ... . . ...... . . ... ............ . . . . . . . . . . . . . . . ........ . .... . . . . . . . . . . . . ....... ... . . . . . . . . . . . . . . . . ........ ..... ........... ..... ............ ..... ........... 5 ..... ........... .............
r
r
Q
R∆
P x Abb. 15.27. die zwei Knoten verwendet: C(f ; R∆4 ) = AP QR
1 2
1 1 1 1 f P + a + b +f P + a + b . 6 2 2 6
F¨ ur L = 2 gelten dieselben Drei-Punkt-Formeln f¨ ur die Referenz-Dreiecke R∆2 und R∆3 , die in Abschnitt 15.8.2.1 aufgestellt wurden. Schließlich sei noch die Formel f¨ ur L = 5 mit dem Referenz-Dreieck R∆6 y6
R r
.......... ..... ........... ...... ..... ...... ..... ...... ..... . . . ...... . .... ...... . . . ...... ... . . . ...... . ... ...... . . . . ... . . ........... . . ... ............ . . . . . . . . . . . . . . . ... ........ . . . . . . . . . . . . . . ... ..... ............ .... ............ ..... ........... ..... ............ 6 .......................... . . . . . ..
r
r
r r R∆
r
r
Q
P x Abb. 15.28. genannt, eine Sieben-Punkt-Formel, die aus [ENGE1980] entnommen wurde:
656
15. Numerische Kubatur
C(f ; R∆6 )
(
1 1 270 f P + a + b 3 3 " ! √ √ √ 6 + 15 6 + 15 +(155 + 15) f P + a+ b 21 21 ! √ √ 9 − 2 15 6 + 15 +f P + a+ b 21 21 !# √ √ 6 + 15 9 − 2 15 +f P + a+ b 21 21 " ! √ √ √ 6 − 15 6 − 15 +(155 − 15) f P + a+ b 21 21 ! √ √ 9 + 2 15 6 − 15 +f P + a+ b 21 21 ! #) √ √ 6 − 15 9 + 2 15 +f P + a+ b 21 21 AP QR 1200
=
mit der Fehlerordnung O(h6max ). Beispiel 15.14. Gegeben: Die Funktion
Gesucht:
1 11 −3 (x−4)2 − 2 f (x, y) = −e 10
14 2 y− 3
Ein N¨aherungswert f¨ ur das Integral u ¨ ber die Funktion f mit der Sieben-PunktGauß-Formel u ber dem Dreieck P QR mit ¨ 1 7 4 P = , Q= , R= . 2 5 7 Graphisch veranschaulicht ist dies das Volumen zwischen den eingezeichneten Grund- und Deckfl¨ achen: .......... ................... ........ .. ................. ............................... ................ .. .. .............................. ...................................................................... ........ ......... .... .... ........................................................................................... . . . . . . . . . . . . . . . . . . ............................................... ...... .. . . ..... .......................... ...... .... ..................................................................... .......... ..... ........ .. .. ..... .. ......................................................... .. ........................................................................... ............ ........ .................. ........... .................................................................. ................................................................................................ ......... .... .... . .... .. ............................................................................. . .................................................................................................................................................................................................................... ............... .... .................................................................................................................................................... ....... .... .. ....... ... ... ...................... .... ................................. ..... .......... ............ .... .. ... ... ............. .......... ...... 1 ....... ......... .. .. ... .............. .. ..... ................. ......... .... ... .............. .. . ....... .......... ... .. .. ......... . . . . . .......... ... ......................... .. 0.8 ... ......... ... ... .. ......... . ........................ ... ....... . . ............ ....... ....... 0.6 ....... ...... .... ................ ............................. ....... ... .. ................................... ............ .. ... ..... ......................... ......... ......... ... . . ................................................................................... ............................ . 0.4 ... . . . . . . . . . . . ..... .................................................................................................................................................................................. . . . . . . . . . . ... . . . . ...... ............................................................................................................................. ............................. ........................................ . . . . . . 7 . ...... . . . . . . . . . . . . . . . . . . . . 0.2 ... .......................................................................................................................................... .......... .................................................................................................................. ........ . . . . . . . . . . . . . . . . . . . . . . . ...... .. ......... ............ .. ........................ .................... .. ... ......... . ..... ....... ... 6 ..... ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... .......... . . . . . . . . . . . . . . . 0 ..................... . ...... 5 ................ ...... ............... 1 ......... . .................. 2 ...... 4 ................ ...... . ............... . . 3 . . ...... ..................... 4 ...... 3 ................ ............... ............. 5 ....
R
Q
P
y
x
6
Abb. 15.29.
7
2
15.9 Entscheidungshilfen L¨osung:
657
Die Punkte, an denen die Funktion ausgewertet werden muss, sind (hier auf zwei Dezimalen gerundet): (4.00, 4.67), (5.23, 5.76), (2.77, 4.53), (1.91, 2.81), (6.08, 4.90),
(4.00, 3.71), (4.00, 6.29).
............. .......... ........ ......... .......................... .................................................................................... ............................................................................... . . . . . . . . . . . . . . . . . . ............................... ..... .................. .. . . ................................................. .................................................................. .......... ... ... .. .......... ................................................... .................................................................................. ........... ........ .. .. ...... ... ......................................................... .......................................................................................................... ...... .......... .... .................... ....................................................................................... .................................................................................................................... .......... ......... .. .. .................................................................................................. ... ................................................................................................................................................... ...................... .... .................................................................................................................... . ................................. ....... ........... ............... ...... ...... ...... .... .. ... ... ............ .......... ............. 1 ....... ...... ...... ...... .......... .. .. .... ................ . ..... ... ... ...... ...... ...... .................... ............ .... ... ............. ..... . ... ...... ... ......... .. ... ... .......... .... . . ...... ...... . . . . . . . . .. 0.8 .... ........ ...... ...... ........................ ..... ...... .......................... ....... ... ...... ...... ...... ...... ............................. ... .......... ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... .... 0.6 ... ..... ..... ............... ......................................................... .................. ...... . . .. ......... ....... ....................................................... ............ ...... ..... ..... . . . . .... . . . . . .. . ... . 0.4 ....... ........ ..... ..................................................................... ......... .............. ..... ............................................... ..... ................ .......... ...... .. ...... ................................................ ................................... ............... .......... ...... ...... . ...... ................................................................................................................................................................................................. ...................................................................................... ...... 7 . . . . . . . . . . . . . ...... . . . . . 0.2 ....... . . . . . . . . . . . . . .. .. ........ .. . .... .. ... .... .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ ................................................................................................................................................................................................................................................................................................................................................................... . . . . . . . . . . . . . . . . . . ... . . . . . . . . . 6 ............................................................................ ... .... .... .... ... .... .... .... ..................................................... .... 0 ................................................................................................................................................................................................................................. ..................... ................ 5 ..... ............... 1 ......... . .................. ...... 2 ................ 4 ...... ............... 3 ......... . ............... . . . . . 4 ............... ... 3 . ............... .......... 5 .............. 6
R
Q
P
y
x
7
2
Abb. 15.30. Damit und mit AP QR = 21/2 = 10.5 ergibt sich der N¨aherungswert √ C(f ; R∆6 ) = 7.945 384 282 − 0.333 509 406 2 15 =
15.9
7.932 467 518.
Entscheidungshilfen
Hier sind nur Kubaturformeln f¨ ur Rechteckbereiche und Bereiche, die sich aus Dreiecken zusammensetzen lassen, behandelt. Zu allen Formeln sind in der Programmbibliothek Programme zu finden. Die dort verwendete Fehlersch¨atzung verl¨auft analog zur Fehlersch¨atzung bei der Quadratur (vgl. Abschnitt 14.11). Wie bei der Quadratur sind bei gleicher Genauigkeitsforderung die optimalen GaußFormeln wegen der weitaus geringeren Anzahl erforderlicher Funktionsauswertungen allen anderen Formeln u ¨berlegen; der Integrand muss an beliebiger Stelle des Integrationsbereiches auswertbar sein. Sind nur an diskreten Knoten Funktionswerte gegeben, so sind die Newton-Cotes-Formeln einsetzbar. Das Romberg-Verfahren ist ebenfalls empfehlenswert, es ben¨otigt jedoch gegen¨ uber den Gauß-Formeln bei gleicher Genauigkeit weitaus mehr Funktionsauswertungen. Hier sollte mit nicht zu kleiner Anfangsschrittweite gearbeitet werden (Tests dazu in [KRAU1990]).
Erg¨ anzende Literatur zu Kapitel 15 [DAHM2008], 10.5; [KROM1994], Kap.5; [QUAR2002], Kap15.
Kapitel 16
Anfangswertprobleme bei gew¨ ohnlichen Differentialgleichungen
16.1
Problemstellung
Es wird ein Anfangswertproblem (AWP) aus n gew¨ohnlichen Differentialgleichungen (DGLen) erster Ordnung f¨ ur n Funktionen yr , r = 1(1)n, und n Anfangsbedingungen (ABen) der Form y0 = f (x, y ), x ∈ [x0 , β], (16.1) y (x0 ) = y0 betrachtet mit y =
y1 (x) y2 (x) .. .
,
f =
yn (x)
f1 (x, y1 , y2 , . . . , yn ) f2 (x, y1 , y2 , . . . , yn ) .. .
.
fn (x, y1 , y2 , . . . , yn )
Das Intervall I = [x0 ,β] heißt Integrationsintervall der Differentialgleichung. F¨ ur n = 1 ergibt sich das Anfangswertproblem y 0 = f (x, y), y(x0 ) = y0 .
x ∈ [x0 , β],
(16.2)
Existenz und Eindeutigkeit der L¨ osung F¨ ur das Anfangswertproblem (16.1) m¨ ussen folgende Voraussetzungen erf¨ ullt sein: (1) Die Funktionen fr , r = 1(1)n, seien stetig in einem Gebiet G des (x, y1 ,. . . ,yn )Raumes. e ) mit einer Lipschitz(2) F¨ ur die Funktionen fr gelte f¨ ur beliebige (x, y ), (x, y konstante L e )k ≤ Lky − y e k. kf (x, y ) − f (x, y e ⊂ G genau eine L¨osung y des AWPs zu den ABen Dann existiert in einem Gebiet G y (x0 ). Die Voraussetzung (2) ist insbesondere dann erf¨ ullt, wenn die fr in G beschr¨ankte G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9_16, © Springer-Verlag Berlin Heidelberg 2011
660
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
partielle Ableitungen nach den yk besitzen: ∂fr . L = max 1≤r,k≤n ∂yk (x,y )∈ G
Jedes AWP aus einer Differentialgleichung n-ter Ordnung f¨ ur eine Funktion y mit n Anfangsbedingungen der Form y (n) (x) = f (x, y, y 0 , . . . , y (n−1) ) AW P (n−1) y(x0 ) = y0 , y 0 (x0 ) = y00 , . . . , y (n−1) (x0 ) = y0 l¨asst sich durch die Substitution y (k) (x) =: yk+1 (x),
k = 0(1)n−1,
auf ein System (16.1) zur¨ uckf¨ uhren. Die zugeh¨ origen ABen lauten dann y (k) (x0 ) = yk+1 (x0 )
f¨ ur k = 0(1)n−1.
Damit lassen sich alle im Anschluss behandelten Verfahren zur L¨osung von AWPen 1.Ordnung auch auf AWPe f¨ ur DGLen n-ter Ordnung anwenden.
16.2
Prinzip der numerischen Verfahren
Das Integrationsintervall [x0 ,β] der DGL in (16.1) wird in ein Gitter x0 < x1 < x2 < . . . < xN = β
(16.3)
zerlegt mit lokalen Schrittweiten hi := xi+1 − xi > 0 f¨ ur i = 0(1)N−1. Gesucht sind an den diskreten Gitterpunkten xi N¨aherungswerte Yi f¨ ur die exakten L¨osungen y (xi ) Yi = Y (xi ) ≈ y (xi ) = yi . Es wird nun o. B. d. A. der Fall n = 1 betrachtet und (16.2) formal u ¨ ber [xi ,xi+1 ] integriert x x i+1 i+1 Z Z y 0 (x) dx = f x, y(x) dx, xi
und so erh¨alt man die Beziehung
xi x Zi+1
f x, y(x) dx,
y(xi+1 ) = y(xi ) +
i = 0(1)N−1.
(16.4)
xi
(F¨ ur n > 1 m¨ usste nur jeweils y durch y und f durch f ersetzt werden.) Die numerischen Verfahren zur L¨ osung des AWPs (16.1) bzw. (16.2) unterscheiden sich im Wesentlichen nur dadurch, welche Methode zur n¨aherungsweisen Berechnung des Integrals in (16.4) verwendet wird; dies ist dann entscheidend f¨ ur die G¨ ute des Verfahrens. Die Verfahren lassen sich einteilen in:
16.3 Einschrittverfahren
661
1. Einschrittverfahren (one-step methods), 2. Mehrschrittverfahren (multi-step methods), 3. Extrapolationsverfahren (extrapolation algorithms). Die Einschrittverfahren verwenden zur Berechnung eines weiteren N¨aherungswertes Yi+1 nur einen vorangehenden Wert Yi . Die Mehrschrittverfahren verwenden s + 1, s ≥ 1, vorangehende Werte Yi−s , Yi−s+1 ,..., Yi−1 , Yi zur Berechnung von Yi+1 . Das Extrapolationsverfahren stellt einen zum Verfahren von Romberg (Abschnitt 14.10) analogen Algorithmus f¨ ur die numerische L¨ osung von AWPen bei DGLen dar. Unter Ein- und Mehrschrittverfahren bilden außerdem die sogenannten PraediktorKorrektor-Verfahren eine spezielle Klasse. Es sind Verfahren, die einen N¨aherungswert (0) Yi+1 zun¨achst nach einem Einschrittverfahren oder Mehrschrittverfahren bestimmen; (0)
(0)
die Vorschrift zur Bestimmung von Yi+1 heißt Praediktor. Dieser Wert Yi+1 wird dann (1)
(2)
mit einem sogenannten Korrektor verbessert. Die Verbesserungen heißen Yi+1 , Yi+1 ,. . . . Die Differenz εi+1 := y (xi+1 ) − Y (xi+1 )
mit Y (xi+1 ) ≈ y (xi+1 )
ist unter der Annahme, dass Y (xi ) exakt ist, der lokale Verfahrensfehler am Gitterpunkt q xi+1 , der bei der Integration der DGL u ¨ ber [xi , xi+1 ] entsteht; O(hi 1 ) ist die Ordnung des lokalen Verfahrensfehlers. Die Differenz ei+1 := y (xi+1 ) − Y (xi+1 ) ist der globale Verfahrensfehler an dem Gitterpunkt xi+1 , der unter Ber¨ ucksichtigung alqg ler vorhergehenden Fehler bei der Integration der DGL u ) ¨ber [xo ,xi+1 ] entsteht, O(hmax ist die Ordnung des globalen Verfahrensfehlers, hmax die maximale lokale Schrittweite: hmax = max hi . Die globale Fehlerordnung qg eines Verfahrens wird sicher erreicht, 0≤i≤N −1
wenn die L¨osung y des AWPs (qg + 1)-mal stetig differenzierbar ist.
16.3
Einschrittverfahren
16.3.1
Das Polygonzugverfahren von Euler-Cauchy
Man berechnet das Integral in (16.4) nach der Rechteckregel x Zi+1
f (x) dx = hi f (xi ) + xi
h2i 0 f (ξi ), ξi ∈ [xi , xi+1 ], xi+1 = xi + hi , 2
662
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
und man erh¨alt so mit Y0 = y0 f¨ ur yi+1 = y(xi+1 ) die Darstellung yi+1
=
Yi+1 + εEC i+1
Yi+1
=
Yi + hi f (xi , Yi ) mit Yi = y(xi ), i = 0(1)N − 1,
=
h2i 00 2 y (ξi )
εEC i+1
mit
= O(h2i ) lokal, ξi ∈ [xi , xi+1 ].
(16.5)
Yi+1 ist der N¨aherungswert f¨ ur y(xi+1 ), und εEC i+1 ist der lokale Verfahrensfehler ; er bezieht sich auf einen einzelnen Euler-Cauchy(EC)-Schritt von xi nach xi+1 unter der Annahme, dass Yi = y(xi ) ist und y zweimal stetig differenzierbar. Die Fehler vorhergehender Schritte werden erst durch den globalen Verfahrensfehler eEC i+1 := yi+1 − Yi+1 = O(hmax ), i = 0(1)N − 1, hmax =
max (xi+1 − xi )
0≤i≤N −1
ber¨ ucksichtigt. F¨ ur Systeme (16.1) gilt dann mit (16.5) der
Algorithmus 16.1. (Euler-Cauchy-Verfahren) Zur L¨osung des AWPs (16.1) ist bei geeignet gew¨ahltem Gitter (16.3) und ausgehend von Y0 = y (x0 ) u ¨ber die Rekursion Yi+1 = Yi + hi f (xi , Yi ),
i = 0(1)N−1,
in jedem Gitterpunkt xi ein N¨ aherungswert Yi f¨ ur den exakten Wert y (xi ) zu berechnen. Die globale Fehlerordnung ist O(hmax ) mit hmax = max {hi }; es gilt 0≤i≤N −1
y (xi+1 ) = Yi+1 + O(hmax ), wenn y zweimal stetig differenzierbar ist. Zur geeigneten Gitterwahl bzw. Schrittweitensteuerung siehe Abschnitt 16.3.7.
f 6
.... .... .... .... ......... . . . . .......... ................. ..... ........ ..................... . . . . ............... ................. ....... . . . . . . . ...................... ............................................... . . . . . . . . . . ... ....................... .......................................... .................................................. ................................... ................................... .................. .................................................... ..... ..... .......... ... ..... ....... ... 0 .......... . 1 ...............2 ...............3 . . . . . . . . . . . . . . . . . . . . . . ...
f
f
h
x0 x1
f
. .... ..... . . . . .. .... ..... ......... ..... ........ ..... ................b. . . . . . ... .... (x3 ,Y 3) ....... ......... ........ ..b....... ................................ (x ,Y ) . . . . . . . . . 2 2 ................b...... .................................. ...............b......... (x1 ,Y 1) (x0 , y0 )
y6
f
x2 x3
x
x0
x1
Abb. 16.1. Zum Polygonzugverfahren
x2
x3
x
16.3 Einschrittverfahren
663
Geometrische Interpretation des Euler-Cauchy-Verfahrens f¨ ur n=1: y6
. .. .. y(x) .. . .. .. ... .. .... .... y(x1 ) ...•.... . . .. . ... .... ... ... . . . ... ... .. ... .. ... . ... . . . . . . . . ... ... . . . .. ............ . . . ...... . . . . . . .....• .. . . . . . . . . . ... .. ....... . (x1 , Y1 ) .... ....... .. .... ....... ... .... .................. . . .. . . .......... . .. . . . ......... . . . ... . ............ . . . . . . . .... . . . . . . . .. . . ....... . . . . . . . . ... . . ....... . . . . . . . . . . . y0 •...........................................................................................................• ................................................................................................ . . ....... ... . . . . . . . . . . . . . ... . ...... . . . . . . . . . . . . . . . . . . . . . . .... .. ... ... ............................ . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . ......................................................................................... ... .. ... .. .. .. ... .. .
• x0
h0
... .. .. .. ... .. .
• x1 = x0 + h0 x
Abb. 16.2. Euler-Cauchy-Verfahren f¨ ur n=1 Y1 − Y0 = Y00 = f (x0 , Y0 ) x1 − x0
Y0 = y 0 , ⇒ Y1
= Y0 + (x1 − x0 ) f (x0 , Y0 ) = Y0 + h0 f (x0 , Y0 ) ≈ y(x1 )
Y EC (x1 ) = Y1 ist N¨ aherungswert f¨ ur y(x1 ) an der Stelle x1 mit dem Euler-CauchyVerfahren.
Beispiel 16.2. Gegeben: Das Anfangswertproblem
y 0 = y · cos(x), x0 = −8 y0 = y(−8) = e sin(−8)
(exakte L¨ osung: y(x) = e sin(x) ) Gesucht:
L¨osung:
Die N¨aherungsl¨ osungen mit dem Euler-Cauchy-Verfahren (EC) f¨ ur h = 1 h = 20 bei x = −7 hi = h = const.
⇒ xi = x0 + ih = −8 + ih
Y0
=
y0 = e sin(−8) ,
Yi+1
=
Yi + h · Yi · cos(xi )
1 2
und
664
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
h=
1 2
:
Y1
= Y0 + 12 · Y0 cos(−8) = 0.344 765 66 = Y EC (−7.5) exakt ≈ y(x1 ) = y(−7.5) = 0.391 409 88 . . .
Y2
= Y1 + 12 · Y1 cos(−7.5) = 0.404 519 6 = Y EC (−7) exakt ≈ y(x2 ) = y(−7) = 0.518 411 . . .
Man erh¨alt mit h = 12 ein miserables Ergebnis (siehe auch Abb. 16.3, nicht akzeptabel). 1 F¨ ur h = 20 (Abb. 16.4) ist das Ergebnis etwas besser. y6
..... ..... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ..... .... .... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ..... ..... .... .... ... ... ... ... ... .... .... ..... ..... ... ... ..... ... ... ... ..... ..... .... ... ... ... ... ... ... .... .... ..... ..... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ............................ ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ... ......................... ... ........... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... .................... ..... ... ... ... ... ... ... ... .. .. ... ... ... ..... ..... ..... .... ... ... ... ... ................. ..... ................ ... ... ... ... .... ..... ..... ..... ..... ... ... ... ... ... ....... ..... ..... ....................... ... ... ... ... .... ..... ..... ..... ..... ... ... ... ... ... .......... ..... ..... ............. .... ... ... ... ... ... . . . . .. . .. . . ..... ..... ..... .... ... ... ... .............. ..... ..... ..... ............ ... ... ... ... .... ..... ..... ..... ..... ... ... ... ... .............. ..... ..... ..... ........ .... ... ... ... ..... ..... ..... ..... ..... ... ... ... ... .......... ..... ..... ..... ..... ....... ... ... ... ... . . . . . . . . .. . . . . . . . . . . . . . . . . . . . ..... ..... ..... ..... .... ... .... ........... ..... ................. ................ ....... .... .... .... ..... ..... ..... ..... ..... ..... .... ... ............... ..... ..... ..... ..... ..... .......... ... .... ... ..... ..... ..... ..... ..... ..... .... ... ............... ..... ..... ..... ..... ................ .... .... .... ... .. .. .. .. .. ... ... ..... ..... ..... ..... ..... ..... ........ ............... ..... ..... ..... ..... ..................... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ........... ..... ..... ..... ..... ..... ..... ................. ..... ..... ..... ..... ..... ..... ..... ..... ..... ................. ..... ..... ..... ..... ..... ..... .................. ..... ..... . . . . . . . .. .. .. . . . . .. ..... ..... ..... ..... ..... ............................ ..... .... ..... ..... ..... ..... ..................... ..... ..... ..... ..... .... ..... .....1..... ........ ..... ..... ..... .... ..... ..... ..... ..... ................... ..... ..... ..... ..... .... ..... ..... ..... ............. ..... ..... ..... ..... ..... ..... ..... ..... .................. ..... . . .... . . . . . . . . . . . . . . . . . . . . . . . . . ..... ..... ..... ................................ ..... ..... ..... ..... ..... ..... ..... ................................... ..... ..... ..... ..... ................... ..... ..... ..... ..................................................................... ..... ..................... ..... ..... ..... ..... ..... .................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ................... ..... ...... ..... ...... ..... ...... ....... ...... ...... .......................................................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ............................................................................... ..... ....................................... ..... ..... ..... ..... ..... ............................ ..... .............................................................. ..... ..... ..... ..... ........................................................................ ..... ..... ..... . ........................................... ...................... . . . . . . . .. ........ ............ ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....................................................................................... ..... ..... ..... ..... ..... ..... ................. ............................ ... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ................ ..... ..... ..... ..... . . 1..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 1 . . . . . . ..... ..... ..... ..... ..... ..... .... .... ..... ..... ..... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... ..... . . . . . . . . . . ... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ..... .... .... .... .... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ..... .... .... .... .... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ... .... ..... ..... ..... ..... ..... .... .... .... ... ... .... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... .... .... ... ... ... .... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... .... .... ... ... ... .... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ... .... ..... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ... .... ..... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ...
Exakte L¨osung
1
−8
1
x
L¨ osung mit Euler-Cauchy (h = 0.5)
Abb. 16.3. Exakte und berechnete L¨ osung mit h =
1 2
im Richtungsfeld
y6
..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ..... .... ... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... .... .... ..... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ..... ..... ..... .... ... ... ... ... ... .... ..... ..... ..... ... ... ...... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..... ..... ..... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... .... ......................................... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... .......................... ... .......... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..................... ..... ... ... ... ... ... .. .. .. .. .... ....... .. ... ..... .... .... .... ... ... ... ... ...................... ..... ........................ ... ... ... ... .... ..... ..... ..... .... ... ... ... ... ... ................................................................. ... ... ... ... .... ..... ..... ..... .... ... ... ... ... ... .......... .... ..... ............. .... ... ... ... ... .... . ..... . ....... ......... . . .. .................... ... . . . . . . ..... ..... ..... .... ... ... ... ................... ..... ..... ..... ............... ... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ................ ..... ..... ................ .... ... ... ... ..... ..... ..... ..... ..... .... ... ... ... .......... .................... ................ ....... ... ... ... ... ..... .... .. .. ..... .. .. .. .. ..... ..... .... .... .... ... .... ............. .... ..... ..... ..... ..... ......... .... .... .... ..... ..... ..... ..... .... .... ... ... ... ............. .... ..... ..... ..... ....................... ... .... ... ..... ..... ..... ..... .... ..... .... .... ........................ ..... ..... ..... .................. .... .... .... ...... ... .. .. .... .. .. ...... ..... ..... .... ..... ..... ..... .............. ..... ..... ..... ..... ..... ..... ..................... ..... ..... ..... ..... ..... ..... .... ..... ..... .... ..................... .... ..... ..... ..... ..... ....................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ............................ .... ..... ..... ..... ............................. ..... ..... ..... . .... ..... .... .... . . . . .... .. . . . . . . . . ..... ..... ..... ..... ..... ............. ..... ..... ..... ..... ..... ..... ..... ..... .................. ..... ..... ..... ..... ..... ..... .....1..... ................. ..... ..... ..... ..... ..... ..... ..... ................... ..... ..... ..... ..... ..... ..... ..... ..... ...................... ..... ..... ..... ..... ..... ......................................... ..... ...... ..... ... ... .... ... ... . ...... ..... ..... ..... .................. .... .... .... ..... ..... ..... ..... ..... ..... ..... ........................... ..... ..... ..... ..... ................................ .... .... ..... ..... ..... ..... ..... ..... ..... ................................. ..... ..... ..... ..... ..... ................................. .... .... ..... ..... ..... ..... ........ ..... ................................ . . . . . . ....... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .............................................. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ............................................................................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ............................................................................................................................... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... .. . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... . ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... .... ... ... ... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... .... .... .... ..... 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 1 ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .............. ..... ..... ..... ..... ..... . . . . . . . . . . . . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... .... .... .... .... .... .... ..... ..... ..... ..... .... ... .... ..... ..... ..... ..... ..... .... ... ... ... .... .... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... .... ... ... ... ... .... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... .... .... ... ... .... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... ..... ... ... ... ... .... ..... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... .... .... ... ... ... ..... ..... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ...
Exakte L¨osung
1
−8
1
x
L¨ osung mit Euler-Cauchy (h = 0.05)
Abb. 16.4. Exakte und berechnete L¨ osung mit h =
16.3.2
1 20
im Richtungsfeld
Das verbesserte Euler-Cauchy-Verfahren
Das verbesserte Euler-Cauchy-Verfahren f¨ ur ein AWP (16.1) und das Gitter (16.3) benutzt zur Berechnung von Yi+1 das Richtungsfeld in (xi +hi /2, Yi+1/2 ) und erzielt damit eine wesentlich bessere Anpassung der L¨ osung an das Richtungsfeld der Differentialgleichung. Unter dem Richtungsfeld einer DGL y 0 = f (x, y) versteht man die Gesamtheit
16.3 Einschrittverfahren
665
aller Linienelemente der Form x, y, f (x, y) , d. h. aller Punkte (x, y) mit der an dieser Stelle durch die DGL gegebenen Steigung y 0 = f (x, y).
Algorithmus 16.3. (Verbessertes Euler-Cauchy-Verfahren) Zur L¨osung des AWPs (16.1) ist bei geeignet gew¨ahltem Gitter (16.3) und ausgehend von Y0 = y (x0 ) u ¨ber die Rekursion Yi+1 = Yi + hi f xi + (hi /2), Yi+1/2 = Yi + hi f xi + (hi /2), Yi + (hi /2)f (xi , Yi ) , i = 0(1)N−1, in jedem Gitterpunkt xi ein N¨ aherungswert Yi f¨ ur y (xi ) zu berechnen. Die lokale Fehlerordnung ist O(h3i ), die globale Fehlerordnung ist O(h2max ) mit hmax := max (xi+1 − xi ), sofern y dreimal stetig differenzierbar ist; es gilt somit y (xi+1 ) = 0≤i≤N−1
Yi+1 + O(h2max ). Zur geeigneten Schrittweitensteuerung siehe Abschnitt 16.3.7.
Geometrische Interpretation f¨ ur n=1: y6
.. ... ... y(x) .. . ... .. ... ... ... .... ...... . ................ .......... Y1 •.... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ...........• ...... .... .... ... ... . .... ...... .. (x1 , Y1 ) = ........ ... ....... . ........ . . . .. ..... ... ..... ..... . . ... . ... ... . . . ... ..... ... ..... ...... . ... . . . .. ... . . . . . .. . . . . . .. ..... ... ... ...... ...... ..... . . . .. . ..... ... . . . . . . ... .... ......... .. ... . . . ... ..... ...... .. ..... ......... .. . ............... . ... . . .............. ... Y1/2 •.... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ................... ..............................• .. . .. h0 ..... ......................... .. . . . .. .............. .... . (x0 + 2 , Y1/2 ) . . . . . . .... .......... .... ... ... .... ........... .... .. .............. .. .. Y0 •.... .... .... .... .... .... .... .... .... .... .... .... .... .... .... (x .... ...0 . ,....Y ....0..) .. ............ .... ... ... ...............• . . . . . . . . . . . . . ....... ...... ... . . . . . . . . . . . . . . . ... . . . ................. ....... . . . . . . . . . . . .. . . . . ............. ...... .... ..................... . . .... . . . . . ..................................................................................................... . . ... . .... . . . . . . ... . . . . ..... .. .. .. . . . ..... h0 h0 ... ... ... ... . ... 2 2 .. . .. .. . . • • •.. h x0 x0 + 20 x1 = x0 + h0
(x1 , YhvEC ) 0
x
Man benutzt f¨ ur den Integrationsschritt von x0 nach x1 die Steigung an der Stelle x0 + h20 und erh¨alt Y1 Y1/2 Y vEC (x1 )
= Y0 + h 0 f
h0 h0 f (x0 , Y0 ) mit EC zur Schrittweite ⇒ 2 2 h0 h0 Y1 = Y0 + h0 f x0 + , Y0 + f (x0 , Y0 ) ≈ y(x1 ) 2 2
= Y0 + =
h0 x0 + , Y1/2 2
666
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Beispiel 16.4. Gegeben: Das Anfangswertproblem
y 0 = y · cos(x), x0 = −8 y0 = y(−8) = e sin(−8)
(exakte L¨ osung: y(x) = e sin(x) ) Gesucht:
Die N¨aherungsl¨ osungen mit dem verbesserten Euler-Cauchy-Verfahren (vEC) 1 f¨ ur h = 12 und h = 20 bei x = −7
L¨osung:
h=
1 2
hi
=
h = const.
Y0
=
y0 = e sin(−8) ,
Yi+1
=
Yi + h Yi +
: Y1
= Y0 +
1 2
h 2
· Yi · cos(xi ) cos xi + h2
Y0 + 14 Y0 cos(−8) cos(−7.75) = Y vEC (−7.5) exakt
= 0.390 409 ≈ y(−7.5) = 0.391 409 88 . . . Y2
exakt
= 0.510 878 1 . . . = Y vEC (−7) ≈ y(−7) = 0.518 411 . . .
1 F¨ ur h = 12 (Abb. 16.5) ist hier die L¨ osung schon brauchbar, mit h = 20 (Abb. 16.6) erkennt man kaum einen Unterschied zur exakten L¨osung. Die h¨ohere Fehlerordnung zahlt sich voll aus.
y6
..... ..... ... ... .. .. .. .. ... ..... ..... .... ... ... ... ... ... ... .... ..... ..... ... .. .. .. .. .. ... ..... ..... ... ... ... ... ... ... ... .... ..... ..... ... .. .. .. .. .. ... ..... ..... ... ... ... ... ... ... . . . . . . . . . . . . . . ..... .... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ... .... ..... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ..... ..... ..... .... ... ... ... ... ... .... ..... ..... ..... ... ... ...... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..... ..... ..... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ............................. ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... .................................. ... ............ ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ..... ............................ ..... ... ... ... ... ... ............. ..... ....... ...... ...... ....... ... ..... ..... ..... ... ... ... ... ... ..................... ..... ........................ ... ... ... ... .... ..... ..... ..... ..... ... ... ... ... ... ...................... ..... ............................ ... ... ... ... .... ..... ..... ..... ..... ... ... ... ... ... ............... ..... ..... ................. .... ... ... ... ... .... ...... ..... .... .... ..... ..... ..... ..... .... ... ... ... ........................ ..... ..... ..... .............. ... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ..................... ..... ..... ..... ............. .... ... ... ... ..... ..... ..... ..... ..... .... ... ... ... ..................... ..... ..... ..... ........... ... ... ... ... . . . . . . . .... . . . .. .. ... .. .. ..... .... ..... ..... ... ... ... ................ ..... ..... ..... ..... .................. .... .... .... ..... ..... ..... .... ..... ..... ... ... .................... ..... .... ..... ..... ...................... ... .... ... ..... ..... ..... ..... ..... ..... ... ... ............... ..... .... ..... ..... .................... .... .... .... . .... . . . . . . . . . . . . . . . . . . . . . ..... ..... ..... ..... ..... ..... .............. ..... ..... ..... ..... ..... ..... ........................ ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ............ ..... ..... ..... ..... ..... ..... ................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........... ..... ..... ..... ..... ..... ..... ...................... ..... ..... ... ..... .. . ... .. ... ..... ..... ..... ..... ..... ............... ..... ..... ..... ..... ..... ..... ..... .................... ..... ..... ..... ..... ..... ..... .....1..... ........ ..... ..... ..... ..... ..... ..... ..... ..... ..................... ..... ..... ..... ..... ..... ..... ..... ..... ............ ..... ..... ..... ..... ..... ..... .............. ................... ..... . . . . . . . . ... ... .. ... . . ..... ..... ..... .................. .... .... .... ..... ..... ..... ..... ..... ..... ..... .................. ..... ..... ..... ..... ..... ........................ .... .... .... ..... ..... ..... ..... ..... ..... ..... ...................... ..... ..... ..... ..... ..... ....................... .... .... .... ..... ..... ..... ..... ........ ..... ..... ...................... ....... ........ ........ ...... ....... .. ................................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ......................................................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ............................................................. ..... ..... ..... ..... ..... ..... ..... ..... ............. ..... ..... ..... ..... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... .. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... ..... .... .... ..... . 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 1 . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ............. ..... ..... ..... ..... ..... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ..... ..... .... .... ..... ..... .... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... .... ..... ..... .... .... ..... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... .... ..... ..... ..... ..... ..... .... ... .... ..... ..... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... .... ... .... ... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... .... ... ... ... .... ..... ..... ..... .... ..... ... ... ... ... .... .... ..... ..... ..... .... ... ... ... .... ..... ..... ..... .... .... ... ... ... ... ..... .... ..... ..... ..... .... ... ... ... .... ..... ..... ..... .... .... ... ... ... ...
Exakte L¨osung
1
−8
1
L¨ osung mit verb. Euler-Cauchy (h = 0.5)
Abb. 16.5. Exakte und berechnete L¨ osung mit h =
1 2
im Richtungsfeld
x
16.3 Einschrittverfahren
667 y6
..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ... ..... .... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... ... .... ..... .... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ... .... ..... ... ... ... ... ... ... ..... .... ... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..... ..... ... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ... .... ..... ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... ..... ..... ..... ... ... ... ... ... ... ..... ..... ..... .... ... ... ... ... ... .... ..... ..... ..... ... ... ...... ... ... ... ..... ..... ..... ... ... ... ... ... ... .... ..... ..... ..... ... ... ... ... ... ... ..... .... ..... ... ... ... ... ... ... ................................ ... ... ... ... ... ... ..... ..... .... ... ... ... ... ... ... .... ............................. ... ............ ... ... ... ... ..... ..... .... .... ... ... ... ... ... ..... ......................... ..... ... ... ... ... ... ... ... ... .. ... ... ... ..... ..... ..... ... ... ... ... ... ............. .... ..... ................ ... ... ... ... .... ..... ..... ..... ..... ... ... ... ... ... ....... ..... ..... ....................... ... ... ... ... .... ..... ..... .... ..... ... ... ... ... ... ........ ..... ..... ............. .... ... ... ... ... .. .. .. .. .. ... ..... ..... ..... .... ... ... ... ................ ..... ..... ..... ............. ... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ................ ..... ..... ..... ........ .... ... ... ... ..... ..... ..... ..... ..... .... ... ... ... .......... ..... ..... ..... ..... ....... ... ... ... ... .. .. .. . . .. ..... .... ..... ..... .... ... .... ........... ..... .... ..... ..... ..... ....... .... .... .... ..... ..... ..... .... ..... ..... ... ... ............... ..... .... ..... ..... ..... ........... ... .... ... ..... ..... ..... .... ..... ..... .... .... ............... ..... .... ..... ..... ................ .... .... .... . . . . . .. . . . . . . . ..... ..... ..... .... .... .... ...... .... ..... ..... ..... ..... ..... .................. ..... ..... ..... ..... ..... ..... ..... .... .... .... ............ .... ..... ..... ..... ..... ..... ................. ..... ..... ..... ..... ..... ..... ..... .... .... ................ .... ..... ..... ..... ..... ..... ..................... ..... ..... . .... .... . .. . . . . .. .. . . . . . . ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... ..... ..... ..... ..... ................. ..... ..... ..... ..... ..... ..... .....1..... ....... ..... ..... ..... ..... ..... ..... ..... ..... ................. ..... ..... ..... ..... ..... ..... ..... .............. ..... ..... ..... ..... ..... ..... ......... ..... ................... ..... ... ... ... .. .. ... ..... ..... ..... .................... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ....................... ..... ..... ..... ..... ........................ .... .... ..... ..... ..... ..... ..... ..... ..... ..... ....................... ..... ..... ..... ..... ..... ........................ .... .... ..... ..... ..... ..... ..... ......... ..... ..... ....................... ......... ......... . ....... ........ .......... ............................................. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..................................................................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........................................................................ ..... ..... ..... ..... ..... ..... ..... ..... ............. ..... ..... ..... ..... .. . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ....... ..... ..... ..... ..... ..... . ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... .... ... ... ... ... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... .... .... .... .... .... .... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ........ .... .... .... .... .... 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... 1 ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .............. ..... ..... ..... ..... ..... . . . . . . . . . . . . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .... ... .... ..... ..... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... .... ... .... ... ..... ..... ..... ..... ..... ..... .... .... .... ..... ..... ..... ..... ..... ..... .... .... .... .... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... ..... ... ... ... ... .... ..... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... .... .... ... ... ... ..... ..... ..... ..... ..... .... ... ... ... .... ..... ..... ..... ..... .... ... ... ... ...
Exakte L¨osung
1
−8
1
x
L¨ osung mit verb. Euler-Cauchy (h = 0.05)
Abb. 16.6. Exakte und berechnete L¨ osung mit h =
1 20
im Richtungsfeld
Beispiel 16.5. (Einfluss von Rundungsfehlern) Gegeben: Das Anfangswertproblem 0 y = −200 x y 2 , x ∈ [−1, 0], x0 = −1 1 y0 = y(−1) = 101 1 (exakte L¨ osung: y(x) = , vgl. [LUTH1987]) 100x2 + 1 Gesucht:
N¨aherungswerte f¨ ur die exakte L¨ osung y(0) = 1 des AWPs mit dem EulerCauchy-Verfahren (EC) und dem verbesserten Euler-Cauchy-Verfahren zu unterschiedlichen Schrittweiten h
L¨osung: EC-Verfahren Schrittweite h
Verbessertes EC-Verfahren
7-stellig
14-stellig
7-stellig
14-stellig
0.1
0.083 039 9
0.083 039 84
0.279 906 3
0.279 904 85
0.01
0.333 035 2
0.333 026 77
0.945 578 0
0.945 504 74
0.001
0.810 558 4
0.809 808 87
1.000 511
0.998 378 79
0.0001
0.967 101 2
0.976 517 01
0.989 999 0
0.999 937 . . .
0.00001
0.885 923 3
0.987 594 94
0.887 738 1
0.999 998 94
0.000001
0.444 997 0
0.999 758 85
0.445 038 7
0.999 999 94
Interpretation: 1. Mit EC 7-stellig erh¨ alt man total unbrauchbare Ergebnisse. 2. Verbessertes EC 7-stellig: Ab h = 0.00001 wird der Rundungsfehler dominant, und die L¨osungen entfernen sich wieder von der gesuchten L¨osung y(0) = 1. Dass dies durch Rundungsfehler kommt, sieht man an der 14-stelligen Rechnung. Dort n¨ahern sich die L¨osungen recht gut der 1, die theoretisch u usste. ¨berall herauskommen m¨
668
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Beispiel 16.6. (Zum EC-Verfahren und verbesserten EC-Verfahren f¨ ur Systeme) Dies ist ein Beispiel f¨ ur eine Differentialgleichung 2. Ordnung. Bekanntlich (siehe Abschnitt 16.1) l¨asst sich jede DGL n-ter Ordnung mit n Anfangsbedingungen in ein System von n DGLen 1. Ordnung u uhren. ¨berf¨ 00 y − 2y 0 − 3y = sin x, x0 = 0 AW P y(0) = 0, y 0 (0) = 0.85 Substitution: y1 y10 y20 oder 0 y1 y20
y2 = y 0 ⇒ y2 2y2 + 3y1 + sin x
= = =
y,
=
y2 2y2 + 3y1 + sin x
= f1 (x, y1 , y2 ) = f2 (x, y1 , y2 )
=
f1 (x, y1 , y2 ) f2 (x, y1 , y2 )
EC mit h = 12 :
Y1 (0) Y2 (0)
Y0
=
Y1
= Y0 + hf (x0 , Y0 ) 1 0 Y2 (0) 0.425 y1 (0.5) = + = ≈ 0.85 2Y2 (0) + 3Y1 (0) + sin 0 1.700 y2 (0.5) 2 1.27500 y1 (1) = Y1 + hf (x1 , Y1 ) = ≈ 4.27721 y2 (1)
Y2
=
0 0.85
(x0 = 0)
.. . Die gesuchte L¨osung der DGL 2. Ordnung ist dann jeweils die 1. Komponente des L¨osungsvektors des Systems von zwei DGLen 1. Ordnung.
x 0 0.5 1.0 1.5
y exakt (x) 0 0.851 570 . . . 4.531 891 . . . 21.111 336 . . .
x 0 0.5 1.0 1.5
y exakt (x) 0 0.851 570 . . . 4.531 891 . . . 21.111 336 . . .
EC Yh=0.5 (x) 0 0.425 000 1.275 000 3.413 606
EC Yh=0.1 (x) 0 0.674 508 3.034 043 11.855 620
EC Yh=0.01 (x) 0 0.828 816 4.325 414 19.736 552
vEC Yh=0.5 (x) 0 0.637 500 2.862 079 10.887 899
vEC Yh=0.1 (x) 0 0.832 131 4.361 665 19.980 862
vEC Yh=0.01 (x) 0 0.851 331 4.529 778 21.097 173
16.3 Einschrittverfahren
16.3.3
669
Praediktor-Korrektor-Verfahren von Heun
Unter Verwendung der Sehnentrapezformel zur Berechnung des Integrals in (16.4) erh¨alt man f¨ ur Yi+1 eine implizite Gleichung, die iterativ gel¨ost werden muss. Ein Startwert (0) f¨ ur die Iteration Yi+1 wird mit dem Euler-Cauchy-Verfahren ermittelt. F¨ ur das Gitter (16.3) ergibt sich das Verfahren von Heun f¨ ur n=1: Ausgehend von Y0 = y(x0 ) werden f¨ ur jedes i = 0(1)N−1 berechnet: (0)
Praediktor: Yi+1 = Yi + hi f (xi , Yi ), (ν+1)
Korrektor : Yi+1
= Yi +
hi 2
(ν) f (xi , Yi ) + f (xi+1 , Yi+1 ) , ν = 0, 1, 2 . . .
F¨ ur den lokalen Verfahrensfehler gilt h3i 000 y (ξi ), ξi ∈ [xi , xi+1 ], 12 sofern die L¨osung y dreimal stetig differenzierbar ist. εH i+1 = −
(ν+1)
Da sich nicht Yi+1 , sondern nur Yi+1
ergibt, entsteht zus¨atzlich ein Iterationsfehler (ν+1)
H δi+1 := Yi+1 − Yi+1
.
Damit folgt f¨ ur den eigentlichen lokalen Verfahrensfehler (ν+1)
H Ei+1,ν := yi+1 − Yi+1
H = εH i+1 + δi+1,ν .
H F¨ ur |Ei+1,ν | gilt unter der Voraussetzung K = hi Li < 1 die Absch¨atzung ν+1 hi Li ν+1 2 1 − hi Li + hi2Li h3i 000 hi 00 H 2 |Ei+1,ν | ≤ |y (ξ1 )| + |y (ξ2 )|, 1 − h i Li 12 1 − hi Li 2
ξ1 , ξ2 ∈ [xi , xi+1 ], so dass bereits f¨ ur ν = 0 gilt H Ei+1,0 = O(h3i ),
sofern y dreimal stetig differenzierbar ist; Li sind die lokalen Lipschitzkonstanten f¨ ur x ∈ [xi , xi+1 ]. Die lokale Fehlerordnung des Korrektors wird schon nach einem Iterationsschritt erreicht; die Iteration muss nicht zum Stehen kommen. Die Erfahrung zeigt, dass bei hinreichend H kleiner Schrittweite hi h¨ ochstens zwei Iterationsschritte ausreichen, damit auch |Ei+1,ν | H im Wesentlichen gleich |εi+1 | ist. Um sicher zu gehen, w¨ahlt man deshalb die lokalen Schrittweiten hi so, dass gilt 0.05 ≤ K = hi Li ≤ 0.20. F¨ ur den globalen Verfahrensfehler eH ucki+1 , der die Fehler vorangehender Schritte ber¨ sichtigt, gilt 2 eH i+1 := yi+1 − Yi+1 = O(hmax ), hmax =
max
0≤i≤N−1
hi , hi = xi+1 − xi .
670
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Algorithmus 16.7. (Verfahren von Heun) Zur L¨osung des AWPs (16.1) sind bei geeignet gew¨ahltem Gitter (16.3) und ausgehend von Y0 = y (x0 ) f¨ ur jedes i = 0(1)N−1 folgende Schritte durchzuf¨ uhren: (0)
1. Yi+1 = Yi + hi f (xi , Yi ) (ν+1)
2. F¨ ur ν = 0,1: Yi+1
(Praediktor)
(ν) = Yi + h2i f (xi , Yi ) + f (xi+1 , Yi+1 )
(Korrektor)
Die lokalen Schrittweiten hi sind so zu w¨ ahlen, dass f¨ ur die Schrittkennzahl K = hi Li ≤ 0.20 gilt. Man setzt f¨ ur jedes i dann nach der Iteration (2)
Yi+1 =: Yi+1 . F¨ ur den globalen Verfahrensfehler gilt H ei+1 = O(h2max )
mit hmax =
max
0≤i≤N−1
hi , hi = xi+1 − xi und y dreimal stetig differenzierbar.
Beispiel 16.8. Gegeben:
Das Anfangswertproblem y 0 = y, x0 = 0 y0 = y(0) = 1
Gesucht:
Die N¨ aherungsl¨ osung mit dem Verfahren von Heun mit der Schrittweite h = 0.1 bei x1 = 0.1 und x2 = 0.2
L¨osung: (0)
=
Yi + h f (xi , Yi ) = Yi + h Yi = 1.1 Yi
(ν+1)
=
Yi +
=
Yi +
Praediktor:
Yi+1
Korrektor:
Yi+1
(ν) h 2 f (xi , Yi ) + f (xi+1 , Yi+1 (ν) (ν) 0.1 2 Yi + Yi+1 = 1.05 Yi + 0.05 Yi+1
Konvergenz des Korrektors: Wegen fy = 1 ist die Bedingung h | fy | < 1 f¨ ur h = 0.1 immer erf¨ ullt. Wegen 0.05 ≤ K = h L = 0.1 < 0.2 liegt auch die Gr¨oße der Schrittkennzahl in dem gew¨ unschten Bereich. Die zu erwartende Genauigkeit ist wegen y 000 (0) = y 00 (0) = y(0) = 1, L = 1, h = 0.1 f¨ ur ν=0:
H | Ei+1 |
≈
0.95 0.9
ν=1:
H | Ei+1 |
≈
0.9025 0.9
·
h3 000 12 y (0)
·
+
h3 000 y (0) 12
0.1 h2 00 2·0.9 2 y (0)
+
0.01 h2 00 y (0) 4·0.9 2
≈ 3.66 · 10−4
≈ 4 · 10−4 ,
≈ 0.975 · 10−4
≈ 1 · 10−4 ,
d. h. man kann nach einem Iterationsschritt etwa drei genaue Dezimalstellen erwarten.
16.3 Einschrittverfahren
671
Bei Rundung auf 6-stellige Mantisse erh¨ alt man: i=0: 1. Schritt: 2. Schritt:
Berechnung von Y (x1 ) = Y1 ≈ y(x1 ), x1 = 0.1 (0) Y1 = 1.1 (1) Y1 = 1.05 · 0.05 · 1.1 = 1.10500 (2) Y1 = 1.05 · 0.05 · 1.105 = 1.10525 = Y1
(exakter Wert y(0) = e0.1 = 1.10517). Es w¨ urde ein Iterationsschritt gen¨ ugen, da die folgenden Schritte nach der vorgenommenen Absch¨ atzung der zu erwartenden Genauigkeit (1) die in Y1 auftretenden ersten drei Dezimalen nicht mehr beeinflussen k¨onnen. i=1: 1. Schritt: 2. Schritt:
Berechnung von Y (x2 ) = Y2 ≈ y(x2 ), x2 = 0.2 (0) Y2 = 1.1 · 1.10525 = 1.21578 (1) Y2 = 1.05 · 1.10525 + 0.05 · 1.21578 = 1.22130 = Y2
(exakter Wert y(0.2) = e0.2 = 1.22140). Bei fortschreitender Rechnung von St¨ utzstelle zu St¨ utzstelle muss man einen allm¨ahlichen Verlust an Genauigkeit erwarten, was sich bereits bei i = 0, i = 1 im Vergleich mit der exakten L¨osung zeigt. Beispiel 16.9. Gegeben: Das Anfangswertproblem y 0 = 3y · cos(x) , x ∈ [−12, 12] 2 sin(x) + 4 y(−12) = sin(−12) + 2 32 3 exakte L¨ osung: y(x) = sin(x) + 2 2 Gesucht:
Die N¨aherungsl¨ osung mit dem Verfahren von Heun f¨ ur h =
L¨osung: x
y(x)
Heun Yh=0.5
−12.0 −11.5 −11.0 −10.5 −10.0 −9.5 −9.0 −8.5 −8.0 −7.5 −7.0 −6.5 −6.0 −5.5
4.0399038 4.8759498 5.1961270 4.8867476 4.0577106 2.9893350 2.0009081 1.3170208 1.0160050 1.0944270 1.5563975 2.3845890 3.4414007 4.4502152
4.0399038 4.8620615 5.1715453 4.8538019 4.0272477 2.9829558 2.0348956 1.3792356 1.0736080 1.1328661 1.5683829 2.3558197 3.3640259 4.3302409
Heun |y − Yh=0.5 |
0.0000000 0.0138882 0.0245817 0.0329457 0.0304629 0.0063792 0.0339875 0.0622148 0.0576030 0.0384391 0.0119854 0.0287693 0.0773749 0.1199743
1 2
672
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen x
y(x)
Heun Yh=0.5
−5.0 −4.5 −4.0 −3.5 −3.0 −2.5 −2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 12.0
5.0898007 5.1378834 4.5772905 3.6042829 2.5344109 1.6592148 1.1390938 1.0037599 1.2469825 1.8750443 2.8284271 3.9041510 4.7897720 5.1896456 4.9622905 4.1886792 3.1330081 2.1179544 1.3861499 1.0338935 1.0622420 1.4727627 2.2569088 3.2968249 4.3309587 5.0359068 5.1685289 4.6814993 3.7462603 2.6705146 1.7568416 1.1857796 1.0000147 1.1925234 1.7703398
4.9418318 4.9788603 4.4274983 3.4900486 2.4799190 1.6653838 1.1722703 1.0266871 1.2429113 1.8233717 2.7078660 3.7097855 4.5369353 4.9063207 4.6819058 3.9475294 2.9649377 2.0384507 1.3736462 1.0384889 1.0479042 1.4140720 2.1218042 3.0634430 4.0036572 4.6444944 4.7577107 4.3010770 3.4431611 2.4760381 1.6678284 1.1566599 0.9738551 1.1329449 1.6394868
Heun |y − Yh=0.5 |
0.1479688 0.1590231 0.1497923 0.1142343 0.0544919 0.0061690 0.0331765 0.0229272 0.0040712 0.0516726 0.1205612 0.1943655 0.2528367 0.2833249 0.2803847 0.2411498 0.1680704 0.0795037 0.0125036 0.0045955 0.0143378 0.0586908 0.1351046 0.2333820 0.3273015 0.3914124 0.4108182 0.3804224 0.3030993 0.1944766 0.0890133 0.0291197 0.0261596 0.0595784 0.1308530
y 6
.. . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. .. ..... .. ... ... ... ... .. .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. .. ..... .. ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... ...... .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . ... ... ..... ... ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... .... ... ... ... ... ... ..... ... ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... ...... ... ... .. . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ..... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. .. ...... ... ... ...... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... ...... .. .. . . . . . . . . . .. . . . . . . . . . . . . . . . . . ... .... ..... ..... ... ... ... ... ..... ... ... ... ... ... ..... ..... ... ... ... ... ... ..... ... ... ... ... ... ..... ..... ........ ... ... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ...... ... ... .............. . . . . . .............. .... . . . . ............... . . . . . ..................... . . . . . ... ...................................... ... ... ... ... .... ... ... ... ... ............................................... ... ... ... ... ..... ... ... ... ... .............................................. ... ... ... ... ... ... ... ... ... ......... .................. ... ... ... ... ...... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . . .. .. .. ... . . . . .. . .. . . . .. . . .............. ..... ............... ... ... ... .... ... ... ... ... .......... .... .... ........... ... ... ... ... ..... ... ... ... .............. ..... .................. ... ... ... .. ... ... ... ... ................... ..... ................ ... ... ... ... ...... ... ... ....... . . . . ... .. . . . . . . . ..... . . . .. . . .... . . . . . . . . .... . . ...... . . . . . . . . .. ... . .. .... ..... .... ..... ... ... ... .... .. .. .. .. .......... ..... ..... .. ............ ... ... ... ..... .. .. .. ......... .... ...... .... ........... ... ... ... .... .. .. .. .. ....... .... ..... ................. ... ... ... ...... .. .. . . . ..... . . . . . . .... . . . . .... . . . . .... . . . . . ... . . . . . . .... . . . . . . . ..... . . ... .... ..... .... ... ........ ... ... .... ... ... ... ........ ... ..... ..... .... ........ ... ... ... ..... ... ... ... ........... .... ...... .... ............... ... ... .... ... ... ... ............ ... .... ..... .... ............. ... ... ... ...... ... ... . . . ... . . . ... . . . . .... . . . . . ..... . ... .... . . . . . . . . .. . . . . . ..... . . . ... ..... ..... .... ... ..... ... ... .... .... .. .. ..... .. .... ..... ..... .... ............... ... ... ..... .. .. ......... .... ..... ...... .... .... ......... ... ... .... .... .. .. ........... .... ..... ..... .... ...... ............ ... ... ...... .. .. . . . . . . . ... . . . . .. . . . . .. . . . . ... . . . .... . . . . . .. . . . . . .... . . . . .... ..... ..... ..... .... ............ ... ..... .... ... ....... ... ..... ..... ..... .... ... ...... ... ... ..... ... ... ........... .... ..... ...... ..... .... ... ........... ... .... ..... ... ............ ... .... ..... ..... ........ .... .......... ... ... ...... ... ... . . . .... . . .. . . . ... . . ..... . . . .. . . . . . ... . . . .... . ..... ..... ..... ..... .... ... ........ ... ..... ..... ......... ... .... ..... ..... ..... ..... .... ... ......... .... ..... ... .......... ... ..... ..... ...... ..... .... ... ........ ... ..... ..... ... ............. .... ..... ..... ..... ........ .... ... .............. .... ...... .... .... . . . . . . . . . . . . . . ... . . . . . . . . ... . . .. . . . . ..... ..... ..... ..... ..... ..... .... ................... ..... .................. ..... ..... ..... ..... ..... ..... ..... .... .................. ...... ............. ..... ..... ..... ..... ...... ..... ..... ..... .... ............. ..... ..... ........ ..... ..... ..... ..... ...... ....... ..... .... .................. ...... .................... ........ ............ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..................... ..... ..... ..... ..... ..... ...... ........ ..... ..... ..... .......................... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...................... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... .................... ..... ..1 .. ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ...... ..... ..... ..... ..... ...... ..... ..... .. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... ..... ..... ..... ... 1..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...1.. ...... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ..... 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ...... ..... .....
Exakte L¨osung
1
−12
x 12
1 L¨osung mit Heun (h = 0.5)
Abb. 16.7. Exakte und berechnete L¨ osung f¨ ur h =
1 2
im Richtungsfeld
16.3 Einschrittverfahren
673
16.3.4
Explizite Runge-Kutta-Verfahren
16.3.4.1
Konstruktion von Runge-Kutta-Verfahren
Die wichtigsten Einschrittverfahren sind die Runge-Kutta-Verfahren (RK-Verfahren). Ein explizites m-stufiges Runge-Kutta-Verfahren hat die allgemeine Form m P Yi+1 = Yi + hi Aj kj (xi , Yi , hi ) j=1 mit (16.6) k1 (x, Y , h) := f (x, Y ), j−1 P kj (x, Y , h) := f x + aj h, Y + h bjs ks (x, Y , h) , j = 2(1)m. s=1
Mit diesem Ansatz erh¨ alt man explizite RK-Formeln. F¨ ur die expliziten m-stufigen RK-Verfahren mit m ≤ 4 ist die lokale Fehlerordnung q` = m + 1, die globale Fehlerordnung qg = m m¨oglich. F¨ ur m > 4 ergibt sich qg < m. Zusammengefasst gilt f¨ ur die globale Fehlerordnung m-stufiger expliziter RK-Verfahren m qg
1 1
2 2
3 3
4 4
5 4
6 5
7 6
8 6
9 7
F¨ ur m = 1 ergibt sich das Euler-Cauchy-Verfahren; es ist also ein einstufiges RKVerfahren. F¨ ur m = 2 ergeben sich beispielsweise das verbesserte Euler-Cauchy-Verfahren und das Verfahren von Heun; sie sind somit 2-stufige RK-Verfahren. F¨ ur m = 4 erh¨alt man unter anderem das sogenannte klassische Runge-Kutta-Verfahren.
16.3.4.2
Klassisches Runge-Kutta-Verfahren
Zu den Runge-Kutta-Verfahren der Gestalt (16.6) f¨ ur m = 4 geh¨ort auch das klassische RK-Verfahren.
674
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Algorithmus 16.10. (Klassisches Runge-Kutta-Verfahren) Zur L¨osung des AWPs (16.1) ist bei geeignet gew¨ahltem Gitter (16.3) und ausgehend von Y0 = Y (x0 ) u ¨ ber die Rekursion 1 1 1 1 Yi+1 = Yi + hi k1 + k2 + k3 + k4 6 3 3 6 mit
k1 k2 k3 k4
= = = =
f (xi , Yi ), f xi + (hi /2), Yi + hi (k1 /2), f xi + (hi /2), Yi + hi (k2 /2) , f (xi + hi , Yi + hi k3 )
in jedem Gitterpunkt xi ein N¨ aherungswert Yi f¨ ur den exakten Wert y (xi ) zu berechnen. Die lokale Fehlerordnung betr¨ agt O(h5i ), die globale Fehlerordnung O(h4max ) mit hmax := max (xi+1 − xi ) und y f¨ unfmal stetig differenzierbar. 0≤i≤N −1
Beispiel 16.11. Gegeben: Das Anfangswertproblem
y 0 = y · cos(x), x0 = −8 y0 = y(−8) = e sin(−8)
(exakte L¨ osung: y(x) = e sin(x) ) Gesucht:
Die N¨aherungsl¨ osung mit dem klassischen Runge-Kutta-Verfahren (kRK) zur konstanten Schrittweite h = 0.5
L¨osung:
Der Integrationsschritt von x0 = −8 nach x1 = −7.5 mit Runge-Kutta sieht wie folgt aus. Mit Y0 = y 0 | x0 = −8
h0 = 0.5
Y1 ≈ y(x1 ) | x1 = −7.5
erh¨alt man Y1
= Y0 +
k1
=
k2
=
k3
=
k4
=
1 2
1 6
k1 +
1 3
k2 +
1 3
k3 +
1 6
k4
cos(−8) · Y0 = −0.054 099 128 cos(−7.75) · Y0 + 14 k1 = 0.037 188 527 cos(−7.75) · Y0 + 14 k2 = 0.039 557 312 cos(−7.5) · Y0 + 12 k3 = 0.135 740 271
⇒ Y1 = 0.391 409 630 ≈ y(−7.5) = e sin(−7.5) = 0.391 409 988, also mit der groben Schrittweite h = 0.5 sogar schon auf 6 Dezimalen genau
16.3 Einschrittverfahren
675
Das folgt aus der besseren Fehlerordnung mit einem globalen Fehler O(h4max ). Der Nachteil, dass pro Schritt 4 Auswertungen von f erforderlich sind, wird damit bei weitem aufgehoben! Nachteile des klassischen RK-Verfahrens Man muss je Runge-Kutta-Schritt vier Funktionsauswertungen von f durchf¨ uhren, bei h¨oherstufigen Verfahren sind es entsprechend mehr. Vorteile des klassischen RK-Verfahrens Die Gegen¨ uberstellung von Rechenaufwand und Genauigkeit im Vergleich zu den u ¨ brigen bisher genannten Verfahren zeigt, dass das klassische Runge-Kutta-Verfahren (oder ein Runge-Kutta-Verfahren h¨ oherer Ordnung) unbedingt Verfahren wie dem Euler-CauchyVerfahren, dem verbesserten Euler-Cauchy-Verfahren oder dem Verfahren von Heun vor¨ zuziehen ist. Eine u dazu liefert das folgende Beispiel. ¨ berzeugende Ubersicht
Beispiel 16.12. (vgl. Beispiel 16.9) Gegeben: Das Anfangswertproblem y 0 = 3y · cos(x) , x ∈ [−12, 12] 2 sin(x) + 4 3 y(−12) = sin(−12) + 2 2 Gesucht:
N¨aherungswerte f¨ ur y(x) mit h = mit h =
1 2 1 20
bei x = −12(0.5)12 bzw. bei x = −12(0.05)12 mit
a) dem Euler-Cauchy-Verfahren b) dem verbesserten Euler-Cauchy-Verfahren c) dem klassischen Runge-Kutta Verfahren
Vergleich der Ergebnisse mit der exakten L¨osung y(x) = sin(x) + 2
32
.
676
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen y 6
. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. ... ...... ... ... ... ... ... ... .. .. .. .. ... .... .... ... ... ... ... ... .... .. .. .. .. ... ..... .. ... ... ... ... ... ... .. .. .. ... .... .... ... ... ... ... ... ..... .. .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ..... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. .. ...... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... ..... .. .. . . . . .. . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . ... ... ..... .. ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... .... ... ... ... ... ... ...... ... ......... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... ..... ... ... . . . . . ....... . . . . . . . . . . .. . . .................. . . . . .. . . . . . . . . . . . . . . . . . . . . .. .............. ........ ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. ... ...... .......... ... ... ... ... ... .. .. .. .. .. ... ..... ... ... ... ... ... ..... .. .. . .................... ... . . . .. . . . . . ................. . . . . . . . . . . .................. . . . . . . . . . . ............... .. . . . . . . .. ........... ..... ........... ..... ... ... ... ... .. .. .. .. ... .......... ............... ... ... ... ... ..... .. .. .. .. .......... ..... ....... ... ... ... ... ... ... .. .. .. .. ....... ............... ... ... ... ... ..... .. .. . . . . . . . .. . . . . . ... . . . . . . . .. . . . .. ... . . . . ....... ..... ..... ..... ............ ... ... ... ..... ... ... ... ... ....... ..... ..... ....... ... ... ... ... ..... ... ... ... ... .......... ..... ..... ........ ... ... ... ..... ... ... ... ... ....... ..... ..... ......... ... ... ... ... ..... ... ... . .. .. .. . . ... . . . . . .. . . . . ... . ... ... . . . . .... . . . . ... ..... ..... .... ..... ........ ... ... .... ... ... ... ... .... ... ..... ..... .... ....... ... ... ... ..... ... ... ... ....... ..... ..... .... ....... ... ... ... .... ... ... ... ... ....... ..... ..... .... ........ ... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . .. .. . . . .. ... . . . . . . .. . . . . . . . .. . . . . . . . .. . . . ... .... ..... .... ... ............. ... ... .... ... ... ... ..... ... ..... ..... ... ........ ... ... ... ..... ... ... ... ....... .... ..... .... ... ........ ... ... .... .... ... ... ....... ... ..... ..... ... ........ ... ... ... ..... ... ... . . ... . . . . . . . . .. . . . . .. . . . . . .. .. . . . . . . ... . ............... . .. . . . . . ... . . . ... ..... ..... .... ... .... ....... ... .... ... ... ... ....... .... ........... ..... ......... ... ....... ... ... ..... ... ... ....... ... .... ..... .... .... ....... ... ... .... .... ... ... ....... .... ..... ..... .... ... ....... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... .... ..... ..... .... ... ............ ... ..... .... .. ..... ... ....... ..... ..... .... ...... ..... ... ... ...... ... .. ...... .... .... ..... ..... .... ... ....... ... .... .... .. ...... ... .... ..... ...... .... .... ........ ... ... ..... ... .. . .. . .. . . . . .. . . . . . . . .. .. . . . .. . ..... . . . .... . . ... . . . . ... . . .... ..... ..... ..... .... ... ........... ... ..... .... ........... ........... .... ..... ..... ..... .... ......... ........ .... ...... ... ........ ... .... ..... ..... ........... .... .... ........ ... ..... .... ... ....... .... .... ..... ..... ..... .... ... ........ .... ..... .... ... .... . .... ........... ........ . . .... ..... .... .... .... . . . .... . . ..... . .... . . ..... ..... ..... ..... ..... .... .... .............. ..... ..... ........ ............ ..... ..... ...... ...... ..... ..... .......................... ..... ............... .... .................. ..... ..... .................. .... ............ ..... ..... ....... .... .... ..... ..... ...... ..... ..... .... ................. ..... ................ . ...... . . . . . . . . .. ... ... ... ................. ..... ..... ...... .... ........... .... .................................. .... .... .... .... ..... ....... ..... .... .... .... ................................. .... ... ... . . ...... . ..... ..... ..... ..... ..... ..... ..... ..... .................................................. ..... ..... ..... ...... ...... ..... ..... ..... ......................................... ..1 . . ...... . . . . . ................... ...... .......... . . . . . . .... ..... . . . . . . . . . . . ... .. . ... .. ..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ............................................. ..... ..... ...... ..... ...... ..... ..... ........................... ...... ................................ ...... ........... ...... ...... ..... ......................... ..... ..... ..... ..... ............ ....................... ... .. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ............... ..... ..... ..... ..... ..... ..... .................................... .. . . 1..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...1... ..... ...... ..... ..... ..... ..... ...... ...... ..... ..... ..... ......... ...... ...... ...... ..... ..... ..... ..... ..... ..... 1..... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... .......... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... .....
Exakte L¨osung
1
1 12 x L¨ osung mit Euler-Cauchy (h = 0.5)
−12
Abb. 16.8. Exakte und berechnete L¨ osung mit Euler-Cauchy (EC) f¨ ur h = tungsfeld y 6 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
1 2
im Rich-
. . . . .. .. ...... ... .. .. .. .. ... .. .. .. .. .. ... .... .. .. .. .. .. .... .. .. .. .. .. ..... ... .. .. .. .. .. .. .. .. .. .. ... .... .. .. .. ... ... ..... .. .. . . . . . . . . . .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . ... ... ..... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... ... ... ... .... ... ... ... ... ... ...... ... ... ... ... ... ... ... ... ... ... ... ... .... ... ... ... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . ... .... ..... ... ... ... ... ... .... ... ... ... ... ... ..... ..... ... ... ... ... ... ..... ... ... ... ... ... ...... .... ........ ... ... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . .. . . . . . . ... .... ..... .... ... ... ... ... .... ... ... ... ... ... ..... ..... ... ... ... ... ... ..... ... ... ... ... .... ...... ........... ... ... ... ... ... ... ... ... ... ... ..... ..... ... ... ... ... ... ..... ... ... . . . . ................. .. . . . . .. . . . . . .................. . . . . . . . . . . . ...................... . . . . . . . . . . ...................... .. . . . . ... ............ ..... ............ ... ... ... ... ... ... ... ... ... ... ............ .................. ... ... ... ... .... ... ... ... ... ...................... ........... ... ... ... ... ... ... ... ... ... ... ..................................... ... ... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. . . . . . . ..... . . . . . ......... .... ..... ... ........... ... ... ... ... ... .. .. ... ....... .... .... ......... ... ... ... ... ..... .. .. .. ... ............ ..... ... ............ ... ... ... ... ... .. .. ... .......... ........ ..... ........... ... ... ... ... ..... ... .. . .. .. ... ... .. .. .. ... . . . . ...... .. ... ... .... .. .. .. .. .. . . . ..... .. .. ... ...... .. .. .. ... .. . . . ...... .... ... ... ........ .. .. .. .. . . . . .. ... ... .. ..... .. .. .. .. .. .. .. .. .... .. ... .. .. ........ .. .. .. ... .. .. .. ....... ... ... .. ....... .. .. .. .. .. .. .. .. ....... ...... .. .. ......... .. .. .. ... .. .. . . . .. . . . . . . . ... . . . . .... . . . . . ... . . . . . . . .. . . . . ... . . . . . . . ..... ... . ... .... ..... .... ... ........ ... ... .... ... ... ... ..... ... .... ..... .... ....... ... ... ... ..... ... ... ... ....... .... ..... .... ... ......... ... ... .... .... ... ... ......... ....... .... ..... .... ........... ... ... ... ..... ... ... . . . . . .. . . . . . .... ... . . ... . . . . . .... . . .. . . . . . . . . ... . . . . . ..... . . . ... .... ..... .... ... .... ... ... .... ... .. .. ...... .... ..... ..... .... ... ........ ... ... ..... .. .. ....... .... .... ..... .... .... ........ ... ... .... .... .. .. ........ ........ ..... ..... .... ... ......... ... ... ..... .. .. . . ... . . . . . . . . . . .. . . . . . . ... . . . . . . .... . . . . . ... . . . . . .. . .... ..... ..... .... .... ... ........ ... ..... .... .. ........ ... .... ..... ..... .... ... ...... ... ... ...... ... .. ....... .... .... ..... ..... .... ... ........ ... .... .... ... ....... ....... .... ..... ...... .... .... ......... ... ... ..... ... .. .. . .. . . .. . . .. . . .. . . .. . ... . ..... ..... ..... ..... ..... ... ...... ... ..... ..... ............. ..... ..... ..... ..... ..... ..... ... ........ ..... ...... .... ......... ... ..... ..... ..... ..... ..... .... ......... ... ..... ..... ... ........ ......... ..... ..... ..... ..... ..... ... ......... .... ..... ..... ..... . . . . . . . . . . . . . . . . . . . .. . .. . . .. . . .. . . ... . . .. ..... ..... ..... ..... ..... .... .... ............. ..... ............... ..... ..... ..... ...... ...... ..... ..... .... .................. ..... ............. ..... ..... ..... ..... ..... ..... ..... ..... .... .............. ..... ..... ........ ......... ..... ..... ..... ...... ..... ..... .... ................. ..... ................... ...... ..... ..... ...... .. ... ... .... ..... ...... .... .... .... .... ................................. ... ...... ... .... ..... ...... .... .... .... .... ................................... ... . . . . . . . . . . .. .. .. . ..... ..... ..... ..... ..... ..... ..... ..... ........................ ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ....................... ..... ...1 .. .. .. .. . .. ..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ...... ..... ..... ..... ..... ...... ...... .............. ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... ..... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ......... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... . 1..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...1... ..... ...... ..... ..... ..... ..... ...... ................. ..... ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... .....
Exakte L¨osung
1
1 12 x L¨ osung mit verb. Euler-Cauchy (h = 0.5)
−12
Abb. 16.9. Exakte und berechnete L¨ osung mit verbessertem Euler-Cauchy (vEC) f¨ ur h = 12 im Richtungsfeld y 6 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ...... ... .. .. .. .. ... .. .. .. .. .. ... .... .. .. .. .. .. .... .. .. .. .. .. ..... ... .. .. .. .. .. .. .. .. .. .. ... .... .. .. .. .. .. ..... .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .... ..... ... ... ... ... ... .... ... ... ... ... ... ..... .... ... ... ... ... ... ..... ... ... ... ... ... ...... ... ... ... ... ... ... ... ... ... ... ... .... ..... ... ... ... ... ... ..... ... ... . .. . . .. . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . ... ... ..... .. ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... .... ... ... ... ... ... ...... ... .......... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .... ..... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. ... ................. ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... ..... .. .. . . . ......................... . . . . .. . . . . . ........................ . . . . . . . . . . .. ...................... . . . . . . . . . . ....................... .. . . . . .. ............. ..... ............. ... ... ... ... ... .. .. .. .. .. ........... ................ ... ... ... ... .... .. .. .. .. .................. .......... ... ... ... ... ... .. .. .. .. .. ........ ....................... ... ... ... ... ..... .. .. . .. . . . ..... . . . . .. ..... . . . . .. . . . . ... . . ..... . . . . .. ...... . . . .. . . . . ..... .. . . . . . .... .............. ..... ... ......... ... ... ... ... ... ... ... ... ...... .... .... ....... ... ... ... ... .... ... ... ... ... ........... ..... ... ......... ... ... ... ... ... ... ... ... ........ ........ ..... .......... ... ... ... ... ..... ... ... .. ... . . . . .. ..... . . . . ... . . . . . . . . .. .. . ... . . . .. . . . . .... .. . ... . . . . ..... . . . .. .... ..... .... ...... ... ... ... .... .. .. .. .......... ..... ..... ... ........ ... ... ... ..... .. .. .. ..... .... ..... .... ........ ... ... ... ... .. .. .. .. ....... ........ ..... ... ....... ... ... ... ..... .. .. . . . . . .. . . . . . . .... . . . . ... . . . . . ... . . . . . . . . .. . . . ... . . . . . . . ... .. ... .... ..... .... ... ....... ... ... .... ... ... ... ..... ... .... ..... .... ....... ... ... ... ..... ... ... ... ....... .... ..... .... ... ........ ... ... .... ... ... ... ....... ....... ..... ..... .... ....... ... ... ... ..... ... ... .. . . . .. . . . . . . . .. . . .. . . .... ..... ..... ..... .... .... ... ... ..... .... ... ... ........ ..... ..... ..... ..... ... ....... ... .... ..... ... ... ....... .... ..... ..... ..... ..... ........ ... ... ..... ..... ... ... ........ ......... ..... ..... ..... .... ........ ... ... ..... ... ... . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . . . .. . . . . . . . . . .. . . . . ... . .... ..... ..... .... .... ... ........ ... ..... .... .. ........ ... .... ..... ..... .... ... ...... ... ... ...... ... .. ....... .... ..... ..... ..... .... ... ........ ... .... .... .. ....... ....... .... ..... ...... .... .... ........ ... ... ..... ... .. . ... . . ... ... . .... . . . .. . . . . .... . . . .. . . . .... . . . ..... ..... ..... ..... .... ... ...... ... ..... ..... ............ ..... ..... ..... ..... ..... .... ... ......... .... ...... .... ........ ... ..... ..... ..... ..... .... .... ......... ... ..... ..... ... .......... ........ ..... ..... ..... ..... .... ... ........ .... ..... .... .... . . . . . . . . . . . . . . . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . ..... ..... ..... ..... ..... .... .... ............. ..... ............... .... ..... ..... ...... ...... ..... ..... .... .................. ..... ............. .... .... ..... ..... ..... ..... ..... ..... .... ............ ..... ..... ....... ....... ..... ..... ..... ...... ..... ..... .... ................. ..... ................. ....... ...... ........ ........ ....... .......... . . . ........ ......... . .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... .... ..... ..... ...... ..... .... .... .... ................ .... .... .... ..... ..... ...... ..... .... .... .... .... ....... ..... ..... ..... ..... ..... ..... ..... .... .... .... ........ ..... .... .... .... ..... ...... ...... ..... .... .... .... .... ........ .... ...1 . . ..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ...... ..... ..... ..... ..... ...... ...... .............. ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... ..... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... . . 1..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...1... ..... ...... ..... ..... ..... ..... ...... ................ ..... ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ......... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... .....
Exakte L¨osung
1
−12
1 12 x L¨ osung mit klass. Runge-Kutta (h = 0.5)
Abb. 16.10. Exakte und berechnete L¨ osung mit klassischem Runge-Kutta (kRK) f¨ ur h = 12 im Richtungsfeld
16.3 Einschrittverfahren
677 y 6
. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. ... ...... ... ... ... ... ... ... .. .. .. .. ... .... .... ... ... ... ... ... .... .. .. .. .. ... ..... .. ... ... ... ... ... ... .. .. .. ... .... .... ... ... ... ... ... ..... .. .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ..... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. .. ...... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... ..... .. .. . . . . .. . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . ... ... ..... .. ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... .... ... ... ... ... ... ...... ... ......... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... ..... ... ... . . . . . .. . . . . .. . . . . . . . . . . . . ....... . . . . . . . . . . .. . . . . . . . . . . .. ... ......... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. ... ...... .......... ... ... ... ... ... .. .. .. .. .. ... ..... ... ... ... ... ... ..... .. .. . ........ ........... . . . . .. . . . . . ................. . . . . . . . . . . .................. . . . . . . . . . . ............... .. . . . . . . .. .......... ..... .............. ... ... ... ... ... .. .. .. .. ... ........................................... ... ... ... ... ..... .. .. .. .. .......... ..... ........ ... ... ... ... ... ... .. .. .. .. ....... ............... ... ... ... ... ..... .. .. . . . . . . . . . ..... . . . . .. ... . . . . . .... .... .. . . . . . . ... . . . . ............ ..... ................. ... ... ... ..... ... ... ... ... .............. ..... ..... ............ ... ... ... ... ..... ... ... ... ... ..................... ................ ... ... ... ..... ... ... ... ... ....... ........................... ........ ... ... ... ... ..... ... ... . . . .. ... .. ... .... . . . .. .... ...... . ...... . . . . .. . ..... . . . . . ....... . . . . ... ..... ..... .... ......... ... ... ... .... ... ... ... ... ........... ..... ..... ................ ... ... ... ..... ... ... ... .................. ..... .... ............. ... ... ... .... ... ... ... ... .............. ..... ........ ........ ....... ... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. . . . .. ........ . . . . . .. . . . . . . . . .. . . . . .. . . . .. . . . ... .... ..... .... ... ........... ... ... .... ... ... ... ......... ... ..... ..... ... .......... ... ... ... ..... ... ... ... ........ .... ..... .... .............. ... ... .... .... ... ... ............... .............. ... ............ ... ... ... ..... ... ... . . ..... . . . . . . . . ..... . . . .... . . . . .... .... . . . . ... . . . . . . ..... . .. . . ...... . . . ... ..... ..... .... ... ....... ... ... .... ... ... ... ........... .... ..... ..... .... ... ........... ... ... ..... ... ... .......... ... .... ..... .... .... ........... ... ... .... .... ... ... ............ .... ......... ..... .... ............... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... .... ..... ..... .... ... ........ ... ..... .... .. ......... ... .... ..... ..... .... ... ........ ... ... ...... ... .. ........ .... .... ..... ..... .... ............... ... .... .... .. .............. .... ........ ...... .... .... ............ ... ... ..... ... .. . . .... . . . ...... . . . . . . . .. . . . ...... . . . . ..... . . ...... . . . . ...... . . .. .... ..... ..... ..... .... ... ...... ... ..... .... ................ .... .... ..... ..... ..... .... ... ............. .... ...... ... .............. ... .... ..... ..... ..... .... .... ............. ... ..... .... ... ........... .... .... ......... ..... ..... .... ................. .... ..... .... ... . ....... . ..... . ...... ........ . . . ...... . . ... . . ......... . . . ........ ..... ..... ..... ..... ..... .... .... ............ ..... ..... .......... .... ..... ..... ...... ...... ..... ..... .... ....................... ..... ..................... .... ..... ..... ..... ..... ..... .... .... .................. ..... ..... ............. .... .... ......... ..... ...... ..... ..... .... .................... ..... ................... . . ..... . . . . . . . ..... ...... ... .... .... ..... ..... ...... .... .... .... ................................................... .... .... ...... ..... ...... ..... .... .... .... ......................................... .... .... . . . . ............. . . . . .. . . . .................. . ..... ..... ..... ..... ..... ..... ..... ..... ........................ ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ................................................ ..1 . . . . ..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ...... ..... ..... ..... ..... ...... ...... ..... ..... ..... ........ ...... ...... ...... ..... ..... ..... ..... ..... ..... ..... .. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .. 1..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...1... ..... ...... ..... ..... ..... ..... ...... ...... ..... ..... .......... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ......... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... .....
Exakte L¨osung
1
1 12 x L¨ osung mit Euler-Cauchy (h = 0.05)
−12
Abb. 16.11. Exakte und berechnete L¨ osung mit Euler-Cauchy (EC) f¨ ur h = Richtungsfeld y 6 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
1 20
im
. . .. .. ...... ... .. .. .. .. ... .. .. .. .. .. .... .... .. .. .. .. .. .... .. .. .. .. .. ..... ... .. .. .. .. .. .. .. .. .. .. ... .... .. .. .. .. .. ..... ... ... . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ..... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. .. ...... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... ..... .. .. . . . . .. . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . . . ... ... ..... .. ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... .... ... ... ... ... ... ...... ... ......... ... ... ... ... ... ... ... ... ... ... .... ... ... ... ... ... ..... ... ... .. . . . . .. . . . . . . . . . . . . ....... . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. ... ..... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. ... ..... .......... ... ... ... ... ... .. .. .. .. .. ... .... ... ... ... ... ... ..... .. .. . ................... . . . . .. . . . . . ................. . . . . . . . . . . ................. . . . . . . . . . . ................. .. . . . . . . .. .......... ..... ........... ... ... ... ... ... .. .. .. .. .. .......... ............... ... ... ... ... ..... .. .. .. .. ........... ..... ......... ... ... ... ... ... .. .. .. .. .. ........ ................... ... ... ... ... ..... .. .. . . . . . .. . . . . . .. . . . . ... . . . . . . . ... . . . . . . .. . . .. .. ... . . . . ............ ..... ..... ......... ... ... ... ..... ... ... ... ... ..... ..... ..... ....... ... ... ... ... ..... ... ... ... ... .......... ..... ..... ......... ... ... ... .... ... ... ... ... ........ ....... ..... .......... ... ... ... ... ..... ... ... . .. . .. .. . ... . . . . ... . .... . . . .. . ... . . . . . ... . . . . ... ..... ..... .... ..... ... ... ... .... ... ... ... ... .... ... ..... ..... .... ....... ... ... ... ..... ... ... ... ...... ..... ..... .... ........ ... ... ... .... ... ... ... ... ....... ......... ..... .... ....... ... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . ... .... ..... .... ... ........ ... ... .... ... ... ... ...... .... ..... ..... .... ........ ... ... ... ..... ... ... ... ....... .... ..... .... ... ....... ... ... .... .... ... ... ....... ....... ..... ..... .... ........ ... ... ... ..... ... ... . . ... . . . . . . . . . .. . . . . .. . . . . . .. . . . . .. .. . . . . . . ... ... . . .... . . . ... .... ..... .... .. .... ... ... .... ... ... ... ....... .... ..... ..... .... ... ....... ... ... ..... ... ... ....... ... .... ..... .... .... ....... ... ... .... .... ... ... ....... ....... ..... ..... .... ... ....... ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... ..... ..... .... .... ... ........ ... ..... .... .. ..... ... .... ..... ..... .... ... ...... ... ... ...... ... .. ...... .... .... ..... ..... .... ... ....... ... .... .... .. ..... ...... .... ..... ...... .... .... ........ ... ... ..... ... .. .. . .. . ... ... . . . . . .... . . . . .. . . . . . .... . . . . . .. . . .... ..... ..... ..... .... ... ...... ... ..... .... ............. .... .... ..... ..... .... .... ... ......... .... ...... .... ......... ... .... ..... ..... ..... .... .... ......... ... ..... .... ... ........ ........ .... ..... ..... ..... .... ... ......... .... ..... .... .... ... . . .... .... . . . . .... . . . ... . . .... . . . . .... . .... ..... ..... ..... ..... ..... .... .... ............ ..... ..... ........ .... ..... ..... ..... ...... ..... ..... .... ................. ..... ............... .... ..... ..... ..... ..... ..... .... .... ............ ..... ..... ....... ......... .... ..... ..... ...... ..... ..... .... ................ ..... ............... . . . . . ... ... ... .. .... .... .... ..... ...... .... .... .... .................................. ... ...... .... .... ..... ...... ..... .... .... .... .................................. ... ... . . . . . . . . ..... ..... ..... ..... ..... ..... ..... ..... ......................... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ............................... ...1 . .. . . . .. .. . . . ..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ...... ..... ..... ..... ..... ...... ...... .............. ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... ..... .. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .. 1..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...1... ..... ...... ..... ..... ..... ..... ...... ................ ..... ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... 1..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... .......... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... .....
Exakte L¨osung
1
1 12 x L¨ osung mit verb. Euler-Cauchy (h = 0.05)
−12
Abb. 16.12. Exakte und berechnete L¨ osung mit verbessertem Euler-Cauchy (vEC) f¨ ur 1 h = 20 im Richtungsfeld y 6 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ...... ... .. .. .. .. ... .. .. .. .. .. ... .... .. .. .. .. .. .... .. .. .. .. .. ..... ... .. .. .. .. .. .. .. .. .. .. ... .... .. .. .. .. .. ..... .. .. . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ..... ... ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... .... ... ... ... ... ... ...... ... ... ... ... ... ... ... ... ... ... ... .... .... ... ... ... ... ... ..... ... ... .. . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. ... ..... .. ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. ... ...... ... ......... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... ..... .. .. . . . . . .. . . . . .. . . . . . . . . . . . . . . . . . . ....... . . . . . . . . . . .. . .. . . .. ... ..... ... ... ... ... ... ... .. .. .. .. .. .... .... ... ... ... ... ... .... .. .. .. .. ... ...... ......... ... ... ... ... ... .. .. .. .. .. ... ..... ... ... ... ... ... ..... .. .. . ................... . . . . .. . . . . . ................. . . . . . . . . . .. ................. . . . . . . . . . . ................. .. . . . . . . .. .......... ..... ........... ... ... ... ... ... .. .. .. .. .. .......... ............... ... ... ... ... ..... .. .. .. .. .......... ..... ........ ... ... ... ... ... .. .. .. .. .. ........ ................... ... ... ... ... ..... .. .. ..... . . . . .. ... . . . . . . . . . .... . . ... . . . . . ... . . . . .. . . . . .... .. . ... . . . . . . . . .... ....... .... ..... ... ......... ... ... ... .... .. .. .. .. ..... .... .... ........ ... ... ... ... .... .. .. .. .. .......... ..... .... ......... ... ... ... ... .. .. .. .. ....... ....... ..... ......... ... ... ... ... ..... .. .. . . . . . . .. . . . . . .. . . . .. .. . . . . .. ... . . . . .. . . . . . ... . . . .. . . . . . . . . .. . ... .... ..... .... ...... ... ... ... .... ... ... ... ....... ... .... ..... ... ....... ... ... ... ..... ... ... ... ....... .... ..... .... ....... ... ... ... ... ... ... ... ... ....... ........ ..... ... ....... ... ... ... ..... ... ... . . . ... . . .. . . . . . ... . . . . ... . . . . . . .. . . . . . .. . . . . . . . . .. ... ..... ..... .... ... ........ ... ... ..... ... .. .. ...... .... ..... ..... .... ........ ... ... ... ..... .. .. .. ...... .... ..... ..... ... ........ ... ... .... ... .. .. ...... ....... ..... ..... .... ........ ... ... ... ..... .. .. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . . . . . . . . . . . . .. . . . . ... ..... ..... .... ... ..... ... ... .... ... ... ... ....... .... ..... ..... .... ... ....... ... ... ..... ... ... ....... .... .... ..... .... .... ...... ... ... .... .... ... ... ....... ........ ..... ..... .... ... ....... ... ... ..... ... ... . . .. . . . . .. . . . . . .. . . . . ... . . . . . . ... . . . . ... . . . . ... ... . .... ..... ..... ..... .... ... ........ ... ..... .... ... ....... ... .... ..... ..... .... ... ...... ... ... ...... ... ... ....... .... ..... ..... ..... .... ... ........ ... .... .... ... ...... ...... .... ..... ...... .... .... ........ ... ... ..... ... ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... ..... ..... ..... .... ... ...... ... ..... .... .. .... ... .... ..... ..... ..... ..... .... ... ......... .... ...... .... ....... ... .... ..... ..... ..... .... .... ......... ... ..... ..... .. ........ ....... .... ..... ..... ..... .... ... ......... .... ..... .... ... .... . ..... . .... .... . .. . . .... . . ... . . .... . . . . .... ..... ..... ..... ..... ..... .... .... ............ ..... ..... ....... .... ..... ..... ...... ...... ..... ..... .... ................. ..... ............... .... ..... ..... ..... ..... ..... .... .... ............ ..... ..... ....... ........ .... ..... ..... ...... ..... ..... .... ................. ..... ................ .... .... .... .. ... ... .... ..... ...... .... .... .... ................................... ... ...... ... .... ..... ...... ..... .... .... .... .................................. ... .... . . . . . . . . ..... ..... ..... ..... ..... ..... ..... ..... ......................... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ............................... ...1 .. .. .. .. . .. .... .. . ..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... .............. ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... ..... .. ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ........ ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... . 1..... ...... ..... ...... ..... ..... ..... ..... ...... ..... ..... ..... ..... ...... ...... ..... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...1... ..... ...... ..... ..... ..... ..... ...... ................ ..... ..... ...... ...... ...... ...... ..... ..... ..... ..... ..... ..... 1..... . ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ...... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ......... ..... ..... ..... ..... ..... ...... ..... ..... ..... ..... ..... ..... ..... .....
Exakte L¨osung
1
−12
1 12 x L¨ osung mit klass. Runge-Kutta (h = 0.05)
Abb. 16.13. Exakte und berechnete L¨ osung mit klassischem Runge-Kutta (kRK) f¨ ur 1 h = 20 im Richtungsfeld
678
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Vergleich der Ergebnisse mit der exakten L¨ osung Wertetabelle der exakten und der N¨ aherungswerte
Tabelle der absoluten Fehler
X
y(X)
YEC
YvEC
YkRK
YEC
YvEC
YkRK
−12.0 −11.5 −11.0 −10.5 −10.0 −9.5 −9.0 −8.5 −8.0 −7.5 −7.0 −6.5 −6.0 −5.5 −5.0 −4.5 −4.0 −3.5 −3.0 −2.5 −2.0 −1.5 −1.0 −.5 −.0 .5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 12.0
4.0399038 4.8759498 5.1961270 4.8867476 4.0577106 2.9893350 2.0009081 1.3170208 1.0160050 1.0944270 1.5563975 2.3845890 3.4414007 4.4502152 5.0898007 5.1378834 4.5772905 3.6042829 2.5344109 1.6592148 1.1390938 1.0037599 1.2469825 1.8750443 2.8284271 3.9041510 4.7897720 5.1896456 4.9622905 4.1886792 3.1330081 2.1179544 1.3861499 1.0338935 1.0622420 1.4727627 2.2569088 3.2968249 4.3309587 5.0359068 5.1685289 4.6814993 3.7462603 2.6705146 1.7568416 1.1857796 1.0000147 1.1925234 1.7703398
4.0399038 5.0478846 5.6842193 5.6905084 4.9857343 3.7524345 2.4000667 1.3671937 .8534246 .7612753 .9476346 1.3466016 1.8991910 2.4991957 2.9901617 3.2051543 3.0349714 2.4952728 1.7497612 1.0508523 .6003349 .4285460 .4512248 .6090528 .8726838 1.1999402 1.5184757 1.7350279 1.7657363 1.5763077 1.2118102 .7915805 .4544746 .2752607 .2326992 .2802519 .3953227 .5607798 .7462045 .9050024 .9850838 .9491238 .7959919 .5704892 .3488318 .1980596 .1350067 .1354548 .1791163
4.0399038 4.8952612 5.2262491 4.9052201 4.0491100 2.9619337 1.9798448 1.3181769 1.0307171 1.1062144 1.5555717 2.3692517 3.4219630 4.4423284 5.0977208 5.1473766 4.5683018 3.5722340 2.4975853 1.6413945 1.1441919 1.0151823 1.2496555 1.8607948 2.7993256 3.8741851 4.7722218 5.1822159 4.9479946 4.1538807 3.0846054 2.0796920 1.3744781 1.0403766 1.0674295 1.4634187 2.2271442 3.2535717 4.2900264 5.0061729 5.1420681 4.6423414 3.6900907 2.6139762 1.7232691 1.1800722 1.0044234 1.1884171 1.7459531
4.0399038 4.8758978 5.1960633 4.8866892 4.0576603 2.9893597 2.0011329 1.3172103 1.0158828 1.0943585 1.5562498 2.3840370 3.4403430 4.4487422 5.0880887 5.1361544 4.5757492 3.6030801 2.5336924 1.6589496 1.1387544 1.0033132 1.2465195 1.8741461 2.8267402 3.9016351 4.7866234 5.1862224 4.9590189 4.1859150 3.1309863 2.1167817 1.3854781 1.0331219 1.0614753 1.4716941 2.2549630 3.2937003 4.3267321 5.0309586 5.1634478 4.6768970 3.7425825 2.6679983 1.7554022 1.1847099 .9989142 1.1913095 1.7683802
.0000000 .1719348 .4880923 .8037608 .9280237 .7630994 .3991587 .0501728 .1625804 .3331517 .6087628 1.0379875 1.5422098 1.9510196 2.0996390 1.9327291 1.5423192 1.1090101 .7846497 .6083625 .5387590 .5752139 .7957578 1.2659915 1.9557433 2.7042108 3.2712963 3.4546176 3.1965542 2.6123715 1.9211979 1.3263740 .9316753 .7586328 .8295428 1.1925108 1.8615861 2.7360452 3.5847543 4.1309044 4.1834450 3.7323755 2.9502685 2.1000254 1.4080098 .9877200 .8650080 1.0570686 1.5912235
.0000000 .0193114 .0301221 .0184724 .0086006 .0274013 .0210633 .0011560 .0147120 .0117874 .0008258 .0153373 .0194377 .0078869 .0079201 .0094932 .0089888 .0320489 .0368257 .0178203 .0050981 .0114225 .0026730 .0142495 .0291015 .0299659 .0175502 .0074297 .0142959 .0347985 .0484027 .0382624 .0116718 .0064832 .0051874 .0093440 .0297646 .0432532 .0409324 .0297339 .0264607 .0391580 .0561696 .0565384 .0335725 .0057073 .0044087 .0041062 .0243866
.0000000 .0000519 .0000637 .0000584 .0000503 .0000246 .0002248 .0001895 .0001222 .0000685 .0001477 .0005520 .0010577 .0014730 .0017120 .0017290 .0015414 .0012028 .0007185 .0002652 .0003395 .0004467 .0004630 .0008983 .0016870 .0025159 .0031486 .0034232 .0032716 .0027642 .0020218 .0011727 .0006718 .0007715 .0007668 .0010686 .0019458 .0031246 .0042266 .0049482 .0050811 .0046024 .0036779 .0025163 .0014394 .0010697 .0011005 .0012139 .0019596
16.3 Einschrittverfahren
679
Vergleich Um den maximalen Fehler bei Anwendung von Euler-Cauchy, verbessertem Euler-Cauchy und klassischem Runge-Kutta-Verfahren 4. Ordnung in den Gitterpunkten unter die vorgegebene Schranke ε zu dr¨ ucken, ergibt sich nach [LUTH1987] der folgende Aufwand: AWP:
y 0 = y · cos(x), y(−8) = esin(−8) Integration u ¨ ber [−8, 0] ε = maximaler Fehler, Schrittweite konstant
ε = 1.5 · 10−3
O(h2 )
O(h4 )
EC
verb. EC
klass. RK
h
0.0005
0.05
0.5
Anzahl Teilintervalle
16 000
160
16
Anzahl Fkt-Auswertungen
16 000
320
64
ε = 4 · 10−5
16.3.4.3
O(h)
EC
verb. EC
klass. RK
h
0.00001
0.01
0.2
Anzahl Teilintervalle
800 000
800
40
Anzahl Fkt-Auswertungen
800 000
1 600
160
Zusammenstellung expliziter Runge-Kutta-Formeln
Im Folgenden wird eine Koeffiziententabelle f¨ ur explizite RK-Verfahren (16.6) der Ordnungen m = 1(1)8 angegeben. Mit der lokalen Fehlerordnung q` ergibt sich f¨ ur die globale Fehlerordnung qg grunds¨ atzlich qg = q` − 1. Die Formeln (16.6) lauten ausf¨ uhrlich: Yi+1 = Yi + hi (A1 k1 + A2 k2 + . . . + Am km ) mit k1 (xi , Yi , hi ) k2 (xi , Yi , hi ) k3 (xi , Yi , hi ) .. .
= f (xi , Yi ) = f (xi + a2 hi , Yi + hi b21 k1 ) = f xi + a3 hi , Yi + hi (b31 k1 + b32 k2 )
km (xi , Yi , hi )
= f xi + am hi , Yi + hi (bm1 k1 + bm2 k2 + . . . + bm,m−1 km−1 )
Die Koeffizienten Aj , aj und bjs f¨ ur j = 1(1)m, s = 1(1)m−1 und m = 1(1)8 sind in der folgenden Tabelle angegeben.
680
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Tabelle 16.13 (Koeffiziententabelle zu expliziten RK-Formeln). m j
Aj
aj
1 1
1
0
1
0
0
2
2
2
1
1/2
1
1/2
0
bjs f¨ ur s = 1(1)m−1
qg
Verfahrensname
1 Euler-Cauchy Verbess. 2
1/2
EC-Verf. Verfahren
2
2
1/2
1
1
1 3 2 3
1/6 2/3 1/6
0 1/2 1
1/2 –1
1 3 2 3
1/4 0 3/4
0 1/3 2/3
1/3 0
2/3
1 4 2 3 4
1/8 3/8 3/8 1/8
0 1/3 2/3 1
1/3 –1/3 1
1 –1
1 4 2 3 4
1/6 1/3 1/3 1/6
0 1/2 1/2 1
1/2 0 0
1/2 0
von Heun RK I
3 2
3. Ordnung RK II 3 3. Ordnung
4
3/8– Formel
4
Klass. RK-Verf.
4
RK–Gill
1
1
1
1/6 0 √ 4 2 2 −6 2 1/2 1/2 √ √ √ 2 + 2 1 2 1− 2 3 1/2 − + 6 2 2 2√ √ 4 1/6 1 0 − 22 1 + 22 1 4 2 3 4
1/6 0 4/6 1/6
0 1/2 1/2 1
1/2 1/4 0
Verfahren
4 1/4 –1
2
England I
16.3 Einschrittverfahren m j 1 2 5 3 4 5
1 2 6 3 4 5 6 1 2 6 3
Aj
aj
25 216 0 1408 2565 2197 4104 −1 5
0 1/4 3 8 12 13 1
16 0 135 0 1/4 6656 3 12825 8 28561 12 56430 13 9 − 50 1 2 1 55 2 14 336 0
2 3 1 5
7 27 28 625
10 27 − 125 625
23 192
0
2
0
1 3 2 5
4
125 192 0
81 5 − 192 6 125 192
1 2 3 4 5
1 3 4 25 1 4 6 81 6 75
qg
Verfahrensname
RK4 7296 2197 3680 −845 513 4104
1/4 3 9 32 32 1932 −7200 7296 2197 2197 2197 439 3680 −845 –8 216 519 4104 8 3544 − 27 2 − 2565 1859 4104
1 4 –1
1
6 3
1/4 3 9 32 32 1932 −7200 2197 2197 439 –8 216
1 2 1 4 0
6
5
bjs f¨ ur s = 1(1)m−1
0 1 2 1 2 1
0 35 336 162 336 125 336
4
681
Verfahren 4. Ordnung
RK5
5. Ordnung − 11 40
2
546 625
Fehlberg Verfahren
5
0
Fehlberg
England II
1 27 54 378 625 − 625
Kutta6 25 − 12 4 90 81 36 75
5 15 4 − 50 81 10 75
Nystr¨omVerfahren
8 81 8 75
0
682
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
m j
Aj
aj
1
31 384
0
2
0
1 6 4 15 2 3 4 5
6
1125 2816 9 32 125 768 5 66
1
11 120
0
2
0
3
7
27 40 27 40 4 − 15 4 − 15 11 120
1 3 2 3 1 3 1 2 1 2
1
7 1408
0
2
0
3
5
1125 2816 9 32 125 768
1 6 4 15 2 3 4 5
6
0
1
7
5 66 5 66
0
6 3 4 5
7
4 5 6
8
4
8
1
1
1
bjs f¨ ur s = 1(1)m−1
1 6 4 75 5 6 8 −5 361 320
qg
Verfahrensname
RK16 75 −8 3 144 25 − 18 5
5 5 2 -4 407 128
Fehlberg I
16 25 11 - 80
(F I) 55 128
1 3 0 1 12 1− 16 0 9 44
1 6 4 75 5 6 − 85 361 320 11 − 640 93 640
2 3 1 3 9 8 9 8 9 − 11
16 75 − 83 144 25 − 18 5 0 − 18 5
Verfahren 1 - 12 3 - 16 − 38 63 44
6 − 38 − 34 18 11
von Butcher
1 2 0 - 16 11
RK5 2 -4 407 128 11 256 803 256
6 16 25 11 − 80 11 − 160 11 − 160
Fehlberg II
55 128 11 256 99 256
(F II) 0 0 1
Weitere explizite Runge-Kutta-Formeln sind in [FEHL1960] und in [FEHL1966] zu finden, siehe auch den folgenden Abschnitt 16.3.4.4 (RK-Einbettungsformeln).
16.3 Einschrittverfahren
683
Beispiel 16.14. Gegeben: Das Anfangswertproblem (
y 0 = f (x, y) = y, x0 = 0 y0 = y(0) = 1
Gesucht:
Ein N¨aherungswert f¨ ur y(0.2) mit dem Runge-Kutta-Fehlberg-Verfahren 4. Ordnung (vgl. Tabelle 16.13) mit der Schrittweite h = 0.1
L¨osung:
Wegen m = 5 ergibt sich aus Formel (16.6) f¨ ur i = 0 und Y0 = y0 bei Rundung mit 10-stelliger Mantisse Y1
= Y0 + h
5 X
Aj kj (x0 , y0 , h)
j=1
=
1 + 0.1
5 X
Aj kj (0, 1, 0.1)
j=1
mit k1 (0, 1, 0.1) k2 (0, 1, 0.1)
= f (0, 1) = 1 = 1 + 0.1 b21 k1 = 1 + 0.1 ·
1 4
· 1 = 1.025 000 000
3 9 = 1 + 0.1 (b31 k1 + b32 k2 ) = 1 + 0.1 · 32 · 1 + 32 · 1.025 = 1.038 203 12 k4 (0, 1, 0.1) = 1 + 0.1 1932 · 1 − 7200 · 1.025 + 7296 · 1.038 203 12 2197 2197 2197
k3 (0, 1, 0.1)
= 1.096 801 55 k5 (0, 1, 0.1) = 1 + 0.1 439 − 8 · 1.025 + 216 845 = − 4104 · 1.096 801 55
⇒ Y1 = Y (0.1)
=
1.105 411 86
=
1 + 0.1 + 2197 4104
=
25 216
3680 513
· 1 + 0 · 1.025 +
· 1.096 801 55 −
1 5
· 1.038 203 12
1408 2565
· 1.038 203 12 · 1.105 411 86
1.105 170 93
Die exakte L¨osung ist y(0.1) = e0.1 = 1.105 170 92, d. h. der absolute Fehler ist in der Gr¨oßenordnung von 10−8 . F¨ ur i = 1 ergibt sich bei analoger Rechnung Y2 = Y (0.2) = 1.221 402 78, f¨ ur die exakte L¨ osung y(0.2) = 1.221 407 6, so dass sich f¨ ur den absoluten Fehler etwa 2 · 10−8 ergibt.
Hinweis. Weitere Beispiele sind in der Programmbibliothek zu finden.
684 16.3.4.4
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen Einbettungsformeln
Wenn von expliziten Runge-Kutta-Formeln der Stufen m und m e mit m < m e die kj -Werte f¨ ur j = 1(1)m u ¨ bereinstimmen, so verwendet man beide Formeln als Paar und nennt das Paar Einbettungsformel. In diesem Sinne sind das verbesserte EC-Verfahren (qg = 2) mit dem RK-Verfahren 3. Ordnung, die RK-Fehlberg-Verfahren der globalen Fehlerordnungen 4 und 5, die Formeln England I und England II mit qg = 4 bzw. qg = 5 sowie die Fehlberg I- und Fehlberg II-Formeln mit qg = 5 bzw. qg = 6 Einbettungsformeln. Jede der beiden Formeln, die e f¨ zu einem Paar zusammengefasst werden, liefert einen N¨aherungswert Y bzw. Y ur y (xi + h); die beiden N¨ aherungswerte werden f¨ ur eine effektive Schrittweitensteuerung verwendet. Allgemein gilt: m P Y = Yi + h Aj kj globale Fehlerordnung qg j=1 m e P e ej kj Y = Yi + h A globale Fehlerordnung qeg j=1 mit k1 = f (xi , Yi ) k2 = f (xi + a2 h, Yi + hb21 k1 ) .. . j−1 P kj = f (xi + aj h, Yi + hbjs ks ), j = 3(1)m e s=1
Beispiele zu den Einbettungsformeln gibt es in der abrufbaren Programmbibliothek.
RK - Einbettungsformel 2. und 3. Ordnung. (qg = 2, qeg = 3, m = 2, m e = 3)
Koeffizientenschema: bjs f¨ ur s = 1(1)m e −1
j
ej A
Aj
aj
1
1 6
0
0
2
2 3
1
1 2
1 2
3
1 6
1
−1
Y e Y mit k1 k2 k3
2
= Yi + hk2 = Yi + h 16 k1 + 23 k2 + 16 k3
= f (xi , Yi ) = f (xi + 12 h, Yi + 12 hk1 ) = f (xi + h, Yi − hk1 + 2hk2 )
(16.7)
16.3 Einschrittverfahren
685
RK - Fehlberg - Einbettungsformel 4. und 5. Ordnung rkf5(4). (qg = 4, qeg = 5, m = 5, m e = 6)
Koeffizientenschema: bjs f¨ ur s = 1(1)m e −1
j
ej A
Aj
aj
1
16 135
25 216
0
2
0
0
1 4
1 4
3
6656 12825
1408 2565
3 8
3 32
9 32
4
28561 56430
2197 4104
12 13
1932 2197
− 7200 2197
7296 2197
5
9 − 50
− 15
1
439 216
−8
3680 513
845 − 4104
6
2 55
1 2
8 − 27
2
− 3544 2565
1859 4104
+
Y
= Yi + h
25 216 k1
+
1408 2565 k3
e Y
= Yi + h
16 135 k1
+
6656 12825 k3
2197 4104 k4
+
− 15 k5
28561 56430 k4
−
9 50 k5
+
2 55 k6
mit k1
= f (xi , Yi )
k2
= f (xi + 14 h, Yi + 14 hk1 )
k3
= f (xi + 38 h, Yi +
k4
= f (xi +
k5
= f (xi +
k6
= f (xi + 12 h, Yi −
3 9 32 hk1 + 32 hk2 ) 12 h, Yi + 1932 hk1 − 7200 hk2 + 7296 hk3 ) 13 2197 2197 2197 845 h, Yi + 439 hk1 − 8hk2 + 3680 hk3 − 4104 hk4 ) 216 513 8 27 hk1
+ 2hk2 −
3544 2565 hk3
+
1859 4104 hk4
− 11 40
−
11 40 hk5 )
(16.8)
686
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
England - Formel 4. und 5. Ordnung rke5(4). (qg = 4, qeg = 5, m = 4, m e = 6)
Koeffizientenschema: bjs f¨ ur s = 1(1)m e −1
j
ej A
Aj
aj
1
14 336
1 6
0
2
0
0
1 2
1 2
3
0
4 6
1 2
1 4
1 4
4
35 336
1 6
1
0
−1
2
5
162 336
2 3
7 27
10 27
0
1 27
6
125 336
1 5
28 625
− 125 625
546 625
54 625
1
+ 46 k3 + 16 k4
14 35 162 125 e Y = Yi + h 336 k1 + 336 k4 + 336 k5 + 336 k6 mit k1 = f (xi , Yi ) h h k2 = f (xi + 2 , Yi + 2 k1 ) Y
= Yi + h
k3
= f (xi + h2 , Yi + h4 k1 + h4 k2 )
k4 k5 k6
6 k1
− 378 625
= f (xi + h, Yi − hk2 + 2hk3 ) 2 7 10 1 = f (xi + 3 h, Yi + 27 hk1 + 27 hk2 + 27 hk4 ) h 28 125 546 = f (xi + 5 , Yi + 625 hk1 − 625 hk2 + 625 hk3 54 378 + 625 hk4 − 625 hk5 );
(16.9)
16.3 Einschrittverfahren
687
RK - Fehlberg - Einbettungsformel 5. und 6. Ordnung rkf6(5). (qg = 5, qeg = 6, m = 6, m e = 8)
Koeffizientenschema: bjs f¨ ur s = 1(1)m e −1
j
ej A
Aj
aj
1
7 1408
31 384
0
2
0
0
1 6
1 6
3
1125 2816
1125 2816
4 15
4 75
16 75
4
9 32
9 32
2 3
5 6
− 83
5 2
5
125 768
125 768
4 5
− 85
144 25
−4
16 25
6
0
5 66
1
361 320
− 18 5
407 128
− 11 80
55 128
7
5 66
0
11 − 460
0
11 256
11 − 160
11 256
0
8
5 66
1
93 640
− 18 5
803 256
11 − 160
99 256
0
Y
= Yi + h
31 384 k1
e Y
= Yi + h
7 k 1408 1
+
5 k 66 7
+
5 k 66 8
+
1125 2816 k3
+
+
1125 k 2816 3
9 32 k4
+
+
9 k 32 4
125 768 k5
+
125 k 768 5
mit k1
= f (xi , Yi )
k2
= f (xi + h6 , Yi + h6 k1 )
k3
= f (xi +
k4
= f (xi + 23 h, Yi + 56 hk1 − 83 hk2 + 52 hk3 )
k5 k6
k7 k8
4 15 h, Yi
+
4 75 hk1
+
+
16 75 hk2 )
5 66 k6
1
(16.10)
4 8 144 16 = f (xi + 5 h, Yi − 5 hk1 + 25 hk2 − 4hk3 + 25 hk4 ) 361 18 407 = f (xi + h, Yi + 320 hk1 − 5 hk2 + 128 hk3 + 11 55 − 80 hk4 + 128 hk5 ); 11 11 11 11 = f (xi , Yi − 640 hk1 + 256 hk3 − 160 hk4 + 256 hk5 ) 93 18 803 = f (xi + h, Yi + 640 hk1 − 5 hk2 + 256 hk3 + 11 99 − 160 hk4 + 256 hk5 + hk7 ).
Weitere Einbettungsformeln lassen sich ganz analog zu den zuvor aufgestellten Formeln aus den folgenden Koeffizientenschemata zusammensetzen.
688
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Weitere Einbettungsformeln
RK - Fehlberg - Einbettungsformeln 3. und 4. Ordnung rkf4(3). (qg = 3, qeg = 4, m = 4, m e = 5)
Koeffizientenschema:
bjs f¨ ur s = 1(1)m e −1
j
ej A
Aj
aj
1
229 1470
79 490
0
2
0
0
2 7
2 7
3
1125 1813
2175 3626
7 15
77 900
343 900
4
13718 81585
2166 9065
35 38
805 1444
− 77175 54872
97125 54872
5
1 18
1
79 490
0
2175 3626
2166 9065
Prince - Dormand - Einbettungsformel 5. und 4. Ordnung rk5(4)6m. (qg = 4, qeg = 5, m = 6, m e = 6)
Koeffizientenschema:
bjs f¨ ur s = 1(1)m e −1
j
ej A
Aj
aj
1
19 216
31 540
0
2
0
0
1 5
1 5
3
1000 2075
190 297
3 10
3 40
9 40
4
− 125 216
− 145 108
3 5
3 10
9 − 10
6 5
5
81 88
351 220
2 3
226 729
− 25 27
880 729
55 729
6
5 56
1 20
1
− 181 270
5 2
− 266 297
− 91 27
189 55
16.3 Einschrittverfahren
689
Prince - Dormand - Einbettungsformel 4. und 5. Ordnung rk5(4)7 m. e (qg = 4, qeg = 5, m = 7, m e = 7)
Koeffizientenschema: bjs f¨ ur s = 1(1)m − 1
j
ej A
Aj
aj
1
35 384
5179 57600
0
2
0
0
1 5
1 5
3
500 1113
7571 16695
3 10
3 40
9 40
4
125 192
393 640
4 5
44 45
− 56 15
32 9
5
− 2187 6784
92097 − 339220
8 9
19372 6561
− 25360 2187
64448 6561
− 212 729
6
11 84
187 2100
1
9017 3168
− 355 33
46732 5247
49 176
5103 − 18656
7
0
1 40
1
35 384
0
500 1113
125 192
− 2187 6784
Prince - Dormand - Einbettungsformel 4. und 5. Ordnung rk5(4)7 m. e (qg = 4, qeg = 5, m = 7, m e = 7)
Koeffizientenschema: bjs f¨ ur s = 1(1)m − 1
j
ej A
Aj
aj
1
19 20
431 5000
0
2
0
0
2 9
2 9
3
3 5
333 500
1 3
1 12
1 4
4
− 243 400
7857 − 10000
5 9
55 324
25 − 108
50 81
5
33 40
957 1000
2 3
83 330
− 13 22
61 66
9 100
6
7 80
193 2000
1
− 19 28
9 4
1 7
− 27 7
22 7
7
0
1 − 50
1
19 200
0
3 5
− 243 400
33 40
7 80
11 84
690
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Prince - Dormand - Einbettungsformel 5. und 6. Ordnung rk6(5)8 m. e (qg = 5, qeg = 6, m = 7, m e = 8)
Koeffizientenschema:
j
ej A
Aj
aj
1
61 864
821 10800
0
2
0
0
3
98415 321776 16807 146016 1375 7344 1375 5408 37 − 1120 1 10
19683 71825 175273 912600 395 3672 785 2704 3 50
1 10 2 9 3 7 3 5 4 5
4 5 6 7 8
1 1
bjs f¨ ur s = 1(1)m − 1
1 10 2 − 81 615 1372 3243 5500 − 26492 37125 5561 2376 465467 266112
20 81 − 270 343 − 54 55 72 55 − 35 11 − 2945 1232
1053 1372 50949 71500 2808 23375 − 24117 31603 10513573 3212352
4998 17875 − 24206 37125 899983 200772 − 424325 205632
338 495 − 5225 1836 376225 454272
3925 4056
0
Verner - Einbettungsformel 5. und 6. Ordnung rkv6(5). (qg = 5, qeg = 6, m = 6, m e = 8)
Koeffizientenschema:
j
ej A
Aj
aj
1
57 640
3 80
0
2
0
0
3
− 16 65
4 5
1377 2240 212 320
6
0
4 25 243 1120 77 160 73 700
1 18 1 6 2 9 2 3
7
891 8320 2 35
8
1 8 9
1
bjs f¨ ur s = 1(1)m − 1
1 18 1 − 12 2 − 81 40 33 − 369 73 − 8716 891 3015 256
1 4 4 27 4 − 11 72 73 656 297 − 94
8 81 − 56 11 5380 219 39520 891 − 4219 78
54 11 12285 − 584 − 416 11 5985 128
2695 1752 52 27 − 539 384
0 0
693 3328
0
16 45 16 45
0
0
1216 2961 − 2624 4095 24137569 57482880 4 − 21
0
4131 3920 157 − 1260
2
3
4
8
9
10
7
6
5
7 90
2881 40320
1
2 15 7 90
0
0
Aj
ej A
j
1
2 3
1
1 12 1 6 1 4 3 4 16 17 1 2
0
aj
1 16 21 16 1344688 250563 − 559 384 − 625 224 − 12253 99144 30517 2512
0
1 12
0
0
0
0
0
0
0
1 16
16 27 7296 − 157
12
6
3 16 − 81 16 1709184 − 83521 9 2 1365632 83521 − 204 47 − 456 47 16 459 268728 7379
4913 − 78208 14739 136864 2023 − 75816 3522621 − 10743824
− 14 39 48 91 29072 161109 2472 2041
78208 − 250563
bjs f¨ ur s = 1(1)m − 1
Koeffizientenschema der Einbettungsformel rkv7(6):
Verner - Einbettungsformel 6. u. 7. Ordnung rkv7(6). (qg = 6, qeg = 7, m = 8, m e = 10)
6 7 112 12393 132 157
0
0 − 12393 4396
16.3 Einschrittverfahren 691
0
32 125 31213 144000 2401 12375 1701 14080 2401 19200 19 450
0
0
0
0
16 75 16807 79200 16807 79200 243 1760
0
0
243 1760 31 720
2
3
4
5
6
10
11
12
13
9
8
7
13 288
31 720
1
0
0
0
Aj
ej A
j
1
1 3
1
1 4 1 12 1 8 2 5 1 2 6 7 1 7 2 3 2 7
0
aj
1 4 5 72 1 32 106 125 1 48 − 1263 2401 37 392 17176 25515 23834 − 180075 12733 7600 27061 − 204120 11203 8680
0
0
0
0
0
0
0
0
0
0
1 72
0
0
0
0
0
0
0
0
3 32 − 408 125
40448 280665 − 38144 11935
− 20032 5225
77824 − 1980825
− 47104 25515
0
352 125 8 33 39936 26411
Koeffizientenschema der Einbettungsformel rkv8(7):
125 528 64125 − 26411 1625 9408 1325 504 − 636635 633864 456485 80256 1353775 − 1197504 2354425 458304 5520 2401 2 − 15 − 41792 25515 254048 300125 − 42599 7125 17662 25515 − 84046 16275
61 6720 20237 145800 183 − 7000 339227 912000 71687 − 1166400 673309 1636800
bjs f¨ ur s = 1(1)m − 1
Verner - Einbettungsformel 7. und 8. Ordnung rkv8(7). (qg = 7, qeg = 8, m = 11, m e = 13)
4312 6075 8 11 − 1029 4180 98 225 4704 8525
1701 1408 1 16 9477 10912
324 − 3773 5145 2432 3773 11664 − 1029 992
0
0 729 341
692 16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
0
0
0
0
2
3
4
5
656045339 265891186
561292985 797845732
8
13
1 4
2 45
53011238 667516719
118820643 751138087
11
528747749 12 − 2220607170
465885868 322736535
760417239 1151165299
10
3867574721 9 − 1041891430 1371343529 − 1518517206
1757004468 5645159321
181606767 758867731
808719846 976000145
0
0
0
7
59238493 6 − 1068277825
13451932 455176623
14005451 335480064
1
0
Aj
ej A
j
1 32
5 16
1 8
5 16
1
1
1201146811 1299019798
13 20
5490023248 9719169821
93 200
59 400
403863854 491063109
185892177 718116043
3 32
0
0
0
0
0
0
0
2278713 633445777
28693883 − 1125000000
3 20
421739975 − 433636366 683701615 − 2616292301
61564180 158732637
77736538 692538347
3 16
75 64
100302831 723423059
545815736 2771057229
23124283 1800000000
0
0
0
1311729495 1432422823
411421997 − 5068492393 434740067 − 543043805
652783627 914296604
11173962825 925320556
5731566787 1027545527
48777925059 − 10304129995 1701304382 − 3047939560
477755414 703635378 − 3185094517 667107341 − 1098053517 − 230739211
8478235783 508512852
6005943493 2108947869
790204164 839813087
180193667 − 1043307555
5232866602 850066563
15336726248 1032824649
393006217 1396673457
800635310 3783071287
− 13158990841 6184727034
bjs f¨ ur s = 1(1)m − 1
309121744 12992083 0 − 37695042795 15268766246 − 1061227803 − 490766935
0
0
0
0
0 − 75 64
0
1 16
− 1028468189 846180014 0
246121993 1340847787
39632708 573591083
16016141 946692911
29443841 614563906
3 80
1 48
1 12
3 8
1 18
1 18
0
aj
Koeffizientenschema der Einbettungsformel rk8(7)13m:
Prince - Dormand - Einbettungsformel 7. u. 8. Ordnung rk8(7)13m. (qg = 7, qeg = 8, m = 12, m e = 13)
3936647629 1978049680
− 4093664535 808688257
− 45442868181 3398467696
123872331 1001029789
− 160528059 685178525
3962137247 1805957418
3065993473 597172653
248638103 1413531060
65686358 487910083
0
16.3 Einschrittverfahren 693
34 105 9 35 9 35 9 280 9 280 41 840
0
0
34 105 9 35 9 35 9 280 9 280
4
5
6
41 840 41 840
12
13
0
11
10
9
8
7
0
0
3
0
0
0
0
2
1
0
1
2 27 1 9 1 6 5 12 1 2 5 6 1 6 2 3 1 3
0
41 840
0
1
aj
Aj
ej A
j
0
91 − 108 2383 4100 3 205 − 1777 4100
0
0
0
0
0
0
0
0
0
1 12
2
2 27 1 36 1 24 5 12 1 20 25 − 108 31 300
0
0
0
0
0
0
0
0
1 8 − 25 16
0 4496 1025
− 341 164
1 5 − 65 27 61 225 704 45 − 976 135 4496 1025
125 54 − 29 − 107 9 311 54 − 301 82 6 − 41 − 289 82
13 900 67 90 − 19 60 2133 4100 3 − 205 2193 4100
bjs f¨ ur s = 1(1)m − 1
0
23 108 − 341 164
− 53 6
0
25 16 1 4 125 108
Koeffizientenschema der Einbettungsformel rkf8(7):
RK-Fehlberg - Einbettungsformel 7. u. 8. Ordnung rkf8(7). (qg = 7, qeg = 8, m = 11, m e = 13)
3 17 6 45 82 3 − 41 51 82
45 164 3 41 33 164
1 − 12 18 41 6 41 12 41
0
0 1
694 16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
103 1680
23 525
0
0
0
0
0
1
2
3
4
5
6
10
1 24
4,94 375
9,−1 150
927,−347 1250
1 6
2,2 15
6,1 15
6,−1 15
16
0
0
−36487,−30352 279600
0
3793,2168 103680
33617,−2168 518400
0
5996,−3794 405
0
0
5034,−271 61440
137 − 1296
0
0
0
0
0
0
0
2 27
11 144
19 256
√ a, b a+b 6 bedeutet: c c
1
233 4200
wobei
1 6
9 25
15
1
0
9 280
14
5 6
12 35
39 175
4 3
1 4
1 3
1 2
3 27
1 27
1 9
2 3
1 12
1 12
0
aj
13
3 7280
− 201 280
93 280
9
3 12 − 18200
76 105
86 525
8
1024 1365
27 − 140
11 − 2048 6825
0
0
171 1400
7
0
0
0
0
0
Aj
ej A
j
0
0
0
0
0
0
0
0
0
0
0
−94,−84 125
1 8
69,29 570
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
−16248,7328 −489,179 9375 3750
312,32 1425
328,208 375
Koeffizientenschema der Einbettungsformel rkv9(8):
7947,−2168 11520
5642,337 864 155338,−52807 345600
5642,−337 864 −3846,31 13824
92,542 2025
184 81
1048,−542 405
−340864,242816 405
−1797,−542 3600
− 44 9
−1383,542 720
26304,−15176 45
657,−813 5120
−29666,−4499 2779182,−615973 −94329,91056 −232192,121408 101226,−22764 7456 186400 93200 17475 5825
−12537,2168 57600
− 299 48
−4176,3794 45
−231278,40717 69120
−594,271 960
−2232,813 20480
154922,−40458 135
8 − 27
1 − 16
9 − 256
4042,2263 13824
−4342,−338 9
266,1 864
266,−1 864 7859,−1626 10240
118,23 512
118,−23 512
0
16,1 54
16,−1 54
14268,−5798 9375
bjs f¨ ur s = 1(1)m − 1
Verner - Einbettungsformel 8. u. 9. Ordnung rkv9(8). (qg = 8, geg = 9, m = 14, m e = 16)
− 169984 9087
320 567
− 5120 1053
2624 1053
− 26624 81
4 105
16 9
87 492 − 30290 1165
1 − 1920
11 − 468
3 1664
0
0 1260 233
16.3 Einschrittverfahren 695
696
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
e f¨ Jede der Formeln eines solchen Formelpaares liefert einen N¨aherungswert Y bzw. Y ur y an der Stelle xi + h. Da die Formeln eines Paares von unterschiedlicher Fehlerordnung sind und nur ein Satz von kj -Werten f¨ ur beide Formeln berechnet werden muss, eignen sich die Einbettungsformeln besonders gut zu einer bequemen Schrittweitensteuerung und damit zur Adaption. In Abschnitt 16.3.7.2 werden in den Algorithmen 16.20 und 16.21 Verfahren zur automatischen Schrittweitensteuerung angegeben. Dabei wird die e aus beiden Formeln eines Paares benutzt. Differenz Y − Y F¨ ur die Einbettungsformeln (16.7) bis (16.10) ergeben sich die folgenden Ausdr¨ ucke f¨ ur e die Differenz Y −Y : F¨ ur die RK-Einbettungsformel 2./3. Ordnung gilt 1 1 1 e Y −Y = h − k1 + k2 − k3 , 6 3 6 f¨ ur die RK-Fehlberg-Einbettungsformel 4./5. Ordnung erh¨alt man 1 128 2197 1 2 e Y −Y = h − k1 + k3 + k4 − k5 − k6 , 360 4275 75240 50 55 f¨ ur die England-Einbettungsformel 4./5. Ordnung ergibt sich 42 224 21 162 125 e Y −Y = h k1 + k3 + k4 − k5 − k6 , 336 336 336 336 336
(16.11)
(16.12)
(16.13)
und f¨ ur die Fehlberg I/II-Einbettungsformel 5./6. Ordnung errechnet sich besonders einfach e = 5 h {k1 + k6 − k7 − k8 } . Y −Y (16.14) 66
16.3.5
Implizite Runge-Kutta-Verfahren vom Gauß-Typ
Mit einem expliziten RK-Verfahren zur L¨ osung eines AWPs (16.1) zum Gitter (16.3) erreicht man unter Verwendung von m Funktionswerten fj , j = 1(1)m, pro RK-Schritt mit der Schrittweite hi von xi nach xi+1 maximal eine lokale Fehlerordnung q` = m + 1 f¨ ur m ≤ 4 und f¨ ur m > 4 h¨ ochstens q` = m. Mit einem impliziten RK-Verfahren, das sich durch eine zu (16.6) ¨aquivalente Formel ergibt mit s = 1(1)m statt s = 1(1)j−1, l¨ asst sich unter Verwendung von m Funktionswerten pro RK-Schritt maximal die lokale Fehlerordnung q` = 2m + 1 erreichen, falls die Argumente xi + aj hi mit den St¨ utzstellen der Gaußschen Quadraturformeln (siehe Abschnitt 14.7), bezogen auf das Intervall [xi , xi+1 ], identisch sind (Verfahren vom Gauß-Typ). In der folgenden Tabelle werden implizite RK-Formeln vom Gauß-Typ f¨ ur m = 1, 2, 3 angegeben.
16.3 Einschrittverfahren
697
Tabelle 16.15 (Implizite RK-Verfahren vom Gauß-Typ). m
q` Yi+1
= Yi + hi k1 (xi , Yi , hi )
mit
1
3 k1 Yi+1 k1
2 k2
Yi+1 k1
3
k2
k3
= f (xi + hi /2, Y + k1 /2) = Yi + (hi /2)(k1 + k2 ) mit √ = f (xi + (1/2)(1 − 1/ 3)hi ,
√ Yi + (1/4)k1 + (1/2)(1/2 − 1/ 3)k2 ), √ = f (xi + (1/2)(1 + 1/ 3)hi , √ Yi + (1/2)(1/2 + 1/ 3)k1 + (1/4)k2 ) = Yi + hi (5/18)k1 + (4/9)k2 + (5/18)k3 mit p = f (xi + (1/2)(1 − 3/5)hi , Yi + (5/36)k1 + √ √ (2/9 − 1/ 15)k2 + (5/36) − 1/(2 15))k3 ), p = f (xi + hi /2, Yi + (5/36) + 15/24)k1 + p (2/9)k2 + (5/36 − 15/24)k3 ), p = f (xi + (1/2)(1 + 3/5)hi , Yi + (5/36+ √ √ 1/(2 15))k1 + (2/9 + 1/ 15)k2 + (5/36)k3 )
5
7
F¨ ur 2 ≤ m ≤ 20 sind Tabellen der Koeffizienten Aj , aj , bjs in [GLAS1966] angegeben. Die oben genannten Gleichungen bzw. die Gleichungssysteme f¨ ur die kj sind nichtlinear und m¨ ussen iterativ gel¨ ost werden. Entsprechende Systeme ergeben sich auch f¨ ur m > 3. Die iterative Aufl¨osung wird hier am Beispiel m = 2 erl¨autert. Dazu wird an den Werten kj ein oberer Index als Iterationsindex angebracht. Als Startwerte verwendet man (0)
k1 Die Iterationsvorschrift lautet: (ν+1) k1 = f xi + 1 2 (1 − (ν+1) k2 = f xi + 1 2 (1 +
(0)
= k2
= f (xi , Yi ).
√1 )hi , Yi + 1 k1(ν) + 1 ( 1 − √1 )k2(ν) , 4 2 2 3 3
√1 )hi , Yi + 1 ( 1 + √1 )k1(ν) + 1 k2(ν) , 2 2 4 3 3 ν = 1, 2, . . .
(16.15)
698
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen (0)
(0)
Die Konvergenz ist f¨ ur beliebige Startwerte k1 , k2 gesichert ([GRIG1977], S.40, s. a. [SOMM1967], S.31), sofern hi entsprechend der Bedingung m X ∂fr , 1 ≤ r, k ≤ n, max hi Li |bjs | < 1 mit Li = max (16.16) 1≤j≤m x∈[xi ,xi+1 ] ∂yk s=1 gew¨ahlt ist. Zum Erreichen der lokalen Fehlerordnung O(h2m+1 ) sind i 2m − 1 Iterationsschritte erforderlich. Es sind also die Schrittweite hi gem¨aß (16.16) und die Anzahl m der Funktionswerte pro Integrationsschritt w¨ ahlbar. Wie in [FILI1968] und [SOMM1967] gezeigt wird, l¨asst sich aber der zur Erzielung einer gew¨ unschten Genauigkeit ε erforderliche Arbeitsaufwand AW (ε, m) in Abh¨ angigkeit von m minimieren. Zu dem auf diese Weise ermittelten optimalen m l¨ asst sich dann die Schrittweite hi = xi+1 − xi = hi (ε, m) f¨ ur jeden Integrationsschritt berechnen. Von D. Sommer wurde f¨ ur das gesamte Verfahren ein Rechenprogramm mit automatischer Schrittweitensteuerung entwickelt, das in einer Neufassung in [EUL1985] angegeben wird. Seine Anwendung empfiehlt sich, wenn eine Genauigkeit von 10−20 ≤ ε ≤ 10−10 gefordert wird und ein großes Integrationsintervall vorliegt. Entsprechende Formeln bzw. Koeffizienten f¨ ur implizierte RK-Verfahren, bei denen die m Argumente xi +αj hi mit den St¨ utzstellen anderer Quadraturformeln (Newton - Cotes, Maclaurin u.a.) zusammenfallen, finden sich in [FILI1968] bzw. [SOMM1967]. Eine spezielle Form der Schrittweitensteuerung, die auf der Verwendung von zwei verschiedenen Quadraturformeln beruht, findet sich in [GRIG1977], S.69/70.
16.3.6
Gemeinsame Darstellung aller Einschrittverfahren. Verfahrensfunktion eines Einschrittverfahrens. Konsistenz
Wenn man sich die Algorithmen der zuvor angegebenen Einschrittverfahren zur L¨osung eines AWPs (16.1) zu einem Gitter (16.3) ansieht, so l¨asst sich f¨ ur alle Verfahren folgende allgemeine Form f¨ ur die Rekursion herauslesen: Yi+1 = Yi + hi Φ(xi , Yi , hi ),
i = 0(1)N−1.
(16.17)
Φ heißt Verfahrensfunktion; jedes Einschrittverfahren ist durch die zugeh¨orige Verfahrensfunktion eindeutig festgelegt. Zum Beispiel lautet die Verfahrensfunktion f¨ ur das verbesserte Euler-Cauchy-Verfahren Φ(xi , Yi , hi ) = f xi + (hi /2), Yi + (hi /2) f (xi , Yi ) und die f¨ ur ein m-stufiges Runge-Kutta-Verfahren Φ(xi , Yi , hi ) =
m X
Aj kj (xi , Yi , hi )
j=1
mit den entsprechenden Aj und kj , s. Tabelle 16.13.
16.3 Einschrittverfahren
699
Definition 16.16. (Diskretisierungsfehler, Abbruchfehler ) Unter Verwendung der Verfahrensfunktion Φ(x, Y , h) eines Einschrittverfahrens l¨asst sich mit (16.4) und (16.17) der Diskretisierungsfehler im Gitterpunkt xi wie folgt definieren: 1 τ i := y (xi+1 ) − y (xi ) − Φ xi , y (xi ), hi hi τ i heißt Abbruchfehler oder Diskretisierungsfehler an der Stelle xi , y (x) ist die exakte L¨osung des AWPs y 0 = f (x, y ).
Definition 16.17. (Konsistenz ) Ein Einschrittverfahren heißt konsistent, wenn die gewichtete Summe u ¨ ber die Diskretisierungsfehler zu allen Gitterpunkten xi , i = 0(1)N−1, N −1 X hi kτ i k i=0
f¨ ur hmax → 0 mit hmax =
max
0≤i≤N −1
hi , hi = xi+1 − xi > 0, gegen Null strebt.
Ein Einschrittverfahren ist sicher konsistent, wenn f¨ ur den maximalen Diskretisierungsfehler gilt max {kτ i k} → 0 f¨ ur hmax → 0. 0≤i≤N−1
Damit sind alle in den vorherigen Abschnitten genannten Einschrittverfahren konsistent, sofern die L¨osung y des AWPs (16.1) gen¨ ugend oft stetig differenzierbar ist.
Definition 16.18. (Konsistenzordnung) Die Ordnung O(hqmax ), mit der der Abbruchfehler bzw. Diskretisierungsfehler gegen Null strebt, heißt Konsistenzordnung. Die Konsistenzordnung ist gleich der globalen Fehlerordnung. Zum Erreichen der Konsistenzordnung muss die L¨ osung y hinreichend oft stetig differenzierbar sein, f¨ ur die Konsistenz reicht die zweimalige stetige Differenzierbarkeit.
Satz 16.19. (Konvergenz ) Ein konsistentes Einschrittverfahren mit der Konsistenzordnung q > 0, dessen Verfahrensfunktion Φ bez¨ uglich y eine Lipschitzbedingung erf¨ ullt, ist konvergent von der Ordnung q. Es gilt folglich auch lim kYi − y (xi )k = 0.
hmax →0
Beweis siehe [STOE1990]; [WERN1993].
700
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
16.3.7
Fehlersch¨ atzung und automatische Schrittweitensteuerung
16.3.7.1
Fehlersch¨ atzung
Sind Yh (x) und Yeh (x) zwei mit der Schrittweite h bzw. e h nach einem Verfahren der globalen Fehlerordnung qg berechnete N¨ aherungswerte f¨ ur y an einer Stelle x ∈ [x0 , β], so gilt f¨ ur den globalen Verfahrensfehler die Sch¨ atzungsformel Yh (x) − Yeh (x) eh (x) := y (x) − Yh (x) ≈ = eh∗ (x). (16.18) (e h/h)qg − 1 Dann ist (e h/h)qg Yh (x) − Yeh (x) Yh∗ (x) = Yh (x) + eh∗ (x) = (e h/h)qg − 1 ein gegen¨ uber Yh (x) verbesserter N¨ aherungswert f¨ ur die exakte L¨osung y (x); es gilt bei entsprechend oft differenzierbarer L¨ osung y y (x) = Yh∗ (x) + O(hqg +1 ). Die globale Fehlerordnung wird durch die Addition des gesch¨atzten Fehlers auf den N¨aherungswert um mindestens eins erh¨ oht (s. [STUM1982], S.253) . F¨ ur e h = 2h ergeben sich die Beziehungen Y (x) − Y2h (x) eh (x) ≈ h qg = e∗h (x), 2 −1 2qg Yh (x) − Y2h (x) Yh∗ (x) = ; 2qg − 1 dabei sind Yh der mit der Schrittweite h und Y2h der mit der doppelten Schrittweite ermittelte N¨aherungswert f¨ ur y (x). Der verbesserte N¨aherungswert Yh∗ (x) ist dann um mindestens eine h-Potenz in der Fehlerordnung besser als Yh (x). Es ergeben sich z. B. folgende Sch¨ atzungsformeln und verbesserte N¨aherungswerte f¨ ur spezielle Einschrittverfahren mit e h = 2h. 1. Euler - Cauchy - Verfahren (qg = 1): EC ehEC (x) ≈ YhEC (x) − Y2h (x) EC Yh∗EC (x) = 2YhEC (x) − Y2h (x)
2. Verfahren von Heun und verbessertes Euler-Cauchy-Verfahren (qg = 2): H H ehH (x) ≈ 1 3 Yh (x) − Y2h (x) H H Yh∗H (x) = 1 3 4Yh (x) − Y2h (x) 3. Klassisches Runge-Kutta-Verfahren (qg = 4): 1 Y kRK (x) − Y kRK (x) ehkRK (x) ≈ 15 h 2h 1 kRK Yh∗kRK (x) = 15 16YhkRK (x) − Y2h (x)
16.3 Einschrittverfahren 16.3.7.2
701
Methoden zur automatischen Schrittweitensteuerung. Adaptive Anfangswertprobleml¨ oser
Es ist im Allgemeinen nicht sinnvoll, mit konstanter Schrittweite, also ¨aquidistantem Gitter, zu rechnen. Es empfiehlt sich, die lokalen Schrittweiten an das lokale Verhalten der L¨osung anzupassen (Beispiele dazu s. [LUTH1987], 4.3). Man sollte in Bereichen glatteren Verlaufs der L¨ osung verh¨ altnism¨ aßig große Schrittweiten w¨ahlen, in Bereichen ¨ starker Anderung der L¨ osung aber verh¨ altnism¨ aßig kleine Schrittweiten. Eine Steuerung der Schrittweitenwahl ist automatisch u ber eine Fehlersch¨atzung m¨oglich. Dazu gibt es ¨ mehrere M¨oglichkeiten und Verfahrensweisen, von denen hier einige aufgef¨ uhrt werden. 1. M¨ oglichkeit zur Schrittweitensteuerung. Man kann z. B. unter Verwendung der eben angegebenen Fehlersch¨atzungsformel (16.18) wie folgt verfahren: Nach je zwei Schritten mit der Schrittweite h f¨ uhrt man einen Schritt mit doppelter Schrittweite 2h unter Verwendung des gleichen Verfahrens durch. Liegt der gesch¨atzte Fehler weit unterhalb der vorgegebenen Fehlerschranke, so kann man f¨ ur den n¨achsten Schritt die Schrittweite vergr¨ oßern, liegt er dar¨ uber, so rechnet man das letzte St¨ uck mit kleinerer Schrittweite noch einmal. War die Schrittweite richtig gew¨ahlt, verbessert man mit Hilfe der Fehlersch¨ atzung den N¨aherungswert und rechnet mit dem verbesserten Wert weiter. 2. M¨ oglichkeit zur Schrittweitensteuerung. Noch wirkungsvoller ist die folgende Verfahrensweise zur automatischen Schrittweitensteuerung: Man verwendet zwei Einschrittverfahren mit den Verfahrensfunktionen Φ und e eins von der globalen Konvergenzordnung qg , eins mindestens von der Ordnung qg +1, Φ, und berechnet mit beiden Verfahren ausgehend von einem N¨aherungswert Yi an dem e an der Stelle Gitterpunkt xi und einer Schrittweite h die N¨ aherungswerte Y und Y x = xi + h. Je nach Ausfall der Fehlersch¨ atzung wird die gew¨ahlte Schrittweite h akzeptiert und damit x =: xi+1 zum neuen Gitterpunkt erkl¨art oder es muss der eben durchgef¨ uhrte Integrationsschritt mit neuer Schrittweite wiederholt werden; es wird somit adaptiv gearbeitet. Folgender Algorithmus wird verwendet (Beweis s. [LUTH1987], 4.3).
Algorithmus 16.20. (Automatische Schrittweitensteuerung, adaptive AWP-L¨ oser ) e der FehEs werden zwei Einschrittverfahren mit den Verfahrensfunktionen Φ und Φ lerordnung qg bzw. (mindestens) qg + 1 gew¨ ahlt. Yi sei ein N¨aherungswert f¨ ur die exakte L¨osung y im Gitterpunkt xi . Dann geht man mit einer gew¨ ahlten Schrittweite h wie folgt vor. 1. Man berechnet mit dem ersten Einschrittverfahren eine N¨aherungsl¨osung Y , mit e an der Stelle xi + h: dem zweiten eine N¨ aherungsl¨ osung Y e = Yi + hΦ(x e i , Yi , h) Y = Yi + hΦ(xi , Yi , h), Y
702
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
und zu einer vorgegebenen Fehlerschranke ε > 0 die Gr¨oße !1/qg hε S := . ek kY − Y e als neue N¨ 2. Ist S ≥ 1, so wird Yi+1 := Y aherung im Gitterpunkt xi+1 := xi + h akzeptiert. Statt h w¨ ahlt man f¨ ur den n¨ achsten Schritt, der gem¨aß 1. f¨ ur i + 1 an Stelle von i durchgef¨ uhrt wird, die neue Schrittweite h := min{2; S} · h. Im Falle S < 1 muss man den ersten Schritt wiederholen mit der neuen Schrittweite h := max{ 12 ; S} · h.
Algorithmus 16.21. (Automatische Schrittweitensteuerung nach [HULL1972]) ei Es werden zwei Einschrittverfahren der Ordnungen qg bzw. qeg ≥ qg + 1 gew¨ahlt. Y sei ein N¨aherungswert f¨ ur die exakte L¨ osung y im Gitterpunkt xi . 1. Man berechnet mit dem ersten Einschrittverfahren eine N¨aherungsl¨osung Y , mit e an der Stelle xi + h. dem zweiten eine N¨ aherungsl¨ osung Y 2. Man berechnet damit S := 0.9h
ε ek kY − Y
!1/(qg +1) .
e k RelErr + AbsErr mit ε = kY e k < ε, so wird Yi+1 := Y als neue N¨aherung im Gitterpunkt 3. Ist kY − Y xi+1 := xi + h akzeptiert. Im n¨ achsten Schritt wird mit der Schrittweite h := min{S; 4h} gearbeitet. e k > ε muss der erste Schritt mit der neuen Schrittweite Im Fall kY −Y h := max{S; 14 h} wiederholt werden. Bemerkung zur Fehlersch¨ atzung bei Einbettungsformeln. In Abschnitt 16.3.4.4 wurden Einbettungsformeln angegeben; sie eignen sich besonders gut zur Adaption unter Verwendung der Schrittweitensteuerung aus Algorithmus 16.20 e mit nur geringem Mehraufwand gegen¨ bzw. 16.21, weil sich der N¨ aherungswert Y uber der Berechnung des N¨aherungswertes Y ermitteln l¨ asst. Die kj -Werte, die zur Berechnung e verwendet werden. von Y ben¨otigt werden, k¨ onnen alle auch zur Berechnung von Y Als Beispiele sind in Abschnitt 16.3.4.4 Einbettungsformeln bis zur 9. Ordnung angee zu den geben. Die f¨ ur Algorithmus 16.20 bzw. 16.21 erforderlichen Differenzen Y − Y Einbettungsformeln (16.7) bis (16.10) sind beispielhaft in den Formeln (16.11) bis (16.14) berechnet.
16.3 Einschrittverfahren
703
Beispiel 16.22. (vgl. [LUTH1987]) Gegeben: Das Anfangswertproblem
y 0 = y · cos(x), x ∈ [−8, 0] y(−8) = e sin(−8)
(exakte L¨ osung: y(x) = e sin(x) ) Gesucht:
Die L¨osung mit der England-Einbettungsformel mit Schrittweitensteuerung nach Algorithmus 16.20 zu verschiedenen ε-Werten
L¨osung: ε −3
0.4 · 10 0.4 · 10−6 0.4 · 10−8
minim. h
maxim. h
Anzahl Fkt. Ausw.
maxim. Fehler
0.272 23 0.048 71 0.015 43
0.798 04 0.500 00 0.500 00
267 1054 3195
0.517 25 · 10−3 0.472 09 · 10−6 0.362 56 · 10−8
Der maximale Fehler bei ε = 0.4 · 10−8 liegt in der vorgegebenen Toleranz. Der Aufwand w¨achst mit kleinerem ε! Die Effektivit¨at spiegelt sich im Verh¨altnis benutzter maximaler zu minimaler Schrittweite. Bemerkung. In der Programmbibliothek ist ein Programm angegeben, welches adaptiv mit der Schrittweitensteuerung aus Algorithmus 16.20 arbeitet und wahlweise eine Runge-Kutta-Einbettungsformel 2./3. Ordnung bzw. die England-Formel 4./5. Ordnung benutzt. Ist ein AWP (16.1) gegeben und will man N¨aherungswerte f¨ ur die L¨osung y (x) an den Stellen xk = x0 + kh f¨ ur k = 1(1)kend berechnen, so ruft man das Programm zweckm¨aßig in einer Schleife so auf, dass die L¨ osung jeweils an den Stellen xk+1 berechnet wird, also bei jedem Schleifendurchlauf mit dem Anfangswert Y (xk ) den Wert Y (xk+1 ). Zwischen xk und xk+1 wird dann eine Schrittweitensteuerung gem¨aß Algorithmus 16.20 durchgef¨ uhrt. Es wird der kombinierte Fehlertest (s. Abschnitt 1.3) verwendet und die Fehlerschranke ε wie folgt gesetzt e k, ε = AbsErr + RelErr kY so dass das S aus Algorithmus 16.20 in der Form benutzt wird !1/q ek AbsErr + RelErr kY S = hk . ek kY −Y Bemerkung zur Auswahl der geeigneten Einbettungsformel. Man kann hier nat¨ urlich auch jede beliebige andere Einbettungsformel aus Abschnitt 16.3.4.4 verwenden. In der 7. Auflage der FORTRAN-Ausgabe wird ein entsprechendes Programm angegeben, das adaptiv wahlweise mit einer beliebigen der angegebenen Einbettungsformeln arbeitet (bei Interesse E-Mail an
[email protected]). Hierauf und auf Testergebnisse zum Einsatz der Algorithmen 16.20 und 16.21 zur automatischen Schrittweitensteuerung wird in Abschnitt 16.8 (Entscheidungshilfen bei der Wahl des Verfahrens) eingegangen.
704
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
16.4
Mehrschrittverfahren
16.4.1
Prinzip der Mehrschrittverfahren
Die Mehrschrittverfahren verwenden zur Berechnung eines N¨aherungswertes Yi+1 f¨ ur y (xi+1 ) s + 1 vorangehende Werte Yi−s , Yi−s+1 ,..., Yi−1 ,Yi , s ∈ N. Man betrachtet das AWP y 0 = f (x, y ) = f x, y (x) = f (x, y1 , y2 . . . yn ), x ∈ [x−s , β] y (x−s ) = y−s
(DGL)
)
Anf.-Bed.
(16.19)
Im Integrationsintervall [x−s , β] der DGL wird ein Gitter definiert x−s < x−s+1 < . . . < xN −s = β mit den lokalen Schrittweiten hi := xi+1 − xi > 0 f¨ ur i = −s(1)N−s, N > s. Man nimmt an, dass die Werte von y und damit auch von f (x, y ) bereits an den Stel len x−s , x−s+1 ,..., x−1 , x0 bekannt sind. Die Wertepaare xi , f (xi , yi ) f¨ ur i = −s(1)0 bilden das Anlaufst¨ uck zur Berechnung der N¨ aherungswerte Yi = Y (xi ) f¨ ur yi = y (xi ), i = 1(1)N −s, an den restlichen N −s Gitterpunkten x1 , x2 ,..., xN−s . Die Werte von y f¨ ur das Anlaufst¨ uck sind entweder vorgegeben (exakt oder n¨aherungsweise) oder sie werden mit Hilfe eines Einschrittverfahrens (z. B. mit Hilfe des klassischen RK-Verfahrens) n¨aherungsweise berechnet; es sind also y -Werte bzw. Y -Werte. Im Folgenden werden die Werte des Anlaufst¨ ucks mit xi , f (xi , yi ) = (xi , fi ) bezeichnet. Man geht aus von der der DGL (16.19) f¨ ur [xi , xi+1 ] zugeordneten Integralgleichung (16.4). Bei einer Klasse von Mehrschrittverfahren wird nun die Funktion f in (16.4) durch das Interpolationspolynom Φs vom H¨ ochstgrad s zu den s + 1 Interpolationsstellen (xj , fj ), j = (i − s)(1)i, ersetzt und Φs u ¨ber [xi , xi+1 ] integriert. Diese s + 1 Interpolationsstellen werden auch als Startwerte bezeichnet. Man erh¨alt so einen N¨aherungswert Yi+1 f¨ ur yi+1 . Im Falle i = 0 sind die Interpolationsstellen mit dem Anlaufst¨ uck identisch, f¨ ur i > 0 kommen zu Werten des Anlaufst¨ ucks noch Wertepaare (xj , fj ), j = 1(1)i, hinzu, die sich nacheinander mit den errechneten N¨aherungswerten Y1 ,Y2 ,...,Yi ergeben unter der Annahme, dass die Startwerte exakt sind. Da auf der rechten Seite von (16.4) dann nur Ordinaten von Yi−s bis Yi auftreten, erh¨alt man eine explizite Formel zur Berechnung des N¨aherungswertes Yi+1 . Der zugeh¨orige Integrationsschritt ist ein Extrapolationsschritt. In analoger Weise erh¨ alt man eine implizite Formel, wenn man zur Konstruktion des Interpolationspolynoms f¨ ur f außer xi−s , xi−s+1 ,..., xi auch die St¨ utzstelle xi+1 verwendet. Dann tritt auf der rechten Seite von (16.4) neben den Ordinaten Yi−s , Yi−s+1 ,..., Yi auch Yi+1 auf. Eine Formel dieser Art ist z. B. die Korrektorformel des Verfahrens von Heun. Wenn man eine explizite und eine implizite Formel als Paar benutzt, so heißen wieder die explizite Formel Praediktor, die implizite Formel Korrektor und das Verfahren ein Praediktor-Korrektor-Verfahren.
16.4 Mehrschrittverfahren
16.4.2
705
Das explizite Verfahren von Adams-Bashforth
Bei der Herleitung des Verfahrens von Adams-Bashforth (AB) wird in (16.4) f x, y (x) durch sein Interpolationspolynom Φs (x) zu den s + 1 Interpolationsstellen (xj , fj ), j = (i − s)(1)i, und das zugeh¨ orige Restglied Rs+1 (x) ersetzt. Die Integration u ¨ ber [xi , xi+1 ] liefert x Zi+1 yi+1 = Yi+1 + εAB i+1
mit Yi+1 = Yi +
εAB i+1 := yi+1 − Yi+1 =
Φs (x)dx, xi
x Zi+1
Rs+1 (x)dx; xi
εAB ¨ber [xi , xi+1 ] unter der Ani+1 ist der lokale Verfahrensfehler, der bei der Integration u nahme entsteht, dass die Startwerte exakt sind. Man erh¨alt so f¨ ur jedes feste s mit den Startwerten (xj , fj ), j = (i − s)(1)i, f¨ ur den Integrationsschritt von xi nach xi+1 eine AB-Formel zur Berechnung von Yi+1 und den q` zugeh¨origen lokalen Verfahrensfehler εAB i+1 = O(h ). Im Folgenden werden die AB-Formeln f¨ ur s = 3(1)6 und f¨ ur a¨quidistante Gitterpunkte angegeben. Mit hi = h = const. erh¨ alt man s = 3 (q` = 5) : Yi+1 εAB i+1
= Yi + =
h (55fi 24
− 59fi−1 + 37fi−2 − 9fi−3 ),
251 5 (5) h y (ηi ) 720
= O(h5 ), ηi ∈ [xi , xi+1 ],
i = 0(1)n−4; s = 4 (q` = 6) : Yi+1
= Yi +
h 720 (1901fi
− 2774fi−1 + 2616fi−2
− 1274fi−3 + 251fi−4 ), εAB i+1
=
95 6 (6) (ηi ) 288 h y
= O(h6 ), ηi ∈ [xi , xi+1 ],
i = 0(1)n−5; s = 5 (q` = 7) : Yi+1
= Yi +
h (4277fi 1440
− 7923fi−1 + 9982fi−2
− 7298fi−3 + 2877fi−4 − 475fi−5 ), εAB i+1
=
19087 7 (7) (ηi ) 60480 h y
= O(h7 ), ηi ∈ [xi , xi+1 ],
i = 0(1)n−6; s = 6 (q` = 8) : Yi+1
= Yi +
h (198721fi 60480
− 447288fi−1 + 705549fi−2
− 688256fi−3 + 407139fi−4 − 134472fi−5 + 19087fi−6 ), εAB i+1
=
5257 8 (8) h y (ηi ) 17280
= O(h8 ), ηi ∈ [xi , xi+1 ],
i = 0(1)n−7. F¨ ur die globale Fehlerordnung O(hqg ) gilt qg = q` − 1.
706
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Beispiel 16.23. Gegeben: Das Anfangswertproblem
y 0 = f (x, y) = y y(0) = 1
Gesucht:
Ein N¨aherungswert Y (0.4) f¨ ur y(0.4) nach dem Adams-Bashforth-Verfahren (AB) mit der Schrittweite h = 0.1 und s = 3 (q` = 5)
L¨osung:
Mit y(0) = y−3 = Y−3 sind f¨ ur das Anlaufst¨ uck die Werte Y−2 , Y−1 , Y0 zu bestimmen. Sie werden nach dem Runge-Kutta-Verfahren berechnet, und man erh¨alt bei 9-stelliger Mantisse die im folgenden Rechenschema angegebenen Werte.
Rechenschema: i Anlaufst¨ uck
−3 −2 −1 0 1
xi 0 0.1 0.2 0.3 0.4
Yi = Y (xi )
fi = f (xi , Yi ) = Yi
1.000 000 00 1.105 170 92 1.221 402 76 1.349 858 81
1.000 000 00 1.105 170 92 1.221 402 76 1.349 858 81
1.491 820 46
Zur Berechnung von Y1 = Y (0.4) wird die AB-Formel s = 3 verwendet: Y1
= =
1.349 858 81 + 1.491 820 46 .
0.1 24
(55 · 1.349 858 81 − 59 · 1.221 402 76 + 37 · 1.105 170 92 − 9 · 1)
Die exakte L¨osung ist y(0.4) = e0.4 = 1.491 824 70, d. h. |y(0.4) − Y (0.4)| = |1.491 824 70 − 1.491 820 46| = 0.424 · 10−5 . Wird Y (0.4) mit Hilfe des Runge-Kutta-Verfahrens berechnet, erh¨alt man Y (0.4) = 1.491 824 586, so dass f¨ ur den absoluten Fehler gilt |∆RK | = |y(0.4) − Y (0.4)| = |1.491 824 70 − 1.491 824 586| = 0.114 · 10−6 . Im vorliegenden Fall liefert also die RK-Formel, die die gleiche lokale Fehlerordnung O(h5 ) besitzt wie die AB-Formel, einen genaueren Wert; siehe nachfolgende Bemerkungen.
16.4 Mehrschrittverfahren
707
Nachteil der AB-Formeln. Es ist jeweils ein Anlaufst¨ uck mit s+1 Wertepaaren (xj , fj ) erforderlich, das mit Hilfe eines anderen Verfahrens bestimmt werden muss. Dieses Verfahren sollte von der gleichen lokalen Fehlerordnung sein, was z. B. durch ein entsprechendes RK-Verfahren gew¨ ahrleistet ist. Dieser Sachverhalt w¨ urde daf¨ ur sprechen, das RK-Verfahren f¨ ur das ganze Intervall [x−s , β] anzuwenden und nicht die AB-Formel mit der RK-Formel zu kombinieren. Vorteil der AB-Formeln. Da jedoch bei einem AB-Schritt von xi nach xi+1 nur ein neuer Funktionswert fi zu berechnen ist gegen¨ uber m Funktionswerten bei einem RKSchritt der Ordnung m, erfordert die AB-Formel im Vergleich zur RK-Formel einen betr¨achtlich geringeren Rechenaufwand. Das wiederum spricht f¨ ur eine Kombination von RK- und AB-Formel. Trotzdem sollte eine AB-Formel nicht allein verwendet werden, sondern als Praediktor zusammen mit einer impliziten Formel als Korrektor. Denn bei der Konstruktion der AB-Formel ist [xi−s , xi ] das Interpolationsintervall f¨ ur Φs , jedoch [xi , xi+1 ] das Integrationsintervall von Φs , so dass der Integrationsschritt einem Extrapolationsschritt entspricht. Bekanntlich w¨ achst jedoch das Restglied Rs+1 der Interpolation stark an f¨ ur Werte, die außerhalb des Interpolationsintervalls liegen (s. Abschnitt 9.6). Es ist also zu erwarten, dass auch der lokale Verfahrensfehler εAB achst i+1 bei zunehmendem h stark anw¨ und gr¨oßer als der lokale Verfahrensfehler eines RK-Verfahrens gleicher Fehlerordnung wird. Zur Fehlersch¨ atzung vergleiche man Abschnitt 16.4.5. Weitere Mehrschrittformeln k¨ onnen konstruiert werden, indem man wieder f x, y (x) in (16.4) durch das Interpolationspolynom Φs zu den s + 1 Interpolationsstellen (xj , fj ), j = (i − s)(1)i, ersetzt und u ¨ber [xi−r , xi+1 ] mit ganzzahligem r ≥ 0 und r ≤ s integriert. Der Fall r = 0 liefert die angegebenen AB-Formeln. Weitere Verfahren s. [COLL1966], S.86-88; [HENR1979], S.199-201, 241; [STUM1982], S.273-276; [WERN1993], S.290-294.; [SHAM1984].
16.4.3
Das Praediktor-Korrektor-Verfahren von Adams-Moulton
Kombiniert man eine AB-Extrapolationsformel mit einer impliziten Korrektorformel von mindestens gleicher Fehlerordnung (es empfiehlt sich, eine Korrektorformel zu w¨ahlen, deren Fehlerordnung um eins gr¨ oßer ist als die der Praediktorformel), so erh¨alt man ein Praediktor-Korrektor-Verfahren. Einen Korrektor h¨oherer Ordnung erh¨alt man, indem man f x, y (x) in (16.4) durch sein Interpolationspolynom zu den s + 2 Interpolationsstellen (xj , fj ), j = (i − s)(1)i + 1, ersetzt und analog zu Abschnitt 16.4.2 vorgeht.
708
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Im Fall s = 3 erh¨alt man f¨ ur einen Integrationsschritt von xi nach xi+1 bei a¨quidistantem Gitter yi+1
3 = Yi+1 + εAM i+1
Yi+1
= Yi +
3 εAM i+1
= −
mit
h (251fi+1 + 646fi − 264fi−1 + 106fi−2 − 19fi−3 ), 720
3 6 (6) h y (ηi ) = O(h6 ), 160
ηi ∈ [xi , xi+1 ].
(16.20)
Wegen fi+1 = f (xi+1 , Yi+1 ) ist die Formel f¨ ur Yi+1 implizit, so dass Yi+1 iterativ bestimmt werden muss. Die Iterationsstufe kennzeichnet ein oberer Index ν. Es ergibt sich die AM-Formel f¨ ur s = 3: (ν+1)
Yi+1
= Yi
(ν)
+
h (251f 720
+
106fi−2 − 19fi−3 ).
(xi+1 , Yi+1 ) + 646fi − 264fi−1
(16.21)
Sie wird als Korrektorformel benutzt zusammen mit der AB-Formel f¨ ur s = 3 als Praediktor. Die Konvergenzbedingung f¨ ur die Korrektorformel lautet ∂fr 251 . hL = κ < 1 mit L = max 1≤k,r≤n ∂yk 720 Bei hinreichend kleiner Schrittweite h reichen im Allgemeinen h¨ochstens zwei Iterationsschritte aus.
Algorithmus 16.24. (Praediktor-Korrektor-Verfahren nach Adams-Moulton f¨ ur s=3 ) Gegeben sind die DGL y 0 = f (x, y ), x ∈ [x−3 , β = xN −3 ], mit der Anf.-Bed. y(x−3 ) = y−3 , der Schrittweite h > 0, den St¨ utzstellen xi = x0 + ih, i = −3(1)N−3, und dem Anlaufst¨ uck (xi , fi ), i = −3(1)0. Gesucht sind N¨aherungen Yi f¨ ur y (xi ), i = 1(1)N −3. F¨ ur einen Integrationsschritt von xi nach xi+1 sind folgende Schritte durchzuf¨ uhren (0)
1. Schritt: Berechnung von Yi+1 nach der AB-Formel (Praediktorformel mit q` = 5) (0) h Yi+1 = Yi + 24 (55fi − 59fi−1 + 37fi−2 − 9fi−3 ) . (0)
2. Schritt: Berechnung von f (xi+1 , Yi+1 ) . (ν+1)
3. Schritt: Berechnung von Yi+1 f¨ ur ν = 0 und ν = 1 nach der AM-Formel (16.21) (Korrektorformel mit q` = 6).
16.4 Mehrschrittverfahren
709
Um sicher mit h¨ochstens zwei Iterationsschritten auszukommen, sollte h so gew¨ahlt werden, dass K = hL ≤ 0.20 gilt. Man setzt dann f¨ ur ν = 0 bzw. ν = 1 (ν+1)
Yi+1
= Yi+1 ≈ yi+1 .
Ist im Verlauf der Rechnung vor einem xj eine Verkleinerung der Schrittweite erforderlich, so empfiehlt es sich im Allgemeinen, h zu halbieren. Dann ist nat¨ urlich das f¨ ur die weitere Rechnung ben¨ otigte Anlaufst¨ uck mit i = j −2, j −3/2, j −1, j −1/2 neu zu berechnen.
Rechenschema 16.25 (AM-Verfahren f¨ ur s = 3 und n = 1). i
Anlaufst¨ uck
−3 −2 −1 0
xi
Yi = Y (xi )
fi = f (xi , Yi )
x−3 x−2 x−1 x0
Y−3 = y−3 Y−2 Y−1 Y0
f−3 f−2 f−1 f0
(0)
f (x1 , Y1 )
(1)
f (x1 , Y1 ) f (x1 , Y1 )
(0)
f (x2 , Y2 )
(1)
f (x2 , Y2 )
Extrapolation nach AB
1
x1
Y1
Interpolation nach AM
1 1
x1 x1
Y1 (2) Y1 =: Y1
Extrapolation nach AB
2
x2
Y2
Interpolation nach AM
2 2
x2 x2
Y2 (2) Y2 =: Y2
(0)
(1)
(0)
(1)
710
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Beispiel 16.26. (vgl. Beispiel 16.23) Gegeben: Das Anfangswertproblem
y 0 = f (x, y) = y y(0) = 1
Gesucht:
Ein N¨aherungswert Y (0.4) f¨ ur y(0.4) nach dem Praediktor-Korrektor-Verfahren von Adams-Moulton (AM) mit der Schrittweite h = 0.1
L¨osung:
Es werden x−3 = 0, y−3 = y(x−3 ) = y(0) = 1 gesetzt. F¨ ur das Anlaufst¨ uck sind Y−2 , Y−1 , Y0 zu bestimmen; mit dem Runge-Kutta-Verfahren ergeben sich die Werte im Rechenschema. Alle anderen Werte wurden gem¨aß Algorithmus 16.24 ermittelt.
Rechenschema: i
xi
Yi = Y (xi )
fi = f (xi , Yi ) = Yi
Anlaufst¨ uck (berechnet mit RK)
−3 −2 −1 0
0 0.1 0.2 0.3
1.000 000 00 1.105 170 92 1.221 402 76 1.349 858 81
1.000 000 00 1.105 170 92 1.221 402 76 1.349 858 81
Extrapolation nach AB-Formel
1
0.4
1.491 820 46
1.491 820 46
Interpolation nach AM-Formel
1 1
0.4 0.4
1.491 824 58 1.491 824 72
1.491 824 58
Die Iteration kommt hier bei neunstelliger Mantisse nach zwei Iterationsschritten zum Stehen. F¨ ur den lokalen Verfahrensfehler an der Stelle x1 = 0.4 ergibt sich f¨ ur h = 0.1 3 −6 −7 vgl. (16.20) |εAM | ≤ · 10 · 1.5 < 0.282 · 10 ; man kann etwa sieben genaue 1 160 Dezimalstellen erwarten, dies wird nach zwei Iterationsschritten erreicht. Die exakte L¨osung ist y(0.4) = e0.4 = 1.491 824 70, d. h. |∆AM | = |y(0.4) − Y (0.4)| = 0.2 · 10−7 ; |∆AM | ≤ |∆RK | ≤ |∆AB |
es gilt f¨ ur dieses Beispiel
In den meisten F¨allen liegt RK zwischen AM und AB.
Weitere Beispiele finden sich in der Programmsammlung.
16.4 Mehrschrittverfahren
711
Weitere AM-Verfahren. Im Folgenden werden weitere AM-Verfahren angegeben, bei denen die Fehlerordnung des Praediktors jeweils um eins niedriger ist als die des Korrektors. Dabei wird die Abk¨ urzung (ν) (ν) fi+1 := f (xi+1 , Yi+1 ) verwendet. s=4:
(0)
Yi+1
=
Yi +
h (1901fi 720
− 2774fi−1 + 2616fi−2 − 1274fi−3
+ 251fi−4 ), (ν+1)
Yi+1
=
Yi +
(ν) h 1440 (475fi+1
+ 1427fi − 798fi−1 + 482fi−2
− 173fi−3 + 27fi−4 ), 4 εAM i+1
s=5:
(0)
Yi+1
=
863 − 60480 h7 y (7) (ηi ) = O(h7 ), ηi ∈ [xi , xi+1 ], i = 0(1)n − 4;
=
Yi +
h (4277fi 1440
− 7923fi−1 + 9982fi−2 − 7298fi−3
+ 2877fi−4 − 475fi−5 ), (ν+1)
Yi+1
=
Yi +
(ν) h 60480 (19087fi+1
+ 65112fi − 46461fi−1 + 37504fi−2
− 20211fi−3 + 6312fi−4 − 863fi−5 ), 5 εAM i+1
s=6:
(0)
Yi+1
=
275 − 24192 h8 y (8) (ηi ) = O(h8 ), ηi ∈ [xi , xi+1 ], i = 0(1)n − 5;
= Yi +
h 60480 (198721fi
− 447288fi−1 + 705549fi−2
− 688256fi−3 + 407139fi−4 − 134472fi−5 + 19087fi−6 ), (ν+1)
Yi+1
= Yi +
(ν) h 120960 (36799fi+1
+ 139849fi − 121797fi−1
+ 123133fi−2 − 88536fi−3 + 41499fi−4 − 11351fi−5 + 1375fi−6 ), 6 εAM i+1
33953 = − 3628800 h9 y (9) (ηi ) = O(h9 ), ηi ∈ [xi , xi+1 ], i = 0(1)n − 6.
Da die Fehlerordnung des Korrektors jeweils um eins h¨oher ist als die des Praediktors, kommt man meistens mit h¨ ochstens zwei Iterationsschritten aus. Allgemein gilt sogar f¨ ur ein Praediktor-Korrektor-Verfahren, dessen Praediktor die Fehlerordnung r1 und dessen Korrektor die Fehlerordnung r2 besitzt, f¨ ur den eigentlichen lokalen Verfahrensfehler PK Ei+1 nach ν + 1 Iterationsschritten (ν+1)
PK Ei+1 := yi+1 − Yi+1
= O(hmin(r2 ,r1 +ν+1) ).
Es ist also mit r1 = r2 − 1 bereits nach einem Iterationsschritt die Fehlerordnung des Korrektors erreicht. F¨ ur beliebige r1 < r2 erreicht man die Fehlerordnung O(hr2 ) nach ν = r2 − r1 − 1 Iterationsschritten. Da jedoch der Fehlerkoeffizient des Praediktors den
712
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
des Korrektors f¨ ur s ≥ 3 um einen Faktor > 10 u ¨bertrifft, k¨onnen eine oder mehrere weitere Iterationen erforderlich werden, um den Gesamtfehler auf den Fehler des Korrektors herabzudr¨ ucken. Begn¨ ugt man sich damit, die Fehlerordnung des Korrektors zu erreichen, so ist im Falle r1 = r2 − 1 nur eine Iteration erforderlich. Im Falle r1 = r2 wird man sich stets mit einem Iterationsschritt begn¨ ugen (s. auch [HENR1979], S.196; [STUM1982], S.271; [WERN1993], S.299). Ben¨ otigt man mehr Iterationen, so ist es besser, die Schrittweite zu verkleinern als die Iterationen fortzusetzen. Im Folgenden wird noch ein AM-Verfahren angegeben, dessen Praediktor-Formel (AB-Formel f¨ ur s = 3) und Korrektor-Formel (AM-Formel f¨ ur s = 2) die gleiche lokale Fehlerordnung O(h5 ) besitzen: Praediktor: (AB f¨ ur s = 3) Korrektor: (AM f¨ ur s = 2)
(0)
= Yi +
h (55fi 24
(ν+1)
= Yi +
(ν) h 24 (9fi+1
Yi+1 Yi+1
− 59fi−1 + 37fi−2 − 9fi−3 ) + 19fi − 5fi−1 + fi−2 )
Das Verfahren erfordert jeweils nur einen Iterationsschritt. F¨ ur dieses Praediktor-Korrektor-Paar kann eine besonders einfache Fehlersch¨atzung angegeben werden, vgl. dazu Abschnitt 16.4.5, so dass ohne großen Rechenaufwand und ohne zus¨atzliche Rechnung mit anderer Schrittweite jeder Wert Yi sofort verbessert werden kann. Anstelle der AM-Formeln als Korrektor kann man Formeln besonders g¨ unstiger Fehlerfortpflanzung verwenden. Man setzt dazu den Korrektor mit q` = m + 3 allgemein in der Form m m X X Yi+1 = ai−k Yi−k + h bi−k f (xi−k , Yi−k ) (16.22) k=0
k=−1
F ei+1
AM an. Es bezeichnen den globalen Verfahrensfehler einer Formel (16.22) und ei+1 den entsprechenden Wert f¨ ur die AM-Formel gleicher Fehlerordnung. Dann stellt AM F kei+1 k kei+1 k ein Maß f¨ ur die G¨ ute des Korrektors (16.22) hinsichtlich der Fehlerfortpflanzung dar. Nach [FEHL1961] ist durch (ν+1)
Yi+1
=
243 Y 1000 i
+ 18 Yi−2 +
79 Y 125 i−5
+
h 400
(ν)
120f (xi+1 , Yi+1 )
+567f (xi , Yi ) + 600f (xi−2 , Yi−2 ) + 405f (xi−4 , Yi−4 ) +72f (xi−5 , Yi−5 ) AM F ein Korrektor mit q` = 7 gegeben, bei dem sich f¨ ur kei+1 k kei+1 k ca. 8% des globalen Verfahrensfehlers der AM-Formel gleicher Fehlerordnung ergibt. Als Praediktor ben¨otigt man eine Extrapolationsformel mit q` = 6. Hierzu kann die AB-Formel f¨ ur s = 4 dienen. Wegen des sehr kleinen Fehlerkoeffizienten in (16.22) empfiehlt es sich, mehr als zwei Iterationsschritte durchzuf¨ uhren.
16.4 Mehrschrittverfahren
16.4.4
713
Verfahren von Adams-Sto ¨rmer
Im Folgenden wird ein Mehrschrittverfahren zur unmittelbaren Behandlung eines AWPs der Form y 00 = g(x, y, y 0 ) y(x0 )
y0 , y 0 (x0 ) = y00
=
ohne Zur¨ uckf¨ uhrung auf ein AWP (16.1) angegeben.
Algorithmus 16.27. (Verfahren von Adams-St¨ ormer ) 0 Gegeben sei das AWP y 00 = g(x, y, y 0 ), y(x−3 ) = y−3 , y 0 (x−3 ) = y−3 . Sind xi = x0 + ih, i = −3(1)N−3 die St¨ utzstellen im Integrationsintervall [x−3 , xN −3 = β], so sind zur Berechnung des N¨aherungswertes Yi+1 f¨ ur yi+1 f¨ ur jedes i = 1(1)N−2 die folgenden Schritte auszuf¨ uhren, nachdem das Anlaufst¨ uck aus den Wertetripeln (xi , Yi , Yi0 ), i = −3(1)0, z. B. nach dem RK-Verfahren berechnet wurde. 0(0)
(0)
1. Schritt: Berechnung der Werte Yi+1 , Yi+1 nach den Praediktorformeln der lokalen Fehlerordnung O(h5 ) (0)
Yi+1 = Yi + hYi0 + 0
(0)
Yi+1 = Yi0 +
h2 (323gi 360
h 24 (55gi
− 264gi−1 + 159gi−2 − 38gi−3 ),
− 59gi−1 + 37gi−2 − 9gi−3 ),
mit gi := g(xi , Yi , Yi0 ). (0)
0
(0)
2. Schritt: Berechnung von g(xi+1 , Yi+1 , Yi+1 ). 0(ν+1)
(ν+1)
3. Schritt: Berechnung von Yi+1 und Yi+1 rektorformeln (q` = 6) (ν+1)
Yi+1
0
(ν+1)
Yi+1
= Yi + hYi0 +
= Yi0 +
h 720
h2 1440
f¨ ur ν = 0 und ν = 1 nach den Kor(ν)
0
(ν)
135g(xi+1 , Yi+1 , Yi+1 ) + 752gi − 264gi−1 +96gi−2 − 17gi−3 , (ν)
0
(ν)
251g(xi+1 , Yi+1 , Yi+1 ) + 646gi − 264gi−1 +106gi−2 − 19gi−3 .
Bemerkung. Ob es vorteilhafter ist, das AWP einer DGL zweiter bzw. h¨oherer Ordnung (1) unmittelbar nach dem Verfahren von Adams-St¨ormer (direktes Verfahren) bzw. einem entsprechenden direkten Verfahren f¨ ur DGLen h¨oherer Ordnung oder (2) durch Zur¨ uckf¨ uhrung auf ein AWP f¨ ur ein System von DGLen erster Ordnung (indirektes Verfahren)
714
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
zu behandeln, l¨asst sich nicht generell entscheiden. F¨ ur DGLen h¨oherer Ordnung wurde in [JANS1975] allgemein nachgewiesen, dass die dem klassischen RK-Verfahren und dem AM-Verfahren entsprechenden direkten L¨osungsverfahren nur dann den geringeren gobalen Gesamtfehler ergeben, wenn in f die Ableitung y (n−1) nicht vorkommt; f¨ ur y (n) = f (x, y, y 0 , . . . , y (n−1) ) besitzen die indirekten L¨osungsverfahren den geringeren globalen Gesamtfehler.
16.4.5
Fehlersch¨ atzungsformeln fu ¨ r Mehrschrittverfahren
Mit den in Abschnitt 16.3.7 angegebenen Fehlersch¨atzungsformeln kann auch bei den Mehrschrittverfahren gearbeitet werden. Zum Beispiel ergeben sich mit (16.18) die Sch¨atzwerte und verbesserten N¨ aherungswerte f¨ ur 1. Adams-Bashforth f¨ ur s = 3: 1 ehAB (x) ≈ 15 1 Yh∗ (x) = 15 2. Adams-Moulton f¨ ur s = 3: 1 ehAM (x) ≈ 31 1 Yh∗ (x) = 31
Yh (x) − Y2h (x) , 16Yh (x) − Y2h (x) ; Yh (x) − Y2h (x) , 32Yh (x) − Y2h (x) .
F¨ ur den Fall, dass die AB-Formel f¨ ur s = 3 lokale Fehlerordnung O(h5 ) als Praedik tor mit der AM-Formel f¨ ur s = 2 lokale Fehlerordnung O(h5 ) als Korrektor kombiniert wird, gilt die folgende Sch¨ atzungsformel f¨ ur den globalen Verfahrensfehler (vgl. [CONT1987], 8.9) q` = 5 :
(1) (1) (0) 1 ehAM (x) := y (x) − Yh (x) ≈ − 14 Yh (x) − Yh (x) (1) (1) (0) (1) (0) 1 1 Y ∗ (x) = Yh (x) − 14 Yh (x) − Yh (x) = 14 13Yh (x) + Yh (x)
Diese Sch¨atzungsformel ist sehr einfach zu handhaben, da sie keine Rechnung mit doppelter Schrittweite erfordert. Sie dient auch dazu zu beurteilen, ob die gew¨ahlte Schrittweite f¨ ur die gew¨ unschte Genauigkeit ausreicht. Analog kann man eine AB-Formel mit einer AM-Formel von jeweils gleicher Fehlerordnung q` = 6, 7, 8 zu einem Praediktor-Korrektor-Paar verbinden, wobei jeweils nur eine Iteration erforderlich ist, und erh¨ alt folgende Sch¨atzungsformeln f¨ ur den globalen Verfahrensfehler: (1) (1) (0) 1 q` = 6 : ehAM (x) := y (x) − Yh (x) ≈ − 18 Yh (x) − Yh (x) , (1) (1) (0) 1 q` = 7 : ehAM (x) := y (x) − Yh (x) ≈ − 22 Yh (x) − Yh (x) , (1) (1) (0) 1 q` = 8 : ehAM (x) := y (x) − Yh (x) ≈ − 26 Yh (x) − Yh (x) .
16.5 Extrapolationsverfahren von Bulirsch-Stoer-Gragg
715
Hinweis. F¨ ur Mehrschrittverfahren ist eine effektive automatische Schrittweitensteuerung, wie sie in Abschnitt 16.3.7 f¨ ur die Einschrittverfahren angegeben wurde, mit sehr viel komplexeren Verfahren auch m¨ oglich. N¨ ahere Ausk¨ unfte hier¨ uber gibt das Buch von Shampine/Gordon [SHAM1984], dort sind auch ausgefeilte FORTRAN-Programme dazu angegeben. Bemerkung (Rechnungsfehler f¨ ur Ein- und Mehrschrittverfahren). W¨ahrend der globale Verfahrensfehler der behandelten Ein- und Mehrschrittverfahren f¨ ur h → 0 mit der Ordnung qg abnimmt, w¨ achst der globale Rechnungsfehler mit abnehmender Schrittweite an. Der Gesamtfehler, die Summe aus Verfahrensfehler und Rechnungsfehler, kann also nicht beliebig klein gemacht werden. Man sollte deshalb die Schrittweite h so w¨ahlen, dass Verfahrensfehler und Rechnungsfehler von gleicher Gr¨oßenordnung sind.
16.5
Extrapolationsverfahren von Bulirsch-Stoer-Gragg
Gegeben sei das Anfangswertproblem (16.1); hier wird o. B. d. A. der Fall n = 1 betrachtet: y 0 = f (x, y), y(x0 ) = y0 . Das Verfahren ist ganz analog auf Systeme u ¨bertragbar. Gesucht sei ein N¨aherungswert Y (x) f¨ ur die exakte L¨osung y(x) des AWPs an der Stelle x mit x − x0 x := x0 + N h, h := , N ≥ 1. N Die Graggsche Funktion S(x; h) liefert einen N¨ aherungswert der globalen Fehlerordnung O(h2 ) f¨ ur y(x), sie wird gem¨ aß [STOE1990], 7.2 wie folgt berechnet. Mit
z0 z1 zi+1
:= y0 := z0 + hf (x0 , y0 ), x1 := x0 + h := zi−1 + 2hf (xi , zi ), xi+1 := xi + h f¨ ur i = 1(1)N−1
(16.23)
ergibt sich S aus der Beziehung 1 [zN + zN−1 + hf (xN , zN )]. (16.24) 2 Bei dem von Bulirsch-Stoer angegebenen Extrapolationsverfahren w¨ahlt man nun eine Folge von nat¨ urlichen Zahlen {n0 , n1 , n2 , . . .} (16.25) S(x; h) :=
mit 0 < n0 < n1 < . . . und berechnet f¨ ur jedes x − x0 hj := nj die Graggsche Funktion S(x; hj ).
(16.26)
716
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Die Zahlen nj d¨ urfen nur gerade oder nur ungerade sein. Die Berechnung der Werte S(x; hj ) erfolgt analog zu (16.23) und (16.24); man erh¨oht f¨ ur jedes j = 0, 1, . . . mit z0 z1 zi+1
:= y0 := z0 + hj f (x0 , y0 ), := zi−1 + 2hj f (xi , zi ),
einen Wert S(x; hj ) :=
x1 xi+1
:= x0 + hj := xi + hj ,
i = 1(1)nj −1
1 [zn + znj −1 + hj f (xnj , znj )]. 2 j
Es gilt y(x) = S(x; hj ) + O(h2j ). Da sich f¨ ur S eine asymptotische Entwicklung nach Potenzen von h2j angeben l¨asst, kann man analog zum Romberg-Verfahren mit Hilfe der Richardson-Extrapolation N¨aherungswerte h¨oherer Fehlerordnung konstruieren, indem man ein Romberg-Schema“ wie folgt ” aufbaut (vgl. Abschnitt 14.10): F¨ ur die Zahlen der ersten Spalte setzt man (0)
Lj
:= S(x; hj )
f¨ ur j = 0, 1, . . . .
Dann berechnet man nacheinander die Werte f¨ ur die Spalten k = 1, 2, . . . nach der Formel " # 2k h (k) (k−1) (k−1) j 1 Lj = Lj+1 − Lj 2 hj+k hj (16.27) −1 hj+k f¨ ur j = 0, 1, . . . . Die Spalten des Romberg-Schemas konvergieren f¨ ur ein gen¨ ugend oft differenzierbares y gegen y(x): (k) lim Lj = y(x), k fest; j→∞
die Konvergenzordnung betr¨ agt f¨ ur die k-te Spalte qg = 2k + 2, k = 0, 1, 2 . . .. Bemerkung. Die Anzahl der Spalten sollte nur so groß gew¨ahlt werden, dass keine Oszillation auftritt. Oszillation kann durch den beginnenden Einfluss der Rundungsfehler bedingt sein wie auch dadurch, dass f nicht gen¨ ugend glatt, d. h. nicht ausreichend oft stetig differenzierbar ist. Romberg-Folge W¨ahlt man speziell nj = 2j N mit N gerade, so heißt die Folge (16.25) N · {1, 2, 4, 8, 16, 32, . . .} Romberg-Folge. F¨ ur die hj -Werte erh¨ alt man mit (16.26) x − x0 h hj := j = j. 2 N 2 (k)
Die Berechnung der Lj Formel (k) Lj =
(16.28)
f¨ ur k = 1, 2, . . . erfolgt dann wegen (16.27) mit (16.28) nach der h i 1 (k−1) 2k (k−1) 2 L − L f¨ ur j = 0, 1, . . . . j+1 j 22k − 1
16.6 Stabilit¨at
717
Bulirsch-Folge W¨ahlt man f¨ ur (16.25) die Bulirsch-Folge {2, 4, 6, 8, 12, 16, . . .}, so ergeben sich f¨ ur j > 0 und h0 := h mit h0 f¨ ur j ungerade, (j+1)/2 hj = 2 h0 f¨ ur j gerade 3 · 2(j−2)/2 die hj -Werte {h0 , h1 ,...} = h{1, 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/16, . . .} . Unter Verwendung dieser hj -Werte vereinfacht sich ebenfalls die Rechenarbeit bei der Aufstellung des Schemas gem¨ aß (16.27). Schrittweitensteuerung Auch beim Extrapolationsverfahren sollte unbedingt mit einer Schrittweitensteuerung gearbeitet werden. Dies kann mit einer der in Abschnitt 16.3.7 angegebenen Methoden geschehen, die in den Algorithmen 16.20 und 16.21 formuliert sind. Das Programm zu Abschnitt 16.5 arbeitet mit der Bulirsch-Folge und der Schrittweitensteuerung in [HALL1976], S.113.
16.6
Stabilit¨ at
16.6.1
Vorbemerkungen
Es liege das AWP (16.1) vor. Die Integration des AWPs mit Hilfe eines numerischen Verfahrens liefert an den Gitterpunkten x0 < x1 < ... < xn = β N¨aherungsl¨osungen Yi = Y (xi ) zu den unbekannten exakten L¨ osungen yi = y (xi ). F¨ ur alle behandelten Einschrittverfahren l¨ asst sich zeigen, dass die N¨ aherungswerte Yi f¨ ur hmax → 0 gegen den exakten Wert y (xi ) konvergieren unter der Annahme, dass die Verfahrensfunktion einer Lipschitzbedingung gen¨ ugt und ohne Rundungen gerechnet wird. Es ist erforderlich, die Verfahren auch bez¨ uglich ihres Verhaltens bei der Fortpflanzung von Rundungsfehlern zu betrachten; es ist nur sinnvoll, mit sogenannten stabilen Algorithmen zu arbeiten. Ein Algorithmus heißt stabil, wenn ein f¨ ur einen Rechenschritt zugelassener Fehler in den Folgeschritten abnimmt oder h¨ochstens von gleicher Gr¨oßenordnung bleibt; er heißt instabil, wenn f¨ ur eine beliebig große Anzahl von Schritten die N¨aherungen Yi von den gesuchten Werten yi unbegrenzt abwandern, so dass die L¨osung total verf¨alscht wird. Die Ursachen f¨ ur eine Instabilit¨at k¨onnen in der DGL selbst oder aber im numerischen Verfahren liegen. Im ersten Fall ist die Instabilit¨at eine Eigenschaft des durch die DGL beschriebenen Zusammenhanges; im zweiten Fall kann die Instabilit¨at durch die Wahl eines geeigneten numerischen Verfahrens vermieden werden. Alle Betrachtungen in diesem Abschnitt 16.6 werden o. B. d. A. f¨ ur n = 1 gemacht, d. h. f¨ ur ein AWP y 0 = f (x, y) mit y(x0 ) = y0 .
718
16.6.2
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Stabilit¨ at der Differentialgleichung
Es seien y die L¨osung des AWPs (16.1) f¨ ur n = 1 DGL:
y 0 = f (x, y),
Anf.-Bed.
y(x0 ) = y0
und u eine zu y benachbarte L¨ osung, die derselben DGL wie y gen¨ ugt, jedoch unter einer durch Rundungs- und Verfahrensfehler abweichenden Anfangsbedingung. Verfahrensfehler k¨onnen auftreten, wenn z. B. der Anfangswert schon mit Hilfe eines numerischen Verfahrens berechnet wurde. F¨ ur u wird o. B. d. A. gesetzt u(x) := y(x) + εη(x). Dabei ist η eine sogenannte St¨ orfunktion und ε ein Parameter mit 0 < ε 1. F¨ ur η gilt dann die sogenannte Differentialvariationsgleichung: η 0 = fy η. Unter der Annahme fy = c = const. besitzt sie die L¨osung η(x) = η0 ec(x−x0 ) ,
η(x0 ) = η0 .
Im Falle fy = c < 0 klingt η(x) f¨ ur wachsendes x ab; die DGL heißt dann stabil, andernfalls heißt sie instabil. Bei einer stabilen DGL verringert sich also der Abstand der L¨osungskurven zu verschiedenen Anfangswerten f¨ ur wachsendes x, so dass ein an einer Stelle gemachter Fehler (z. B. ein Rundungsfehler im Anfangswert) abklingt.
16.6.3
Stabilit¨ at des numerischen Verfahrens
Die Einschritt- und Mehrschrittverfahren haben allgemein f¨ ur ein ¨aquidistantes Gitter M M die Gestalt (n = 1) X X aM −k Yi+1−k = h bM −k fi+1−k , (16.29) k=0
k=0
sie sind f¨ ur bM = 0 explizit, f¨ ur bM = 6 0 implizit. Die Koeffizienten gen¨ ugen den Bedingungen M M X X ak = 0, bk = 1. k=0
k=0
Beim EC-Verfahren gilt mit M = 1: a0 = −1,
a1 = 1,
b0 = 1,
b1 = 0,
beim Verfahren von Heun mit M = 2: a0 = 0,
a1 = −1,
a2 = 1,
b0 = 0,
b1 = 1/2,
b2 = 1/2.
Eine Gleichung der Form (16.29) heißt Differenzengleichung, M heißt ihre Ordnung.
16.6 Stabilit¨at
719
Bei s¨amtlichen Mehrschrittverfahren ist M > 1, da mehrere vorhergehende Werte Yi , Yi−1 , . . . zur Berechnung von Yi+1 verwendet werden. Das RK-Verfahren ist kein Mehrschrittverfahren, obwohl M = 3 ist; denn die zu b1 , b2 geh¨origen Werte Yi , Yi−1 sind durch f (xi−2 , Yi−2 ) festgelegt. Es entsprechen n¨ amlich im Algorithmus 16.10 Yi−2 dem Wert Yi , Yi−1 dem Wert Yi + hi k1 /2 und Yi dem Wert Yi + hi k2 /2. Die DGL y 0 = f (x, y) wird also durch eine Differenzengleichung der Form (16.29) ersetzt, der eine Differenzenvariationsgleichung zugeordnet wird mit Ui = Yi + εHi M X
aM −k Hi+1−k = h
k=0
M X
bM −k Hi+1−k fy (xi+1−k , Ui+1−k ).
(16.30)
k=0
Dabei ist Ui eine zur N¨ aherungsl¨ osung Yi benachbarte N¨aherungsl¨osung, Hi eine St¨orl¨osung und ε ein Parameter mit 0 < ε 1. Zur L¨osung von (16.30) wird der Ansatz gemacht H(xj ) := Hj = λj , j ganzzahlig. Unter der Annahme fy = c = const. folgt durch Einsetzen in (16.30) M X
aM −k λi+1−k − hc
k=0
M X
bM −k λi+1−k = 0.
(16.31)
k=0
¨ (Streng gelten diese Uberlegungen nur f¨ ur lineare DGLen mit konstanten Koeffizienten. ¨ Uber allgemeinere Ans¨ atze siehe [DAHL1974]. Es ist λ 6= 0; denn λ = 0 w¨ urde H = 0 zur Folge haben, d. h. die N¨ aherungswerte Yi w¨ urden keine St¨orungen (durch Rundungsfehler und fortgepflanzte Abbruchfehler an vorangehenden St¨ utzstellen) erfahren. Dann l¨asst sich (16.31) mit λM −1−i multiplizieren; es folgt f¨ ur λ die Polynomgleichung P (λ) :=
M X
aM −k λM −k − hc
k=0
M X
bM −k λM −k = 0,
k=0
die sich mit %(λ)
:=
M P
aM −k λM −k =
k=0
σ(λ)
:=
M P k=0
M P
ak λk
k=0
bM −k λM −k =
M P
bk λk
k=0
in der Form P (λ) = %(λ) − hcσ(λ) = 0
(16.32)
schreiben l¨asst. P (λ) := %(λ) − hcσ(λ) heißt charakteristisches Polynom. Die M L¨osungen von (16.32) werden mit λν , ν = 1(1)M , bezeichnet. Zu jedem Wert von ν geh¨ort eine St¨orl¨ osung (Hν )j = (λν )j von (16.30). Die St¨orwerte (Hν )j nehmen nur dann mit fortschreitendem Index j nicht zu, wenn f¨ ur alle ν gilt |λν | ≤ 1. Im Falle |λν | < 1 liegt starke Stabilit¨ at vor, im Falle |λν | = 1 darf λν nur eine einfache Nullstelle von (16.32) sein.
720
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Beispiel 16.28. (Stabilit¨ atsbereich des Euler-Cauchy-Verfahrens) Beim EC-Verfahren gilt mit M = 1: a0 = −1, a1 = 1, b0 = 1, b1 = 0, so dass sich f¨ ur das charakteristische Polynom P (λ) ergibt: P (λ)
=
1 X
ak λk − hc
k=0
1 X
bk λk
k=0
= a0 + a1 λ − hc (b0 + b1 λ) = −1 + λ − hc =
0
Damit gilt hc = λ − 1 = u + iv
und mit
λ = reiϕ
iϕ
= re − 1 = r cos ϕ + ir sin ϕ − 1 = (r cos ϕ − 1) +i (r sin ϕ) | {z } | {z } u v |λ| = |1 + hc| ≤ 1
− 2 ≤ hc ≤ 0
f¨ ur
Wegen |λ| ≤ 1 folgt |r| ≤ 1, und man erh¨ alt das Innere des Kreises als Bereich starker Stabilit¨at f¨ ur das EC-Verfahren. v6
. ............................. 1 ...... ........... ........ ...... . . . . . . . . ...... .......................... ..... ............................................. . ................................... ................................... ... . . . . . . . . . . . . . . .. ..................................................... .................................... ............................ −2 .............................−1 ... . . . . .................... ................................. .............................. ...... . . . . . . ....... ............ . . .......... ...............
hc-Ebene
1
u
−1
Da (16.30) in den Hj linear ist, stellt auch jede Linearkombination der (Hν )j eine L¨osung dar. Sind alle λν verschieden, so sind die M L¨ osungen (Hν )j = (λν )j , ν = 1(1)M , linear unabh¨angig, die allgemeine L¨ osung von (16.30) hat dann die Form Hj =
M X
cν (λν )j
v=1
mit willk¨ urlichen reellen Konstanten cν . Die L¨ osungsmannigfaltigkeit von (16.30) ist also ∞M , wo M die Ordnung der Differenzengleichung bedeutet.
16.6 Stabilit¨at
721
Daraus folgt: Im Falle M > 1 ist (abgesehen von RK-Verfahren) die Ordnung der Differenzengleichung gr¨ oßer als die der DGL. Die Differenzengleichung liefert dann eine gr¨oßere L¨osungsmannigfaltigkeit als sie der DGL zukommt. Durch das numerische Verfahren werden parasit¨ are L¨ osungen“ eingeschleppt. Nur eine der L¨osungen der Diffe” renzengleichung wird (vorausgesetzt, dass das zugrunde liegende Mehrschrittverfahren u ur h → 0 gegen die L¨ osung des AWPs (16.1) konvergieren. Je ¨ berhaupt konvergiert) f¨ h¨oher die Ordnung M der Differenzengleichung ist, umso g¨ unstiger ist die lokale Fehlerordnung O(hq ) des Verfahrens. Jedoch kann man mittels einer Differenzengleichung (16.29) M -ter Ordnung ein numerisch stabiles Integrationsverfahren h¨ochstens von der lokalen Fehlerordnung O(hM +3 ) f¨ ur gerades M , O(hM +2 ) f¨ ur ungerades M gewinnen. Verfahren h¨oherer Fehlerordnung sind numerisch instabil ([WERN1993], §9). Im Folgenden werden nur lokale Aussagen gemacht, und es wird lokal fy = c = const. gesetzt. Es werden folgende Arten von Stabilit¨ at unterschieden: - asymptotische Stabilit¨ at, - absolute Stabilit¨ at, - A-Stabilit¨at, - steife Stabilit¨ at.
Definition 16.29. (Asymptotische Stabilit¨ at, Stabilit¨ at f¨ ur h → 0 ) Ein Algorithmus zur numerischen Integration eines AWPs (16.1) heißt f¨ ur h → 0 asymptotisch stabil, falls das Polynom %(λ) die Wurzelbedingung erf¨ ullt, d. h. nur Wurzeln λν mit |λν | ≤ 1 besitzt und λν mit |λν | = 1 nur als einfache Wurzel auftritt. Konsistente Einschrittverfahren sind stets asymptotisch stabil, wenn die Verfahrensfunktion lipschitzbeschr¨ ankt ist. Wegen %(1) = Σak = 0 gibt es f¨ ur jedes Verfahren mindestens ein λν = 1, so dass man niemals von starker asymptotischer Stabilit¨at (wenn f¨ ur alle λν gilt |λν | < 1) sprechen kann. Bei der praktischen Rechnung ist aber nicht gew¨ahrleistet, dass man mit einem im Sinne des obigen Kriteriums gen¨ ugend kleinen h arbeitet. Man ben¨otigt deshalb Stabilit¨ atsaussagen f¨ ur h 6= 0, um das Stabilit¨atsverhalten f¨ ur die gew¨ahlte Schrittweite h beurteilen zu k¨ onnen.
Definition 16.30. (Absolute Stabilit¨ at, Stabilit¨ at f¨ ur h 6= 0, h fest) Ein Algorithmus zur numerischen Integration eines AWPs (16.1) heißt f¨ ur ein festes h 6= 0 stark absolut stabil, falls f¨ ur alle Nullstellen λν des Polynoms %(λ) gilt |λν | < 1, er heißt schwach absolut stabil, wenn %(λ) die Wurzelbedingung erf¨ ullt, andernfalls heißt er instabil. Eine Kurve, die den Bereich der absoluten Stabilit¨at eines Verfahrens begrenzt, wird Stabilit¨ atsgrenze genannt.
722
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
F¨ ur absolut stabile Verfahren ist gew¨ ahrleistet, dass stabile L¨osungen der Differentialgleichung durch stabile L¨ osungen der Differenzengleichung approximiert werden. Dabei ist aber folgendes Verhalten m¨ oglich: lim y(x) = 0,
x→∞
aber
lim Y (x0 + ih) = d > 0.
i→∞ h6=0
Soll jedoch mit lim y(x) = 0 auch lim Y (x0 + ih) = 0 gelten, so muss Stabilit¨at f¨ ur x→∞
i→∞ h6=0
beliebige hc mit Re(hc) < 0, |hc| → ∞ (sogenannte A-Stabilit¨at) gefordert werden.
Definition 16.31. (A-Stabilit¨ at, Stabilit¨ at f¨ ur beliebige hc mit |hc| → ∞) Ein Verfahren zur numerischen Integration eines AWPs (16.1) heißt A-stabil, falls f¨ ur beliebige hc mit Re(hc) < 0 die Wurzelbedingung f¨ ur P (λ) = %(λ) + hcσ(λ) erf¨ ullt ist. Der Stabilit¨atsbereich muss somit f¨ ur A-stabile Verfahren die linke Halbebene der komplexen hc-Ebene, d. h. die gesamte negative reelle Achse der komplexen hc-Ebene enthal¨ ten. Uber die A-Stabilit¨ at von Einschritt- und von Mehrschrittverfahren gelten folgende Aussagen: (1) Explizite Einschrittverfahren sind nicht A-stabil.
(2) Es gibt A-stabile implizite Einschrittverfahren. Dazu z¨ahlen z. B. die impliziten RK-Formeln vom Gauß-Typ oder Rosenbrock-Verfahren (s. [HALL1976], S.148 ff.), aber keineswegs beliebige implizite RK-Verfahren.
(3) Ein explizites Mehrschrittverfahren kann nicht A-stabil sein.
(4) Die globale Fehlerordnung (Konsistenzordnung) eines A-stabilen Mehrschrittverfahrens ist h¨ochstens zwei.
(5) Unter den A-stabilen Mehrschrittverfahren der Konsistenzordnung zwei hat das Verfahren von Heun den kleinsten Fehlerkoeffizienten.
Die Extrapolationsmethode (Abschnitt 16.5) besitzt nicht die Eigenschaft der A-Stabilit¨at. Die vorstehende Aufstellung l¨ asst erkennen, dass außer den unter (2) genannten Verfahren keines angegeben werden kann, das bei Forderung einer globalen Fehlerordnung qg > 2 die notwendige Forderung der A-Stabilit¨ at f¨ ur alle Werte c mit Re(hc) < 0 (negative Halbebene) erf¨ ullt. Der Begriff der steifen Stabilit¨ at“ wird im folgenden Abschnitt 16.7 definiert. ”
16.7 Steife Differentialgleichungssysteme
16.7
Steife Differentialgleichungssysteme
16.7.1
Problemstellung
723
Es gibt eine Klasse von AWPen (16.1), f¨ ur deren numerische Behandlung nur spezielle Verfahren geeignet sind. Man bezeichnet die zugeh¨origen DGL-Systeme y 0 = f (x, y ) als steif, man spricht auch von steifen Problemen.
Definition 16.32. Ein System von DGLen y 0 = f (x, y ) heißt steif, wenn die L¨osungsfunktionen yi (x) des AWPs (16.1) ein stark unterschiedliches Wachstumsverhalten zeigen: F¨ ur wachsendes x gibt es z. B. stark abklingende und schwach abklingende oder zunehmende Funktionen yi . Forderungen an ein f¨ ur steife Systeme geeignetes Verfahren Von einem f¨ ur steife Probleme geeigneten Verfahren ist zu fordern, dass Bestandteile der N¨aherungsl¨osungen, die abgeklungen sind, beim weiteren Fortschreiten des Integrationsprozesses keinen Einfluss mehr auf die L¨ osungen haben d¨ urfen. Das heißt, die steifen Komponenten m¨ ussen mit einem Verfahren integriert werden, f¨ ur das f¨ ur beliebige h > 0 und alle (im Allgemeinen komplexen) c mit Re(c) < 0 gilt lim Y (x0 + ih) → 0 .
i→∞ h6=0
A-Stabilit¨at ist (zumindest eingeschr¨ ankt) f¨ ur ein numerisches Verfahren zur Integration steifer Differentialgleichungssysteme erforderlich, da die numerische L¨osung das Abklingen der steifen L¨osungskomponenten richtig wiedergeben muss (insofern eignen sich die in Abschnitt 16.3.5 behandelten impliziten RK-Verfahren vom Gauß-Typ zur Integration steifer Systeme).
16.7.2
Kriterien fu ¨r Steifheit eines Systems
(A) Ausgehend von dem DGLs-System (16.1) sei zun¨achst f (x, y ) = Ay mit der (n, n)Matrix A = (aik ), i, k = 1(1)n, aik = const., d. h. es liege ein System y 0 = Ay
(16.33)
von linearen Differentialgleichungen mit konstanten Koeffizienten vor. Unter der Annahme, A sei diagonal¨ ahnlich, l¨ asst sich A auf Hauptdiagonalform transformieren. Dies ist immer m¨ oglich, wenn A nur voneinander verschiedene Eigenwerte hat. Das System (16.33) l¨ asst sich dann entkoppeln in n skalare DGLen yi0 = λi yi , i = 1(1)n. ¨ F¨ ur den Fall, dass A mehrfache Eigenwerte besitzt, l¨asst sich die Uberf¨ uhrung in die Jordansche Normalform vornehmen. Da in der Numerik die Aussage, dass zwei Eigenwerte gleich sind, ohnehin im Allgemeinen eine wegen der numerischen Ungenauigkeiten
724
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
¨ unscharfe Aussage ist, werden weitere Uberlegungen auf die Annahme beschr¨ankt, dass das System (16.33) entkoppelt ist. Damit l¨ asst es sich rechtfertigen, dass im Folgenden nur das skalare Modellproblem weiter betrachtet wird, zu dessen numerischer Integration Verfahren mit den erforderlichen Stabilit¨ atseigenschaften herangezogen werden. (B) Jedem beliebigen System (16.1) l¨ asst sich nun f¨ ur x ∈ I lokal ein System (16.33) zuordnen, wo A die Funktionalmatrix (Jacobi-Matrix) von (16.1) ist mit ∂fi (x, y ) A := = A(x, y ), i, k = 1(1)n, ∂yk (16.34) fi = fi (x, y ) = fi (x, y1 , y2 , . . . , yn ). Sind λi , i = 1(1)n, die Eigenwerte von (16.34) an der Stelle (x, y ), so ist − min Re λi (x, y) i 1. | max Re λj (x, y) |
(16.35)
j
ein Kriterium daf¨ ur, dass das System (16.1) in der Umgebung von (x, y ) steif ist. Die Matrix (16.34) kann allerdings u ¨ ber das Integrationsintervall stark variieren.
16.7.3
Das Verfahren von Gear zur Integration steifer Systeme
Der Stabilit¨atsbereich eines A-stabilen Verfahrens umfasst die negative komplexe hcHalbebene. Die Forderung der A-Stabilit¨ at hat die starke Einschr¨ankung der globalen Fehlerordnung der zur Integration steifer Systeme geeigneten Verfahren zur Folge. Daher sind verschiedene modifizierte Stabilit¨ atsbegriffe aufgestellt worden, die zwar der A-Stabilit¨at verwandt sind, aber durch Einschr¨ankung der Forderung der vollen A-Stabilit¨at eine Erh¨ ohung der globalen Fehlerordnung erlauben. (s. hierzu [GEAR1971B]; [GEAR1971A]; [GRIG1977] Bd. 2) Zur Konstruktion des Verfahrens von Gear wird von dem charakteristischen Polynom ausgegangen: P (λ) = %(λ) − hcσ(λ). (16.36) Zun¨achst wird σ(λ) so angesetzt, dass P (λ) → 0 geht f¨ ur |hc| → ∞: Division von (16.36) mit hc und Grenz¨ ubergang |hc| → ∞ f¨ uhrt auf σ(λ) = 0. Der einfachste Ansatz, der dieser Forderung entspricht, ist σ(λ) = λM . (16.37) Daher hat P (λ) f¨ ur |hc| = ∞ (Fernpunkt der komplexen Ebene) die bestm¨ogliche Stabilit¨atseigenschaft: F¨ ur |hc| = ∞ liegt eine M -fache Wurzel im Punkte λ = 0 vor, die Bedingung f¨ ur starke absolute Stabilit¨ at (Definition 16.30) ist f¨ ur |hc| = ∞ erf¨ ullt. Um das Verhalten auch f¨ ur |hc| < ∞ zu bestimmen, muss 1. das vollst¨andige Polynom P (λ) konstruiert, also %(λ) ermittelt werden, und 2. der Stabilit¨atsbereich bestimmt werden.
16.7 Steife Differentialgleichungssysteme
725
1. Zu (16.37) wird das zugeh¨ orige %(x) u ¨ber die Konsistenzbedingungen berechnet: Ein lineares Mehrschrittverfahren ist genau dann von der Konsistenzordnung q, wenn gilt ([GRIG1977] Bd. 2, S.334) M P (i) (ak k j − jbk k j−1 ) = 0, j = 1(1)q k=0 (16.38) M P (ii) ak = 0. k=0
(16.38) stellt ein System von q+1 linearen Gleichungen f¨ ur die Koeffizienten ak , k = 0(1)q, des Mehrschrittverfahrens dar. 2. Der Stabilit¨atsbereich des nach 1. gewonnenen Mehrschrittverfahrens ergibt sich f¨ ur λ := reiϕ mit |λ| = r ≤ 1 als notwendige Stabilit¨ atsbedingung aus hc =
%(λ) %(reiϕ ) = = u + iv, ϕ ∈ [0, 2π]; σ(λ) σ(reiϕ )
die Stabilit¨atsgrenze erh¨ alt man f¨ ur r = 1.
Korrektorformeln der Gear-Verfahren f¨ ur q = 1(1)6: Die Iterationsvorschriften f¨ ur die zugeh¨ origen Verfahren lauten wegen σ(λ) = λM , M = 1(1)6, M = q, q = Konsistenzordnung:
M
Korrektorformeln der Gear–Verfahren f¨ ur q = 1(1)6
1
Yi+1
2
Yi+1
3
Yi+1
4
Yi+1
(ν+1)
= Yi + hfi+1 = Yi + hf (xi+1 , Yi+1 ),
(ν+1)
(ν) =1 3 (4Yi − Yi−1 + 2hfi+1 ), (ν) 1 (18Y − 9Y = 11 i i−1 + 2Yi−2 + 6hfi+1 ), 1 (48Y − 36Y = 25 i i−1 + 16Yi−2
(ν+1) (ν+1)
(ν)
(ν)
ν = 0, 1, 2, . . . ν = 0, 1, 2, . . . ν = 0, 1, 2, . . .
(ν)
−3Yi−3 + 12hfi+1 ), 5
(ν+1)
Yi+1
ν = 0, 1, 2, . . .
1 (300Y − 300Y = 137 i i−1 + 200Yi−2 (ν)
−75Yi−3 + 12Yi−4 + 60hfi+1 ), 6
(ν+1)
Yi+1
ν = 0, 1, 2, . . .
1 (360Y − 450Y = 147 i i−1 + 600Yi−2 (ν)
−225Yi−3 + 72Yi−4 − 10Yi−5 + 60hfi+1 ),
ν = 0, 1, 2, . . .
726
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
F¨ ur q = 1(1)6 ist pro Iterationsschritt nur eine Auswertung der Funktion f erforderlich. Die Stabilit¨atsbereiche f¨ ur q = 1(1)6 ergeben sich wie in den folgenden Abbildungen (vgl. [GEAR1971A], S.212 ff.). Alle Kurven, die diese Stabilit¨atsbereiche begrenzen, verlaufen durch den Punkt |hc| = ∞ der komplexen hc-Ebene, (vgl. Abbildungen 16.14 und 16.15). Das Verfahren f¨ ur M = 2 ist (ebenso wie das Verfahren von Heun) schwach A-stabil, die Verfahren f¨ ur M = 3(1)6 sind steif stabil. v
.................................................. ....... .......... ....... ...... . ...... ..... . . . . ... . . . . 3 ...... . ... ... ........................................ ... ...... ....... ..... .... ......... ..... .. .... .... .... .... ... ... ... ... .............. ... 1....... ........... ........... ... ....... . . ... ... ....... . ... ... ...... ... . .. ... . .. ......0 ... . . 2 .. 4 . . ........... . . ... . . . .. ... ........ . . . ..... . . ... −1..... ...... ..................... ... .. ... ... ... ... ... . . . . . . ... ..... ...... ...... ... ........ ....... ... .................................. ... ... ... .... −3 ............. ...... ... ...... ........ ....... ........ ............. ........................................
6
hc-Ebene
stabil −2
hc = u + iv M =q
instabil
u
q=1
q=2
q=3
Abb. 16.14. Stabilit¨ atsbereiche der Gear–Verfahren f¨ ur q = 1, 2, 3 v
. .... ... ... ... .. ... ... .. . ... ............................................... ... ........ ........ ... .. ... 6 .............. ... .. . . . . ... .. ... ... .... ... ... .... . ... .. ... ... ... ... ... ... .. ... ... .. . .... . . ... .. ..... .... ... ..... ..... .. 2 ..... ..... ... ...... ........ ....... .............................
6
hc-Ebene
stabil
instabil
−6
......... −2 2 6 ......... ................... ...... .. . ...... ..... .... ..... ..... ... . . . . . . . ... ... .... −2 .... ... ... ... ... ... ... ... .. ... . . .. ... .. . . ... ... .. . ... . ... . ..... . ... ..... .... ...... ... ..... ....... ... ... −6 ........ ......... ... ... ......................................... ... ... ... ... ... .... ... .. .
q=6
hc = u + iv M =q
u
q=4
q=5
Abb. 16.15. Stabilit¨ atsbereiche der Gear–Verfahren f¨ ur q = 4, 5, 6
16.7 Steife Differentialgleichungssysteme
727
Vereinfacht lassen sich die Stabilit¨ atsbereiche f¨ ur die Gear-Verfahren wie folgt darstellen: @ @ @ @ R1 @ @ @ @ @ v=Im(hc) absolut 6 @ @ @stabil hc-Ebene @ @ qΘ @ @ @
@ @
genau R2
@ @
@ @ @ q D α q
@ @ @
@ @
q
−Θ @ @ @ @
hc = u + iv
-
u=Re(hc)
Abb. 16.16. Bereiche steifer Stabilit¨ at (f¨ ur q = 6 etwa gilt D = −6.1, Θ = 0.5, α ≈ 0) Die den jeweiligen Stabilit¨ atsbereich begrenzenden Geraden sind Tangenten an die Kurven in Abbildung 16.14 und 16.15. Gear bezeichnet die durch Abbildung 16.16 gekennzeichneten schraffierten Gebiete als Bereiche steifer Stabilit¨ at. Er definiert ([GEAR1971B]):
Definition 16.33. (Steife Stabilit¨ at ) Ein Verfahren heißt steif-stabil, wenn es im Bereich R1 (Re(hc) ≤ D < 0) absolut stabil ist und im Bereich R2 (D ≤ Re(hc) < α, |Im(hc)| < Θ) genau ist.
Konvergenz der Korrektorformel Allgemein hat die Korrektorformel eines Gear-Verfahrens (vgl. Tabelle der Korrektorformeln f¨ ur q = 1(1)6) die Form (ν+1)
Yi+1
=
M X
(ν)
(hbM −k fi+1−k − aM −k Yi+1−k ) + hbM fi+1 ,
k=1
die sich aus (16.29) durch Aufl¨ osung nach Yi+1 ergibt. Die Konvergenz der KorrektorIteration ist gew¨ahrleistet f¨ ur
hbM ∂fi < 1,
∂yk ∂fi wobei ∂y im Falle eines Systems (16.1) die Funktionalmatrix darstellt und k · k eine k Matrixnorm bedeutet. F¨ ur steife Einzel-DGLen (auch bei entkoppelten Systemen) lautet die Konvergenzbedingung ∂f < 1. h bM ∂y
728
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Aus der Konvergenzbedingung f¨ ur die Iteration ergibt sich m¨oglicherweise ein kleineres h als es das angewendete steif-stabile Verfahren erfordern w¨ urde. Dann wendet man statt des allgemeinen Iterationsverfahrens zur L¨ osung der Korrektorgleichung das Newtonsche Verfahren an. Zur Verringerung des Rechenaufwandes kann es ausreichend sein, nach dem vereinfachten Newtonschen Verfahren zu rechnen, vorausgesetzt, dass die Konvergenz nicht wesentlich beeintr¨ achtigt wird. Der Praediktor Als Startwerte (Praediktoren) f¨ ur die Korrektoriteration werden in der von Gear selbst (0) gegebenen Implementierung die Werte Yi+1 = Yi verwendet. Durch geeignete Wahl von h entsprechend den vorgenannten Konvergenzbedingungen konvergiert dann die Korrektoriteration. Im Allgemeinen sind drei Iterationen sinnvoll. Praediktoren, wie sie die AB-Formeln f¨ ur die AM-Formeln darstellen, kann man hier f¨ ur die Verfahren M -ter Ordnung, M = 3(1)6, konstruieren, indem ausgehend von den Gleichungen (16.38) mit dem Ansatz σ(λ) = λM −1 ein explizites Verfahren (bM = 0) konstruiert wird.
16.8
Entscheidungshilfen bei der Wahl des Verfahrens
Keines der in diesem Kapitel behandelten Verfahren ist f¨ ur die Klasse der gew¨ohnlichen AWPe durchweg besser als ein anderes. Man muss daher u ber die Vor- und Nachteile jedes ¨ Verfahrens informiert sein und im Einzelfall entscheiden, welchem Verfahren bei welchem Problem der Vorzug zu geben ist. Es ist nicht zu erwarten, dass man durch theoretische Untersuchungen strenge Kriterien gewinnen kann, die bei vorgegebener Genauigkeitsforderung optimale Verfahren zu w¨ ahlen gestatten. Es lassen sich nur folgende allgemeine Aussagen auf Grund eines Vergleichs zwischen der Klasse der Einschritt- und der Extrapolationsverfahren einerseits und der Mehrschrittverfahren andererseits machen. Einschrittverfahren Vorteile:
1. Selbststartend, vorgebbare Fehlerordnung, einfach zu handhaben. 2. Automatische Schrittweitensteuerung leicht m¨oglich. Nachteile: Jeder Integrationsschritt erfordert die Berechnung einer zur Fehlerordnung proportionalen Anzahl von Funktionswerten. Extrapolationsverfahren Vorteile:
1. Selbststartend, keine starre Ordnung. 2. Schrittweitensteuerung m¨ oglich. Nachteil: Oft ein erheblicher Rechenaufwand pro Schritt.
16.8 Entscheidungshilfen
729
Mehrschrittverfahren Vorteile:
Je Integrationsschritt einschließlich Iteration ist im Allgemeinen die Berechnung von nur zwei bis drei Funktionswerten erforderlich. Formeln beliebig hoher Ordnung sind leicht konstruierbar.
Nachteile: 1. Nicht selbststartend. Berechnung eines Anlaufst¨ ucks erforderlich. 2. Schrittweitensteuerung m¨ oglich ([GRIG1977] Bd.2, S.92,98 ff.), aber ¨ aufw¨andig, da bei Anderung der Schrittweite das Anlaufst¨ uck neu berechnet werden muss (s. [GEAR1980]). Diese Aussagen sind unabh¨ angig von dem Typus des zu behandelnden AWPs. F¨ ur die problembezogenen Entscheidungshilfen unterscheidet man AWPe bei nichtsteifen und bei steifen Systemen. Wird das AWP ohne weitere Analysen als nichtsteif eingestuft und zeigt die ermittelte N¨aherungsl¨ osung auch bei h¨ oheren Genauigkeitsanforderungen ein nicht plausibles Verhalten, so bietet sich die Bestimmung einer weiteren N¨aherungsl¨osung mit einem f¨ ur steife AWPe geeigneten Verfahren an.
Entscheidungshilfen f¨ ur nichtsteife DGLs-Systeme Es liegen umfassende vergleichende numerische Tests u ¨ ber die Anwendung der bekannten numerischen Verfahren zur Integration von AWPen bei Systemen von DGLen erster Ordnung vor. Vornehmlich wird gepr¨ uft, wie sich die Verfahren bei gegebenen Genauigkeitsanforderungen verhalten. Die Verhaltensweisen beim Auftreten von Steifheit, von Singularit¨aten u.a.m. bed¨ urfen einer gesonderten Untersuchung. Zur Durchf¨ uhrung dieser Untersuchungen wurde bereits vor l¨ angerer Zeit ein allgemeines, auf alle Verfahren f¨ ur AWPe bei gew¨ ohnlichen DGLen anwendbares Programm mit Namen DETEST entwickelt (DETEST ist ver¨ offentlicht in Hall, Enright, Hull, Sedgwick: Techn. Report No. 60 (1973), Dep. of Computer Science, University of Toronto. Kurzbeschreibung zum Programm und Testergebnisse sind in [HULL1972] und [ENRI1976] zu finden). Dabei ergab sich: Wenn der Aufwand f¨ ur die Berechnung der Funktionswerte f nicht groß ist (einfach gebautes f ), ist das Extrapolationsverfahren von Bulirsch-Stoer-Gragg das g¨ unstigste Verfahren, s. Abschnitt 16.5. Ist dagegen die Anzahl der f -Werte groß und deren Berechnung aufw¨andig, so sind die Adams-Verfahren g¨ unstiger. Besonders g¨ unstig sind implizite Adams-Verfahren von variabler Ordnung, vgl. [KROG1968]; dort wird die Verfahrensordnung zu Beginn der Rechnung aus der vorgegebenen Genauigkeitsanforderung automatisch bestimmt, wobei h so groß als m¨ oglich gew¨ ahlt wird, jedoch so, dass die Stabilit¨at des Verfahrens gesichert ist. RK-Verfahren sind nur g¨ unstig, wenn der Aufwand f¨ ur die Berechnung der Funktionswerte f klein ist und geringe Genauigkeitsanforderungen gestellt werden. Laufzeittests f¨ ur Einzel-DGLen sind in [ENRI1976] zu finden.
730
16. Anfangswertprobleme bei gew¨ohnlichen Differentialgleichungen
Adaptive AWP-L¨oser sind in jedem Fall Methoden ohne Adaption vorzuziehen. Da jedoch die laufende Anpassung der Schrittweite u ¨ber eine automatische Schrittweitensteuerung pro Schritt die Berechnung von zwei N¨ aherungswerten Y und Ye f¨ ur die L¨osung y erfordert, muss der Aufwand zur Berechnung des zweiten N¨aherungswertes minimiert werden. Bei den RK-Einbettungsformeln ist dieser Aufwand deshalb minimal, weil bei der Berechnung von Ye die k-Werte f¨ ur Y automatisch mit anfallen, es ist also nur ein geringer Mehraufwand zur Berechnung des zus¨ atzlichen N¨aherungswertes erforderlich. Umfangreiche Tests mit Einbettungsformeln in [KRUG1990] f¨ uhren zu den folgenden Ergebnissen: (1) Bei den Formeln 4. und 5. Ordnung ist das Verfahren rk5(4)6m (Prince-DormandEinbettungsformel 4. und 5. Ordnung) besonders zu empfehlen; weniger gut geeignet sind rk5(4)7m und rke5(4); rke5(4) erfordert einen besonders hohen Rechenaufwand. (2) Unter den Formeln 6. und 7. Ordnung ist eindeutig rkv6(5) bez¨ uglich Zuverl¨assigkeit und Genauigkeit vorzuziehen, wegen des geringen Rechenaufwandes sind die Verfahren rk6(5)8m und rkv7(6) besonders empfehlenswert. (3) Unter den Formeln 8. und 9. Ordnung zeichnet sich rk8(7)13m durch hohe Zuverl¨assigkeit und Genauigkeit sowie geringen Rechenaufwand aus, ¨ahnlich rkv8(7). Dagegen erfordert rkv9(8) einen hohen Rechenaufwand und hat gegen¨ uber den Verfahren 8. Ordnung auch sonst keine Vorteile. (4) Die Verfahren rkf6(5) und rkf8(7) lieferten bei den Testrechnungen keine vergleichbar guten Ergebnisse. (5) F¨ ur steife Probleme sind alle expliziten RK-Verfahren v¨ollig ungeeignet.
Entscheidungshilfen f¨ ur steife Systeme Vor der Entscheidung f¨ ur ein Verfahren sollte gepr¨ uft werden, ob ein steifes System vorliegt. Das l¨asst sich im Allgemeinen nach den Kriterien in Abschnitt 16.7.2 entscheiden. Bei kleineren Systemen kann dies manchmal auch an der Gestalt der DGLen des Systems unmittelbar erkannt werden. Doch die im Abschnitt 16.7.2 angegebenen Kriterien k¨onnen einen erheblichen Aufwand erfordern. Pr¨ uft man nicht vorher, so wird man gegebenenfalls mit einem Verfahren aus 16.7 ungenaue Ergebnisse bei langen Rechenzeiten erhalten. Ein Test zur Pr¨ ufung auf Steifheit wurde von L.F. Shampine vorgeschlagen. Das vorgelegte AWP wird einmal nach einem expliziten RK-Verfahren, zum anderen nach dem EC-Verfahren integriert bei vorgegebener Genauigkeitsforderung f¨ ur den lokalen Verfahrensfehler. Als RK-Verfahren wird das von Fehlberg angegebene Verfahren mit m = 5, qg = 4 mit den Koeffizienten aus Tabelle 16.13 gew¨ahlt. Eine gute N¨aherung f¨ ur den lokalen Verfahrensfehler an der Stelle xi+1 ist durch (16.12) gegeben.
16.8 Entscheidungshilfen
731
In [HULL1975] wurden systematische numerische Tests vorgenommen, in denen f¨ unf verschiedene Methoden, die zur numerischen L¨ osung steifer Probleme geeignet sind, auf 25 ausgew¨ahlte steife Probleme angewandt werden. Zur Pr¨ ufung von Verfahren f¨ ur steife Systeme wurde ein auf alle Verfahren f¨ ur steife Systeme anwendbares Testprogramm STIFF DETEST entwickelt. Das Programm ist in dem entsprechenden Techn. Report von Bedet, Enright, Hull des Dep. of Computer Science der University of Toronto zu finden, Resultate der Tests sind in [HULL1975] ver¨ offentlicht. Als Maß f¨ ur die Brauchbarkeit eines Verfahrens f¨ ur eine bestimmte Problemklasse wird der zur Einhaltung einer vorgegebenen Genauigkeitsschranke erforderliche Rechenaufwand angesehen. Als allgemeine Entscheidungshilfen k¨ onnen dienen: Die steif-stabilen Verfahren von Enright und Gear erwiesen sich als g¨ unstig f¨ ur alle Probleme, bei denen die Eigenwerte aller Jakobi-Matrizen nicht in der N¨ahe der imagin¨ aren Achse der komplexen Ebene liegen. Das Verfahren von Enright ist steif stabil. Mit Enright lassen sich genauere Resultate erzielen, daf¨ ur ist der Aufwand gr¨oßer als bei Gear. F¨ ur Probleme aus der Elektrotechnik, bei denen Eigenwerte nahe der imagin¨aren Achse auftreten, sind das Verfahren von Gear nicht, das von Enright nur in eingeschr¨anktem Maße geeignet. Hier ist ein steif-stabiles Verfahren wegen Im(hc) 1, |Re(hc)| klein, offenbar nicht brauchbar. Daher sollte ein voll A-stabiles Verfahren herangezogen werden. Diese Eigenschaft haben z. B. implizite RK-Verfahren mit Gaußschen St¨ utzstellen. Angenehmer zu handhaben sind Rosenbrock-Methoden zur Integration steifer Systeme, geeignete Rosenbrock-Methoden finden sich in [KAPS1981]; von Kaps wurden 1977 modifizierte Rosenbrock-Methoden bis zur Ordnung 6 angegeben und von Kaps und Wanner [KAPS1981] implementiert. Eine kurze Darstellung der Tests [HULL1975] ist in [GRIG1977] Bd. 2, angegeben. FORTRAN-Codes f¨ ur Gear-Verfahren sind in [SHAM1984] zu finden, s. auch Bemerkung am Ende von Abschnitt 16.4.1. Erg¨ anzende Literatur zu Kapitel 16 [COLL1966], II, §2; [CONT1987], 8, 8.6-8.8, 8.11; [ENGE1996], 17.1-17.4, 18.1; [EUL1985]; [FEHL1960]; [FEHL1966]; [FEHL1969]; [FEHL1970]; [FEHL1975]; [FILI1968]; [FRIE1979]; [GEAR1971A], 1.1, 1.2, 2, 3, 6, 7-10, 12; [GEAR1971B]; [GEAR1971C]; [GLAS1966]; [GRIG1977]; [HALL1976], 1, 2, 6, Part 2; [HANK2006]; [HENR1979]; [HERM2004]; [HULL1972]; [LIND1977]; [LUTH1987], 1, 2, 3, 4.1-4.4, 12, 13; [REDD2004]; [REIN2008]; [SHAM1984].
Literaturverzeichnis
[ABRA1986]
ABRAMOWITZ, M.; STEGUN, I.A. (ed.): Handbook of Mathematical Functions, Dover Publications, New York 1965, 10th printing 1986.
[AHLB1986]
AHLBERG, J.H.; NILSON, E.N.; WALSH, J.L.: The theory of splines and their applications, Academic Press, New York, London 1986.
[AKIM1970]
AKIMA, H.: A New Method of Interpolation and Smooth Curve Fitting Based on Local Procedures, Journal of the Association for Computing Machinery, Vol. 17, No. 4, Oktober 1970, S. 589-602.
[ANDE1973]
¨ ANDERSON, N.; BJORCK, A.: A new high order method of regula falsi type for computing a root of an equation, BIT 13 (1973), S.253-264.
[BART2001]
BARTSCH, H.-J.: Taschenbuch mathematischer Formeln. Fachbuchverlag, Hauser, 19., neu bearb. Aufl. M¨ unchen u.a., Fachbuchverl. Leipzig im Carl-Hanser-Verl., 2001.
[BART2004]
BARTSCH, H.-J.: Taschenbuch mathematischer Formeln. Fachbuchverlag, Hauser, 20., neu bearb. Aufl. M¨ unchen u.a., Fachbuchverl. Leipzig im Carl-Hanser-Verl., 2004.
[BARW2007]
¨ BARWOLFF, G.: Numerik f¨ ur Ingenieure, Physiker und Informatiker, Spektrum Akademischer Verlag, 2007.
[BAUE1965]
BAUER, F.L.; HEINHOLD, J.; SAMELSON, K.; SAUER, R.: Moderne Rechenanlagen, Teubner, Stuttgart 1965.
[BAUH1970]
BAUHUBER, F.: Diskrete Verfahren zur Berechnung der Nullstellen von Polynomen, Computing 5 (1970), S.97-118.
[BEHR1975]
BEHR, W.: Approximation und Interpolation stetiger Funktionen sowie Kurvenscharen aus Karosseriepl¨ anen zur Konzipierung von Heckleuchten, Staatsarbeit f¨ ur das Lehramt an berufsbildenden Schulen, RWTH Aachen, 1975.
[BERE1971]
BERESIN, I.S.; SHIDKOW, N.P.: Numerische Methoden, Bd. 1 und 2, VEB Deutscher Verlag der Wissenschaften, Berlin 1970, 1971.
[BJOR1979]
¨ BJORCK, A.; DAHLQUIST, G.: Numerische Methoden, Oldenbourg, M¨ unchen, Wien (Originaltitel: ”Numeriska methoder”, Lund (Schweden) 1972), aus dem Schwedischen u ¨bersetzt von N. Krier u. P. Spellucci, 2. unver¨ and. Aufl., Studienausg. 1979, ISBN: 3-486-33852-8.
G. Engeln-Müllges et al., Numerik-Algorithmen, Xpert.press, 10th ed., DOI 10.1007/978-3-642-13473-9, © Springer-Verlag Berlin Heidelberg 2011
734
Literaturverzeichnis
[BOOR1962]
BOOR, de C.: Bicubic Spline Interpolation, J. Math. Phy. 41 (1962), S. 215.
[BOOR2001]
BOOR, de C.: A Practical Guide to Splines, Springer, New YorkHeidelberg-Berlin 1979, 1991, 2001, ISBN: 0-387-95366-3.
[BREN1971]
BRENT, R.B.: An algorithm with guaranteed convergence for finding a zero of a function, Computer Journal, Vol. 14-4, 1971, pp 422-425.
[BRIG1997]
BRIGHAM, E.O.: FFT-Anwendungen (Einf¨ uhrung in die Nachrichtentechnik) mit 6 Tabellen, 41 Beispielen und 188 Aufgaben sowie Programmen in BASIC, M¨ unchen, Wien, Oldenbourg 1997, ISBN: 3-486-21567-1.
[BRON2001]
BRONSTEIN, I.N.; SEMENDJAJEW, K.A.; MUSIOL, G.: Taschenbuch der Mathematik, mit CD-ROM, 5., u ¨berarb. und erw. Aufl. der Neubearbeitung 2001 Frankfurt am Main [u.a.]: Deutsch, XXXVII, 1191 S., ISBN: 3-8171-2015-X, KNO-NR: 07 75 85 96.
[BROW1971]
BROWN, K.M.; DENNIS, J.E., Jr.: On the second order convergence of Brown’s derivative-free method for solving simultaneous nonlinear equations, Yale University, Comp.Sci.Dept., Techn. Report, 1971, S. 71-77.
[BUNS1995]
BUNSE, W.; BUNSE-GERSTNER, A.: Numerische lineare Algebra, Teubner Studienb¨ ucher, Stuttgart 1995.
[BUTZ2003]
BUTZ, T.: Fouriertransformation f¨ ur Fußg¨anger, 3., durchges. und erw. Aufl. B.G.Teubner Stuttgart - Leipzig 2003, ISBN: 3-519-20202-6.
[CARN1990]
CARNAHAN, B.; LUTHER, H.A.; WILKES, J.O.: Applied Numerical Methods, John Wiley, New York 1990.
[CLIN1979]
CLINE, A.K.; MOLER, C.B.; STEWART, G.W.; WILKINSON, J.H.: An estimate for the condition number of a matrix. SIAM J. Numer. Anal. 16 (1979) S.368-375.
[COLL1966]
COLLATZ, L.: The Numerical Treatment of Differential Equations, Springer, Berlin-Heidelberg-New York 1966.
[COLL1968]
COLLATZ, L.: Funktionalanalysis und numerische Mathematik, Springer, Berlin-Heidelberg-New York 1968.
[COLL1973]
COLLATZ, L.; ALBRECHT, J.: Aufgaben aus der Angewandten Mathematik I und II, Vieweg, Braunschweig 1972, 1973.
[CONT1987]
CONTE, S.D.; de BOOR, C.: Elementary Numerical Analysis. An algorithmic approach, New York-Sidney-Toronto 1965, Third Edition, McGraw-Hill, Auckland, 1987, ISBN: 0-07-012447-7.
[CUTH1969]
CUTHILL, E.; MCKEE, J.: Reducing the bandwith of sparse symmetric matrices, ACM, New York 1969, S.157-172.
Literaturverzeichnis
735
[DAHL1974]
DAHLQUIST, B.: Error Analysis for a Class of Methods for Stiff Nonlinear Initial Value Problems, Lecture Notes in Mathematics 506, S.60-74, Springer, Berlin 1974.
[DAHM2008]
DAHMEN, W.; REUSKEN, A.: Numerik f¨ ur Ingenieure und Naturwissenschaftler, Springer, 2., korrigierte Aufl., Berlin-Heidelberg 2008.
[DEKK1969]
DEKKER, T.J.: Finding a zero by means of successive linear interpolation in: Constructive aspects of the fundamental theorem of algebra, herausgegeben von B. Dejon und P. Henrici, Wiley-Interscience, New York 1969.
[DEMI1968]
DEMIDOWITSCH, B.P.; MARON, I.A.; SCHUWALOWA, E.S.: Numerische Methoden der Analysis, VEB Deutscher Verlag der Wissenschaften, Berlin 1968.
[DENN1996]
DENNIS, J.E.; SCHNABEL, R.B.: Numerical Methods for Unconstrained Optimization and Nonlinear Equations, Prentice Hall, Englewood Cliffs, New York, SIAM Philadelphia, 1996.
[DEUF2002]
DEUFLHARD, P.: Numerische Mathematik, Bd.1: Eine algorithmisch orientierte Einf¨ uhrung: Unter Mitarb. v. Andreas Hohmann. Gruyter Lehrbuch. 3., u ¨berarb. u. erw. Aufl. 2002, ISBN: 3-11-017182-1, KNONR: 04 42 36 08; Bd.2: Gew¨ ohnliche Differentialgleichungen: Unter Mitarb. v. Folkmar Bornemann. Gruyter Lehrbuch. 2., u ¨berarb. u. erw. Aufl. 2002, ISBN: 3-11-017181-3, KNO-NR: 05 61 70 68.
[DONG1993]
DONGARRA, J.J.: LINPACK Users’ Guide, SIAM Philadelphia 1979, 10th printing 1993.
[DOWE1971]
DOWELL, M.; JARRATT, P.: A Modified Regula Falsi Method for Computing the Root of an Equation, BIT 11 (1971), S.168-174.
[DOWE1972]
DOWELL, M.; JARRATT, P.: The ”Pegasus” Method for Computing the Root of an Equation, BIT 12 (1972), S.503-508.
[ENGE1980]
ENGELS, H.: Numerical Quadrature and Cubature, Academic Press, London-New York-Toronto-Sydney-San Francisco 1980.
[ENGE1996]
¨ ENGELN-MULLGES, G.; REUTTER, F.: Numerik-Algorithmen, VDIVerlag, 8. neubearbeitete und erweiterte Auflage, 1996.
[ENRI1976]
ENRIGHT, W.H.; HULL, T.E.: Test Results for on Initial Value Methods for Non-Stiff Ordinary Differential Equations, SIAM J. Num. Anal. 13 (1976), S.944-950.
[EUL1985]
EUL, T.: Ausarbeitung eines Algorithmus zur Kombination impliziter Runge-Kutta-Verfahren, Bericht des Rechenzentrums der RWTH Aachen, Sept. 1985.
[FADD1979]
FADDEJEW, D.K.; FADDEJEWA, W.N.: Numerische Methoden der linearen Algebra, Oldenbourg, Berlin 1970, M¨ unchen, Wien, 5. Aufl. 1979.
736
Literaturverzeichnis
[FEHL1960]
FEHLBERG, E.: Neue genauere Runge-Kutta-Formeln f¨ ur Differentialgleichungen zweiter Ordnung bzw. n-ter Ordnung, ZAMM 40 (1960), S.252-259 bzw. S.449-455.
[FEHL1961]
FEHLBERG, E.: Numerisch stabile Interpolationsformeln mit g¨ unstiger Fehlerfortpflanzung f¨ ur Differentialgleichungen erster und zweiter Ordnung, ZAMM 41 (1961), S.101-110.
[FEHL1966]
FEHLBERG, E.: New high-order Runge-Kutta formulas with an arbitrarily small truncation error, ZAMM 46 (1966), S.1-16 (vgl. auch ZAMM 44 (1964), T 17 - T 29).
[FEHL1969]
FEHLBERG, E.: Klassische Runge-Kutta-Formeln f¨ unfter und siebenter Ordnung mit Schrittweiten-Kontrolle, Computing 4 (1969), S.93-106.
[FEHL1970]
FEHLBERG, E.: Klassische Runge-Kutta-Formeln vierter und niedriger Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf W¨armeleitungsprobleme, Computing 6 (1970), S.61-71.
[FEHL1975]
FEHLBERG, E.: Klassische Runge-Kutta-Nystr¨om-Formeln mit Schrittweiten-Kontrolle f¨ ur Differentialgleichungen x ¨ = f(t,x), Computing 10 (1972), S.305-315 und Klassische Runge-Kutta-Nystr¨om-Formeln mit Schrittweiten-Kontrolle f¨ ur Differentialgleichungen x ¨ = f(t,x,x), ˙ Computing 14 (1975), S.371-387.
[FICH1987]
FICHTENHOLZ, G.M.: Differential- und Integralrechnung Bd. III, 11. Auflage, VEB Deutscher Verlag der Wissenschaften, Berlin 1987; 12. Auflage 1992.
[FILI1968]
FILIPPI, S.; SOMMER, D.: Beitr¨age zu den impliziten Runge-KuttaVerfahren, Elektron. DVA 10 (1968), S.113-121.
[FORS1971]
FORSYTHE, G.E.; MOLER, C.B.: Computer-Verfahren f¨ ur lineare algebraische Systeme, Oldenbourg, M¨ unchen-Wien 1971.
[FORS1977]
FORSYTHE, G.E.; MALCOM, M.M.; MOLER, C.B.: Computer methods for mathematical computations, Prentice-Hall, Englewood-Cliffs, New Jersey 1977.
[FRAN1982]
FRANKE, R.: Scatterend data Interpolation: Tests of some methods. Mathematics of Computation 38 (1982), S.181-200.
[FRIE1979]
FRIED, I.: Numerical Solution of Differential Equations, Academic Press, New York 1979.
[GEAR1971A] GEAR, C.W.: Numerical Initial Value Problems in Ordinary Differential Equations, Prentice-Hall, Englewood Cliffs, New Jersey 1971. [GEAR1971B] GEAR, C.W.: The Automatic Integration of Stiff Ordinary Differential Equations, Comm. of the ACM, Vol. 14 No. 3 (1971), S.176-179. [GEAR1971C] GEAR, C.W.: DIFSUB for Solution of Ordinary Differential Equations (D 2), Comm. of the ACM, 14 (1971), S.185-190.
Literaturverzeichnis
737
[GEAR1980]
GEAR, C.W.: Runge-Kutta Starters for Multistep Methods, ACM Transactions on Mathematical Software, Vol. 6, No. 3, (Sept. 1980), S. 263-279.
[GLAS1966]
GLASMACHER, W.; SOMMER, D.: Implizite Runge-Kutta-Formeln, Forschungsbericht des Landes NRW, Nr. 1763, Westdeutscher Verlag, Opladen 1966.
[GOLU1996]
GOLUB, G.H.; van LOAN, C.F.: Matrix Computations, Baltimore, Maryland, The John Hopkins University Press, 3. Auflage 1996, ISBN/ISSN: 0801854148 (pbk. : alk. paper) 080185413X (hc : alk. paper).
[GRAM2000]
GRAMLICH, G.; WERNER, W.: Numerische Mathematik mit Matlab, Eine Einf¨ uhrung f¨ ur Naturwissenschaftler und Ingenieure, dpunkt/PRO, ISBN: 3-932588-55-X, Broschiert, 03/2000.
[GRIG1977]
GRIGORIEFF, R.D.: Numerik gew¨ohnlicher Differentialgleichungen Band 1, Teubner, Stuttgart 1972, Band 2, Teubner, Stuttgart 1977.
[HALL1968]
HALL, C.A.: On Error Bounds for Spline Interpolation, J. Approx. Theory, 1, 1968, 209-218.
[HALL1976]
HALL, G.; WATT, J.M.: Modern numerical methods for ordinary differential equations, Clarendon Press, Oxford 1976.
[HAMM1994]
¨ HAMMERLIN, G.; HOFFMANN, K.H.: Numerische Mathematik, Springer, Berlin-Heidelberg 1994; 4. DURCHGES: Auflage 1994, ISBN: 3-540-58033-6, KNO-NR: 03 55 20 72.
[HANK2006]
HANKE-BOURGEOIS, M.: Grundlagen der Numerischen Mathematik und des Wissenschaftlichen Rechnens, Teubner, 2. u ¨berarb. und erw. Aufl., M¨ arz 2006, ISBN-10: 3835100904, ISBN-13: 978-3835100909.
[HENR1972]
HENRICI, P.: Elemente der Numerischen Analysis, Bd. 1 und 2, BI-Htb. 551 und 562, BI-Wissenschaftsverlag, Mannheim-Wien-Z¨ urich 1972.
[HENR1979]
HENRICI, P.: Discrete Variable Methods in Ordinary Differential Equations, John Wiley, New York 1979, ISBN: 0-471-37224-2.
[HERM2001]
HERMANN, M.: Numerische Mathematik, 2001, Oldenbourg, ISBN: 3-486-25558-4, KNO-NR: 09 33 08 74.
[HERM2004]
HERMANN, M.: Numerik gew¨ohnlicher Differentialgleichungen. Anfangs- und Randwertprobleme, Oldenbourg, M¨ unchen-Wien, Juni 2004, ISBN-10: 3486276069, ISBN-13: 978-3486276060.
[HOSC1989]
HOSCHEK, J.; LASSER, D.: Grundlagen der geometrischen Datenverarbeitung, Teubner, Stuttgart 1989; 2. Auflage 1992.
[HULL1972]
HULL, T.E.; ENRIGHT, W.H.; FELLEN, B.F.; SEDGWICK, R.E.: Comparing Numerical Methods for Ordinary Differential Equations, SIAM J. Num. Anal. Vol. 9, Nr. 4 (1972), S.603-637.
738
Literaturverzeichnis
[HULL1975]
HULL, T.E.; ENRIGHT, W.H.; LINDBERG, B.: Comparing Numerical Methods for Stiff Systems of O.D.E.s, BIT 15 (1975), S.10-48.
[ISAA1973]
ISAACSON, E.; KELLER, H.B.: Analyse numerischer Verfahren, Harri Deutsch, Z¨ urich und Frankfurt 1973.
[JANS1975]
JANSEN, R.: Genauigkeitsuntersuchungen bei direkten und indirekten Verfahren zur numerischen L¨ osung von gew¨ohnlichen Differentialgleichungen n-ter Ordnung, Dipl. Arbeit RWTH Aachen 1975.
[JENK1970]
JENKINS, M.A.; TRAUB, J.F.: A Three-Stage-Algorithm for Real Polynomials using Quadratic Iteration, SIAM J. Num. Anal. Vol.7 (1970), S.545-566 (vgl. a. Numer. Math. 14 (1970) S.252-263).
[KAPS1981]
KAPS, P.; WANNER, G.: A Study of Rosenbrock-Type Methods of High Order, Numer. Math. 38 (1981), S. 279-298.
[KELL1990]
KELLER, H.B.: Numerical Solution of Two Point Boundary Value Problems, SIAM Philadelphia, 1976, 4. print. 1990.
[KIEL1988]
KIELBASINSKI, A.; SCHWETLICK, H.: Numerische lineare Algebra, VEB Deutscher Verlag der Wissenschaften, Berlin 1988.
[KING1973]
KING, R.F.: An Improved Pegasus-Method for Root Finding, BIT 13 (1973), S.423-427.
[KIOU1978]
KIOUSTELIDIS, J.B.: Algorithmic Error Estimation for Approximate Solution of Nonlinear Systems of Equations, Computing 19 (1978), S.313320.
[KIOU1979]
KIOUSTELIDIS, J.B.: A Derivative-Free Transformation Preserving the Order of Convergence of Iteration Methods in Case of Multiple Zeros, Num. Math. 33 (1979), S.385-389.
[KNOR2003]
KNORRENSCHILD, M.: Numerische Mathematik, Eine beispielorientierte Einf¨ uhrung, Mit 77 Beispielen und 69 Aufgaben, MathematikStudienhilfen, 2003. ISBN: 3-446-22169-7, KNO-NR: 11 30 03 88, Hanser Fachbuchverlag, Fachbuchverlag Leipzig.
[KOCK1990]
¨ KOCKLER, N.: Numerische Algorithmen in Softwaresystemen, Teubner, Stuttgart 1990.
[KRAU1990]
KRAUSE, B.: Tests zu einigen Kubaturformeln f¨ ur Rechteckgebiete, Studienarbeit FH Aachen 1990, Aufgabensteller und Betreuer G. EngelnM¨ ullges.
[KROG1968]
KROGH, F.T.: A Variable Step Variable Order Multistep Method for the Numerical Solution of Ordinary Differential Equations, Jet Propulsion Laboratory Pasadena/Cal. (Sect. Comp. and Anal.), May 1968, S. A91-A95.
Literaturverzeichnis
739
[KROM1994]
¨ KROMMER, A.R.; UBERHUBER, C.W.: Numerical Integration: On Advanced Computer Systems, Lecture Notes in Computational Science and Engineering Vol.848. 1994. ISBN: 3-540-58410-2, KNO-NR: 09 22 70 54, Springer, Berlin.
[KRUG1990]
¨ KRUGER, V.: Entwicklung eines Programmpaketes zur Integration von nichtsteifen Anfangswertproblemen mit Runge-KuttaEinbettungsformeln, Diplomarbeit FH Aachen 1990, Referent und Betreuer: G. Engeln-M¨ ullges.
[KRYL1991]
KRYLOV, V.I.: Approximate Calculation of Integrals, Macmillan, New York-London 1962 (Translated by STROUD, A.H.) Prentice Hall 1991.
[KUHN1990]
¨ KUHN: Entwicklung eines interaktiven Programms zur graphischen Darstellung glatter Kurven und Fl¨ achen unter Verwendung der ShepardInterpolation sowie des Graphik-Paketes DISSPLA, Diplomarbeit FH Aachen 1990, Referent und Betreuer: G. Engeln-M¨ ullges.
[LAUX1988]
LAUX, M.: Automatische Herleitung und Verifikation von Quadraturformeln, Institutsbericht 88-5, Institut f¨ ur Aerodynamik und Gasdynamik der Universit¨ at Stuttgart, 1988.
[LIND1977]
LINDBERG, B.: Characterization of Optimal Stepsize Sequences for Methods for Stiff Differential Equations, SIAM J. Num. Anal. 14, (1977), S.859-887.
[LOUI1998]
LOUIS, A.K.; MAAß, P.; RIEDER, A.: Wavelets, Theorie und Anwendungen, 2. u ¨berarbeitete und erweiterte Auflage, B. G. Teubner Stuttgart, 1998.
[LUTH1987]
LUTHER, W.; NIEDERDRENK, K.; REUTTER, F.; YSERENTANT, H.: Gew¨ ohnliche Differentialgleichungen, Reihe: Rechnerorientierte Ingenieurmathematik, Hrsg. G. Engeln-M¨ ullges, Vieweg, BraunschweigWiesbaden 1987.
[MAES1985]
MAESS, G.: Vorlesungen u ¨ber Numerische Mathematik I, AkademieVerlag, Berlin 1984; Birkh¨ auser, Basel, Stuttgart 1985.
[MAES1988]
MAESS, G.: Vorlesungen u ¨ber Numerische Mathematik II, AkademieVerlag, Berlin 1988.
[MART1968]
MARTIN, R.S.; J.H. WILKINSON: Similarity Reduction of a General Matrix to Hessenberg Form, Num. Math. 12 (1968), S.349-368.
[MCCA1967]
McCALLA, Th. R.: Introduction to Numerical Methods and FORTRAN Programming, John Wiley, New York 1967.
[MCCR1987]
McCRACKEN, D.D.; DORN, W.S.: Numerical Methods with FORTRAN IV Case Studies, John Wiley, New York 1987.
[MEIN1967]
MEINARDUS, G.: Approximation von Funktionen und ihre numerische Behandlung, Springer, Berlin-Heidelberg-New York 1964, engl. Ausgabe 1967.
740
Literaturverzeichnis
[MEING1979]
MEINGUET, B.J.: Multivariate Interpolation at Arbitrary Points Made Simple, Z.A.M.P, Vol. 30 (1979), S. 292-304.
[MOOR1980]
MOORE, R.E.; KIOUSTELIDIS, J.B.: A Simple Test for Accuracy of Approximate Solutions to Nonlinear (or linear) Systems, SIAM J. Num. Anal. 17 (1980) 4, S. 521-529.
[MUEL1995]
¨ MULLER, M.W.; FELTEN, M.; MACHE, D.H.: Approximationstheorie Akademie Verlag, Berlin, 1995, ISBN: 3-05-501673-4.
[MULL1956]
MULLER, D.E.: A Method for Solving Algebraic Equations using an Automatic Computer, Math. Tables Aids Comp. 10 (1956), S.208-215.
[MUWI1999]
¨ MULLER-WICHARDS, D.: Transformationen und Signale, Stuttgart, Leipzig, Teubner 1999, ISBN: 3-519-02742-9.
[NIED1984]
NIEDERDRENK, K.: Die endliche Fourier- und Walsh-Transformation mit einer Einf¨ uhrung in die Bildverarbeitung, Hrsg. G. Engeln-M¨ ullges, 2. Auflage, Vieweg-Verlag, Wiesbaden 1984; 3. Auflage 1993.
[NIED1987]
NIEDERDRENK, K.; YSERENTANT, H.: Funktionen einer Ver¨anderlichen, Reihe: Rechnerorientierte Ingenieurmathematik, Hrsg. G. EngelnM¨ ullges, Vieweg, Braunschweig-Wiesbaden 1987.
[NIEM1987]
NIEMEYER, H.: Lineare Algebra, Reihe: Rechnerorientierte Ingenieurmathematik, Hrsg. G. Engeln-M¨ ullges, Vieweg-Verlag, BraunschweigWiesbaden 1987.
[NIEM1991]
NIEMEYER, H.: Funktionen von mehreren Ver¨anderlichen, analytische und numerische Behandlung, Reihe: Rechnerorientierte Ingenieurmathematik, Hrsg. G. Engeln-M¨ ullges, Vieweg-Verlag, BraunschweigWiesbaden 1991.
[NIET1970]
¨ NIETHAMMER, W.: Uberund Unterrelaxation bei linearen Gleichungssystemen, Computing 5 (1970), S.303-311.
[OPFE2002]
OPFER, G.: Numerische Mathematik f¨ ur Anf¨anger, Eine Einf¨ uhrung f¨ ur Mathematiker, Ingenieure und Informatiker mit zahlreichen Beispielen und Programmen, Vieweg, F/VVA, 4. durchges. Auflage 2002 ISBN: 3-528-37265-6.
[OPPE1992]
OPPENHEIM, A.V.; WILLSKY, A.S.: Signale und Systeme, Lehrbuch, 2., durchges. Aufl., unter Mitarbeit von Jan T. Young, VCH Weinheim, Basel, Cambridge, New York, 1992, ISBN: 3-527-28433-8.
[OVER2001]
OVERTON, M.L.: Numerical Computing with IEEE Floating Point Arithmetic, Including One Theorem, One Rule of Thumb, and One Hundred and One Exercises, Courant Institute of Mathematical Sciences, New York, 2001, ISBN: 0-89871-482-6.
[PALM1988]
PALM, G.: Programme zur Berechnung polynomialer Ausgleichssplines dritten Grades, Studienarbeit FH Aachen 1988, Aufgabensteller und Betreuer: G. Engeln-M¨ ullges.
Literaturverzeichnis
741
[PARL1969]
PARLETT, B.N.; REINSCH, C.: Balancing a Matrix for Calculation of Eigenvalues and Eigenvectors, Num. Math. 13 (1969), S.293-304.
[PETE1970]
PETERS, G.; WILKINSON, J.H.: Eigenvectors of Real and Complex Matrices by LR and QR triangularizations, Num. Math. 16 (1970), S.181204.
[PIEG1997]
PIEGL, L.; TILLER, W.: The Nurbs Book, Springer, New YorkHeidelberg-Berlin, 2. Auflage 1997.
[PLAT2000]
PLATO, R.: Numerische Mathematik kompakt. Grundlagenwissen f¨ ur Studium und Praxis. VIEWEG, mit Online-Service z. Buch. 2000. ISBN: 3-528-03153-0, KNO-NR: 08 92 82 35.
[POLO1964]
POLOSHI, G.N.: Mathematisches Praktikum, Teubner, Leipzig 1964.
[PREU2001]
¨ PREUSS, W.; WENISCH, G.: Lehr- und Ubungsbuch Numerische Mathematik Hanser, C/VM, ISBN: 3-446-21375-9, Gebunden, 2001.
[QUAR2001]
QUARTERONI, A.; SACCO, R.; SALERI, F.: Numerische Mathematik, Bd.2, Springer-Lehrbuch, 2001.
[QUAR2002]
QUARTERONI, A.; SACCO, R.; SALERI, F.: Numerische Mathematik, Bd.2, Springer-Lehrbuch, 2002, ISBN: 3-540-43616-2, KNO-NR: 10 93 51 03.
[RALS1979]
RALSTON, A.; WILF, H.S.: Mathematische Methoden f¨ ur Digitalrechner I, Oldenbourg, M¨ unchen-Wien 1967, 2. Aufl. 1972, II: M¨ unchen-Wien 1969, 2. Aufl. 1979.
[RALS2001]
RALSTON, A.; RABINOWITZ, P.: A First Course in Numerical Analysis, International Student Edition, McGraw-Hill, Kogokusha, 2. Aufl. 1978, Mineola: Dover, 2001, ISBN: 048641454X.
[REDD2004]
REDDY, B.D.: Introductory Functional Analysis, with applications to boundary value problems and finite elements, Springer, November 2004, ISBN-10: 0387983074, ISBN-13: 978-0387983073.
[REIN2008]
REINHARDT, H.-J.: Numerik gew¨ohnlicher Differentialgleichungen, Anfangs- und Randwertprobleme, de Gruyter, Berlin-New York, 2008.
[RENN1981]
RENNER, G.; POCHOP, V.: A New Method for Local Smooth Interpolation, Eurographics 81, J.L. Encarnacao (ed.), S.137-147.
[RENN1982]
RENNER, G.: A method of shape description for mechanical engineering practice, Computers in Industry 3 (1982), S.137-142.
[RICE1993]
RICE, John R.: Numerical Methods, Software and Analysis, McGrawHill, New York 1983, Boston Acad. Pr. 1993.
[SAUE1969]
SAUER, R.; SZABO, I.: Mathematische Hilfsmittel des Ingenieurs, Springer, Berlin-Heidelberg-New York, Teil II, 1969, Teil III, 1968.
742
Literaturverzeichnis
[SCHM1963]
¨ SCHMIDT, J.W.: Eine Ubertragung der Regula Falsi auf Gleichungen in Banachr¨ aumen, ZAMM 43 (1963), S.1-8 und S.97-110.
[SCHU1977]
SCHUMACHER, H.: M¨ oglichkeiten des Einsatzes von Splines bei der L¨osung von Problemen aus der Hochtemperatur-Gasdynamik. Staatsarbeit f¨ ur das Lehramt an berufsbildenden Schulen, RWTH Aachen, 1977.
[SCHU1992]
SCHUMAKER, L.L.: Fitting surfaces to scattered data, Approximation Theory II, Hrsg.: G.G. Lorentz, C.K. Chui u. L.L. Schumaker, Academic Press, New York 1976, 4. vollst. u ¨berarb. Aufl. 1992.
[SCHW1972]
SCHWARZ, H.R.; STIEFEL, E.; RUTISHAUSER, H.: Numerik symmetrischer Matrizen, Teubner, Stuttgart 1968, 2., durchges. und erw. Auflage 1972.
[SCHW1988]
SCHWARZ, H.R.: FORTRAN-Programme zur Methode der finiten Elemente, Teubner, Stuttgart 1988; 3. Auflage 1991.
[SCHW1991]
SCHWARZ, H.R.: Methoden der finiten Elemente, Eine Einf¨ uhrung unter besonderer Ber¨ ucksichtigung der Rechenpraxis, Teubner, Stuttgart, 2. Auflage 1984; 3. Auflage 1991.
[SCHW1997]
SCHWARZ, H.R.: Numerische Mathematik, Teubner, Stuttgart 1986; 3. Auflage 1993; 4., u ¨berarb. und erw. Auflage 1997.
[SELD1979]
SELDER, H.: Einf¨ uhrung in die Numerische Mathematik f¨ ur Ingenieure, Hanser, M¨ unchen 1973, 2. durchges. und erg¨anzte Aufl. 1979.
[SHAM1984]
SHAMPINE, L.F.; GORDON, M.K.: Computerl¨osung gew¨ohnlicher Differentialgleichungen, Vieweg, Braunschweig-Wiesbaden 1984.
[SHEP1968]
SHEPARD, D.: A two dimensional interpolation function for irregularlyspaced data, ACM National Conference (1968), S.517-524.
[SOMM1967]
SOMMER, D.: Neue implizite Runge-Kutta-Formeln und deren Anwendungsm¨ oglichkeiten, Dissertation, Aachen 1967.
[SPAT1973]
¨ SPATH, H.: Algorithmen f¨ ur elementare Ausgleichsmodelle, Oldenbourg, M¨ unchen-Wien 1973.
[SPAT1974]
¨ SPATH, H.: Algorithmen f¨ ur multivariable Ausgleichsmodelle, Oldenbourg, M¨ unchen-Wien 1974.
[SPAT1986]
¨ SPATH, H.: Spline Algorithmen zur Konstruktion glatter Kurven und Fl¨achen, Oldenbourg, M¨ unchen-Wien 1973, 4. Aufl. 1986.
[SPEL1985]
¨ SPELLUCCI, P.; TORNIG, W.: Eigenwertberechnung in den Ingenieurwissenschaften, Teubner, Stuttgart 1985.
[STEP1979]
STEPLEMAN, R.S.; WINARSKY, N.D.: Adaptive Numerical Differentiation, Mathematics of Computations, Vol. 33, No. 148, 1979, p. 12571264.
Literaturverzeichnis
743
[STEU1979]
STEUTEN, G.: Realisierung von Splinemethoden zur Konstruktion glatter Kurven und Fl¨ achen auf dem Bildschirm, Diplomarbeit RWTH Aachen 1979, Referenten: G. Engeln-M¨ ullges, H. Petersen.
[STEW1973]
STEWART, G.W.: Introduction to Matrix Computations, Academic Press, New York 1973.
[STIE1976]
STIEFEL, E.: Einf¨ uhrung in die Numerische Mathematik, Teubner, Stuttgart 1970, 5. Aufl. 1976.
[STOE1989]
STOER, J.: Numerische Mathematik 1, fr¨ uher: Einf¨ uhrung in die Numerische Mathematik I, Springer, Berlin-Heidelberg-New York 1970, 3. Aufl. 1979, 4. Aufl. 1983, 5. Aufl. 1989.
[STOE1990]
STOER, J.; BULIRSCH, R.: Numerische Mathematik 2, fr¨ uher: Einf¨ uhrung in die Numerische Mathematik II, Springer, BerlinHeidelberg-New York 1973, 2. neu bearb. Aufl. 1978, 3., verb. Aufl. 1990.
[STOE1999]
STOER, J.: Numerische Mathematik. Eine Einf¨ uhrung. Unter Ber¨ ucksichtigung von Vorlesungen v. F. L. Bauer. Bd.1 Springer-Lehrbuch. 8., neubearb. u. erw. Aufl. 1999. ISBN: 3-540-66154-9, KNO-NR: 00 54 61 43, Springer, Berlin-Heidelberg-New York, Bd.2 unter Mitarb. v. Roland Bulirsch. Springer-Lehrbuch. 4., neubearb. u. erw. Aufl. 2000. ISBN: 3-540-67644-9, KNO-NR: 00 21 11 56, Springer, Berlin-HeidelbergNew York.
[STOE2002]
STOER, J.: Numerische Mathematik 1, Springer, Berlin-Heidelberg-New York 1970, 5. Aufl. 1989, 7. Aufl. 1994, 8. Auflage 2002.
[STOE2002A]
STOER, J.; BULIRSCH, R.: Introduction to Numerical Analysis, Third Edition 2002.
[STRO1966]
STROUD, A.H.; SECREST, D.: Gaussian Quadrature Formulas, Prentice-Hall, Englewood Cliffs, New Jersey, 1966.
[STUM1982]
STUMMEL, F.; HAINER, K.: Praktische Mathematik, Teubner, Stuttgart 1970, 2. u ¨berarb. u. erw. Aufl. 1982, ISBN: 3-519-12040-2.
[TORN1990]
¨ TORNIG, W.; SPELLUCCI, P.: Numerische Mathematik f¨ ur Ingenieure und Physiker, Springer, Berlin-Heidelberg-New York 1979, Bd. 1: Numerische Methoden der Algebra, 2. Aufl. 1988; Bd. 2: Numerische Methoden der Analysis, 2. Aufl. 1990.
[TRAU1966]
TRAUB, J.F.: A Class of Globally Convergent Iteration Functions for the Solution of Polynomal Equations, Math. of Comp. 20 (1966), S.113-138.
[TRAU1984]
TRAUB, J.F.: Iterative Methods for the Solution of Equations, PrenticeHall, Englewood Cliffs, New Jersey 1964, 2. Aufl. 1984.
[UBER1995]
¨ UBERHUBER; C.W.: Computer-Numerik. Tl.1 Neuaufl. 2002. ISBN: 3-540-59151-6, KNO-NR: 05 95 50 32, Springer, Berlin-Heidelberg-New York, Tl.2 1995. ISBN: 3-540-59152-4, KNO-NR: 05 95 50 54, Springer, Berlin-Heidelberg-New York.
744
Literaturverzeichnis
[WEIS1990]
WEISSINGER, J.: Sp¨ arlich besetzte Gleichungssysteme. Eine Einf¨ uhrung mit BASIC- und PASCAL-Programmen, BI-Wissenschaftsverlag, Mannheim 1990.
[WERN1993]
WERNER, H.; SCHABACK, R.: Numerische Mathematik I, Springer, Berlin-Heidelberg-New York 1972, 4., vollst. u ¨berarb. Aufl. 1993 (siehe auch [SCHA1993]).
[WILK1961]
WILKINSON, J.H.: Error Analysis of Direct Methods of Matrix Inversion, J. Assoc. Comput. March 8, S. 281-330, 1961.
[WILK1969]
WILKINSON, J.H.: Rundungsfehler, Springer, Berlin-Heidelberg-New York 1969.
[WILK1996]
WILKINSON, J.H.: The Algebraic Eigenvalue Problem, Clarendon Press, Oxford 1965; Reprint 1996.
[WILL1971]
WILLERS, F.A.: Methoden der praktischen Analysis, de Gruyter, Berlin 1957, 4. verb. Aufl. 1971.
[WODI1991]
WODICKA, R.: Erg¨ anzungen zu Akima’s Steigungsformel, Mitteilungen aus dem Mathem. Seminar Giessen, Heft 203, Selbstverlag des Mathematischen Instituts, Giessen 1991.
[YOUN2003]
YOUNG, D.M.: Iterative Solution of Large Linear Systems, Mineola, N.Y. : Dover Publ., 2003, ISBN: 0-486-42548-7.
[ZIEL1974]
ZIELKE, G.: Testmatrizen mit maximaler Konditionszahl, Computing 13 (1974), S.33-54.
[ZIEL1975]
ZIELKE, G.: Testmatrizen mit freien Parametern, Computing 15 (1975), S.87-103.
[ZIEL1986]
ZIELKE, G.: Report on Test Matrices for Generalized Inverses, Computing 36 (1986), S.105-162.
[ZURM1965]
¨ ZURMUHL, R.: Praktische Mathematik f¨ ur Ingenieure und Physiker, Springer, Berlin-Heidelberg-New York, 5. neubearb. Aufl. 1965; Nachdruck 1984.
[ZURM1997]
¨ ZURMUHL, R.; FALK, S.: Matrizen und ihre Anwendungen f¨ ur Ingenieure, Physiker und Angewandte Mathematiker, Teil 1: Grundlagen, 6. vollst. neu bearb. Aufl., Springer, Berlin-Heidelberg-New York 1992; Teil 2: Numerische Methoden, 5. u ¨berarb. und erw. Aufl., Springer, Berlin-Heidelberg-New York 1984/1986; 7. Auflage, Berlin Springer 1997.
Sachwortverzeichnis
β-Bruch endlicher, 7 unendlicher, 7 β-Punkt, 7 ¨ Aquilibrierung, 144, 208 ¨ Uberrelaxation, 236 a¨quidistante Parametrisierung, 426 3/8-Formel, 579, 680 bei a¨quidistanter Zerlegung, summierte, 580 bei nicht¨aquidistanter Zerlegung, summierte, 583 f¨ ur ein Referenzintervall, 579 4/90-Regel, 583 5/288-Regel, 584 6/840-Regel, 584 7/17280-Regel, 584 a posteriori-Fehlerabsch¨ atzung, 41 a priori-Fehlerabsch¨ atzung, 41 Abbruchbedingung, 105 Abbruchfehler, 17, 699 Abdividieren von komplexen Nullstellen, 96 Abdividieren von Nullstellen, 95 Abrundung von Ecken, 486 Abstand, 294 Adams-Bashforth-Extrapolationsformel, 707 Adams-Bashforth-Formel, 705 Adams-Moulton-Formel, 708 Adams-Moulton-Verfahren, 709 Adaption, 696 Aitken-Interpolationsschema, 356 Akima-Subsplines, 469 algebraische Gleichung, 27 Algorithmus von Cuthill-McKee, 215, 220 von Rosen, 220
Anfangsbedingungen, 659 Anfangswertproblem, 659 bei gew¨ohnlichen Differentialgleichungen, 659 Anfangswertprobleml¨oser adaptive, 701 Anlaufst¨ uck, 704 Anteil fraktionierter, 7 ganzzahliger, 7 gebrochener, 7 Approximation beste, 294, 295 beste gleichm¨aßige, 316, 317, 319 diskrete, 291, 308 diskrete gleichm¨aßige, 339, 341 diskrete lineare, 302 diskrete nichtlineare, 342 diskrete periodische, 326 durch Tschebyscheff-Polynome, 317 durch Tschebyscheff-Polynome, gleichm¨aßige, 321 gleichm¨aßige, 292, 316, 320, 337 gleichm¨aßige periodische, 340 im quadratischen Mittel, 292, 296, 298, 302, 325 kontinuierliche, 291 kontinuierliche gleichm¨aßige, 338, 341 kontinuierliche lineare, 296 lineare, 291, 294 nichtlineare, 291 periodischer Funktionen, 323, 324, 326 rationale, 296 von Polynomen durch TschebyscheffPolynome, 316 Approximationsaufgabe, 294, 295 Approximationsfunktion, 291 lineare, 294
746 Approximationsg¨ ute f¨ ur Splines, 440 Approximationssatz von Jackson, 337, 340 von Weierstraß, 337, 340 Ausgleich diskreter, 292 durch lineare algebraische Polynome, 310 im quadratischen Mittel, nichtlinearer, 348 kontinuierlicher, 292 linearer, 314 Ausgleichssplines parametrische kubische, 464 polynomiale kubische, 452 Ausl¨oschung, 21 AWP, 659 B-Spline-Fl¨ache uniforme, offene, 536 B-Spline-Fl¨achen, 534 B-Spline-Kurven, 528 uniforme, 532 B-Splines, 497, 528 Bandbreite, 126 Bandmatrix, 126, 183 Berechnung der Kurvenl¨ ange, 490 Bernoullische Zahlen, 592 beta-Bruch endlicher, 7 unendlicher, 7 beta-Punkt, 7 Bezier-Spline-Fl¨achen, 519 Bezier-Spline-Kurven, 515 Bezier-Splines, 497, 514 Besonderheiten der kubischen, 519 modifizierte (interpolierende) kubische, 527 Bisektionsverfahren, 69 Block-Verfahren, 214 Blockmatrix, 210 Bulirsch-Folge, 717 CG-Verfahren, 160 mit Vorkonditionierung, 161 Charakteristik, 10 Cholesky-Zerlegung, 131
Sachwortverzeichnis chordale Parametrisierung, 426 chordalen Parametrisierung Variante der, 427 Clenshaw-Curtis-Formeln f¨ ur ein Referenzintervall, 604 zusammengesetzte, 604 Cuthill-McKee Algorithmus, 215 Darstellung ganzer Zahlen, 3 reeller Zahlen, 6 Darstellung von Zahlen, 1 Definition von Fehlergr¨oßen, 1 Definitionen und S¨atze u ¨ber Nullstellen, 29 Deflation, 95 eines Polynoms, 100 Deflationspolynom, 92 Dezimalbruch, 7 Dezimalen, 7 g¨ ultige, 11 sichere, 11 Dezimalpunkt, 7 Dezimalsystem, 4 Diagonalbl¨ocke, 210 diagonaldominant, 127 Diagonalmatrix, 126 Differentialgleichungssysteme gew¨ohnliche, 659 steife, 723 Differentialvariationsgleichung, 718 Differentiation adaptive numerische, 547 einer interpolierenden Splinefunktion, 547 eines Interpolationspolynoms, 547 mit dem Romberg-Verfahren, 547 numerische, 547 Differenzengleichung, 719 Differenzenschema, 366 Differenzenvariationsgleichung, 719 diskreter polynomialer Ausgleich, 308 Diskretisierungsfehler, 17, 699 Drei/Achtel-Formel, 680 f¨ ur ein Referenzrechteck, 628 Dreieckbereiche mit achsenparallelen Katheten, 643
Sachwortverzeichnis Dreiecke in allgemeiner Lage, 650 Dreiecksmatrix, 121 normierte bidiagonale obere, 165 normierte obere, 121 normierte untere, 121 obere, 121 untere, 121 Dreieckszerlegung, 122, 133 mit Spaltenpivotsuche, 147 Dualbruchdarstellung, 7 Dualsystem, 4 Effizienz, 89, 90 Effizienz der Verfahren, 89 Effizienzindex, 89 von Traub, 89 Eigenvektoren von Matrizen, 259 Eigenvektormatrix, 261 Eigenwertaufgabe, 259 teilweise, 260 vollst¨andige, 260 Eigenwerte, 259 Einbettungsformeln, 684 Eindeutigkeitssatz, 36 Eingabefehler, 17 Einschlussintervall, 69 Einschlussverfahren, 27, 66 kombiniertes, 81 Einschrittverfahren, 661 konsistentes, 699, 721 Elementarbereich, 620 Elimination mit Zeilenvertauschungen, 135 ohne Zeilenvertauschungen, 133 endlicher β-Bruch, 7 England - Formel vierter und f¨ unfter Ordnung, 686 England I - Formel, 680 England II - Formel, 681 Entwicklungssatz, 261 Ersatzproblem, 18 Euler-Cauchy-Verfahren, 662, 680 verbessertes, 664, 680 Euler-Maclaurin-Formeln, 592 f¨ ur ¨aquidistante Zerlegung, summierte, 593
747 f¨ ur ein Referenzintervall, 592 Existenzsatz, 36 Exponent, 9 Extrapolationsverfahren, 661 von Bulirsch-Stoer-Gragg, 715 Faktorisierung, 122, 155, 165 Fast Fourier Transform, FFT, 329 Fehler, 17, 199 absoluter, 1, 11 prozentualer, 3 relativer, 2, 13 wahrer, 1 Fehlerabsch¨atzung, 40 interpolierender kubischer Splines, 440 Fehlerabsch¨atzung ohne Verwendung der Lipschitzkonstante, 42, 246 Fehlerfortpflanzung, 19 Potenz, 24 Produkt, 23 Quotient, 23 Summe, 21 Fehlerordnung globale, 566, 661 lokale, 566 Fehlerquadratsumme transformierte, 343 Fehlerquellen, 17 Fehlersch¨atzung, 612, 700 bei ¨aquidistanter Zerlegung, 612 bei Einbettungsformeln, 702 bei nicht¨aquidistanter Zerlegung, 613 Fehlersch¨atzungsformeln f¨ ur Mehrschrittverfahren, 714 Fehlerschranke f¨ ur den absoluten Fehler, 2 Fehlerschranke f¨ ur den prozentualen Fehler, 3 Fehlerschranke f¨ ur den relativen Fehler, 2 Fehlertest absoluter, 16 kombinierter, 16 relativer, 16 Fehlervektor, 208 Festpunktdarstellung, 7 Fixpunkt, 31
748 Fixpunktgleichung, 31 Fixpunktsatz, 39 f¨ ur Systeme, 245 Fl¨achenintegral, 619 Fortpflanzungsfehler, 17 Fourier-Transformation, 329 Fourierkoeffizienten diskrete, 330 kontinuierliche, 329 Fourierreihe, 329 Fourierteilsummen diskrete, 330 kontinuierliche, 329 fraktionierter Anteil, 7 Franke-Little-Gewichte, 379 Fundamentalsatz der Algebra, 91 Funktionalmatrix, 245 Funktionensystem linear unabh¨angiges, 295 orthogonales, 295, 299, 324, 326 ganzzahliger Anteil, 7 Gauß-Algorithmus als Dreieckszerlegung, 145 f¨ ur Blocksysteme, 211 f¨ ur n = 3, 139 f¨ ur Systeme mit mehreren rechten Seiten, 149 f¨ ur tridiagonale Blocksysteme, 213 mit Spaltenpivotsuche als Rechenschema, 136 Gauß-Formeln optimale, 567 Gauß-Kubaturformeln, 636 f¨ ur Dreieckbereiche mit achsenparallelen Katheten, 646 f¨ ur Rechteckbereiche, 635 Gauß-Seidelsches Iterationsverfahren, 234 Gaußsche Fehlerquadratmethode diskrete, 292, 302 kontinuierliche, 292, 298 Gaußsche Kubaturformeln, 623 Gaußsche Normalgleichungen, 298, 303 Gaußsche Quadraturformeln bei ¨aquidistanter Zerlegung, summierte, 600 bei nicht¨aquidistanter Zerlegung, summierte, 601
Sachwortverzeichnis f¨ ur ein Referenzintervall, 598 verallgemeinerte, 601 Gauß-Algorithmus mit Spaltenpivotsuche, 147 Gauß-Formeln verallgemeinerte, 603 Gaußsche Fehlerquadratmethode diskrete, 304 kontinuierliche, 301 Gear-Verfahren Korrektorformeln, 725 Stabilit¨atsbereiche, 726 gebrochener Anteil, 7 Genauigkeitsgrad, 621 Gewichte der Quadraturformel, 566 Gitter, 660 Gleichung algebraische, 91 charakteristische, 259 inhomogene, 132 Gleichungssysteme mit Bandmatrix, 183 mit Blockmatrix, 210 mit f¨ unfdiagonaler Matrix, 177 mit tridiagonaler Matrix, 165 mit zyklisch tridiagonaler Matrix, 172 Gleitpunktdarstellung normalisierte, 9 Gleitpunktzahlen Addition, 14 Multiplikation, 15 Gradientenverfahren, 253 Graggsche Funktion, 715 Gramsche Determinante, 298 H¨ochstfehler absoluter, 2 relativer, 2 Hadamardsches Konditionsmaß, 200 harmonische Analyse, 329 Hauptabschnittsdeterminante, 120 Hauptabschnittsmatrix, 120 Hauptsatz der Integralrechnung, 561 Hermite-Interpolation, 352 Hermite-Splinefunktion Arten, 443
Sachwortverzeichnis nat¨ urliche, 443 periodische, 443 Hermite-Splines, 443 Berechnung der nichtparametrischen, 443 f¨ unften Grades, 442 nichtperiodische, 444 parametrische, 443, 447 periodische, 446 Hermitesches Interpolationspolynom, 352 Hexadezimalsystem, 4 hinreichende Kriterien f¨ ur positive Definitheit, 128 Horner-Schema, 4, 24, 92 doppelreihiges, 95 f¨ ur komplexe Argumentwerte, einfaches, 95 f¨ ur reelle Argumentwerte, einfaches, 93 f¨ ur reelle Argumentwerte, vollst¨ andiges, 97 Hornerzahl, 89, 90 Householder-Matrix, 125 Householder-Transformation, 195, 197, 314 zur L¨osung des linearen Ausgleichsproblems, 313 Illinois-Verfahren, 80 instabil, 199 Integral bestimmtes, 561 elliptisches, 561 Integrationsregel, 565 Interpolation lineare, 354 nach Aitken, inverse, 360 nach Newton, 363 nach Shepard, 376 polynomiale, 351 Restglied, 368 trigonometrische, 327 zweidimensionale, 373 Interpolationsfehler, 368 Interpolationsformel, 352 von Lagrange, 353, 355, 565 von Newton, 362, 364 zweidimensionale, von Lagrange, 374
749 Interpolationskubaturformeln Konstruktion, 621 Interpolationspolynom, 351 Interpolationsquadraturformeln Konstruktion, 564 Interpolationsstellen, 351 Iteration in Gesamtschritten, 231 Iteration in Einzelschritten, 234 Iterationsfolge, 33 Iterationsschritt, 33 Iterationsverfahren, 33 allgemeines, 27 f¨ ur Systeme, allgemeines, 244 in Einzelschritten, 115, 235 in Gesamtschritten, 115, 225 nach v. Mises, 262 zur L¨osung linearer Gleichungssysteme, 223 Iterationsvorschrift, 33 Jackson, 337, 340 Jakobi-Matrix gesch¨atzte, 253 Kennzeichen f¨ ur schlechte Kondition, 200 Knoten, 390, 563 Kondition, 1, 199 Kondition eines Problems, 19 Konditionsmaß, 200 Konditionssch¨atzung, 203 nach Cline, 204, 205 nach Forsythe/Moler, 203 Konditionszahlen, 21, 202 konjugiert orthogonal, 261 konsistent, 699 Konsistenz, 699 Konsistenzordnung, 699 Konvergenz, 440, 699 der Korrektorformel, 727 eines Iterationsverfahrens, 37 lineare, 49 quadratische, 49 superlineare, 49 Konvergenzgeschwindigkeit, 49 Konvergenzordnung, 49, 246 eines Iterationsverfahrens, 49 Konvergenzverbesserung
750 mit Hilfe des Rayleigh-Quotienten, 271 Korrektor, 661 Korrekturvektor, 208 Kr¨ ummung einer ebenen Splinekurve, 432 Kriterien f¨ ur Steifheit, 723 Kriterium von Schmidt - v. Mises, 229, 246 Kubatur numerische, 619 Kubaturformeln, 620 f¨ ur Dreieckbereiche, 643 f¨ ur Referenzbereiche, 620 interpolatorische, 623 summierte, 621 zu dreieckigen Referenzbereichen, 621 zu rechteckigen Referenzbereichen, 621 zusammengesetzte, 621 Kubaturverfahren nach Romberg, 632 Kurvenl¨ange, 490 L-Approximation L2 -Approximation, 292 L-Norm L2 -Norm, 296 L¨osbarkeitsbedingungen f¨ ur ein lineares Gleichungssystem, 132 L¨osung u ¨ berbestimmter linearer Gleichungssysteme mit Householder-Transformation, 194 Lagrangesche Formel f¨ ur a¨quidistante St¨ utzstellen, 355 f¨ ur beliebige St¨ utzstellen, 353 Lagrangesche Restgliedformel, 368 Legendre-Polynome, 598 Lipschitzbedingung, 35 lipschitzbeschr¨ankt, 35 Lipschitzkonstante, 35 LR-Verfahren, 276, 280 LR-Zerlegung, 122 M¨oglichkeiten zur Konditionsverbesserung, 208 Maclaurin-Formeln, 591
Sachwortverzeichnis Mantisse, 9 Maschinengenauigkeit, 16 Maschinenzahlen, 9 Matrix bandstrukturierte, 183 bidiagonale, 126 diagonal¨ahnliche, 260 d¨ unnbesetzte, 215 f¨ unfdiagonale, 126 gepackte, 186 hermitesche, 261 orthogonale, 124 positiv semidefinit, 127 regul¨are, 120 stark diagonaldominant, 127 streng regul¨are, 120, 129 symmetrische, 124 transponierte, 124 tridiagonale, 126 zyklisch tridiagonale, 126 Matrix-Norm, 224 Matrix-Norm-Axiome, 224 Matrizeninversion mit dem Gauß-Algorithmus, 151 Mehrschrittverfahren, 661, 704 Merkmal, 310 Merkmalsebene, 310 Methode des Pivotisierens, 115 direkte, 115 iterative, 115 von Shepard, 376 zur automatischen Schrittweitensteuerung, 701 Mittelwertsatz der Integralrechnung, 568 Modalmatrix, 261 Modellfunktion lineare, 294 nichtlineare, 294, 342 transformiert lineare, 343 multi-step methods, 661 Nachiteration, 199, 208 Newton-Cotes-Formeln, 567 f¨ ur rechteckige Integrationsbereiche, 624
Sachwortverzeichnis summierte, 628 weitere, 583 zusammengesetzte, 628 Newton-Cotes-Kubaturformeln f¨ ur Dreieckbereiche, 643 Newtonsche Formel f¨ ur a¨quidistante St¨ utzstellen, 365 f¨ ur beliebige St¨ utzstellen, 362 Newtonsche Interpolationsformel f¨ ur absteigende Differenzen, 366 Newtonsches Iterationsverfahren ged¨ampfte Primitivform, 253 Norm, 294 Maximumnorm, 316 Normalgleichungen, 298, 303 notwendige Bedingung f¨ ur positive Definitheit, 128 notwendige und hinreichende Kriterien f¨ ur positive Definitheit, 128 Nullstelle einfache, 29 mehrfache, 29 numerisch stabil, 24 Oberfl¨achensplines, 497 zweidimensionale interpolierende, 511 Oktalsystem, 4 one-step methods, 661 orthogonal, 124, 261 Orthogonalisierungsverfahren von Schmidt, 300 Parametrisierung, 426 ¨aquidistante, 426 chordale, 426 Variante der chordalen, 427 Pegasus-Verfahren, 27, 74 periodische Funktion, 323 Permutationsmatrix, 121 Pivotelemente, 141 Pivotsuche, 141 teilweise, 141 vollst¨andige, 141 Polygonzugverfahren von Euler-Cauchy, 661 Polynom abdividiertes, 92 charakteristisches, 259
751 Polynom-Splines dritten Grades, 387 interpolierende zweidimensionale dritten Grades, 497 kombinierte interpolierende, 433 zur Konstruktion glatter Kurven, interpolierende, 387 Polynome algebraische, 298 diskrete orthogonale, 308 Legendresche, 300 orthogonale, 300 trigonometrische, 323 Tschebyscheffsche, 300, 316, 317 positiv definit, 127 Praediktor, 661 Praediktor-Korrektor-Verfahren, 661, 707 von Adams-Moulton, 707 von Heun, 669 Prince-Dormand-Einbettungsformel f¨ unfter und sechster Ordnung, 690 f¨ unfter und vierter Ordnung, 688 siebenter und achter Ordnung, 693 vierter und f¨ unfter Ordnung, 689 Prinzip der direkten Methoden, 133 Probleme steife, 723 Punktoperationen, 26, 219 QD-Algorithmus, 275 QD-Schema, 275 QR-Verfahren, 276, 282 von Rutishauser, 282 Quadratur numerische, 561 Restglied, 565 Quadraturfehler globaler, 564 lokaler, 564 Quadraturformel summierte, 564 zusammengesetzte, 564 Quadraturformeln, 561 f¨ ur ¨aquidistante St¨ utzstellen, 567 Konvergenz, 615 Konvergenzordnung von, 566 von Clenshaw-Curtis, 604
752 von Gauß, 597 von Maclaurin, 588 von Newton-Cotes, 567 von Tschebyscheff, 595 Quadraturverfahren adaptive, 614 R¨ uckw¨artselimination, 155, 165 Randableitung n¨aherungsweise durch Interpolation, 438 Randbedingungen, 392, 403 Rayleigh-Quotient, 271 Rechnung mit endlicher Stellenzahl, 11 Rechnungsfehler, 17, 24, 40, 44, 612 f¨ ur Ein- und Mehrschrittverfahren, 715 Rechteckformel, 563 summierte, 563 Rechteckregel, 661 Referenz-Rechteckgitter, 623 Referenzbereich, 620 Referenzdreieck, 643 Referenzintervall, 563 Regression lineare, 310 Regressionsgerade, 311 Regula falsi, 71 Relaxation beim Einzelschrittverfahren, 236 beim Gesamtschrittverfahren, 236 Relaxationskoeffizient, 236 Relaxationsverfahren, 115 Renner-Subsplines, 476 Residuum, 199 Richtungsfeld der Differentialgleichung, 664 Riemannsches Fl¨achenintegral mit bikubischen Splines, 638 RK-Verfahren, 673 Romberg-Folge, 716 Romberg-Verfahren zur Quadratur, 605 Rundung korrekte, 11 statistisch korrekte, 12
Sachwortverzeichnis Rundungsfehler elementarer, 16 Runge-Kutta I-Verfahren dritter Ordnung, 680 Runge-Kutta II-Verfahren dritter Ordnung, 680 Runge-Kutta-Einbettungsformel zweiter und dritter Ordnung, 684 Runge-Kutta-Fehlberg-Einbettungsformel dritter und vierter Ordnung, 688 f¨ unfter und sechster Ordnung, 687 siebenter und achter Ordnung, 694 vierter und f¨ unfter Ordnung, 685 Runge-Kutta-Fehlberg-Verfahren f¨ unfter Ordnung, 681 vierter Ordnung, 681 Runge-Kutta-Fehlberg-Verfahren I, 682 Runge-Kutta-Fehlberg-Verfahren II, 682 Runge-Kutta-Formeln explizite, 673 Koeffiziententabelle zu expliziten, 680 Zusammenstellung expliziter, 679 Runge-Kutta-Gill-Verfahren, 680 Runge-Kutta-Verfahren m-stufiges, 698 explizites, 673, 696 explizites m-stufiges, 673 implizites, 696 klassisches, 673, 680 vom Gauß-Typ, implizite, 696, 697 Satz von Bolzano, 31 von Laguerre, 101 Sch¨atzung des Restgliedes, 369 Sch¨atzwert mit dem Newton-Restglied, 370 Schrittfunktion, 33 vektorielle, 244 Schrittweite lokale, 660 maximale lokale, 661 Schrittweitensteuerung, 684 automatische, 696, 700 nach [HULL1972], automatische, 702 schwach besetzt, 223 Sehnentrapezformel, 569
Sachwortverzeichnis bei a¨quidistanter Zerlegung, summierte, 569 bei nicht¨aquidistanter Zerlegung, summierte, 574 f¨ ur ein Referenzintervall, 569 f¨ ur periodische Funktionen, 574 Sehnentrapezregel, 569 Sekantenverfahren, 27, 63 f¨ ur einfache Nullstellen, 63 f¨ ur mehrfache Nullstellen, modifiziertes, 66 f¨ ur nichtlineare Systeme, 254 Seminorm, 302 Shepard-Funktion, 376 Shepard-Interpolation globale, 377 mit Franke-Little-Gewichten, lokale, 380 Simpson-Kubaturformeln summierte, 629 Simpsonsche Formel, 575 f¨ ur ¨aquidistante Zerlegung, summierte, 576 f¨ ur ein Referenzintervall, 575 f¨ ur ein Referenzrechteck, 626 f¨ ur nicht¨aquidistante Zerlegung, summierte, 579 Skalarprodukt, 296, 302 Skalierung, 208 SOR, 237 Spaltenpivotsuche, 141 skalierte, 144 Spaltensummenkriterium, 229, 246 Spektralmatrix, 261 Spiralisierung, 110 Spline, 403 nichtparametrischer, interpolierender, kubischer, 390 parametrischer, interpolierender, kubischer, 393 Splinefunktion bikubische, 500 kubische, 391 mit not-a-knot-Randbedingungen, kubische, 402 mit Vorgabe der Normalen, bikubische, 511
753 mit vorgegebenen dritten Randableitungen, kubische, 402 mit vorgegebenen ersten Randableitungen, kubische, 402 nat¨ urliche kubische, 402 ohne Vorgabe von Randwerten, bikubische, 506 periodische kubische, 402, 423 verallgemeinerte nat¨ urliche kubische, 402 Splinefunktion kubisch nichtparametrisch, 402 Splinemethode Auswahl der geeigneten, 465 Splines Berechnung der nichtparametrischen kubischen, 408 Berechnung der parametrischen kubischen, 425 zweidimensionale, 497 St¨orfunktion, 718 St¨orl¨osung, 719 St¨ utzpunkte, 390 St¨ utzstellen, 351, 563 St¨ utzwerte, 351 Stabilit¨at, 1, 717 A-, 721 absolute, 721 asymptotische, 721 Bereiche steifer, 727 der Differentialgleichung, 718 des numerischen Verfahrens, 718 numerische, 24 starke, 720 steife, 721, 727 Stabilit¨atsbereich, 724 steif, 723 Stellenwertsystem zur Basis β, 4 Subdiagonalmatrix, 121 Superdiagonalmatrix, 121 symmetrisch, 124 Systeme homogene, 132, 140 mit symmetrischer, f¨ unfdiagonaler po sitiv definiter Matrix, 180 mit symmetrischer, positiv definiter
754
Sachwortverzeichnis Matrix, 155, 160 mit symmetrischer, streng regul¨ arer Matrix, 154 mit symmetrischer, tridiagonaler, positiv definiter Matrix, 169 mit symmetrischer, zyklisch tridiagonaler Matrix, 175 nichtlinearer Gleichungen, 241 schlecht konditionierte, 199
T-Entwicklung, 318, 319 Tangententrapezformel, 588 f¨ ur ¨aquidistante Zerlegung, summierte, 589 f¨ ur ein Referenzintervall, 588 f¨ ur nicht¨aquidistante Zerlegung, summierte, 590 Taylorentwicklung, 98 eines Polynoms, 100 Transformation auf Hessenbergform, 276, 277 Transformationsmethode, 343 beim nichtlinearen Ausgleich, 342 transponiert, 124 transzendent, 27 Trapez-Formel f¨ ur ein Referenzrechteck, 625 Trapez-Kubaturformeln f¨ ur ein Rechteck, summierte, 628 tridiagonal, 165 Tschebyscheff-Formeln f¨ ur ¨aquidistante Zerlegung, summierte, 596 f¨ ur ein Referenzintervall, 595 f¨ ur nicht¨aquidistante Zerlegung, summierte, 597 Tschebyscheff-Polynome, 317, 318 Tschebyscheffsche Approximation, 316 Tschebyscheffsche Kubaturformeln, 623 Tschebyscheffsche Quadraturformeln, 567, 595 Tschebyscheffsche Regeln, 595 unendlicher β-Bruch, 7 unit¨ar, 261 Unterrelaxation, 236 Vandermonde-Matrix, 567
Vektor-Norm-Axiome, 223 Verbesserung relative, 209 Verfahren der konjugierten Gradienten, 160 der schrittweisen Ann¨aherung, 33 ¨ der sukzessiven Uberrelaxation, 237 des st¨arksten Abstiegs f¨ ur nichtlineare Systeme, 255 f¨ ur Systeme mit Bandmatrizen, 115 f¨ ur Systeme mit symmetrischen Matrizen, 153 modifiziertes, von Newton f¨ ur mehrfache Nullstellen, 59 vom Gauß-Typ, 696 von Adams-Bashforth, explizite, 705 von Adams-St¨ormer, 713 von Anderson-Bj¨orck, 27, 77 von Anderson-Bj¨orck-King, 80 von Bauhuber, 109 von Brown, 253 von Brown, f¨ ur Systeme, 257 von Butcher, 682 von Cholesky, 115, 155 von Gauß-Jordan, 115, 164 von Gear zur Integration steifer Systeme, 724 von Heun, 669, 680 von Jenkins und Traub, 111 von King, 27, 80 von Krylov, 272 von Kutta-Nystr¨om, 681 von Martin, Parlett, Peters, Reinsch und Wilkinson, 283 von Muller, 102 von Newton, 27 von Newton f¨ ur einfache Nullstellen, 51 von Newton f¨ ur mehrfache Nullstellen, 58 von Newton, f¨ ur Systeme, ged¨ampftes, 253 von Newton, f¨ ur Systeme, Primitivform, 252 von Newton, ged¨ampftes, 57 von Newton, quadratisch-konvergente, 250
Sachwortverzeichnis von Romberg, 605 von Runge-Kutta, 673 zur L¨osung linearer Gleichungssysteme, direkte, 115 Verfahren zur L¨osung algebraischer Gleichungen, 91 Verfahrensfehler, 17, 18 globale, 661 lokale, 661 Verfahrensfunktion, 698 eines Einschrittverfahrens, 698 Verner-Einbettungsformel achter und neunter Ordnung, 695 f¨ unfter und sechster Ordnung, 690 sechster und siebenter Ordnung, 691 siebenter und achter Ordnung, 692 Vertr¨aglichkeitsbedingung, 225 Volumenberechnung, 620 Vorw¨artselimination, 155, 165 Vorzeichenregeln von Sturm und Descartes, 101
755 Weierstraß, 337, 340 Wronskische Determinante, 295 Wurzelbedingung, 721 Zahlen charakteristische, 259 Zahlensysteme, 3 Zeilensummenkriterium, 229, 246 Zeroinverfahren, 83 Ziffern g¨ ultige, 12 sichere, 12 tragende, 9 Zweidimensionale Interpolation, 373 Zweidimensionale Interpolationsformel von Lagrange, 374 Zwischenwertsatz, 31 zyklisch tridiagonal, 126