Upload
dinhkhuong
View
218
Download
0
Embed Size (px)
Citation preview
Technische Universität Dortmund
Fakultät für Mathematik
LS III: Angewandte Mathematik und Numerik
Prof. Dr. Stefan Turek
Bachelorarbeit
Lineare Randwertprobleme: Vergleich des klassischen
Schießverfahrens mit der Superpositionsmethode und die
Motivation auf das Mehrfachschießverfahren
vorgelegt von
Ufuk Erkul Oesterholzstr.57
44145 Dortmund
10. Semester
Matr.-Nr.: 119248
betreut durch
Prof. Dr. Stefan Turek
Juni 2014
I
Inhaltsverzeichnis
1 Einleitung 1
2 Randwertprobleme 2
2.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Zweipunkt-Randwertprobleme . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Randwertproblem für Differentialgleichungen höherer Ordnung . . . . . . 3
2.4 Lineare Randwertprobleme . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Existenz und Eindeutigkeit . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Einfachschießverfahren 7
3.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Das klassische Schießverfahren und die Superpositionsmethode
für lineare Randwertprobleme . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Konvergenz des klassischen Schießverfahrens . . . . . . . . . . . . . . . 13
3.4 Implementierung und numerische Tests . . . . . . . . . . . . . . . . . . . 14
3.5 Vergleich des klassischen Schießverfahrens mit der
Superpositionsmethode . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 Problematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Mehrfachschießverfahren 28
4.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Mehrfachschießverfahren für lineare Randwertprobleme . . . . . . . . . . 28
4.3 Numerische Lösung bestimmter Gleichungssysteme . . . . . . . . . . . . 32
4.4 Vergleich des Einfachschießverfahrens mit dem
Mehrfachschießverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5 Schluss 43
6 Anhang 45
7 Literaturverzeichnis 47
II
Abbildungsverzeichnis
Abbildung 1: Einfachschießverfahren . . . . . . . . . . . . . . . . . . . . . .
8
Abbildung 2:
Numerische Lösung der RWA und Darstellung des Fehlers . . . 16
Abbildung 3:
Vergleich der Fehler für und . . . . . . . . . 17
Abbildung 4:
Numerische Lösung der RWA und Darstellung des Fehlers . . . 18
Abbildung 5:
Visualisierung der Fehler für und . . . . . . . 19
Abbildung 6:
Darstellung der exakten und der numerischen Lösung
für . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Abbildung 7:
Mehrfachschießverfahren . . . . . . . . . . . . . . . . . . . . . 28
III
Tabellenverzeichnis
Tabelle 1: Näherungslösungen mit . . . . . . . . . . . . . . . . . . . 16
Tabelle 2: Näherungslösungen mit . . . . . . . . . . . . . . . . . . 17
Tabelle 3: Approximierte Lösungen für . . . . . . . . . . . . . . . . 18
Tabelle 4: Approximierte Lösungen für . . . . . . . . . . . . . . . . 19
Tabelle 5: Vergleich der Fehler für . . . . . . . . . . . . . . . . . . . 21
Tabelle 6: Vergleich der – Norm und – Norm für . . . . . . . . 21
Tabelle 7: Vergleich der Fehler für . . . . . . . . . . . . . . . . . . . 21
Tabelle 8: Vergleich der – Norm und – Norm für . . . . . . . . 21
Tabelle 9: Vergleich der – Norm für und
bei variierender Intervalllänge . . . . . . . . . . . . . . . . . . . . 22
Tabelle 10: Vergleich der – Norm für und
bei variierender Intervalllänge . . . . . . . . . . . . . . . . . . . . 22
Tabelle 11: Vergleich der Fehler für . . . . . . . . . . . . . . . . . . . 23
Tabelle 12: Vergleich der – Norm für . . . . . . . . . . . . . . . . . 23
Tabelle 13: Darstellung des absoluten und des relativen Fehlers . . . . . . . . .
(Superpositionsmethode)
41
Tabelle 14: Darstellung des absoluten und des relativen Fehlers . . . . . . . . .
(Mehrfachschießverfahren)
42
1
1 Einleitung
Heutzutage können viele technische und physikalische Prozesse durch gewöhnliche
oder partielle Differentialgleichungen beschrieben werden. Da nur sehr wenige
Differentialgleichungen exakt lösbar sind, ist man in der Praxis auf die näherungsweise
Lösung dieser Gleichungen angewiesen. Ist die Lösung zu einer vorgegebenen
Differentialgleichung gesucht, welche auf dem Rand des Definitionsbereiches
vorgegebene Funktionswerte erfüllen soll, so wird dieses Problem als ein
Randwertproblem bezeichnet. Sie stellt in der Mathematik eine wichtige Klasse von
Problemstellungen dar und beschreibt bei gewöhnlichen Differentialgleichungen
stationäre Systeme wie z.B. die Durchbiegung eines belasteten Balkens. Zur
numerischen Lösung von Randwertproblemen existieren einige Algorithmen. Einer
dieser Methoden ist das Schießverfahren. Die Grundidee des Verfahrens besteht darin,
das Randwertproblem in eine Folge von Anfangswertproblemen zu transformieren, die
anschließend durch den Einsatz von numerischen Integratoren gelöst werden können. Zu Beginn wird auf die Theorie der Randwertprobleme eingegangen. Im Anschluss
folgen dann das klassische Schießverfahren und die Superpositionsmethode für lineare
Randwertprobleme, wobei zusätzlich die Verfahren in Matlab implementiert und mit
ausgewählten Randwertaufgaben ausgetestet werden. Zudem werden die Verfahren auf
Randwertprobleme mit exponentiellem Wachstum angewendet und anschließend
verglichen. Es sei an dieser Stelle angemerkt, dass für die exakten bzw. allgemeinen
Lösungen der Anfangs- und Randwertaufgaben die vordefinierte MATLAB-Funktion
dsolve herangezogen wird. Daraufhin wird auf die Schwierigkeiten des
Einfachschießverfahrens eingegangen und mit ausgewählten Beispielen die Schwäche
des Verfahrens visualisiert. Dies soll als eine Motivation für das
Mehrfachschießverfahren dienen, das als eine Modifikation des
Einfachschießverfahrens angesehen werden kann. Nach der Einführung des
Mehrfachschießverfahrens werden die einzelnen Schritte auf eine Randwertaufgabe
angewendet. Zusätzlich wird die im Verfahren resultierende Matrix, die eine spezielle
Struktur aufweist, in Betracht gezogen und untersucht, wie sie numerisch stabil und mit
möglichst geringem Aufwand gelöst werden kann. Zum Schluss erfolgt dann anhand
eines Randwertproblems ein Vergleich des Einfachschießverfahrens mit dem
Mehrfachschießerfahren.
2
2 Randwertprobleme
2.1 Einführung
Zur Lösung einer Differentialgleichung ist bei Anfangswertproblemen stets ein
Anfangswert vorgegeben. Dies ist erforderlich um eine eindeutige Lösung berechnen zu
können. In der Praxis treten allerdings oftmals auch Systeme von
Differentialgleichungen auf, bei denen die Lösung nicht nur am Anfangspunkt, sondern
auch an anderen (Zeit-)-Punkten gesucht ist, um bestimmte Zustände zu erreichen.
Daher werden Differentialgleichungen häufig durch Randbedingungen ergänzt. Durch
solche Randbedingungen wird im Unterschied zu Anfangswerten das Verhalten der
Lösung an mindestens zwei verschiedenen Punkten des Lösungsintervalls
vorgeschrieben. Ein Blick in die Statik und Dynamik zeigt eine Menge solcher
Probleme, wie z.B. die Durchbiegungen von Schienen und Trägern, Knickprobleme bei
Stäben und Säulen oder die Flugbahnen von Raketen und Raumschiffen.
2.2 Zweipunkt-Randwertprobleme
Es werden hierbei auf Zweipunkt-Randwertprobleme mit allgemeinen
Randbedingungen auf endlichem Intervall beschränkt. Solche
Randwertprobleme (RWP) werden in der folgenden einheitlichen Standardform
expliziter Systeme 1. Ordnung aufgefasst [23]:
=
=
. . . .
. . . .
. . . .
. . . .
= .
Diese Darstellung kann auch in der kürzeren Vektorschreibweise angegeben werden:
= , (2.2.1)
Dabei sind I x und gegebene, im Allgemeinen
vektorwertige Funktionen, welche im Folgenden stets als mindestens zweimal stetig
differenzierbar bzgl. aller ihrer Argumente vorausgesetzt werden. Gesucht ist dann eine
stetig differenzierbare Funktion . Hierbei wird die unabhängige
„Zeitvariable“ stets mit bezeichnet. Bei statischen Problemen kann allerdings auch
eine Ortsvariable darstellen.
3
2.3 Randwertproblem für Differentialgleichungen höherer Ordnung
Ein sehr häufiges Problem zeigt sich in der Praxis dadurch, dass das Problem nicht in
der Standardform (2.2.1) vorgegeben ist. Um die Standardsoftware für
Anfangswertprobleme anwenden zu können, muss eine Überführung der
Differentialgleichungen höherer Ordnung und deren Anfangsbedingungen in Systeme
1. Ordnung vorgenommen werden. Beim Vorliegen von Randbedingungen ist dies
jedoch anders. In [23] wird dieses Problem genauer betrachtet.
Sei hierzu das Randwertproblem
(explizite Gleichung -ter Ordnung)
mit allgemeinen Randbedingungen
gegeben. Durch Substitution folgt
woraus sich das spezielle System 1. Ordnung für T
. . .
. . .
. . .
herleiten lässt. Diese Umformung wird öfters benötigt, da einige vordefinierte
Numerikfunktionen in Matlab nur auf Differentialgleichungen und DGL-Systeme
1. Ordnung anwendbar sind. Es ist zu beachten, dass die Randbedingungen von den
gesamten Lösungswerten am linken Rand , sowie am rechten Rand abhängen.
Entsprechend kann ein System höherer Ordnung einer Differentialgleichung auf die
Standardform (2.2.1) reduziert werden.
Als Beispiel wird die folgende Differentialgleichung zweiter Ordnung herangezogen
. (2.3.1)
Durch Substitution folgt
.
Somit entsteht eine zweidimensionale Gleichung (System 1. Ordnung) der Form
4
. (2.3.2)
Diese zweidimensionale Gleichung beschreibt die Bewegung eines Pendels [8], wobei
den Winkel des Pendels und die Winkelgeschwindigkeit des Pendels darstellt.
Die Konstante gibt die Stärke der Reibung an, der das Pendel unterliegt.
Wird das Problem als ein Anfangswertproblem angesehen, so wird eine Zeit und eine
Anfangsbedingung
vorgegeben. Also wird die Position und die
Geschwindigkeit des Pendels im Zeitpunkt festgelegt und anschließend errechnet,
wie sich das Pendel ausgehend von der vorgegebenen Anfangsbedingung in der
Folgezeit bewegt.
Wird das Problem jedoch als ein Randwertproblem angesehen, so werden zwei
Zeitpunkte vorgegeben, also sowohl ein Anfangs- als auch ein
Endzeitpunkt. Zu diesen beiden Zeitpunkten wird dann eine Bedingung an die Lösung
gestellt. In Bezug auf das Pendelmodell könnten die Winkeln und
vorgegeben
sein, um damit eine Lösung
der Pendelgleichung zu berechnen,
für die
und
gilt. Also stellt das Problem eine Pendelbewegung
dar, die in den Zeitpunkten und die Winkeln und
annimmt. Die
Geschwindigkeitsparameter sind hierbei freie Parameter, die nicht festgelegt sind. Sie
müssen während der numerischen Lösung so bestimmt werden, dass die zugehörige
Lösung die vorgegebenen Bedingungen auch erfüllt.
In (2.2.1) ist noch eine vektorwertige Funktion angegeben. Für das Pendelmodell
könnte zum Beispiel durch
definiert werden.
2.4 Lineare Randwertprobleme
Im Gegensatz zum Anfangswertproblem ist es bei Randwertproblemen nicht mehr
möglich von einem Punkt aus loszurechnen. Auch die Fragen über die Existenz- und
Eindeutigkeit für die Lösung von Randwertproblemen sind schwieriger zu beantworten.
Es müssen wesentlich strengere Voraussetzungen an das Problem gestellt werden, was
im Vergleich zu den Anfangswertaufgaben nicht der Fall war. Dort reichten zum
Nachweis einer Lösung bereits die Stetigkeit und die Beschränktheit der Funktion aus.
Daher kann bei Randwertproblemen nicht auf die Theorie im Detail eingegangen
5
werden [9]. Es wird daher versucht, die verschiedenen Möglichkeiten anhand des
linearen Falls zu erörtern.
Sei hierzu die inhomogene lineare Randwertaufgabe (RWA) gegeben:
(2.4.1a)
, (2.4.1b)
mit den Matrizen einer stetigen Matrixfunktion sowie einer
stetigen Funktion und einem Vektor .
Wird die Pendelgleichung in (2.3.2) durch die lineare Pendelgleichung
ersetzt, so folgt
.
Auch eine lineare Randwertaufgabe ist ohne Zusatzbedingungen nicht unbedingt lösbar
[20]. Das folgende Beispiel zeigt, dass die Existenz und die Eindeutigkeit von Lösungen
allein von den Randbedingungen abhängen können:
Betrachtet wird die folgende Randwertaufgabe 2. Ordnung
. (2.4.2)
Werden die Randbedingungen wie folgt gesetzt
so hat die Randwertaufgabe keine Lösung. Um dies zu verifizieren, wird die allgemeine
Lösung der Randwertaufgabe
betrachtet. Werden die Randpunkte eingesetzt, um die Konstanten und zu
bestimmen, so folgt
.
Also existiert keine Lösung für das Randwertproblem mit den vorgegebenen
Randbedingungen.
Wird dagegen die Randwertaufgabe (2.4.2) mit den folgenden Randbedingungen
betrachtet
so existieren unendlich viele Lösungen.
Es ist klar, dass auch diese Randwertaufgabe die gleiche Grundlösung wie eben hat
.
6
Durch die Randbedingungen ergibt sich, dass ist. Daher erfüllt
jede Funktion der Form
beliebig,
die Randwertaufgabe (2.4.2) mit den vorgegebenen Randbedingungen.
Also kann eine geringfügige Änderung einer Randbedingung dazu führen, dass es keine
bzw. unendlich viele Lösungen für das Problem existieren. Das liegt daran, dass eine
Randwertaufgabe eine Problemstellung im Großen ist, daher ist es nicht möglich wie
bei Anfangswertproblemen lokal zu arbeiten und zu argumentieren [9].
Bevor die wichtige Existenz- und Eindeutigkeitstheorie von linearen
Randwertproblemen aufgegriffen wird, folgt zunächst eine Darstellung für die
allgemeine Lösung der inhomogenen linearen Differentialgleichung. Im folgenden
Abschnitt wird den Darlegungen in [22] gefolgt.
Betrachtet wird hierzu wieder die inhomogene lineare Differentialgleichung
Es wird eine spezielle Lösung der inhomogenen Differentialgleichung
(2.4.1) errechnet sowie ein Fundamentalsystem (d.h. eine Basis von linear
unabhängigen Lösungen), , der zugehörigen homogenen
Differentialgleichung als die eindeutig bestimmten Lösungen der
Anfangswertaufgaben
(2.4.3a)
(2.4.3b)
Hierbei bezeichnen die kanonischen Einheitsvektoren. Mit den eindeutigen Lösungen
und wird die folgende „Fundamentalmatrix“ gebildet
. (2.4.4)
Aus diesen Fundamentallösungen wird die gesuchte Lösung der Randwertaufgabe
linear kombiniert. Gesucht wird demnach ein Koeffizientenvektor so dass
(2.4.5)
die Randwertaufgabe erfüllt.
Dies führt dann zu der folgenden Darstellung der allgemeinen Lösung der inhomogenen
Differentialgleichung (2.4.1)
(2.4.6)
wobei ist. Es ist klar, dass die auf diese Weise konstruierte Lösung die
Differentialgleichung erfüllt. Wegen und
7
ist die Funktion genau dann die Lösung der Randwertaufgabe, wenn
der Vektor das lineare Gleichungssystem
(2.4.7)
löst.
2.5 Existenz und Eindeutigkeit
Mit Hilfe des Fundamentalsystems wird ein Kriterium für die eindeutige Lösbarkeit
einer linearen Randwertaufgabe erhalten [16].
Gegeben sei eine lineare Randwertaufgebe (2.4.1) mit stetigen, auf definierten
Funktionen und bezeichne ein Fundamentalsystem der homogenen Gleichung
Dann sind die folgenden Aussagen äquivalent:
i) Die Randwertaufgabe ist für alle (stetigen) Inhomogenitäten und stets
eindeutig lösbar.
ii) Die zugehörige homogene Randwertaufgabe
hat nur die triviale Lösung
iii) Die Matrix ist regulär.
Für den Beweis wird zunächst die allgemeine Lösung der Differentialgleichung
ermittelt.
Dabei ist eine partikuläre Lösung. Dies in die Randbedingung eingesetzt liefert:
⇔
Somit ist die eindeutige Lösbarkeit der Randwertaufgabe äquivalent zur Regularität der
Matrix T. Dies gilt unabhängig von den speziellen Inhomogenitäten und .
3 Einfachschießverfahren
3.1 Einführung
Für die Lösung von Randwertproblemen existieren zwei grundsätzliche Klassen von
Algorithmen, nämlich Anfangswertmethoden und globale Diskretisierungsmethoden.
Bei Anfangswertmethoden wird das Randwertproblem in eine Folge von
Anfangswertproblemen transformiert, die mit Hilfe von numerischen Integratoren gelöst
werden können. Beispiele solcher Methoden sind das klassische Schießverfahren, die
8
Superpositionsmethode und das Mehrfachschießverfahren, die in dieser Arbeit näher in
Betracht gezogen werden. Diese Verfahren eignen sich für Randwertprobleme, bei
denen die unabhängige Variable die Zeit oder eine zeitähnliche Variable darstellt. Es
existieren auch raumartige Randwertprobleme, bei denen die Variable eine
Raumvariable darstellt und typischerweise auch eine Erweiterung in mehr als eine
Raumdimension erlaubt. Solche Randwertprobleme werden von den globalen
Diskretisierungsmethoden behandelt, zu denen das Differenzenverfahren und die
Kollokationsmethode zählen.
3.2 Das klassische Schießverfahren und die Superpositionsmethode
für lineare Randwertprobleme
Das martialische Artillerie-Problem des Zielens mit einem Geschütz hat dem
Schießverfahren seinen Namen gegeben. Die mathematische Modellierung der
Flugbahn des Geschosses führt auf eine Differentialgleichung 2. Ordnung, die
durch Vorgabe von Randbedingungen zu einem Randwertproblem erweitert wird.
Abbildung 1 Einfachschießverfahren
Die Grundidee des Schießverfahrens basiert auf die Zurückführung des
Randwertproblems auf eine Folge von Anfangswertproblemen, da
Anfangswertaufgaben numerisch einfacher zu handhaben sind [5, 7, 11]. Anschließend
können sie mit den leistungsfähigen Anfangswertlösern von MATLAB bearbeitet
werden. Es werden hierbei lineare Randwertprobleme betrachtet. Sie treten oft in
Anwendungen auf und sind viel einfacher zu lösen als nichtlineare Gleichungen.
Ein Randwertproblem heißt linear, falls sie die folgende Form hat
. (3.2.1)
Zunächst wird hier auf das Konzept der Superposition eingegangen und im Anschluss
folgt dann das klassische Schießverfahren.
9
Zunächst wird der Fall einer skalaren, linearen Differentialgleichung zweiter Ordnung
(3.2.2a)
(3.2.2b)
betrachtet, wobei und stetige Funktionen auf sind und .
Wie bereits erwähnt, ist die Lösung eines linearen Randwertproblems einfacher, da das
Addieren irgendeiner Lösung der inhomogenen Differentialgleichung
(3.2.3)
zu der vollständigen Lösung der homogenen Differentialgleichung
(3.2.4)
alle Lösungen des inhomogenen Problems liefert. Es ist zu beachten, dass das Lösen des
homogenen Problems einfacher ist als das Lösen des inhomogenen Problems. Ist nach
der eindeutigen Lösung des linearen Problems gefragt, genügt es zu zeigen, dass
und stetig sind und positive Werte besitzt [6].
Die Grundidee der Superposition besteht darin, das Randwertproblem (3.2.1) auf zwei
Anfangswertprobleme zu reduzieren [12, 18], nämlich in ein inhomogenes und in ein
homogenes Anfangswertproblem:
(3.2.5a)
. (3.2.5b)
Falls ist, dann ist die eindeutige Lösung gegeben durch
. (3.2.6)
Sei
gesetzt, dann gilt somit .
Zur Approximation der Lösungen und stehen zahlreiche numerische
Verfahren zur Verfügung. Nachdem diese Lösungen bestimmt wurden, wird die Lösung
des Randwertproblems mit der gewichteten Summe (3.2.6) approximiert.
Um die approximierte Lösung des linearen Randwertproblems (3.2.1) zu erhalten,
müssen die Anfangswertprobleme (3.2.5a,b) zunächst auf ein System 1. Ordnung
überführt werden. Dies geschieht folgendermaßen:
Erst werden die Variablen wie folgt definiert:
.
Daraus entsteht das folgende System
10
mit den Anfangswerten
.
Diese Grundidee wird im weiteren Verlauf für die Implementierung der
Superpositionsmethode für lineare Randwertprobleme genutzt.
Um diese Idee an einem Beispiel zu erläutern, betrachte das folgende lineare
Randwertproblem
(3.2.7a)
mit den folgenden Randbedingungen
. (3.2.7b)
Die Vorgehensweise ist es nun, das Randwertproblem in zwei Anfangswertprobleme zu
reduzieren:
mit
mit .
Definiere nun , sodass sich das folgende System bildet
wobei
.
Dieses Beispiel wird später durch das implementierte Programm gelöst. Zusätzlich wird
noch die allgemeine Lösung der gewöhnlichen Differentialgleichung (3.2.7a) notiert,
um sie später mit der approximierten Lösung zu vergleichen
.
Nun folgt die Idee des klassischen Schießverfahrens [21, 22]. Betrachtet wird dazu die
allgemeinere lineare Randwertaufgabe erster Ordnung
11
(3.2.8a)
, (3.2.8b)
mit stetigen Funktionen und , sowie und .
In Kapitel 2.4 wurde bereits eine Richtung aufgezeigt, die bei der numerischen Lösung
des linearen Randwertproblems eingeschlagen werden kann.
Um eine Lösungsfunktion zu finden, wurde eine Linearkombination von
Fundamentallösungen der homogenen Anfangswertaufgabe (2.4.2a), (2.4.2b)
konstruiert. Die Lösung der Randwertaufgabe war gegeben durch
, (3.2.9)
wobei die Fundamentalmatrix darstellt.
Der Vektor ist dann so zu bestimmen, dass neben der Differentialgleichung
(3.2.8a) auch die Randbedingung (3.2.8b) erfüllt. Hierzu war das lineare
Gleichungssystem
(3.2.10)
zu lösen.
Durch dieses Vorgehen kann ein einfaches numerisches Approximationsverfahren
entwickelt werden. Dazu wird auf dem Intervall ein Gitter
mit einer Schrittweitenbedingung
erzeugt, wobei ≥ 1 eine Konstante ist. Auf diesem Gitter werden nun die
Systeme
mit Hilfe eines konvergenten Differenzenverfahrens (Einschrittverfahren, Prädiktor-
Korrektor-Verfahren, Extrapolationsverfahren, etc.) approximiert. Ist das Verfahren von
Ordnung , so gilt im Punkt
(3.2.11)
wobei von den gegebenen Daten abhängt und die
Lipschitzkonstante des Systems darstellt.
Die Lösungen werden nun verwendet, um die diskrete Fundamentalmatrix
im Punkt zu erzeugen, wodurch anschließend das
Gleichungssystem
(3.2.12)
12
gelöst wird. Ist die Matrix regulär, so ist mit der Lösung des Gleichungssystems
mit
(3.2.13)
auch eine eindeutige Lösung der Randwertaufgabe gegeben.
Zur Realisierung des einfachen Schießverfahrens wird also wie folgt vorgegangen:
1. Bestimme auf dem Punktgitter mit einem konvergenten Differenzenverfahren
die Näherungen zu den Lösungen der
Anfangswertaufgaben (2.4.2a), (2.4.2b), wobei die Schrittweite beschreibt.
2. Erzeuge die Matrix
und löse damit (falls regulär ist) das Gleichungssystem
.
3. Erstelle durch die eindeutige Lösung des Gleichungssystems die
gesuchte Lösung
.
Nun wird die folgende Beispielaufgabe betrachtet, die mit dem klassischen
Schießverfahren gelöst wird:
.
Der erste Schritt besteht darin, das Randwertproblem in ein System erster Ordnung zu
transformieren. Wähle dazu :
.
Die Fundamentallösungen sind gegeben durch die Anfangswertaufgaben:
Es soll davon ausgegangen werden, dass das Approximationsverfahren diese
Anfangswertaufgaben in den diskreten Gitterpunkten exakt wiedergibt. Durch eine
einfache Berechnung ergeben sich die folgenden Lösungen:
.
13
Hiermit lässt sich die Matrix zum Zeitpunkt und die Matrix
aufstellen:
.
Somit gilt:
.
Dadurch wird das obige lineare Gleichungssystem gelöst:
⇔
.
Die Lösung ist dann gegeben durch:
.
erfüllt die beiden Randwerte und durch wird auch somit
die Differentialgleichung erfüllt.
3.3 Konvergenz des klassischen Schießverfahrens
Die Darstellung der Konvergenz für des klassischen Schießverfahrens orientiert
sich an [22]. Seien und stetig differenzierbar und die Matrix
sei regulär. Zur Berechnung der werde jeweils ein Verfahren
der Ordnung eingesetzt. Für hinreichend kleines ist die Matrix regulär, und
das Schießverfahren konvergiert mit der Ordnung :
. (3.3.1)
Für den Beweis dieser Aussage wird am Anfang die Fehlerabschätzung (3.2.4) benutzt.
Dies impliziert
,
(3.3.2)
mit einer dimensions-abhängigen Konstante . Für hinreichend kleines ist also
bzw. .
Im Hinblick auf die angenommene Regularität von impliziert dies auch die
Regularität von sowie die Abschätzung
.
14
Über die Beziehung
,
folgt weiter die Abschätzung
.
Mit (3.3.2) folgt damit
.
Damit folgt weiter
+
und hiermit
,
was zu zeigen war.
3.4 Implementierung und numerische Tests
Bei vielen praktischen Aufgaben werden numerische Lösungsmethoden herangezogen,
da exakte Lösungsmethoden nur für Sonderfälle wie z.B. lineare
Differentialgleichungen erfolgreich sind. Für die Lösung praktisch anfallender
Differentialgleichungen bilden numerische Methoden oft die einzige Möglichkeit.
Daher steht deren Entwicklung in der Numerischen Mathematik im Mittelpunkt der
Forschung.
In diesem Kapitel soll das klassische Schießverfahren und die Superpositionsmethode
für lineare Randwertprobleme in Matlab implementiert und mit Beispielaufgaben
ausgetestet werden. Wie schon zuvor erwähnt sind lineare Randwertprobleme einfacher
zu lösen als nichtlineare Randwertprobleme. Der Vorteil zeichnete sich dadurch aus,
dass der rechte Randwert linear von abhängt. Es werden lineare
Randwertprobleme der folgenden Form betrachtet
(3.4.1a)
mit den Randbedingungen
. (3.4.1b)
15
Die Verfahren wurden in Kapitel 3.2 erläutert. Für die Approximation der
Anfangswertaufgaben steht das klassische Runge-Kutta-Verfahren zur Verfügung, das
auch separat in Matlab implementiert wurde. Dieses Verfahren ist ein spezielles
explizites 4-stufiges Runge-Kutta-Verfahren und das meistgebräuchliche
Einschrittverfahren. Benannt wurde es nach Carl Runge (1856-1927) und Martin
Wilhelm Kutta (1867-1927). Sie besitzt die Ordnung 4 und weist gute Ergebnisse vor.
Durch dieses Verfahren lässt sich die Fehlerordnung um ein Vielfaches verbessern.
Daher ist es anzunehmen, dass die Runge-Kutta-Methode eine bessere
Übereinstimmung mit der exakten Lösung zeigt, als z.B. das Euler-Verfahren, das die
Ordnung 1 besitzt.
Nun folgen einige Randwertprobleme, die mit den implementierten Verfahren gelöst
werden. Die approximierte Lösung wird zusätzlich mit der exakten Lösung verglichen,
um anschließend zu zeigen, dass durch die Wahl kleinerer Schrittweiten auch der Fehler
kleiner wird. Neben der Implementierung der Verfahren soll somit auch die Frage
geklärt werden, wie sich die Schrittweite bei der Durchführung der Verfahren
auswirkt.
Betrachtet wird zunächst das folgende lineare Randwertproblem [6]
mit den Randbedingungen
.
Das Problem wird mit der Implementierung des klassischen Schießverfahrens gelöst.
Die exakte Lösung lautet:
wobei
und
.
Die Approximationen der Anfangswertaufgaben erfolgen mit dem klassischen Runge-
Kutta-Verfahren, dabei wird gesetzt und dadurch die Schrittweite
verwendet. Die folgende Tabelle enthält die Berechnungen der approximierten und
exakten Lösungen. Zusätzlich ist in der letzten Spalte die Abweichung zwischen den
approximierten und den exakten Werten dargestellt:
16
e
Tabelle 1 Näherungslösungen mit
Dabei wurde das folgende Gleichungssystem gelöst
.
Anschließend wurde mit dem Lösungsvektor
die
approximierte Lösung von konstruiert.
Abbildung 2 Numerische Lösung der RWA und Darstellung des Fehlers
Wird dagegen die Schrittweite gewählt, also gesetzt, so resultieren
die folgenden Berechnungen:
e
17
Tabelle 2 Näherungslösungen mit
Dabei wurde wieder das folgende Gleichungssystem gelöst
,
wobei
ist.
Bei der Wahl einer kleineren Schrittweite wird deutlich, dass sich der Fehler, d.h. die
Abweichung zwischen den exakten Werten und den approximierten Werten verringert.
Dieses Resultat geht auf den im Kapitel 3.2 angedeuteten Diskretisierungsfehler
zurück. Im Folgenden wird der Vergleich der Fehler für die Schrittweiten und
grafisch dargestellt:
Abbildung 3 Vergleich der Fehler für und
18
Nun wird das lineare Randwertproblem (3.2.7a,b) aus Kapitel 3.2
mit den folgenden Randbedingungen
aufgegriffen. Auch hier wird für die Lösung die klassische Runge-Kutta-Methode mit
der Schrittweite eingesetzt. Es folgen die Ergebnisse wieder zusätzlich mit der
Abweichung zwischen den exakten und den approximierten Werten:
Tabelle 3 Approximierte Lösungen für
Für die approximierte Lösung gilt somit
wobei für
gilt.
Abbildung 4 Numerische Lösung der RWA und Darstellung des Fehlers
Im Folgenden werden die Ergebnisse für die Schrittweite betrachtet, um
anschließend wieder über den Vergleich des Fehlers zu berichten:
19
Tabelle 4 Approximierte Lösungen für
Auch in diesem Beispiel ist erkennbar, dass der Fehler durch die Verkleinerung der
Schrittweite verringert wird. Die folgende Abbildung zeigt grafisch wieder den
Vergleich der Fehler für die Schrittweiten und :
Abbildung 5 Visualisierung der Fehler für und
20
3.5 Vergleich des klassischen Schießverfahrens mit der
Superpositionsmethode
Zum Schluss dieses Kapitels werden nochmals einige Randwertprobleme mit
exponentiellem Wachstum in Betracht gezogen und mit den beiden vorgestellten
Verfahren gelöst. Bei der Lösung der Probleme in Matlab werden aufgrund der
Zahldarstellung mit Rundungsfehlern gearbeitet. Auf der einen Seite muss beim
klassischen Schießverfahren ein lineares Gleichungssystem gelöst werden, um den
Parameter zu erhalten. Bei der Anwendung der Superpositionsmethode hingegen
müssen zwei Anfangswertprobleme gelöst werden, um den Parameter zu bestimmen,
dessen Wert unter Umständen von dem beim klassischen Schießverfahren abweicht. Es
soll untersucht werden, welches der Verfahren bessere Ergebnisse liefert, also näher an
der exakten Lösung liegt.
Dazu wird zuerst das folgende Randwertproblem betrachtet
(3.5.1a)
. (3.5.1b)
Es ist leicht zu zeigen, dass die Fundamentalmatrix und die partikuläre Lösung
folgende Form haben
.
Somit folgt das lineare Gleichungssystem
wobei
ist. Die exakte Lösung der Randwertaufgabe lautet somit
.
Nun wird das Randwertproblem mit den beiden Verfahren gelöst, wobei und
gesetzt wird. Für die Lösung der Anfangswertaufgaben wird das Runge-Kutta-
Verfahren (4.Ordnung) verwendet.
Folgende Tabellen enthalten die Ergebnisse für die Schrittweiten und
wobei den Fehler, also die Abweichung zwischen den approximierten und den
exakten Werten darstellt, die – Norm und die – Norm
kennzeichnen:
21
h=0.5
klassisches Schießverfahren Superpositionsprinzip
Tabelle 5 Vergleich der Fehler für
h=0.5
klassisches Schießverfahren
Superpositionsprinzip
Tabelle 6 Vergleich der – Norm und – Norm für
h=0.1
klassisches Schießverfahren Superpositionsprinzip
1.0e-03 * 1.0e-03 *
Tabelle 7 Vergleich der Fehler für
h=0.1
klassisches Schießverfahren e-04 e-04
Superpositionsprinzip e-04 e-04
Tabelle 8 Vergleich der – Norm und – Norm für
Ein Vergleich der beiden Methoden zeigt, dass bei Problemen mit exponentiellem
Wachstum unterschiedliche Fehlerwerte rauskommen. Durch die euklidische Norm
wird festgestellt, dass das klassische Schießverfahren einen kleineren Fehler aufweist,
als die Superpositionsmethode. Bei der Lösung der Randwertaufgabe wurde für den
rechten Intervallpunkt gewählt, so dass das Lösungsintervall recht klein ist. Nun
22
stellt es sich die Frage, wie sich die beiden Verfahren bei einer Vergrößerung des
Lösungsintervalls verhalten. Die Ergebnisse wurden für verschiedene Intervallgrößen
und Schrittweiten in den folgenden Tabellen dargestellt, wobei als Vergleich diesmal
nur die – Norm gewählt wurde:
h=0.5 h=0.1
b=1 e-00
b=1 e-04 kl.S.
e-00 e-04 Sup.
b=2 e-00
b=2 e-00 kl.S.
e-00 e-00 Sup.
b=3 e+03
b=3 e-00 kl.S.
e+03 e-00 Sup.
b=4 e+05
b=4 . e-00 kl.S.
e+05 . e-00 Sup.
b=5 e+08
b=5 e+05 kl.S.
e+08 e+03 Sup.
Tabelle 9 Vergleich der – Norm für und bei
variierender Intervalllänge
h=0.05 h=0.01
b=1 e-05
b=1 e-07 kl.S.
e-05 e-07 Sup.
b=2 e-04
b=2 e-07 kl.S.
e-04 e-07 Sup.
b=3 . e-04
b=3 e-00 kl.S.
. e-04 e-04 Sup.
b=4 . e-00
b=4 . e-00 kl.S.
. e-00 . e-00 Sup.
b=5 e+05
b=5 e+06 kl.S.
e+03 e+04 Sup.
Tabelle 10 Vergleich der – Norm für und bei
variierender Intervalllänge
Die Ergebnisse zeigen, dass die Superpositionsmethode bei der Vergrößerung des
Lösungsintervalls deutlich bessere Resultate liefert, als das klassische Schießverfahren.
Somit ist festzustellen, dass das klassische Schießverfahren auf eine
Intervallvergrößerung empfindlicher reagiert als die Superpositionsmethode.
23
Als letztes wird das folgende Randwertproblem betrachtet
(3.5.2a)
. (3.5.2b)
Der Verstärkungsfaktor liegt hier bei , so dass im Vergleich zum ersten Problem ein
größeres exponentielles Wachstum vorliegt. Es soll nun untersucht werden, wie sich die
beiden Verfahren bei einem größeren exponentiellen Wachstum verhalten, wobei das
Lösungsintervall mit recht klein ist.
h=0.1
klassisches Schießverfahren Superpositionsprinzip
Tabelle 11 Vergleich der Fehler für
h=0.1
klassisches Schießverfahren . .
Superpositionsprinzip . .
Tabelle 12 Vergleich der – Norm für
Es ist zu erkennen, dass die Superpositionsmethode einen deutlich kleineren Fehler
aufweist als das klassische Schießverfahren und somit die bessere Methode ist.
Durch die Gegenüberstellung der beiden Methoden konnte festgestellt werden, dass
durch das Superpositionsprinzip im Vergleich zum klassischen Schießverfahren bessere
Ergebnisse erzielt werden können. Das erste Beispiel zeigt, dass das klassische
Schießverfahren zwar auf einem kleineren Lösungsintervall näher an der exakten
Lösung liegt, jedoch durch eine Vergrößerung des Intervalls einen größeren Fehler
aufweist, als die Superpositionsmethode. Das zweite Randwertproblem verdeutlicht,
24
dass bei Problemen mit starkem exponentiellem Wachstum die Superpositionsmethode
auch bei kleinerem Lösungsintervall bessere Ergebnisse liefert. Ein weiterer Vorteil des
Superpositionsprinzips ist es, das bei diesem Verfahren nur zwei Anfangswertaufgaben
gelöst werden müssen, wo hingegen beim klassischen Schießverfahren drei
Anfangswertaufgaben zu lösen sind. Allerdings zeichnet sich der Nachteil der
Superpositionsmethode dadurch aus, dass sie nur auf Differentialgleichungen 2.
Ordnung anwendbar ist, das klassische Schießverfahren jedoch bei
Differentialgleichungen beliebiger Ordnung eingesetzt werden kann.
3.6 Problematik
Die Methode des einfachen Schießverfahrens funktioniert theoretisch gut, besitzt aber in
der praktischen Anwendung bei bestimmten Fällen von Randwertaufgaben eine
katastrophale Schwäche, so dass es die numerische Bestimmung der Lösung unmöglich
macht. Diese Schwierigkeiten treten dann auf, wenn die Lösung (3.2.9) am
rechten Intervallpunkt bei etwas instabileren Problemen sehr empfindlich gegenüber
Störungen im Anfangswert ist oder das Lösungsintervall recht groß ist. Zur
Kompensation müsste die Berechnung von sehr genau erfolgen, was im Allgemeinen
nicht sinnvoll realisierbar ist.
Die Situation soll zuerst anhand des linearen Randwertproblems [21]
(3.6.1)
dargelegt werden. Mit Hilfe der Substitution wird das
Randwertproblem (3.6.1) in die 1. Ordnung überführt
.
Mittels einfacher Rechnung ergeben sich die die Eigenwerte und und die
entsprechenden Eigenvektoren
bzw.
.
Damit gilt für die allgemeine Lösung der obigen Differentialgleichung
Zur Lösung der Randwertaufgabe muss nun der Startvektor bestimmt
werden. Aus der Bedingung
⇔
25
werden die Werte und errechnet
und
und somit gilt die Lösung
(3.6.2)
Durch die zweite Randbedingung
wird der Wert von bestimmt
.
Somit lautet die (eindeutige) Lösung der Randwertaufgabe
.
Da die Lösung in (3.6.2) linear von abhängt, kann es durch eine Änderung von um
näher betrachtet werden:
.
Wie bereits zuvor angedeutet führt bei instabileren Randwertproblemen eine kleine
Änderung des Parameters auf eine verstärkte Änderung des Funktionswerts am
rechten Intervallrand. In diesem Beispiel würde eine Änderung des Anfangswerts bei
eine um den Faktor verstärkte Änderung des Funktionswerts bei
nach sich ziehen. Wird mit zwölf wesentlichen Dezimalstellen gerechnet und
nahe um die kleinstmöglichen Werte variiert, so beträgt die
veränderte Lösung . Dies bedeutet, dass die Randbedingung
im extremsten Fall nur mit einer Abweichung von erfüllt werden
kann. Es lässt sich schließen, dass selbst wenn das Randwertproblem eine eindeutige
Lösung besitzt, kann das Einfachschießverfahren völlig versagen.
Zusammenfassend kann gesagt werden, dass Lösungen zu verschiedenen
Anfangswerten ein und derselben Differentialgleichung exponentiell schnell
auseinander laufen können. Die Lösung kann also sehr sensitiv vom Anfangswert
abhängen. Dies ist in der Praxis ein nicht zu unterschätzender Nachteil.
Es wird ein weiteres lineares Randwertproblem aufgegriffen, um nochmals auf die
Schwierigkeiten des einfachen Schießverfahrens einzugehen und dabei den
Verstärkungsfaktor näher zu betrachten. Das Problem wird nach der Einführung
des Mehrfachschießverfahrens wieder aufgegriffen, um somit die Durchführung dieser
modifizierten Methode anhand des Problems zu zeigen.
26
Sei das folgende lineare Randwertproblem [10]
(3.6.3a)
(3.6.3b)
gegeben. Die exakte Lösung des Problems lautet
. (3.6.4)
Wird nur die gewöhnliche Differentialgleichung in (3.6.3a) in Betracht gezogen, so gilt
die allgemeine Lösung
. (3.6.5)
Für die Lösung von (3.6.3a,b) wird das Randwertproblem wie folgt wieder in zwei
Anfangswertprobleme aufgeteilt
(3.6.6a)
. (3.6.6b)
Es folgen nun die exakten Lösungen von (3.6.6a) und (3.6.6b)
. (3.6.7)
Für den Parameter gilt somit
. (3.6.8)
Also folgt nun
. (3.6.9)
Beachte, dass die geschweiften Klammern sehr große Ausdrücke beinhalten können.
Für würde beispielsweise der Wert für den zweiten Ausdruck wie folgt
aussehen
. (3.6.10)
Betrachtet wird nun der Rundungsfehler in Matlab. Daraus folgt:
Für zwei beliebige Zahlen und mit fasst Matlab dies mit
auf.
Falls ein zu „großer“ Wert ist, so dass
ist, rechnet Matlab mit einem
Fehler, der die Ordnung 1 oder sogar noch größer besitzt.
Die zweite Aussage in Bezug auf (3.6.10) bedeutet, dass die erste geschweifte Klammer
in (3.6.9) für in Matlab mit einem Fehler errechnet wird, der also von der
Ordnung 1 oder größer ist. Daher ist es anzunehmen, dass dieser Ausdruck von der
27
exakten Lösung stark abweicht. Genau dies erklärt auch die Entstehung des
„Ausbruchs“ in der folgenden Abbildung, der in der Nähe von zu sehen ist. Die
Abbildung stellt für die exakte Lösung zusammen mit der numerischen Lösung
grafisch dar, wobei hier die Superpositionsmethode angewendet wurde.
Abbildung 6 Darstellung der exakten und der numerischen Lösung für
Die Ursache des extremen Ausbruchs in der Nähe von könnte damit
zusammenhängen, dass die absoluten Fehler der numerischen Lösungen und
proportional zu sind, so dass erhebliche Fehler für und nicht ganz
aufgehoben werden. Eine andere mögliche Erklärung ist, dass Matlab den Parameter
mit einem Rundungsfehler auswertet, so dass ist, und
anschließend die Lösung wie folgt errechnet
.
Auch hier wird der letzte Ausdruck mit einem Fehler errechnet, der die Ordnung 1 oder
größer hat.
28
4. Merfachschießverfahren
4.1 Einführung
Die Schwierigkeiten bei der Durchführung des einfachen Schießverfahrens wurden im
Kapitel 3.6 erläutert. Es folgte die folgende Fehlerentwicklung
.
Die Probleme hängen mit dem starken Wachstum des Fehlereinflusses über größere
Intervalle zusammen. Der Verstärkungsfaktor kann dazu führen, dass das
Schießverfahren aufgrund zu großer Sensitivität versagt. Es kann also passieren, dass
vom gewünschten Randwert abweicht, obwohl bis auf Maschinengenauigkeit
exakt bestimmt ist. Dieses Instabilitätsproblem kann überwunden werden, indem der
Faktor verkleinert wird. Da vorgegeben ist, muss also das Intervall
verkleinert werden. Dies führt auf die Idee des Mehrfachschießverfahrens, dass im Jahre
1962 von D.D. Morrison, J.D. Riley und J.F. Zancanaro hergeleitet wurde [15]. Diese
Methode kann als eine Modifikation des Einfachschießverfahrens angesehen werden,
welche die numerische Integration über große Bereiche vermeidet. Sie erwies sich
insbesondere bei der numerischen Lösung einer langen Reihe hochkomplexer Probleme
der optimalen Steuerungen in Naturwissenschaft und Technik als extrem erfolgreich.
4.2 Das lineare Mehrfachschießverfahren
Die Grundidee des Mehrfachschießverfahrens besteht in der Unterteilung des
Integrationsintervalls in Teilintervalle mittels
. (4.2.1)
Anschließend wird das Einfachschießverfahren auf jedes der Teilintervalle
angewendet und die dabei gewonnenen Teilstücke der Lösung zu einer globalen Lösung
zusammengesetzt.
Abbildung 7 Mehrfachschießverfahren
29
Die folgenden Darstellungen orientieren sich an [1, 22]. Das Intervall wird so unterteilt,
dass die zugehörigen Wachstumsfaktoren moderat bleiben. Dadurch kann
der Einfluss der Instabilität bei der Durchführung des Schießverfahrens beschränkt
werden. Betrachte dazu wieder das lineare Randwertproblem aus (2.4.1a,b)
(4.2.2a)
. (4.2.2b)
Auf jedem Teilintervall kann die allgemeine Lösung von (4.2.2a)
durch
(4.2.3)
dargestellt werden, wobei die Fundamentallösung, der Parametervektor
und die partikuläre Lösung ist, die wie folgt festgelegt sind:
(4.2.4a)
(4.2.4b)
(4.2.5a)
. (4.2.5b)
Das Problem ist nun nicht einen Vektor , sondern Vektoren so zu
finden, dass die zusammengesetzte Funktion
(4.2.6)
stetig auf dem ganzen Intervall wird und die Randbedingung
(4.2.7)
erfüllt. In Bezug auf (4.2.3) sehen die Stetigkeitsbedingungen
wie
folgt aus
.
Durch Umordnen und Substitution der Anfangswerte folgt nun
.
Zusammen mit den Randbedingungen
folgt das lineare Gleichungssystem
(4.2.8a)
und somit gilt
. (4.2.8.b)
30
Hierbei ist die Lösung an der Stelle gegeben durch
.
Folglich wird nach der Berechnung von aus (4.2.8a) als Lösung der R
Anfangswertprobleme konstruiert.
Nun wird das lineare Randwertproblem (3.6.3) wieder in Betracht gezogen und die
einzelnen Schritte des Mehrfachschießverfahrens darauf angewendet, um somit die
Durchführung dieses Verfahrens besser zu verstehen.
Anhand der Abbildung 6 war zu erkennen, dass die numerische Lösung anfänglich
ziemlich exakt verlief, jedoch in der Nähe von stark von der exakten Lösung
abgewichen ist. Die Ursache dieser starken Abweichung beruhte auf dem Faktor ,
der durch Multiplikation mit kleineren Fehlern die exakte Lösung überholte. Durch die
Aufteilung des Intervalls in zwei adjungierte Teilintervalle, und
, und Durchführung des einfachen Schießverfahrens auf jedes dieser
Teilintervalle wird der entsprechende exponentielle Faktor, , in Matlab
„gut“ gelöst, da
.
Es folgt nun die Vorgehensweise der Anwendung des Mehrfachschießverfahrens auf
das Randwertproblem (3.6.3) [10]. Wie zuvor erwähnt wird das Intervall in zwei
Teilintervalle aufgeteilt. Eine Aufteilung in mehrere Teilintervalle erfolgt analog.
Betrachte die folgenden Anfangswertprobleme auf den jeweiligen Teilintervallen:
Auf
:
(4.2.9)
Auf
:
(4.2.10)
Beachte, dass der Anfangswert für im Punkt als gekennzeichnet ist,
obwohl im Beispiel gegeben ist. Die Absicht dahinter ist zu verdeutlichen, dass
31
die gegebene Anfangsbedingung immer für am linken Endpunkt des
ursprünglichen Intervalls zugewiesen wird. Die Anfangsbedingungen im zweiten
Teilintervall bzw. im -ten Teilintervall ( ) für werden immer auf null gesetzt.
Daher ist in (4.2.10) die Anfangsbedingung für in einem Kästchen hervorgehoben.
Anschließend folgt mit den Lösungen der Anfangswertprobleme (4.2.9) und (4.2.10):
, (4.2.11)
wobei und berechnet werden müssen und zusätzlich die folgenden drei
Anforderungen erfüllen müssen:
(4.2.12)
und
. (4.2.13)
Die beiden Anforderungen in (4.2.12) implizieren, dass die Lösung und ihre
entsprechende Ableitung in stetig sein müssen. Die letzte Anforderung (4.2.13)
besagt, dass die Lösung die Randbedingung in erfüllen muss.
(4.2.12) und (4.2.13) ergeben:
.
(4.2.14)
In den ersten beiden Gleichungen wurden jeweils am Ende die Randbedingungen von
(4.2.10) eingesetzt. Insgesamt wird anhand der drei Gleichungen in (4.2.14) ein lineares
System für und erzeugt. Durch das Bestimmen dieser Unbekannten und
das Einsetzen in (4.2.11) kann somit die Lösung des Randwertproblems (3.6.3) ermittelt
werden.
Es ist zu beachten, dass das Mehrfachschießverfahren in obiger Form nur für lineare
Randwertprobleme angewendet werden darf, da sie auf die Methode in Kapitel 3.2
zurückgreift, so dass für die Lösung
gilt.
32
4.3 Numerische Lösung bestimmter Gleichungssysteme
Bei der Darstellung des Mehrfachschießverfahrens in Kapitel 4.2 wurde nicht auf die
Lösung des linearen Gleichungssystems (4.2.8a,b) eingegangen. In diesem Unterkapitel
soll somit die Frage diskutiert werden, wie das lineare Gleichungssystem mit möglichst
geringem Aufwand gelöst werden kann. Für die Lösung der Matrix in (3.2.14),
die beim klassischen Schießverfahren entsteht, würde die Gauß-Elimination ausreichen.
Jedoch ist beim Mehrfachschießverfahren zu erkennen, dass das zu lösende lineare
Gleichungssystem eine schwachbesetzte Form aufweist und darüber hinaus eine
spezielle Block-Struktur besitzt. Denn nur aus Elementen sind
möglicherweise von Null verschieden. Also wäre für die dünnbesetzte Matrix ein
spezielles Verfahren von Vorteil, die die effiziente Speicherung und Auflösung der
Matrix sicherstellt. Folgende Darstellungen orientieren sich an [1, 2].
Es wird nochmals die Matrix aus (4.2.8a,b) aufgegriffen
, (4.3.1)
wobei Matrizen darstellen. Da das Gaußsche Eliminationsverfahren für
vollbesetzte Matrizen geeignet ist, ist dessen Anwendung auf die Matrix sehr
ungünstig, vor allem wenn erheblich groß ist. Wird fixiert und die Größe der Matrix
als eine Funktion von angesehen, so ist die Anzahl aller Elemente, die ungleich Null
sind, gleich , wobei die gesamte Anzahl aller Einträge in ist. Wird die
Matrix genauer betrachtet, so fällt auf, dass mit Ausnahme der unteren linken Ecke
einer Bandmatrix entspricht. Die folgende Abbildung stellt diese Matrix für den Fall
und dar, wobei einen von Null verschiedenen Eintrag bezeichnet:
. (4.3.2)
Die Randbedingungen der Form (4.2.2b) heißen nicht-separiert, da sie Informationen
über beide Endpunkte beinhalten. In den Anwendungen tauchen jedoch meist
33
Randwertprobleme mit separierten Randbedingungen auf, sodass für die
Randbedingungen folgendes gilt
.
Daher wird die Randbedingung am linken Endpunkt zuerst aufgefasst und folglich
werden und neu angeordnet. Für und einer Randbedingung an jedem Ende
ergibt sich somit die Struktur einer Bandmatrix
. (4.3.3)
Bisher wurden Randwertprobleme mit nicht-separierten Randbedingungen betrachtet.
Nun aber stellt es sich heraus, dass Randwertprobleme mit separierten
Randbedingungen einen Vorteil mit sich bringen. Denn das zu lösende lineare
Gleichungssystem weist dadurch eine Bandstruktur auf und ist daher auch einfacher zu
lösen. Daher werden zuerst lineare Gleichungssysteme untersucht, die aus separierten
Randbedingungen entstehen und im Anschluss wird dann auf die Matrizen der Form
(4.3.1) eingegangen.
Wie zuvor erwähnt ergibt sich bei der Durchführung des Mehrfachschießverfahrens eine
allgemeine Bandmatrix, falls ein Randwertproblem von der Ordnung mit separierten
Randbedingungen zu lösen ist. Angenommen steht für die Anzahl der Zeilen von
und für die Anzahl der Zeilen von , dann sieht die resultierende Matrix wie
folgt aus
, (4.3.4)
wobei und (und rang rang ).
Für die Lösung der Matrix werden zwei Verfahren in Betracht gezogen, nämlich das
Gaußsche Eliminationsverfahren mit partieller Pivotisierung und die Lösung durch
Zeilen- und Spalteneliminationen.
Bei dem Gaußschen Eliminationsverfahren mit partieller Pivotisierung wird die Matrix
34
in (4.3.4) als eine Folge von überlappenden Blöcken betrachtet, in der die ersten
Blöcke von der Größe sind und der letzte Block eine Größe von
hat. In der folgenden Abbildung ist die Matrix aus (4.3.3) mit den
überlappenden Blöcken zu sehen:
(4.3.5)
Für jeden Block werden nun die Schritte des Gauß-Algorithmus mit partieller
Zeilenpivotisierung angewendet. Die letzten Zeilen des -ten Blocks werden dann an
die oberste Stelle von angehängt, um somit den nächsten Block zu bilden.
Anschließend wird der Eliminationsprozess wiederholt. Für den letzten Block werden
Eliminationsschritte benötigt, um die Zerlegung abzuschließen.
Folglich ergibt sich für die Matrix die folgende Struktur, wobei die Einträge
bezeichnet, die aufgrund von „fill-in“, d.h. Entstehung zusätzlicher Nichtnullelemente
während der Elimination, entstanden sind und kennzeichnen die Elemente, die auf
null gebracht wurden:
. (4.3.6)
Dieses Verfahren zeigt exakt dieselben numerischen Ergebnisse wie das Verfahren, das
die Matrix wie eine Bandmatrix behandelt, wobei hier in Bezug auf die Speicherung
der Matrix besser abgeschnitten wird. Die Höhe des Speicherbedarfs beläuft sich hier
auf .
Nun wird das zweite Verfahren betrachtet, in dem die Lösung durch Zeilen- und
Spalteneliminationen ermittelt wird.
Bei der Durchführung der Gaußschen Zeilenelimination wird eine LU-Zerlegung
(4.3.7)
35
gebildet, wobei eine untere Dreiecksmatrix und eine obere Dreiecksmatrix darstellt.
Mit der Zeilenpivotisierung erhält die Zerlegung die folgende Form
(4.3.8)
mit einer Permutationsmatrix . Anstelle der Zeilenpivotisierung kann auch die
Spaltenpivotisierung verwendet werden, um eine LU-Zerlegung der folgenden Form zu
erhalten
, (4.3.9)
wobei eine weitere Permutationsmatrix darstellt.
Während die Zeilenpivotisierung einer Links-Multiplikation der Matrix entspricht, ist
die Spaltenpivotisierung einer Rechts-Multiplikation gleichzusetzen. Dies führt zu dem
folgenden Verfahren, in dem Zeileneliminationen gemeinsam mit Spalteneliminationen
durchgeführt werden, um somit das „fill-in“ innerhalb der Matrix zu vermeiden.
Gestartet wird mit Spalteneliminationen, wodurch in eine untere Dreiecksmatrix
überführt wird. Da eine weitere nachfolgende Spaltenpivotisierung ein „fill-in“
verursachen würde, erfolgt eine Zeilenpivotisierung mit Schritten. Anschließend
wird wieder eine Spaltenpivotisierung mit Schritten durchgeführt, und so weiter.
Dieses Vorgehen wird in der folgenden Abbildung dargestellt, wobei das Symbol
wieder auf ein Element hinweist, das auf null gebracht wurde,
. (4.3.10)
Es wird darauf hingewiesen, dass die Zeilenpivotisierung von A die rechte Seite in
(4.2.8a) manipuliert, wo hingegen die Spaltenpivotisierung die Unbekannten ermittelt.
In Bezug auf die Matrix (4.3.10) können somit nacheinander die erste, dritte, fünfte und
siebte Unbekannte aus den entsprechenden Zeilen ermittelt werden und anschließend
auch dadurch die achte, sechste, vierte und zweite Unbekannte herausgefunden werden.
Somit wurden alle Unbekannten des Gleichungssystems ermittelt.
Das Verfahren wird nochmals aus der Sicht der Matrixtransformation betrachtet.
Jede Anwendung von Spalteneliminationen entspricht der folgenden Transformation
,
wobei eine Permutationsmatrix und eine obere Dreiecksmatrix darstellt,
36
, wo hingegen Zeileneliminationen die Transformation in (4.3.8)
ergeben
.
Somit kann das gesamte Verfahren als eine Zerlegung von der folgenden Form
angesehen werden
, (4.3.11a)
mit den Permutationsmatrizen und , der unteren und oberen Dreiecksmatrix und
(4.3.11b)
, (4.3.11c)
wobei jedes und die gleiche Struktur der Nicht-Null Elemente aufweist wie
und . Die resultiere Matrix hat die Form wie in (4.3.10).
Um das Gleichungssystem in (4.2.8a) mit den Zerlegungen (4.3.11) zu lösen, müssen
also die folgenden Systeme errechnet werden
(4.3.12a)
(4.3.11b)
(4.3.11c)
. (4.3.11d)
Da eine untere Dreiecksmatrix und eine obere Dreiecksmatrix kennzeichnen,
können (4.3.12a) und (4.3.12c) durch Vorwärts- und Rückwertseinsetzen gelöst werden.
Die Lösung von (4.3.12b) ist weniger konventioneller, aber immer noch einfacher.
Die Matrix wird in einer Blocktridiagonalmatrix dargestellt
,
wobei und es gilt
mit
usw. Da die Matrix die Form wie in (4.3.4) hat, gilt
die gleiche Aufteilung für und und die Matrix erfüllt
,
während eine untere Dreiecksmatrix und
eine obere Dreiecksmatrix darstellt.
Folglich kann durch Vorwärtsrekursion
37
und durch Rückwärtsrekursion
ermittelt werden. Hierbei stellen sich wichtige Beobachtungen heraus. In dem die
Information über die Zerlegung (4.3.11) anstelle der Nulleinträge der Matrix
gespeichert wird, benötigt das Verfahren keinen zusätzlichen Speicher. In jedem
Eliminationsschritt wird eine vollständige partielle Pivotisierung ausgeführt, d.h. das
größte Element der jeweiligen Spalte bzw. Zeile wird als Pivotelement gewählt. Daher
ist es zu erwarten, dass dieses Verfahren eine ähnliche Stabilität wie beim ersten
Verfahren aufweist und mindestens so schnell die Lösung ermittelt.
Im Falle nicht-separierter Randbedingungen kann die Matrix (4.3.1) nicht auf eine
Bandstruktur transformiert werden. Es stellt sich heraus, dass diese Tatsache sowie in
der Theorie als auch in der Praxis mit viel tieferen Schwierigkeiten verbunden ist.
Eine Möglichkeit die Struktur in (4.3.1) zu umgehen ist die Transformierung des
Problems in ein Randwertproblem mit separierten Randbedingungen. Auf die Theorie
dieser Transformation sei auf [1] verwiesen. Der Vorteil dieser Transformierung ist
sicherlich die Erhaltung einer Struktur wie in (4.3.4). Da dies jedoch im Vergleich zum
ursprünglichen Randwertproblem ein sehr großes System erzeugt, geht dessen Wirkung
nicht auf eine Verringerung des fill-in ein.
Nun wird auf die Lösung der Matrizen von der Form (4.3.1) eingegangen. Dabei wird
den Darlegungen aus [9] gefolgt. Wird nur mit den Nicht-Null Elementen der Matrix
gearbeitet, so wird zur Lösung des linearen Gleichungssystems (4.2.8a) der geringste
numerische Aufwand erfordert. Also werden die Gleichungen, beginnend mit der ersten,
sukzessiv nach den einzelnen Komponenten aufgelöst. Diese Strategie wird als
Kompaktifikation bezeichnet [4]. Um diese Lösungsstrategie zu verdeutlichen, werden
die Gleichungen des Systems (4.2.8b) explizit aufgeschrieben:
1. Gleichung:
2. Gleichung:
( -te Gleichung:
-te Gleichung: .
Zu Beginn wird die erste Gleichung nach aufgelöst und somit folgt
. (4.3.12)
38
Im nächsten Schritt wird nun in die zweite Gleichung eingesetzt und nach
aufgelöst:
. (4.3.13)
Wird dieser Vorgang analog fortgesetzt, so ergibt sich für die Folgende
Zum Schluss wird in die -te Gleichung eingesetzt. Somit folgt nun
Durch die Zusammenfassung der rechten Seite ergibt sich schließlich das folgende
-dimensionale lineare Gleichungssystem für
Es fällt auf, dass die Systemmatrix in (4.3.15) nicht mehr schwach besetzt ist. Für die
Lösung bietet sich die LU-Faktorisierung an, die einen Aufwand von FLOPS
aufweist. Ist durch eine numerische Approximation bekannt, so kann der Vektor
in (4.3.12) mit einem Aufwand von bestimmt werden. Durch Einsetzen
von in die zweite Gleichung des ursprünglichen Systems kann somit auch der Vektor
mit einem Aufwand von FLOPS bestimmt werden. Dementsprechend
werden somit auch die weiteren unbekannten Vektoren , gelöst. Der
Gesamtaufwand dieser Kompaktifikation liegt somit bei FLOPS.
Nun wird das reduzierte Gleichungssystem in (4.3.15) genauer betrachtet. Durch
wichtige Eigenschaften der Fundamentalmatrizen kann die zugehörige Systemmatrix
bei vorausgesetzter exakter Arithmetik wie folgt umgeformt werden
. (4.3.16)
Somit ist die Systemmatrix in (4.3.15) mit der Systemmatrix (3.2.12) des einfachen
Schießverfahrens gleichzusetzen.
Die Matrix kann auch bei stabilen Randwertproblemen schlecht konditioniert sein.
Besonders extrem ist es bei exponentiell anwachsenden Zuständen. In all diesen Fällen
stellt das Gleichungssystem (4.3.15) zur Bestimmung von ein schlecht
konditioniertes Problem dar, obwohl eigentlich gut konditioniert ist. Das Ziel war
eigentlich durch das Mehrfachschießverfahren diesem Problem auszuweichen. Folglich
kann bei dieser Strategie eine stark fehlerbehaftete Approximation für nicht
39
vermieden werden. Anschließend fließen diese Fehler in die Rekursion zur Bestimmung
von mit ein und werden dort nochmals verstärkt. Es lässt sich nun schließen,
dass die Methode der Kompaktifikation zur Lösung des linearen Systems (4.2.8a) aus
ökonomischer Sicht zwar sehr überlegen ist, jedoch die Vorteile des
Mehrfachschießverfahrens wieder zunichtemacht.
Ein numerisch sinnvolles Verfahren zur Lösung des linearen algebraischen Systems ist
die LU-Zerlegung mit partieller Pivotisierung, Skalierung und Nachiteration. Die
Stabilität dieses Verfahrens wurde in [19] für allgemeinere lineare Gleichungssysteme
nachgewiesen. Durch die spezielle Struktur der Matrix ist das maximale fill-in und
die Stellen, an denen ein fill-in auftreten kann, leicht zu ermitteln. Demnach sind für die
LU-Faktorisierung mit partieller Pivotisierung nur Zahlen
abzuspeichern. In [24] wurde erstmals ein solches Verfahren für die Matrix des
Schießverfahrens präsentiert. Die verwendete Pivotisierungsstrategie sollte möglichst
die exponentiell anwachsenden bzw. fallenden Zustände der Fundamentallösung
„entkoppeln“. Auf diese Idee wurde in [13, 14] eingegangen, in der für die Lösung des
linearen Systems eine stabile Block-LU-Zerlegung eingesetzt wurde, die ebenfalls auf
der Gauß-Elimination mit partieller Zeilenpivotisierung basiert. Da jedoch dieses
Verfahren voraussetzt, dass die exakte Anzahl der anwachsenden Zustände a priori
bekannt ist, ist dessen Anwendung nicht immer praktisch.
Zum Schluss wird noch ein Verfahren zur Lösung des linearen Systems (4.2.8a)
dargestellt, das sich besonders für den Einsatz von Parallelrechnern eignet. Die
Folgenden Erklärungen und die Darstellung dieses Verfahrens orientieren sich an
[25, 26]. Betrachtet wird das lineare Gleichungssystem in der allgemeineren Form
. (4.3.16)
Durch Anwendung der Gauß-Elimination auf die Spalten von (8.46) resultiert das
folgende umgeordnete System
. (4.3.17)
40
Anschließend gilt mittels Elimination mit Zeilenvertauschung auf den ersten Zeilen
von (4.3.17)
,
wobei Permutationsatrizen,
Gauß-Transformationen und eine obere Dreiecksmatrix ist. Durch diese
Transformation verändern sich die Einträge von (4.3.17) wie folgt
. (4.3.18)
Wird dieser Prozess für die weiteren Blöcke
fortgeführt, so
ergibt sich schließlich das folgende System
. (4.3.19)
Die Vektoren und können somit aus dem reduzierten System
(4.3.20)
ermittelt werden. Die noch fehlenden Block-Komponenten
lassen sich aus (4.3.19) durch Rückwärts-Substitution berechnen.
Wird keine Pivotisierung zwischen den Blöcken und vorgenommen, so ist
dieses Verfahren mit der Kompaktifikation gleichzusetzen.
In [26] wird auch eine QR-Faktorisierung, basierend auf Householder-Transfomationen,
zur Lösung von (4.2.8a) vorgeschlagen. Anstelle der LU-Zerlegung wird somit die QR-
Zerlegung verwendet, um die Koeffizientenmatrix in (4.3.19) zu erhalten. Da sich
jedoch dadurch der Aufwand verdoppelt, wird meist die LU-Zerlegung bevorzugt.
41
4.4 Vergleich des Einfachschießverfahrens mit dem
Mehrfachschießverfahren
Zum Schluss soll anhand eines Beispiels das einfache Schießverfahren mit dem
Mehrfachschießverfahren verglichen werden. Es stellte sich heraus, dass das einfache
Schießverfahren zwar theoretisch gut funktioniert, jedoch in der Praxis häufig
Schwierigkeiten auftreten. Grund dafür sind einerseits recht große Lösungsintervalle
und andererseits die auftretenden Instabilitäten. Beim Mehrfachschießerfahren wird
daher versucht, diesem Problem mit einer Unterteilung des Lösungsintervalls
entgegenzuwirken.
Es wird das folgende lineare Randwertproblem [20]
cos2 (4.4.1a)
mit separierten Randbedingungen
(4.4.1b)
betrachtet. Die exakte Lösung lautet
–cos2 . (4.4.2)
Im Vergleich mit den meisten Problemen aus der Praxis ist dieses Problem sehr einfach.
Allerdings tauchen bei der Anwendung des einfachen Schießverfahrens Schwierigkeiten
auf. Wie bereits in Kapitel 3.6 angedeutet, kann der Faktor bei der Lösung zu
Schwierigkeiten führen. Das Randwertproblem (4.4.1) wird mit der implementierten
Superpositionsmethode (Schrittweite ) gelöst und zusätzlich mit der exakten
Lösung verglichen.
Die Folgende Tabelle enthält den absoluten Fehler und den
relativen Fehler :
Tabelle 13 Darstellung des absoluten und des relativen Fehlers
(Superpositionsmethode)
42
wobei der gewichtete Faktor beträgt.
Es wird deutlich, dass sich die exponentiell anwachsende Lösung des
homogenen Problems (4.4.3) Einfluss auf die approximierte Lösung hat.
Nun wir das Mehrfachschießverfahren eingesetzt, um den Einfluss der exponentiell
anwachsenden Lösung des homogenen Problems zu mindern. Dabei
wurde ein großes , , gewählt,
.
Drei Iterationen des Mehrfachschießverfahrens [17] ergaben folgende absolute bzw.
relative Fehler:
Tabelle 14 Darstellung des absoluten und des relativen Fehlers
(Mehrfachschießverfahren)
Diese Ergebnisse zeigen eindeutig die Überlegenheit des Mehrfachschießverfahrens
gegenüber dem Einfachschießverfahren. Durch die Verkleinerung des Intervalls wurde
somit der Einfluss des Faktors beschränkt.
43
5 Schluss
In dieser Bachelorarbeit wurden das klassische Schießverfahren und die
Superpositionsmethode für lineare Randwertprobleme eingeführt. Das
Einfachschießverfahren erinnerte an eine Methode, bei der mit einem Geschoss ein
entferntes Ziel zu treffen war. Dafür sollte die Anfangssteigung so abgeschätzt werden,
so dass die rechte Randbedingung erfüllt wird. In der Regel geschieht dies nur iterativ.
Jedoch wurde in Kapitel 3 gezeigt, dass dies sich bei linearen Randwertproblemen
vereinfacht. Hierfür wurden das klassische Schießverfahren und die
Superpositionsmethode eingeführt. Die vorgestellten Verfahren wurden anschließend in
Matlab implementiert und mit ausgewählten Randwertaufgaben ausgetestet. Die
approximierte Lösung wurde dabei mit der exakten Lösung verglichen, um auf die
Frage einzugehen, wie sich die Schrittweitenverkleinerung auf die approximierte
Lösung auswirkt. Durch die Schrittweitenverkleinerung wurden deutlich bessere
Ergebnisse erzielt, d.h. die Abweichung zwischen den exakten Werten und den
approximierten Werten wurden verringert. Dieses Resultat zeichnete sich beim
klassischen Schießverfahren durch den in Kapitel 3 vorgestellten Diskretisierungsfehler
aus. Durch den Vergleich der beiden Verfahren konnte festgestellt werden, dass durch
die Superpositionsmethode bessere Ergebnisse erzielt werden können. Zwar
funktionierten die Verfahren theoretisch gut, besaßen jedoch in der Praxis bei
bestimmten Fällen eine Schwäche. Bei instabileren Problemen oder bei recht großen
Berechnungsintervallen war die numerische Bestimmung der Lösung unmöglich. Um
dieses Problem zu umgehen wurde das Mehrfachschießverfahren eingeführt, dass eine
Unterteilung des Lösungsintervalls vornimmt, so dass dadurch die zugehörigen
Wachstumsfaktoren moderat blieben. Im Anschluss wurde die beim
Mehrfachschießverfahren entstandene Matrix näher untersucht. Dabei war besonders
die spezielle Struktur dieser Matrix auffällig. Es wurden Verfahren vorgestellt, die
numerisch stabil sind und einen geringen Aufwand aufweisen. Bei separierten
Randbedingungen nahm die Matrix die Gestalt einer Bandmatrix an, so dass das lineare
Gleichungssystem einfacher zu lösen war. Bei nicht-separierten Randbedingungen
konnte die Methode der Kompaktifikation eingesetzt werden, um das lineare
Gleichungssystem zu lösen. Jedoch stellte es sich heraus, dass diese Methode die
Vorteile des Mehrfachschießverfahrens aufhob. Der numerisch sachgemäße Zugang zur
Lösung des Gleichungssystems setzte sich aus einer LU-Zerlegung mit partieller
Pivotisierung zusammen. Am Ende wurde das einfache Schießverfahren mit dem
44
Mehrfachschießverfahren verglichen. Durch das ausgewählte Randwertproblem wurde
somit die Überlegenheit des Mehrfachschießverfahrens gegenüber dem
Einfachschießverfahren verdeutlicht.
45
6 Anhang
%% Implementierung des klassischen Schießverfahrens für lineare RWP'e % % --> u"(t)+p(t)u'(t)+q(t)u(t)=f(t) (DGL 2. Ordnung) % --> B_a*u(a)+B_b*u(b)=r (Randbedingungen)
function [A b s u f]=schiessverfahren(p,q,f,a,b,a1,a2,b1,b2,d1,d2,z,N)
% Berechne die Lösung v(t) (AWA mit inhomogener rechter Seite f) % --> Transformiere die DGL in ein System 1.Ordnung vv = @(t,v) [v(2), f(t) - p(t) * v(2) - q(t) * v(1)]; % Anfangsbedingungen: v(a)=0, v'(a)=0 (partikuläre Lösung) % Löse die AWA [v t] = z(vv,a,b,[0 0],N); % Berechne die Lösung w(t) (AWA mit homogener rechter Seite f) % --> Transformiere die DGL in ein System 1.Ordnung ww = @(t,w) [w(2), - p(t) * w(2) - q(t) * w(1)]; % Anfangsbedingungen: w(a)=1, w'(a)=0 % Löse die AWA [w t] = z(ww,a,b,[1 0],N);
rr = @(t,r) [r(2), - p(t) * r(2) - q(t) * r(1)]; % Anfangsbedingungen: r(a)=0, r'(a)=1 % Löse die AWA [r t] = z(rr,a,b,[0 1],N);
[l1,n]=size(w); [l2,n]=size(r); [lp,n]=size(v); A=[a1 b1;(a2*w(l1,1)+b2*w(l1,2)) (a2*r(l2,1)+b2*r(l2,2))]; b=[d1 (d2-a2*v(lp,1)-b2*v(lp,2))];
if det(A)>100*eps, s=A\b'; u=s(1)*w(:,1)+s(2)*r(:,1)+v(:,1);
%% Implementierung des Superpositionsprinzips für lineare RWP’e % % --> u"(t)+p(t)u'(t)+q(t)u(t)=f(t) (DGL 2. Ordnung) % --> u(a)=ua , u(b)=ub (Randwerte) % % --> Ziel: Löse die folgenden beiden AWP'e % - v"(t)+p(t)v'(t)+q(t)v(t)=f(t) mit v(a)=ua , v'(a)=0 % - w"(t)+p(t)w'(t)+q(t)w(t)= 0 mit w(a)=0 , w'(a)=1 % (z.B. mit Hilfe der Runge-Kutta-Methode)
% um anschließend mit den Lösungen v(t), w(t) die gesuchte % Lösung u(t) zu approximieren, wobei für u(t) gilt: % u(t) = v(t) + ((ub-v(b))/w(b))*w(t) (w(b)~= 0) % % --> Implementiere die Funktion
% [u t s] = linschiessverfahren(p,q,f,a,b,ua,ub,z,N) % % --> Eingabeparameter: % - p,q,f (Eingabe von Funktionen/Konstanten mit 'inline') % - a,b (Berechnungsintervall) % - ua,ub (Randwerte)
46
% - z (Einschrittmethode, z.B. Runge-Kutta-, Euler-Verfahren) % - N (Anzahl der Teilintervalle) % --> Ausgabeparameter: % - u (numerische Werte der Lösungsfunktion) % - t (Zeitvariable) % - s (Wert von u'(a)) % %% function [u t s] = linschiessverfahren(p,q,f,a,b,ua,ub,z,N) % Berechne die Lösung v(t) (AWA mit inhomogener rechter Seite f) % --> Transformiere die DGL in ein System 1.Ordnung vv = @(t,v) [v(2), f(t) - p(t) * v(2) - q(t) * v(1)]; % Anfangsbedingungen: v(a)=ua, v'(a)=0 % Löse die AWA [v t] = z(vv,a,b,[ua 0],N); % Berechne die Lösung w(t) (AWA mit homogener rechter Seite f) % --> Transformiere die DGL in ein System 1.Ordnung ww = @(t,w) [w(2), - p(t) * w(2) - q(t) * w(1)]; % Anfangsbedingungen: w(a)=0, w'(a)=1 % Löse die AWA [w t] = z(ww,a,b,[0 1],N);
% Berechne nun v(t)und w(t) den Faktor ((ub-v(b))/w(b))
s = (ub - v(N+1,1)) / w(N+1,1); % Bestimme mit Hilfe von s die gesuchte Lösung u(t) = v(t) + s*w(t) u = v(:,1) + s * w(:,1);
end ;
% ------------------- klassisches Runge-Kutta-Verfahren--------------- %% % --> spezielles explizites 4-stufiges Runge-Kutta_Verfahren % --> zur numerischen Lösung von Anfangswertproblemen % --> Methode auch auf Systeme von DGL's andwendbar % % --> Eingabeparameter: % - f (Eingabe von Funktionen f(t,u) mit 'inline') % - a,b (Berechnungsintervall) % - ua (Anfangswert) % - N (Anzahl der Teilintervalle) % --> Ausgabeparameter: % - u (numerische Werte der Lösungsfunktion) % - t (Zeitvariable) %% function [u t] = runge_kutta(f,a,b,ua,N) % Bestimme die Schrittweite h h = (b-a)/N; u(1,:) = ua; % Anfangsbedingung t(1) = a;
for i = 1:N t(i+1) = t(i)+h; % Formel 4-ter Ordnung k1 = f(t(i),u(i,:)); k2 = f(t(i)+h/2,u(i,:)+h/2*k1); k3 = f(t(i)+h/2,u(i,:)+h/2*k2); k4 = f(t(i+1),u(i,:)+h*k3); % Berechne die iterierten Werte mit den berechneten k's u(i+1,:) = u(i,:)+(k1+2*k2+2*k3+k4)*h/6; end;
47
7 Literaturverzeichnis
[1] U. M. Ascher, R. M. M. Mattheij, R. D. Russell: Numerical Solution of
Boundary Value Problems for Ordinary Differential Equations, SIAM,
Philadelphia, 1995
[2] U. M. Ascher, L. R. Petzold: Computer Methods for Ordinary Differential
Equations and Differential-Algebraic Equations, SIAM, Philadelphia, 1998
[3] H. Benker: Differentialgleichungen mit MATHCAD und MATLAB, Springer,
Halle, 2005
[4] P. Deuflhard: Numerik von Anfangswertmethoden für gewöhnliche
Differentialgleichungen, Technical report, Konrad-Zuse-Zentrum für
Informationstechnik Berlin, 1989
[5] P. Deuflhard, F. Bornemann: Numerische Mathematik 2: Gewöhnliche
Differentialgleichungen, Walter de Gruyter, Berlin, New York, 2002
[6] J. D. Faires, R. L. Burden: Numerische Methoden: Näherungsverfahren und
ihre praktische Anwendung, Spektrum, Heidelberg, …
[7] G. H. Golub, J. M. Ortega: Wissenschaftliches Rechnen und
Differentialgleichungen, Heldermann Verlag, Berlin, 1995
[8] L. Grüne: Numerische Methoden für gewöhnliche Differentialgleichungen
(Numerische Mathematik II), Vorlesungsskriptum, Universität Bayreuth, 2009
[9] M. Hermann: Numerik gewöhnlicher Differentialgleichungen: Anfangs- und
Randwertprobleme, Oldenbourg, München, 2004
[10] T. I. Lakoba: Numerical Differential Equations: Lecture 7, Vorlesungsskriptum,
Vermont, 2004
[11] W. Luther, K. Niederdrenk, F. Reutter, H. Yserentant: Gewöhnliche
Differentialgleichungen, Vieweg, Wiesbaden, 1994
[12] J. H. Mathews, K. D. Fink: Numerical Methods Using MATLAB, Prentice Hall,
Vestfold, 1999
[13] R. M. M. Mattheij: Stability of block LU- decompositions of matrices arising
from BVP, SIAM J. Discr. Math. 5, 314-331, 1984
[14] R. M. M. Mattheij: Decoupling and stability of algorithms for boundary value
problems, SIAM Review 27, 1-44, 1985
[15] D. D. Morrison, J. D. Riley, J. F. Zancanaro: Multiple shooting method for
two-point boundary problems, Comm. ACM 5, 613-614, 1962
48
[16] H. J. Oberle: Numerik gewöhnlicher Differentialgleichungen:
8. Randwertaufgaben, Vorlesungsskriptum, Universität Hamburg, 2008
[17] H. J. Oberle, W. Grimm: BNDSCO-A programm for the numerical solution of
optimal control problems, Internat Report No. 515-89/22, Institute for Flight
Systems Dynamics, DLR, Oberpfaffenhofen, 1989
[18] H. R. Schwarz, N. Köckler: Numerische Mathematik, Vieweg+Tuebner,
Wiesbaden, 2011
[19] R. D. Skeel: Iterative refinement implies numerical stability for Gaussian
elimination, Math. Comput., 817-832, 1890
[20] J. Stoer, R. Bulirsch: Numerische Mathematik 2, Springer, München, 2000
[21] J. Stöckler: Numerische Mathematik II: Kapitel 12, Vorlesungsskriptum,
Dortmund, 2004
[22] S. Turek: Numerische Methoden für Gewöhnliche Differentialgleichungen
(Numerische Mathematik II), Vorlesungsskriptum, Technische Universität
Dortmund, 2012
[23] W. Vogt: Zur Numerik der Rand- und Eigenwertprobleme gewöhnlicher
Differenzialgleichungen, Vorlesungsskriptum, Technische Universität Ilmenau,
2006
[24] W. Wallisch, M. Hermann: Schießverfahren zur Lösung von Rand- und
Eigenwertaufgaben, Tuebner, Leipzig,1985
[25] S. J. Wright: Stable parallel elimination for boundary value ODE’s, Technical
Report MCS-P229-0491, Mathematics and Computer Science Division, Argonne
National Laboratory, Argonne, 1991
[26] S. J. Wright: Stable parallel algorithms for two-point boundary value problems,
J. Sci. Stat. Comput. 13, 742-764, 1992