Numerische Methoden in der Technik: Ein Lehrbuch mit MATLAB-Routinen [1 ed.] 978-3-528-06988-9, 978-3-322-87261-6

Prof. Dr. Richard Mohr lehrt und forscht im Fachbereich Grundlagen der Fachhochschule für Technik in Esslingen.

156 66 13MB

German Pages 250 [259] Year 1998

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Front Matter....Pages I-IX
Einführung....Pages 1-6
Iterationsverfahren zur Lösung nichtlinearer Gleichungen....Pages 7-24
Lineare Gleichungssysteme....Pages 25-42
Lineare Optimierung....Pages 43-58
Interpolation und Approximation....Pages 59-84
Numerische Integration....Pages 85-91
Differentialgleichungen....Pages 92-155
Aufgaben....Pages 156-167
Lösungen....Pages 168-224
Back Matter....Pages 225-250
Recommend Papers

Numerische Methoden in der Technik: Ein Lehrbuch mit MATLAB-Routinen [1 ed.]
 978-3-528-06988-9, 978-3-322-87261-6

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Richard Mohr

Numerische Methoden in der Technik

Aus dem Programm _ _ _ _ _ _ _ _ _ _ _ _----..... Mathematik

J. Herzberger Ubungsbuch zur Numerischen Mathematik G. Opfer Numerische Mathematik fiir Anranger H. Spath Numerik J. Werner Numerische Mathematik 2 Bande E. Heinrich, H.-D. Janetzko Mathematica: Yom Problem zum Programm Modellbildung flir Ingenieure und N aturwissenschaftler E. Heinrich, H.-D. Janetzko Das Maple Arbeitsbuch E. Heinrich, H.-D. Janetzko Das Mathematica Arbeitsbuch W. Strampp, V. Ganzha, V. E. Vorozhtsov Hohere Mathematik mit Mathematica 4 Bande

Vieweg ___________________________________ セ@

Richard Mohr

Numerische Methoden in der Technik Ein Lehrbuch mit MATLAB-Routinen

Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Prof. Dr. Richa rd Mohr Fachhochschule Esslingen - Hochschule filr Technik Fachbereich Grundlagen KanalstraBe 33 73728 Esslingen

Aile Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden, 1998 Der Verlag Vieweg ist ein Unternehmen der Bertelsmann Fachinformation GmbH.

Das Werk und seine Teile sind urheberrechtlich geschiltzt. Jede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des VerJages unzullissig und strafbar. Das gilt insbesondere fUr Vervielfliltigungen, Ubersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.

http://www.vieweg.de Umschlaggestaltung: Ulrike Posselt, Wiesbaden Gedruckt auf sliurefreiem Papier

ISBN-13: 978-3-528-06988-9 e-ISBN-13: 978-3-322-87261-6 DOl: 10.1007978-3-322-87261-6

v

Vorwort Dieses Buch entstand aus Lehrveranstaltungen, die ich im Laufe von zehn Jahren fUr Studierende verschiedenster Fachrichtungen an der FH Esslingen gehalten habe. Vor allem sind hier die Wahlfachvorlesungen zum Thema "Numerische Methoden" fUr Ingenieurstudenten der Fachrichtungen Elektrotechnik, Informatik und Maschinenbau zu nennen. Der zweite Ausgangspunkt fUr die vorliegende Datstellung sind Computer-Praktika fUr denselben Horerkreis, bei denen die Studierenden in die Anwendung des SoftwarePakets MATLAB eingefUhrt wurden. Besonders durch Diskussionen mit Studierenden des Aufbaustudiengangs - bei den en auch bereits mit der Praxis konfrontierte Ingenieure anwesend waren - wurde ich yom Nutzen einer einheitlichen Sicht dieser beiden Aspekte der Ingenieurausbildung iiberzeugt. So entstand dieses etwas andere Lehrbuch. Es versucht, die Darstellung numerischer Verfahren mit einer EinfUhrung in ein Software-Paket zu verbinden. Ausgehend von Grundkenntnissen in Analysis und Linearer Algebra werden die meisten der fUr den Anwender wichtigen Gebiete der numerischen Mathematik abgehandelt; eine Vollstandigkeit wurde nicht angestrebt. Auf strenge mathematische BeweisfUhrung wurde zugunsten von informativen Beispielen und Skizzen verzichtet. Bei naturwissenschaftlichen Beispielen habe ich stets versucht, auch den physikalischen Hintergrund mit in die Darstellung einzubeziehen. Parallel dazu werden die zugehorigen Routinen aus MATLAB besprochen und auf erganzende Beispiele angewandt. Der Leser kann die entsprechenden numerischen Fragestellungen am Rechner nachvollziehen - die behandelte Mathematik wird dabei sofort greifbar, bekommt eine "spielerische" Komponente. Dabei sind Grundkenntnisse in MATLAB hilfreich, aber nicht unabdingbar. Eine kurze EinfUhrung in MATLAB befindet sich im Anhang. Das Inhaltsverzeichnis ist bewusst so ausfUhrlich gehalten, dass der Leser sofort gezielt die zu einer vorliegenden Thematik passenden MATLAB-Routinen nachschlagen kann. Bei der Umsetzung der numerischen Verfahren auf den Rechner habe ich mich fUr das Software-Paket MATLAB entschieden. Die Griinde fUr diese Wahl sind weniger im mathematischen Bereich angesiedelt. MAT LAB ist vor allem wegen seiner fast aIle technische Anwendungsbereiche abdeckenden Toolboxen und dem zugehorigen Simulationsprogramm SIMULINK an vielen ingenieurwissenschaftlich orientierten Hochschulen und in namhaften Industriebetrieben zum Standard geworden. Benutzt wurde die MATLAB-Version 4.2b. Fur die wenigen Probleme aus dem Bereich der ComputerAlgebra wird die Symbolic-Toolbox benotigt. Die im vorliegenden Buch angesprochenen MATLAB-Routinen stehen auf dem ftp-Server der FH Esslingen unter der Adresse: ftp.fht-esslingen.de/pub/local/fachbereiche/grundlagen/mohr fUr Interessenten zur VerfUgung.

VI

Vorwort

GroBes Gewicht liegt auf der Aufgabensammlung. Neben verstii.ndnisfOrdernden Problemstellungen zu den entsprechenden Stoffgebieten sind auch viele "Rechenaufgaben" in der Sammlung enthalten. Sie sollen in der Regel mit MATLAB-Routinen gerechnet werden, aber es ist auch der Einsatz eines anderen Mathematikprogramms denkbar. Die Numerik erhalt auf diese Weise einen experimentellen Charakter. Nicht der strenge Konvergenzbeweis steht bei diesen Beispielen im Vordergrund, sondern der konstruktive Entwurf von Rechenprozeduren. Ganz bewusst wurden auch einige schwierigere und umfangreichere Beispiele in die Darstellung aufgenommen. Alle Aufgaben sind mit einer ausfiihrlichen Losung versehen und sollen den Leser zu vertiefendem Nacharbeiten anregen. Viele graphische Darstellungen in diesem Buch wurden mit MATLAB erstellt. Sie sind au6erlich durch einen Rahmen sofort erkennbar. Die anderen Abbildungen sind mit einem von Herrn Dr. Bernhard Gotz (Mathematisches Institut A der Universitat Stuttgart) entwickelten Graphik-Paket gerechnet und gestaltet worden. Ihm sei an dieser Stelle herzlich gedankt. Besonders danken mochte ich auch meinem Kollegen Herrn Prof. Dr. Harro Kiimmerer fiir die Durchsicht des Manuskripts und die vielen anregenden Diskussionen wahrend der Entstehung. Fiir Erganzungen und Hinweise auf Fehler bin ich dankbar. Bitte schicken Sie mir eine E-Mail [email protected] . Esslingen, im Juli 1998

Richard Mohr

VII

Inhaltsverzeichnis 1 Einfiihrung

1

2 Iterationsverfahren zur Losung nichtlinearer Gleichungen 2.1 Fixpunktsatz .. 2.2 Fehlerschranken. 2.3 Newtonverfahren 2.4 Regula falsi . . . 2.5 Konvergenzordnung 2.6 Ubertragung auf mehrdimensionale Probleme 2.7 Realisierung mit MATLAB . . . . . . . . . .

7 7

12 13 15 16 18 22

3 Lineare Gleichungssysteme 3.1 GauB-Algorithmus 3.2 Pivotelementsuche . . . . 3.3 Nachiteration . . . . . . . 3.4 Iterative Losung von linearen Gleichungssystemen 3.5 Uberbestimmtes lineares Gleichungssystem 3.6 Nichtlineare Ausgleichsprobleme . . . . . . . . . .

25 25

4

43 43

Lineare Optimierung 4.1 Austauschverfahren . . . . . . . . . . . . . . . . . . . . . 4.2 Graphische Losung des linearen Optimierungsproblems . 4.3 Simplex-Verfahren . . . . . . . . . . . . . . . . . . . . .

5 Interpolation und Approximation 5.1 Polynominterpolation 5.2 Ausgleichspolynome 5.3 Kubische Splines . . . 5.4 Bezier Splines . . . . . 5.5 Approximation durch trigonometrische Polynome 5.6 Fast Fourier Transformation . . . . . . . . . . . . 6

Numerische Integration 6.1 Trapezformel . . . 6.2 Simpsonformel .. 6.3 Rombergverfahren

7 Differentialgleichungen 7.1 Eulerverfahren . . . . . . . . . . . . . . . . . . . . 7.2 Weitere Einschrittverfahren . . . . . . . . . . . . . 7.2.1 Theoretischer Hintergrund - Grundprinzip 7.2.2 Heun-Verfahren . . . . . . . . . . . . . . 7.2.3 Runge-Kutta-Verfahren . . . . . . . . . 7.2.4 Schrittweitensteuerung und Genauigkeit

29 31 32 34 38

47 53 59

60 64 67 71

74 79

85 85

86 88

92

92 94 94 96 98 99

VIn 7.3

7.4

7.5

7.6

7.7 7.8

7.9

Inhaltsverzeichnis MATLAB-Routinen . . . . 7.3.1 Symbolische LOsung 7.3.2 Numerische LOsung. 7.3.3 Drei-Korper-Problem. Wasserrakete - Beispiel fUr ein Differentialgleichungssystem 7.4.1 Physikalische Grundlagen . . . . . . . 7.4.2 Herleitung der Differentialgleichungen 7.4.3 Realisierung mit MATLAB Implizite Verfahren . . . . . . . . 7.5.1 Implizites Eulerverfahren . 7.5.2 Trapezmethode....... 7.5.3 Allgemeine Vorgehensweise Stabilitii.t . . . . . . . . . . . 7.6.1 Absolute Stabilitii.t . . . . . 7.6.2 Inhii.rente Instabilitii.t . . . 7.6.3 Steife Differentialgleichungssysteme . Mehrschrittverfahren.. Randwertaufgaben . . . . . 7.8.1 Schie8verfahren... 7.8.2 Differenzenverfahren 7.8.3 Beispiel fUr eine nichtlineare Randwertaufgabe Partielle Differentialgleichungen . 7.9.1 Poisson-Gleichung .. . . 7.9.2 Wii.rmeleitungsgleichung. 7.9.3 Finite Elemente. . . . . .

101 101 102 106 108 109 109 110 117 117 119 119 120 120 124 125 128 130 130 132 135 138 138 143 148

8 Aufgaben 8.1 Aufgaben zu Gleitpunktarithmetik 8.2 Aufgaben zu Iterationsverfahren . 8.3 Aufgaben zu linearen Gleichungssystemen 8.4 Aufgaben zur linearen Optimierung. . . . 8.5 Aufgaben zu Interpolation und Approximation 8.6 Aufgaben zu Integration und Differentialgleichungen 8.7 Aufgaben zu MATLAB . . . . . . . . . . . . . . . .

156 156 156 158 160 161 162 164

9 Losungen 9.1 Aufgaben 9.2 Aufgaben 9.3 Aufgaben 9.4 Aufgaben 9.5 Aufgaben 9.6 Aufgaben 9.7 Aufgaben

168 168 169 179 184 190 197 208

zu Gleitpunktarithmetik zu Iterationsverfahren . zu linearen Gleichungssystemen zur linearen Optimierung. . . . zu Interpolation und Approximation zu Integration und Differentialgleichungen zu MATLAB . . . . . . . . . . . . . . . .

A Einitihrung in MATLAB A.l Allgemeines . . . . . . . A.2 Fundamentals. . . . . . A.2.1 Eingabe von Matrizen A.2.2 Matrixelemente. . . .

225 225 225 225 225

IX

A.3

AA

A.5

A.6

A.7

A.2.3 Variable . . . . . . . . . . . A.2A Information fiber Variable. A.2.5 Zahlen und Arithmetik A.2.6 Komplexe Zahlen . A.2.7 Ausgabeformat A.2.8 Help-Funktion A.2.9 Sichern .... Matrizen, Vektoren .. A.3.l Rechenoperationen A.3.2 Matrizenfunktionen A.3.3 Elementeweise Rechenoperationen A.3A Vektor- und Matrixmanipulationen . Analysis . . . . . . . . AA.l Differentiation AA.2 Integration AA.3 Polynome . . . AAA Interpolation AA.5 Nichtlineare Gleichungen und Optimierung AA.6 Differentialgleichungen . . . Graphik . . . . . . . . . . . . . . . A.5.l Zweidimensionale Graphik . A.5.2 Dreidimensionale Graphik . A.5.3 Graphikbildschirm Programmsteuerung A.6.l for-Schleifen. . . A.6.2 while-Schleifen A.6.3 if/else Ausdrficke A.6A Vergleichsoperatoren, logische Operatoren A.6.5 Eingabe . . . . . m-Files ......... A.7.l Programm-Files A.7.2 function-Files .

226 226 226 227 227 227 227 228 228 228 228 229 229 229 230 230 230 231 232 232 232 233 234 234 234 235 235 235 235 236 236 236

B Verzeichnis der m-Files

237

C Orthogonalitatsbeziehungen

239

D FFT-Algorithmus fUr N = 27 Punkte

242

E Drei-Korper-Problem

245

Literaturverzeichnis

247

Sachwortverzeichnis

249

1

1

Einfiihrung

Der Weg vom konkreten technisch-naturwissenschaftlichen Problem zur numerischen Losung fiihrt haufig - schematisch aufgelistet - iiber folgende Schritte zum Ziel. 1) Modellbildung: Zunachst muss mittels Funktionen, Gleichungssystemen, Differentialgleichungen etc. aus physikalischen Grundgesetzen ein mathematisches Modell gebildet werden. 2) Haufig sind diese Beziehungen zu komplex, urn geschlossen gelost zu werden oder in endlicher Zeit numerisch behandelt zu werden. Man bemiiht sich dann urn ein mathematisches Ersatzproblem, das einerseits das Naturphanomen noch geniigend genau beschreibt und andererseits mit verniinftigem Rechenaufwand noch gelost werden kann. 3) Auswahl eines Algorithmus, der das gewonnene mathematische Ersatzproblem moglichst effektiv lost. 4) Implementierung des ausgewahlten Algorithmus in einer Programmiersprache oder - immer wichtiger - unter Zuhilfenahme eines Software-Pakets (z.B. MATLAB, etc.). Eventuell graphische Darstellung des Resultats. Diese Schritte seien an einem Beispiel aus der Mechanik erlautert. Wir betrachten zwei Korper, die auf einer Unterlage iibereinander gestapelt sind. Auf den oberen Korper wirke eine -+

Kraft f (t) parallel zur Unterlage. Die Reibungskrafte zwischen den beiden Korpern seien groBer als die zwischen dem unteren Korper und der glatten Unterlage. Xl(t) und X2(t) seien die Auslenkungen der beiden Massen aus der Ruhelage. Dann fiihrt das Newtonsche Bewegungsgesetz auf das folgende Differentialgleichungssystem:

mlXl(t)

f(t) - k 1(Xl(t),X2(t»

m2 x2(t)

k1(Xl(t),X2(t» - k2(X2(t»

Hierbei beschreibt die Funktion k 1(Xl,X2) die Reibung zwischen ml und m2, k 2(X2) die Reibung zwischen m2 und der Unterlage. Die Funktionen ki geben die von der Relativgeschwindigkeit abhangige Reibung wieder. Wenn man die molekulare Struktur der Materialien beriicksichtigt, sind Reibungsvorgange exakt sehr schwer zu erfassen. Wir wahlen das Modell der Coloumb-Reibung. Dabei wird angenommen, dass die Reibung nur von der Gewichtskraft und nicht vom Betrag der Geschwindigkeit abhangt. R. Mohr, Numerische Methoden in der Technik © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden 1998

1 EinfUhrung

2

Vernachlassigen wir die iibrigen Reibungskrafte (Luftreibung, innere Reibung), 80 ergibt sich der nebenstehend skizzierte Zusammenhang zwischen ki( vr ) und der Relativgeschwindigkeit vr .

I

Wir setzen ml = m2 = 1 und nehmen eine harmonische Anregung f(t) = sin t an. Mit Hilfe der Signum-Funktion stellt sich dann das vereinfachte mathematische Modell wie folgt dar: Zl(t)

= sin(t) - al· sign(zl(t) - Z2(t» al . sign(zl(t) - Z2(t» - a2 . sign(z2(t»

Z2(t)

Dieses vereinfachte Modell 8011 nun mit einem numerischen Verfahren aus einem SoftwarePaket gel6st werden. Dazu miissen wir die Differentialgleichungen 2. Ordnung als ein Differentialgleichungssystem darstellen. Fiihren wir fUr %l(t), Zl(t), %2(t), Z2(t), die Zustandsvariablen Zl(t), . .. Z4(t) ein, so ergibt sich das aquivalente Differentialgleichungssystem:

Zl(t)

= Z2(t)

Z2(t)

=

Z3(t)

= Z4(t)

Z4(t)

= al· sign(z2(t) - Z4(t» - a2 . sign(z4(t»

sin(t) - al . sign(z2(t) - Z4(t»

Zur Realisierung mit MATLAB ist der folgende m-File zu erstellen:

function xdot=dgr(t,x); global a k; xdot=[x(2);sin(t)-a*sign(x(2)-x(4»;x(4);a*sign(x(2)-x(4))-k*sign(x(4»];

=

=

Fiir die Parameterwerte al 0.1 und a2 0.01 ergibt sich mit der Prozedur "ode23" die in den beiden folgenden Schaubildern skizzierte L6sung.

i "

iv

0.1

':

0

.t

-0.1

'0

-,0

Wenn wir den Reibungskoeffizienten zwischen den beiden Massen auf al so ergibt sich:

'0

= 004 erhohen,

3

... CUI

• .1

.... ... 0 ,010

·0.1

... 0.11

_1



-0.2



1.

1.

Das Schaubild der Relativgeschwindigkeit zeigt in weiten Bereichen eine Oszillation urn den Nullpunkt. Eine Erhahung der Genauigkeit sowie der Einsatz einer anderen Integrationsprozedur bringt keine Verbesserung. In der Realitat ist eine solche Oszillation nicht zu beobachten. Bei groBem Reibungskoeffizienten kann f{t) bei Relativgeschwindigkeiten urn Null die Haftreibung nicht uberwinden und die beiden Karper bewegen sich gemeinsam. In diesem Falliauten die Bewegungsgleichungen: (ml (ml

+ +

=

m2)' Xl

f(t) f{t)

m2) ' X2

Der modifizierte m-File stellt sich dann wie folgt dar:

function xdot=dgr1(t.x); global a k; if (abs(sin(t»("

Nun gilt offensichtlich:

Eine rekursiv definierte Folge X

n+1

= F(xn);

Xo

=a

konvergiert gegen die LOsung der Gleichung

wenn fiir die Ableitung der Iterationsvorschrift F'(x) im betrachteten Bereich gilt: IF'(X)I $ L


xo) - 1 (xo)

eine verbesserte Niiherung Xl. Dieser Prozess liisst sich beliebig oft wiederholen. Wir erhalten mit der Rekursionsbeziehung

_

Xn+l -

Xn -

セHxョI@

1 (x n )

eine Zahlenfolge, die i.a. gegen die gesuchte LOsung x· konvergiert. Die Konvergenz des Verfahrens ist gesichert, wenn I"(x) in der Umgebung von x· nicht das Vorzeichen wechselt. 1st I'(x·) = 0, so konvergiert die Folge sehr langsam.

15

2.4 Regula falsi Beispiel: e:t:

=

2- x

""-+

I(x) = e:t:+x-2

""-+

/,(x) = e:t:

+1

xn -

Ik I

X/c

0 1 2 3 4 5 6

1.00000000000000 0.53788284273999 0.44561674852655 0.44285672464511 0.44285440100403 0.44285440100239 0.44285440100239

1

Wir wollen noch die Konvergenzbedingung fiir das Newtonverfahren iiberpriifen. X n +1

F(x)

x -

= F(x n ) =

Xn

f,t::)

-

4J)"

1 (x) (I' (x)) 2

- l(xJ .I"(x) = I(x) GiBセクI@ (I'(x» (I'(x» Wenn /,(x) in der Umgebung der Nullstelle sich wie 1/'(x)1 セ@ K > 0 verhalt, so ist die Konvergenz immer gewahrleistet, da I(x) -+ 0 bei Annaherung an die Nullstelle. Bei mehrfachen Nullstellen - d.h. wenn I'(x·) = 0 - strebt der Nenner des Newtonverfahrens

F'(x)

1 -

gegen Null und es sind Schwierigkeiten bei der Konvergenz zu erwarten. Bei bekannter Vielfachheit der Nullstelle kann der Algorithmus modifiziert werden, urn die Effizienz des Verfahrens zu erhohen. 6

2.4

Regula falsi

Eine analoge geometrische Uberlegung fiihrt zu einer zweigliedrigen Iterationsvorschrift, die die Berechnung der ersten Ableitung vermeidet. Dazu ersetzt man die Kurve zwischen zwei Kurvenpunkten durch die Sekante und schneidet diese mit der x-Achse. Ais Startwerte wahlt man zweckma6igerweise zwei Punkte mit unterschiedlichem Vorzeichen I(xo) . I(xt) < O. 6

1st

X*

eine p-fache Nullstelle (wenn bekannt!!), so konvergiert das modifizierte Verfahren Xn+l

besser gegen die gesuchte Nullstelle.

= F(xn) =

Xn -

p.

ヲGセZ@

2 Iterationsverfahren zur LOsung nichtlinearer Gleichungen

16

y

x

/

Mittels der Zwei-Punkte-Form ermitteln wir die Geradengleichung durch die heiden Punkte (xnlf(xn)) und (x n+1lf(x n+l)) . Y - f(xn) =

f(x n+1) - f(xn)

X-Xn

Der Schnittpunkt dieser Geraden mit der x-Achse (y wert X n +2. _ -

=0 !) ergiht den neuen Naherungs-

f(xn+d - f(xn) Xn+l

Xn

Unter den beiden Naherungswerten X n , Xn+1 wird derjenige ausgewahlt, dessen Funktionswert f(xn) bzw. f(xn+tl dasjeweils andere Vorzeichen von f(x n+2) hat. 7 Dies ist eine zweigliedrige Iterationsvorschrift, bei der im wesentlichen der Differentialquotient durch den Differenzenquotienten ersetzt wird. Ebenso sind die Schwierigkeiten bei mehrfachen Nullstellen mit denen beim Newtonverfahren vergleichbar.

2.5

Konvergenzordnung

In diesem Abschnitt beschaftigen wir uns mit der Frage, um welche Grof3enordnung sich die Naherung bei einem Iterationsschritt verbessert. Theoretischer Hintergrund ist die Taylor-Reihenentwicklung fur entsprechend oft differenzierbare Funktionen. 7

Verzichtet man auf diese Vorzeichenabfrage, spricht man yom Sebntenverfahren.

17

2.5 Konvergenzordnung Wir entwickeln die rechte Seite der Iterationsvorschrift x" .

F(x)

=

F(x")

+

+ {

+l = F(x n ) urn die Nullstelle

F'(x")· (x - x")

F(n)( ") n.

Xn

. (x -

x")n

+

Wir setzen x = Xn und konnen die Differenz der neuen Naherung Xn+1 = F(xn) zur exakten Losung x" = F(x") abschatzen: X

n+l - x" F'(x·) . (x n - x") + fBセクI@

• 2 + ... . (x n - x)

Damit ist es uns gelungen den "neuen" Fehler IXn+l - x"1 mit dem vorangegangenen Fehler IX n - x"1 in Beziehung zu setzen. Der Hauptbeitrag des Fehlers entsteht yom Summanden mit dem kleinsten Exponenten I bei (x n - x")'. Fur das Newtonverfahren wollen wir die ersten Ableitungen bestimmen: x-

セ@f

F'(x)

1 -

(f/(x»2 - f(xJ . f"(x) = f(x)· ヲBセクI@ (f/(X» (f/(X»

F'(x")

=

F"(x) =

f';(x? x . f'(x) . fll/(x) - 2 {f"(x))2 f (x + f( ) (f/(X))3

F"(x")

=

F(x) =

(x)

f';(x") f (x") .

Damit erhalten wir fUr das Newtonverfahren folgenden Zusammenhang zwischen altern (Llxn) und neuem Fehler (Llxn+d:

Besteht ein solcher Zusammenhang, dann redet man von quadratischer Konvergenz - der neue Fehler ist proportional zum Quadrat des alten Fehlers. Entsprechend spricht man von der Konvergenzordnung p, wenn gilt:

Durch eine Modifikation des Newtonverfahrens kann man erreichen, dass auch die zweite Ableitung F"(x) in x" zu Null wird. Wir addieren zu F(x) einen geeigneten Summanden, von dem von vornherein sicher ist, dass er die Eigenschaft F'(x") = 0 nicht zerstort. Dies ist bei einem Summanden gewahrleistet, der f(x)2 enthalt. 8

Fiir den Entwicklungspunkt x" gilt: [f(x*)

= 0 !! J

2 Iterationsverfahren zur LOsung nichtlinearer Gleichungen

18

ZL|セI@

F(z)

=

Z

F'(z)

=

I(z) . ALセコI@ (f'(z»

F"(z)

=

-

-

h(z)· (f(z»2

_ h'(z). (f(z»2 - 2h(z)· I(z) ·I'(z)

I';(z) I'(z)· I"'(z) - 2 (f"(z»2 I (z) + I(z)· (f'(Z»3 - I(z) . [h"(z)· I(z) + 4h'(z)· I'(z) + 2h(z). f"(z)] - 2h(z) . (f'(Z»2 an der Nullstelle z* erhalt man

F"(z*)

@セI

I

"" (z**) - 2h(z*). (/'(Z*»2 (z*)

Wenn wir h(z) so bestimmen, dass wir in der letzten Beziehung F"(z*) = 0 erhalten, so ergibt sich ein Verfahren dritter Ordnung.

_

Zn+l -

A(

F zn

) _ -

Zn -

セHzョI@ _ !"(zn)· (f(zn))2 I (zn) 2 (f'(Zn»3

Vergleich der Verfahren: Das soeben hergeleitete modifizierte Newtonverfahren konvergiert am besten, die Regula falsi ist theoretisch das "schlechteste" Verfahren. Trotzdem wird die Iterationsvorschrift Regula falsi bzw. das Sekandenverfahren sehr haufig benutzt, denn diese Algorithmen kommen ohne Ableitungen aus. Dass zur Erzielung einer vorgegebenen Genauigkeit in der Regel mehr Iterationsschritte notig sind, ist in Anbetracht der Leistungstahigkeit moderner Rechner zu vernachlassigen. Die Endgenauigkeit, d.h. die Differenz von Naherungslosung und exakter Losung, ist bei allen erwahnten Verfahren vergleichbar .

2.6

Ubertragung auf mehrdimensionale Probleme

Das Newtonsche Verfahren lasst sich auch auf mehrdimensionale Probleme iibertragen. Wir miissen dabei allerdings auf die Anschauung verzichten, daja bereits fUr eine zweidimensionale Vektorfunktion von zwei Veranderlichen ein 4-dimensionaler Raum notwendig ware. Der Grundgedanke des Newtonverfahrens lasst sich auch so formulieren: Wir linearisieren die Funktion im Punkt (znl/(zn»

Die Nullstelle der linearisierten Funktion ist die nachste Naherung z n +1.

o=

I(zn)

+

I'(zn)· (zn+1 - zn)

セ@

Zn+l = Zn -

Herleitung fUr die Dimension n = 2:

_f(z,y) = (!I(z,y»)

h(z,y)

!

o

Wir betrachten die Taylorentwicklungen fiir die Komponenten

Ii :

p(::\ .

19

2.6 Ubertragung auf mehrdimensionale Probleme

i = 1,2

Wenn wir die beiden Linearisierungen der Komponenten Ii zu Null setzen, erhalten wir die beiden linearen Gleichungen fUr die nachste Naherung (Xn+1IYn+d. 9

o

h(Xn,Yn)

+

Odl(Xn,Yn)' (Xn+l - Xn)

+

02l1(Xn,Yn)' (Yn+l - Yn)

o

h(Xn,Yn)

+

Od2(Xn,Yn)' (Xn+1 - Xn)

+

o2h(xn,Yn)' (Yn+l - Yn)

oder vektoriell geschrieben :

( xn+l - xn) Yn+l - Yn

Man nennt A die Funktionalmatrix der Abbildung f. Matrix, so erhalten wir -

+

10

(xn+l) Yn+1

1st A-I die zugehorige inverse

-

(::)

bzw.

( xn+l) Yn+1 Fiir n = 2 liisst sich das Losen eines nichtlinearen Gleichungssystems auch anschaulich interpretieren. Die zu den Funktionen z h(x,y) und z h(x,y) gehorenden Flachen schneiden sich in einer Raumkurve. Die DurchstoBpunkte dieser Raumkurve durch die (x,y)-Ebene sind die LOsungen des Gleichungssystems. In der nachfolgenden Graphik ist die Schnittkurve der beiden Flachen

=

=

z =

h(x,y)

z

4y

dargestellt. 9

Die beiden Gleichungen lassen sich auch wie rolgt plausibel machen: Wir betrachten z J;(x,y) ala reelle Funktion zweier Veranderlicher, die wir im Anschauungsraum darstellen konnen. Die Tangentialebenen in (xnIYn) werden beschrieben durch die Gleichungen

=

i

=

10

= 1,2

Der Schnitt dieser Tangentialebenen mit der Koordinatenebene z 0 ergibt den n1ichsten Iterationspunkt (xn+lIYn+l). Die Matrix A. triigt die Bezeichnung Jacobi-Matrix. Sie lust sich ala Ableitung der vektorwertigen Funktion

(:)

interpretieren.

f(x,y) -

=

(h(x,y») h(x,y)

20

2 Iterationsverfahren zur LOsung nichtlinearer Gleichungen

z == h(x,y) == x 3

z = h(x ,y) = x 2 + 2y2 - 8

-

4y

40 20

o -20 -40 3

3

-3

Ebenso lassen sich die Losungspunkte als Schnitt der Hohenlinien von h(x,y) und h(x,y) zum Niveau z = 0 deuten. Die beiden LOsungen zu dem Beispiel

h(x,y)

= x 2 + 2y2 - 8

h(x,y)

=

x3

-

SイM

セM

Mセ

x 2 + 2y2 - 8 = 0

4y x3

ergeben sich zu: --+*

Xl

セMイ@

-

4y = 0

= (1.82770057556632) 1.52635359698769)

--+*

x

2

Beispiel:

h(x,y)

X -

sinx - cosy

=

h(x,y)

y

sinx + cosy

= 0

--...

A-I =

0

1- cos:z: A= ( -cos:z:

(1- siny 1 1- cos x -smy+ 2cosx ·smy· cos x

Starten wir die Iteration mit :Z:o

-sin y ) 1- cos x

= 2 und Yo = 0, so ergibt sich:

siny ) 1- siny

__セ@

21

2.6 Ubertragung auf mehrdimensionale Probleme

,

セPNYWR@

QNPセI@

0.090702

( 1.93595115221563 ) -0.06404884778437

( 0.74871988457245 PNTUSYQRXWセ@ -0.25128011542755 0.95496086706126

(0.003933 ) -0.000167

(1.93301392268874 ) -0.06290033605741

3

( 0.74996691526424 0.04435402686890) -0.25003308473576 0.95564597313110

10-3. (-0.121824) 0.008768

( 1.93310489810176 ) -0.06293917604938

4

( 0.74992873911464 NPTSWUYXQVセ@ -0.25007126088536 0.95562249901844

10- 5

• (

5

( 0.74992994100763 0.04437676440141) -0.25007005899237 0.95562323559859

10-6



6

( 0.74992990320061 0.04437678757387) -0.25007009679939 0.95562321242613

10-8

• (

7

( 0.74992990438991 0.04437678684493) - 0.25007009561009 0.95562321315507

10-9



8

( 0.74992990435250 NPTSWVXセ@ -0.25007009564750 0.95562321313214

10-11

• (

9

( 0.74992990435367 0.04437678686714) -0.25007009564633 0.95562321313286

10- 12



10 ( 0.74992990435364 0.04437678686716) -0.25007009564636 0.95562321313284

lO- H

• (

1

( 0.70614146371870 -0.29385853628130

2

0.383400 ) -0.027251

( 1.93310203496547 ) -0.06293795685181

(-0.120604) 0.008575

( 1.93310212502996 ) -0.06293799520673

0.379386 ) -0.026976

( 1.93310212219680 ) -0.06293799400020

(-0.119343) 0.008486

( 1.93310212228592 ) -0.06293799403815

0.375433 ) -0.026700

( 1.93310212228312 ) -0.06293799403696

(-0.118016) 0.008548

( 1.93310212228321 ) -0.06293799403700

0.388578 ) -0.022204

( 1.93310212228320 ) -0.06293799403700

Der Hauptrechenaufwand besteht im Erstellen der inversen Matrix A -1. An obigem Beispiel sehen wir, dass sich diese beimjeweiligen Iterationsschritt nur wenig andert. Viele Rechenprogramme lassen aus diesem Grund die inverse Matrix fUr zwei bis drei Schritte fest und bestimmen die inverse Matrix nur bei jedem zweiten bzw. dritten Schritt neu. Dadurch wird das Programm etwas schneller. Problem: Hat dies auf die Endgenauigkeit Einfluss? Nein, denn "ungenaue" Zwischenschritte, Rundungsfehler etc. erhohen eventuell die Zahl der Iterationschritte bis zur gewiinschten Genauigkeit (dies wird aber dann durch die Schnelligkeit des Einzelschritts mehr als ausgeglichen), verandern aber nicht

2 Iterationsverfahren zur LOsung nichtlinearer Gleichungen

22

die erzielbare Endgenauigkeit - das Verfahren zieht in die Nullstelle " hinein " . Die fUr die Dimension n = 2 erzielte Verallgemeinerung des Newtonverfahrens liisst sich wartlich auf hahere Dimensionen iibertragen. Allerdings steigt dann der Rechenaufwand betrachtlich an.

2.7

Realisierung mit MATLAB

Das Software-Paket MATLAB stellt fUr obigen Fragenkreis die folgenden Prozeduren zur Verfiigung: 1) "fzero" liefert, ausgehend von einem Startwert, die Nullstellen einer Funktion einer reellen Veranderlichen. Implementiert ist ein Newton-Verfahren, wobei an Stelle des Differentialquotienten ein Differenzenquotient benutzt wird. Syntax: z=tzero('tunction',xO,tol)

tol eZ = 2 - x soli gelast werden. Function-File: tunction y=bsp1(x); y=2-x-exp(x) ;

Eingabe: z=tzero('bsp1',1,1e-10)

z = 0.44285440100239

2) "roots" liefert die Nullstellen eines Polynoms - auch komplexe Nullstellen. Die Prozedur "fzero" wiirde nur die reelle Nullstellen liefern. Die Eingabe eines Startwertes ist nicht erforderlich. Auf die dahinter liegende Theorie kann hier nicht eingegangen werden. Syntax: z=roots(p)

p : Koeffizienten des Polynoms in absteigender Reihenfolge Beispiel: p(x) = x 3 - 2x - 5 z=roots([1 0 -2 -5])

z = 2.09455148154233 -1.04727574077116 + 1.13693988908893i -1.04727574077116 - 1.13693988908893i

23

2.7 Realisierung mit MATLAB

3) "fsolve" ergibt Nullstellen bei mehrdimensionalen Problemen. Die Prozedur benutzt eine Kombination verschiedener mathematischer Methoden (Intervallschachtelung, Newton-Verfahren, etc). Ebenso kann die Funktionalmatrix optional eingegeben werden - ansonsten werden die Ableitungen durch Differenzenquotienten approximiert. Syntax:

fsolve('function',xO,options,'grad') function Vektorfunktion

xO Startvektor

grad Funktionalmatrix

Dabei steuert "options(2)" die Genauigkeit in セL@ d.h. das Abbruchkriterium bezieht sich auf die Differenz aufeinanderfolgender n。ィ・イオョァセォN@ Mit "options(3)" wird die Differenz des Funktionswerts ヲHセI@ zum Nullvektor als Abbruchkriterium bestimmt. Das Verfahren bricht ab, wenn beide Kriterien erfiillt sind. Die beiden letzten Parameter sind optional. Beispiel: Das bereits oben betrachtete Gleichungssystem soll gelost werden.

o o

=

x - sm x y

smx

Function-File:

function y=num1(x); y(1)=x(1)-sin(x(1»-cos(x(2»; y(2)=x(2)-sin(x(1»+cos(x(2»; function p=num1g(x); Funktionalmatrix zu num1.m p(l,l)=l-cos(x(l»; p(l,2)=sin(x(2»; p(2,l)=-cos(x(l»; p(2,2)=1-sin(x(2»; Yo

Eingabe:

options(2)=le-12; z=fsolve('num1', [2;0],options, 'num1g')

z = 1.93310212228320 -0.06293799403700

cos y

+

cosy

24

2 Iterationsverfahren zur LOsung nichtlinearer Gleichungen

4) »solve" ermoglicht geschlossene Losungen und algebraische Umformungen (Computeralgebra!) .

Syntax: solve( 'S', 'x') S

Gleichung

x Variable, nach der aufzulosen ist Beispiel: Schnitt zweier Kreisgleichungen 2x + y2 24 x2 x2

16x

+

y2

+

2y

+

40

0

= 0

u =

=

=

x 4, Y -4 x = S, Y = 3

oder mit Parametern

u =

x = RootOf(200*_Z-2+(-8+28*a-28*b)*_Z+4*a+a-2-2*a*b+b-2), y = 7*RootOf(200*_Z-2+(-8+28*a-28*b)*_Z+4*a+a-2-2*a*b+b-2) ... -1!2*b+l/2*a Hierbei bedeutet RootOf(G) die symbolische Losung der quadratischen Gleichung G. Die LOsung der quadratischen Gleichung ergibt sich aus:

w= [1/S0-7/100*a+7/100*b+l/l00*(4-228*a+28*b-a-2-98*a*b+49*b-2 ... +100*a*b-3)-(1/2)] [1/S0-7/100*a+7/100*b-l/l00*(4-228*a+28*b-a-2-98*a*b+49*b-2 ... +100*a*b-3)-(1/2)]

25

Lineare G leichungssysteme

3

Das Losen von linearen Gleichungssystemen, die Inversion von Matrizen etc. ist der rechentechnische Kern fast aller numerischen Verfahren. Auch viele Software-Pakete sind aus solchen Bibliotheken zur linearen Algebra entstanden. Es sollen hier nun nicht aIle, teilweise sehr kunstvolle Verfahren zur effizienten Losung von Fragestellungen der linearen Algebra behandelt werden. Diese stehen i.a. dem Anwender als fertige Unterprozeduren zur Verfiigung. Ziel dieses Abschnitts ist es, dem Leser ein Gespiir fiir die dabei auftretenden numerischen Probleme zu geben. Dariiber hinaus gehendes Interesse kann durch das Studium eines mehr allgemein gehaltenen Lehrbuchs der Numerik gestillt werden.

3.1

GauB-AIgorithmus

Beim Losen von linearen Gleichungssystemen werden sukzessive Variable eliminiert. Man stellt eine gestaffelte Form her. Dazu sind folgende Aquivalenzumformungen erlaubt: 1) Vertauschung zweier Gleichungen. 2) Multiplikation einer Gleichung mit einer Konstanten c =F O. 3) Addition des Vielfachen einer Gleichung zu einer anderen. 4) Vertauschung von Unbekannten (Vertauschung von Spalten). Beispiel: %1 %1 2%1 %1

0 0 %1

0 0

+ + + + + + + + +

%2

+

2%2

%3 %3

3%2

+

%2

+

%3 2%3

%2

%3

+

%2

0

%3 %3

+

%3

-2

6

5

%3

%2

%2

= = = =

セ@

-2

8 9

= = =

I· (-1) I· (-2)

I· (-1) ..J

-2

8 1

%1 :::}

%2 %3

= = =

-12

9 1

Die gestaifelte Form lasst sich bei jedem linearen Gleichungssystem durch zulassige Umformungen erreichen. Auf den folgenden Seiten ist diese Vorgehensweise an einem System von m linearen Gleichungen fiir n Unbekannte systematisch dargestellt. «n,m)-System) R. Mohr, Numerische Methoden in der Technik © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden 1998

3 Lineare Gleichungssysteme

26

GauBsches Eliminationsverfahren: Man erzeugt die gestaffelte Form durch systematisches Vorgehen. Dabei verwendet man die auf der vorigen Seite angegebenen Umformungen: aU z l a21 z 1 am l Zl

+ +

a12z 2

+

a m 2Z 2

a22 z 2

Annahme: au

+ +

a13 z 3

+

a m3 Z3

a21 z 1

+ +

a22 Z 2

+ +

aml Zl

+

a m 2Z 2

+

aUzl

+

C22 Z 2

+ +

Cm 2 Z 2

+

a12Z 2

Annahme: C22 aUZl

+

=1=

a12Z 2

+ +

+ +

+

+

b1 b2

= =

aln Z n a2n Z n

bi ail:

Storglieder Koeffizienten 1

= bm

amnZn

OJ sonst Zeilenvertauschung vornehmen.

=1=

a12z 2

aUzl

a23 z 3

+ +

aln Z n

a23Z 3

+ +

a m3 Z3

+

+

amnZn

a13Z 3

a2n Z n

=

b1

= =

b2

GHャセI@

bm •

+ +

+ +

aln Z n

=

C23Z 3

C2n Z n

=

bl d2

cm3z 3

+

+

CmnZn

=

dm

a13Z 3

セI@

0, sonst Zeilenvertauschung (oder Spaltenvertauschung) vornehmen. + a13Z 3 + + aln Z n = b1

C32Z 2

+ +

Cm 2 Z 2

+

C22Z 2

C33Z 3

+ +

Cm 3 Z 3

+ ... +

C23Z 3

+ +

d2

C2n Z n

GHャセI@

I(-ffi)

C3n Z n

=

CmnZn

= dm •

d3...J

Man setzt das Verfahren fort bis zu folgender Endgestalt: PU Z I

+

P12 Z 2 P22 Z 2

+ +

P13 Z 3 P23 Z 3

P33 Z 3

+ + +

+ + + PrrZr

Wobei gilt: PU' P22' .... Prr die Diagonalglieder dividiert. 1

1. Index: Zeilenindex,

=1=

+

Prr+1 Zr+l 0

+ +

+ +

0

+

+

Pln Z n P2n Z n PsnZn

= = =

ql q2 q3

0

= qr = qr+1

0

=

PrnZn

qm

O. 1m Folgenden denken wir uns die Zeilen durch

2. Index: Spaltenindex

27

3.1 Gauf3..AIgorithmus Fallunterscheid ungen : 1) r

< n und

+

Xl

qr+l

= qr+2 = ... = qm = 0:

+

X2

Xr

Dann sind

+ Pr r+l Xr+l + ... + Prnxn

Xr+l,

X r +2,

... ,

Xn

Xr ,

Xr-l,

... ,

Xl

In diesem Fall erhalt man eine 2) r

I (n -

qr

beliebig wahlbar セ@ n - r Parameter, sind dann von diesen Parametern abhangig. r)-parametrige Losung

I.

= n und qr+l = qr+2 = ... = qm = 0: Xn Xn-l

=?

X n -2

=

I.

I

In diesem Fall existiert eine eindeutige Losung Man erhalt sie durch " Ruckwartseinsetzen" .

3) Nicht aIle qr+l, qr+2, ... , qm sind Null. In diesen Fallen treten Widerspruche auf, z.B. Xn = qr+l -I Keine Losung

0.

I.

0.1

Fur den Fall eines eindeutig losbaren, quadratischen Gleichungssystems wollen wir uns noch die Anzahl der zur Losung notwendigen Rechenoperationen uberlegen. Der k-te Eliminationsschritt stellt sich wie folgt dar: aij

1---+

bi

1---+

「ᄋMセ@

aij -



aki . aik au

akk

i k

k+ 1, k+l,

,n ,n

i

k+ 1,

,n

Nft.

Wir berechnen zunachst die Faktoren Dies ergibt (n - k) Divisionen. Fur die Transformation der aik fallen dann noch (n - k) . (n - k) wesentliche Rechenoperationen an; beim Uberschreiben der bi sind weitere (n - k) Rechenoperationen notwendig. Insgesamt ergibt sich die Anzahl der fUr den k-ten Eliminationschritt notwendigen Rechenoperationen zu:

(n - k)2

+

Fur aIle Eliminationsschritte k n-l

L:[(n+l-k)2-1] k=l

2(n - k) = (n + 1 - k)2 - 1

= 1,2,

... ,n - 1 ergibt dies die Summe

n

= L:12

- (n-l)

= ョHKャセRI@

- n

セR@

D.h. die Zahl der wesentlichen Rechenoperationen steigt mit der dritten Potenz an!

3 Lineare Gleichungssysteme

28

Rundungsfehler 1m Nachfolgenden wollen wir uns nur mit dem Fall eindeutig 100barer Gleichungssysteme beschaftigen. Bier existiert ein geschlossenes LOsungsverfahren, das auf eine endliche Zahl von Grundrechenoperationen hinauslauft. Die numerische Problematik besteht nun darin, dass sich Rundungsfehler einer Rechenoperation auf aile folgenden iibertragen. Dies kann bei Gleitkommaarithmetik zu groBen Abweichungen fiihren. Das folgende Beispiel besitzt die exakte Losung {Xl 0, X2 -1, X3 1 }.

=

=

7

7X2

lOx 1

+

-3X1 5X1

=

+ X2 +

3.901

2.099x2

6

I· (0.3) I· (-0.5)

セ@

7

o o +

+ 2.5x2 +

lO X 1

7X2

0

0.001x2

+

0

6.001

0.001x2

0

2.5

I· (2500)

--.J

7

+ +

6.001

6X3 1.5005 . 10 4 x3

,1.50025.10

=

4

+ 2.5

'" =h

J

Nehmen wir an, dass wir einen Computer mit fiinf Dezimalstellen benutzen, bei dem entweder abgeschnitten (fle)2 oder gerundet (flr)2 wird. In beiden Fallen bestimmen wir die Losung. Fall fie b(e) 3

= =

=

fie (fIe (1.50025 . 104 ) + 2.5) fle(1.5002· 104 + 2.5) f le(1.50045.104 ) 1.5004 . 104

Fiir X3 erhiilt man damit

クセ・I@

= = =

fie HセZョ@ fie (0.999933356) .99993

Aus der zweiten umgeformten Gleichung ist X2 zu berechnen: -0.00lx2

+

6·0.99993

= 6.001

Wir erhalten

f le(6 ·0.99993) = fle(5.99958) = 5.9995

fle(6.001 - 5.9995) = .00150

und somit 2

Die Kiirzel fie bzw. fir bedeuten "floating cut" bzw. "floating rounded".

29

3.2 Pivotelementsuche (e) X2

= fl (0.0015) = -1 5000 e

Aus der ersten Gleichung erhalt man

-0.001

.

Xl

-.35000

10X1 - 7· (-1.5000) = 7

Fall fir

「セI@

fir (fIr (1.50025 .104 ) + 2.5) fir (1.5003 .10 4 + 2.5) f lr(1.50055.10 4 ) 1.5006.104

Fiir

クセI@

X3

erhalt man damit =

= =

fir ョZセァI@ fir (1.00006664) 1.0001

Aus der zweiten umgeformten Gleichung ist

-0.001x2

+

X2

zu berechnen:

6· 1.0001

= 6.001

Wir erhalten

flr(6· 1.0001)

= fir (6.0006) = 6.0006

fle(6.001 - 6.0006) = -.00040

und somit

xセI@

=

fir (

M]PセQTI@

Aus der ersten Gleichung ergibt sich wieder

= .40000 Xl

lOX1 - 7· (.40000) = 7

Wie die Zusammenstellung zeigt, liegen in beiden Fallen die numerischen Losungswerte weit von den exakten entfernt. Dies hat seine Ursache beim zweiten Umformungsschritt (Multiplikation mit 2500).

3.2

.98000

exakt (fIe) (fIr)

0 -.35000 .98000

-1 -1.5000 .40000

1 .99993 1.0001

Pivotelementsuche

Der verheerende Einfluss beim Abschneiden oder Runden kann dadurch verkleinert werden, dass man versucht, durch Umordnen des Gleichungssystems die Multiplikation mit groBen Faktoren zu umgehen. Dies sei an obigem Beispiel exemplarisch dargestellt.

3 Lineare Gleichungssysteme

30 10Xl -3Xl

7

7X2

+

5X l

2.099x2 X2

+ +

=

3.901

5X3 =

6

6X 3

I· (0.3) I· (-0.5)

セ@

7

o o +

+ +

0.001x2 2.5x2

6.001 2.5

7

o + o

2.5x2

+

2.5

0.001x2

+

6.001

I· (.0004)

.-.-l

7

10Xl

o + o +

2.5

o +

6.0020X3

6.001 + .001

'---v----" =b 3

Bei (fIe) und (fIr) ergeben sich jetzt sogar bei Beriicksichtigung von nur vier Stellen die exakten Losungen

「セ・I@

fie (fle(6.001

+ 0.001)

= f le(6.002) = 6.002

Fiir

クセ・I@

X3

erhiilt man damit fie HセZI@ = fie (1.000) = 1.000

und weiter xセ・I@

= -1.000

xセ・I@

= .0000

Man wird deshalb vor jedem Eliminationsschritt Zeilen und Spalten SO vert auschen , dass der betragsmaBig groBte Koeffizient in der linken oberen Ecke des Restschemas steht. Dieses Vorgehen nennt man Pivotelementsuche. Es verkleinert den Einftuss von Rundungs- und Abschneidefehler. Diese "totale" Pivotelementsuche erfordert hohen Rechenaufwand. Man beschrankt sich aus diesem Grund oft darauf, nur innerhalb der Spalte nach dem betragsmaBig groBten Element zu suchen (Spaltenpivotstrategie).

31

3.3 Nachiteration

3.3

N achiteration

Trotz optimaler Auswahl des Pivotelements konnen beim Rechnen mit Gleitpunktarithmetik Rundungsfehler entstehen. Durch eine dem expliziten Losungsverfahren angeschlossene Nachiteration lasst sich oftmals die Genauigkeit verbessern. Gesucht ist eine Losung des eindeutig losbaren linearen Gleichungssystems

= 4. aᄋセ@

Nun sei セHoI@

eine eventuell mit Rundungsfehlern behaftete Losung. Deshalb gilt:

4. Ein Korrekturvektor 、セHャI@ erfiillt ist.

A· HセoI@ 1st 、セHャI@

+ 、セHャᄏI@

A· セHoI@

=

::j:. 0

1:.(1)

.

solI so bestimmt werden, dass die lineare Gleichung "besser"

= 4.

= 4. _ A. セHoI@

A· 、セHャI@

......

1:.(1)

eine Losung des linearen Gleichungssystems

=

A . 、セHャI@

1:.(1) ,

dann ist セHQI@

=

セHoI@

+ 、セHャI@

eine "bessere" Losung des Ausgangsproblems. Diesen Sachverhalt wollen wir uns an folgendem Beispiel mit Hilfe von MATLAB klar machen.

1.5000 1.0000 1.2000) ( 1.2800 1.2000 0.8000 . 1.2000 0.9000 0.8955

(Xl)

= ( 3.28

X3

3.00

A =[1.5 1 1.2;1.28 1.2 0.8;1.2 0.9 0.8955]; d=[3.7 3.28 3]'; xO=A\d -46.99999999996229 26.19999999998020 39.99999999996938 r=d-A*xO 1.0e-014 * -0.44408920985006 0.17763568394003 -0.08881784197001 dx=A\r

3.70)

X2

3 Lineare Gleichungssysteme

32

1.0e-010

*

-0.11309471877606 0.06946364619888 0.09177843670227

x1=xO+

E

fiir

lak;i

k = 1,2, ... ,n

i#

Aus der Naherung {xr)} solI durch Einsetzen eine neue Naherung サクセュKャIス@ bestimmt werden. Hierbei kann man auf der rechten Seite サクセュIス@ so lange einsetzen, bis サクセュKャIス@ komplett ist (Gesamtschrittverfahren), oder man verwendet die jeweils neuesten Schatzwerte der einzelnen Komponenten (Einzelschrittverfahren).

k = 1,2, ... n

Gesamtschrittverfahren

bzw. als Einzelschrittverfahren

Das Konvergenzverhalten solI an folgendem einfachen Zahlenbeispiel demonstriert werden: Das lineare Gleichungssystem

besitzt die exakte Losung セ@

0.12820512820513) ( 0.15384615384615 0.17948717948718

Mit dem St.,tvektm .,(0) =

G) ..

halt man mit dem Einret.chdttven.lne.,

, Die partiellen Ableitungen der Iterationsvorschrift egeben sich zu

8x;Jk

=

_.!!li akk

.

Die Konvergenz ist gesichert, wenn die Summe der Betriige der partiellen Ableitungen jeder Zeile kleiner 1 ist.

3 Lineare Gleichungssysteme

34

0.25000000000000 0.16666666666667 0.13715277777778 0.13049768518519 0.12877363040123 0.12834764017490 0.12824072399584 0.12821402983628 0.12820735338929 0.12820568451980 0.12820526728224 0.12820516297454 0.12820513689747 0.12820513037821 0.12820512874840 0.12820512834095 0.12820512823908 0.12820512821362 0.12820512820725 0.12820512820566 0.12820512820526 0.12820512820516 0.12820512820514 0.12820512820513 0.12820512820513

1 2 3 4 5 6 7 8 9 10 11

12 13 14 15 16 17 18 19 20 21 22 23 24 25

3.5

0.08333333333333 0.13888888888889 0.14988425925926 0.15287422839506 0.15360162680041 0.15378515089163 0.15383089237361 0.15384233937251 0.15384520015320 0.15384591542913 0.15384609424138 0.15384613894500 0.15384615012086 0.15384615291483 0.15384615361332 0.15384615378795 0.15384615383160 0.15384615384252 0.15384615384524 0.15384615384593 0.15384615384610 0.15384615384614 0.15384615384615 0.15384615384615 0.15384615384615

0.16666666666667 0.17361111111111 0.17824074074074 0.17915702160494 0.17940618569959 0.17946680223337 0.17948209590764 0.17948590769780 0.17948686161438 0.17948710001277 0.17948715961909 0.17948717452011 0.17948717824542 0.17948717917674 0.17948717940957 0.17948717946778 0.17948717948233 0.17948717948597 0.17948717948688 0.17948717948710 0.17948717948716 0.17948717948717 0.17948717948718 0.17948717948718 0.17948717948718

Uberbestimmtes lineares Gleichungssystem

1m Umfeld numerischer Fragestellungen treten haufig Gleichungssysteme auf, bei denen mehr Bestimmungsgleichungen - haufig iiber Messungen oder ahnliches gewonnen - als Unbekannte auftreten. Bei solchen Gleichungssystemen sind Werte fiir Zi gesucht, die aile Gleichungen moglichst genau erfiillen - sogenannte ausgeglichene LOsungen. Beispiel: Die Abstinde von vier Punkten auf einer Geraden sollen bestimmt werden.

, I A

...

Z1

Z2

''''I B

...

Z3

" I C

...

.

I

D

35

3.5 Uberbestimmtes lineares Gleichungssystem Zur Bestimmung dieser drei Abstande sind eigentlich nur drei Messungen notwendig. Wenn wir aber mit Messfehlern rechnen, ist es naheliegend, nicht nur die Strecken AB, BC und CD zu messen, sondern auch noch zusatzlich als Kontrollmessung die Abstande von AC, AD und BD zu bestimmen. Insgesamt erhalten wir das nebenstehende lineare Gleichungssystem. Dieses lineare Gleichungssystem A . セ@ = 4 ist nicht exakt losbar. Je nach Wahl von セ@ entsteht

Xl Xl Xl

+ +

X2 X2 X2 X2

= =

+

X3

+

X3 X3

= =

5.05 8.95 12.12 3.91 7.03 2.94

ein Fehler !:..

AZN]aᄋセMUQ@

Wir wollen nun eine "Losung" セ@ bestimmen, so dass der Fehlervektor !:. moglichst klein wird. Ais MaB 5 fUr die Beurteilung des Fehlers benutzen wir:

= Tl2 + T22 + ... +

1!:. 12

2

=!

Tm

Min

Fiir zwei Variable Xl, X2 wollen wir die Beziehungen zur Bestimmung der ausgeglichenen Losung explizit herleiten.

( Tl) ···

_

T2

bzw.

(all al2) a2l

a22

. .. . . .

.

HZセI@

am 2 Das Fehlerquadrat fUr die ite Komponente ergibt sich zu amI

Tm

Die Summe der Fehlerquadrate ist eine Funktion der Variablen Xl. m

=

f(Xl,X2)

E

X2.

m

Tl

i=l

=E

(ail· Xl

+

ai2· X2 - di)2

i=l

Dies ist eine quadratische Funktion von Xl. X2 und hat im XlX2x3-Koordinatensystem die Gestalt eines Paraboloids. Zur Bestimmung des Minimums mussen wir die ersten partiellen Ableitungen Null setzen.

セヲHxャLRI@UXI

=

f:

i=l

2(ail· xl

m

+

2 E ail· ail . Xl i=l 2

= 5

ai2· x2 - di)·ail

+

{f: ail· ail . Xl i=l

2 { Xl .

ゥセ@

ail· ail

ail· ai2 . X2 - ail· di

+

m

E ail . ai2 . X2

i=l

+

Als MaS wire genauso die Summe der Betriige

II!: II

= hi + Ir21 + ... + Irml

plausibel. Durch die Betragsfunktion gehen aber siimtliche Hilfsmittel der Differentialrechnung verloren und deshalb benutzt man in Fehlerrecbnung und Statistik fast ausschlieBlich die Summe der Abstandsquadrate a1s Abstandskriterium.

3 Lineare Gleichungssysteme

36

Analog erhalten wir fUr die zweite partielle Ableitung

-A- f(x},x2)

=

UX 2

2 {Xl.

f:

ai2· ail

i=l

+

X2·

f: ai2 . di} f: ai2 . ai2 - i=l

i=l

.

Aus den Bedingungen

-Af(x1 ,X2) UX1 -A- f(x1 ,X2)

=

0

UX2

erhalten wir das lineare Gleichungssystem fUr Xl .

Xl·

lセ@

ail· ail}

+

X2·

{f

ai2· ail}

+

X2·

,=1

0

Xl, X2 :

lセ@

ail . ai2 }

{f

ai2· ai2}

m

E ail· di

i=l m

,=1

=

E ai2· di

i=l

Mit Hilfsmitteln der Vektorrechnung lassen sich die Koeffizienten des obigen Gleichungssystems etwas iibersichtlicher als Skalarprodukte darstellen. Sind !!1' !!2, 4. die entsprechenden Spaltenvektoren des Ausgangssystems

a21

au)

am1

am 2

!!1

!!2

C" セ@

a22

. HZセI@

=

(:D セ@

4.

so erhalten wir fUr unser Gleichungssystem, das die "ausgeglichene" Losung erbringt,

Xl .

(!!1 . !!1)

+

X2·

(!!1 . !!2)

!!1·4.

Xl .

(!!2 . !!1)

+

X2·

(!!2 . !!2)

!!2.4.

Die Verallgemeinerung fUr n Unbekannte ergibt sich zu au

a12

a21

a22

a1n a2n

{:)

d1 d2

=

bzw. aᄋセ@

= 4.

dm

Bezeichnen wir bei einem Problem mit n Unbekannten wieder die Spaltenvektoren der Koeffizientenmatrix mit!!;, so erhalten wir analog als Gleichungssystem zur Bestimmung der ausgeglichenen LOsung:

37

3.5 Uberbestimmtes lineares Gleichungssystem HセQ@

.

%1 . Hセ@

. セQI@

+ +

%1 . Hセ@

• セQI@

+

%1 .

セQI@

+

%n·

+

%n

%2· Hセ@

. セRI@

+ +

%2· Hセ@

NセI@

+ ... +

%2·

HセQ@

NセI@

NHセ@

HセQᄋI@ NセI@

%n·

Hセ@

.

セI@

a =n

·d -

=

セN@ Mit der MatrizenEine solche Gleichung nennt man Normalengleichung N· セ@ rechnung lassen sich obige Skalarprodukte noch iibersichtlicher darstellen. Die Koeffizientenmatrix erhiilt man durch

und die rechte Seite durch セ]atᄋT@

.

Zum Abschluss wollen wir noch unser Eingangsbeispiel mit MATLAB lasen. A=[l 0 0;1 1 0;1 1 1;0 1 0;0 1 1;0 0 1]; I=A'*A 3 2 1

2 4 2

1 2 3

d=[5.05 8.95 12.12 3.99 7.03 2.94]'; c=A'*d 26.1200 32.0900 22.0900

x=l\c 5.0375 3.9925 3.0225 y=A\d 5.0375 3.9925 3.0225

Wie die letzte Eingaberoutine zeigt, liefert MATLAB bei der Eingabe eines iiberbestimmten linearen Gleichungssystems sofort die ausgeglichene Lasung. Der zuniichst beschrittene Weg iiber die Bestimmung der Normalengleichung muss bei Verwendung von MATLAB nicht mehr explizit durchgefiihrt werden.

38

3 Lineare Gleiehungssysteme

3.6

Nichtlineare Ausgleichsprobleme

Beim Eingangsbeispiel des vorangegangenen Absehnitts fUhrten »Kontrollmessungen" der Abstande zu einem tiberbestimmten linearen Gleiehungssystem fUr die unbekannten {Zi}. Es sind aber aueh Situationen denkbar, in denen sinnvolle Kontrollmessungen zu einem nichtlinearen Gleiehungssystem ftihren. Beispiel: Bei einer regelmiiBigen Pyramide mit quadratisehem Grundriss sollen die Kantenlange a des Quadrats und die raumliehe Hohe H bestimmt werden. Als Kontrollmessungen bieten sieh an: • Diagonale der Grundflaehe d , • Lange der Pyramidenkante s , • Hohe einer Seitenlinie h . Bezeiehnen wir mit Z1 die Lange der Grundseite und mit Z2 die Hohe, so erhalten wir ftir die Messwerte { a, H, d, s, h } das folgende Gleiehungssystem:

Z1 Z2 V2Z1 ャHセI@

= !1

H d

h(Z1,Z2) 12(z1,z 2) = fa(Z1, Z2)

Z1 Z2 V2Z1

jセコ@

a

jセコ@

+ コセ@

s

14(z1,z 2)

jセz@

+ コセ@

h

!s(Z1, Z2) =

+ コセ@

jセコ@

+ コセ@

Dies ist ein System von fUnf niehtlinearen Gleiehungen fUr die beiden zu bestimmenden GraBen Z1, Z2. Dieses System ist in der Regel tiberbestimmt, d.h. es gibt keine Datenkombination (zi,z;), die alle fUnf Gleiehungen gleiehzeitig erflillt. Wir sind damit in einer ahnliehen Situation wie im vorangegangenen Absehnitt und wollen nun versuchen, einen Datensatz ftir (Z.,Z2) zu finden, so dass alle fUnf Gleiehungen mit minimalen Abweichungen in den Messwerten erftillt sind. Wir betrachten das tiberbestimmte System von N Gleichungen zur Bestimmung der n Unbekannten Z1,Z2, ... ,zn aus den Messwerten (d1,d 2 , .•• ,dN) : i

= 1,2, ... N

N"? n

Als ausgegliehene Losung dieser Problemstellung betraehten wir diejenige Kombination (zi,z;, ... LコセI@ fUr die die Summe der Fehlerquadrate F(Z1,Z2, ... ,Zn) minimal wird.

F(Z1'Z2' ... ,Zn) 8F(Zl,Z2' ... ,Zn) 8zj j

= 1, ... ,n

N = i=1 E

=

2

ri

N = i=1 E

[f,.( %1 ,Z2, 2 セ@L....J' i=1

2

[/i(z1,z2, ... ,Zn) - di] ... ,Zn

) - d·] . 8/i(z1,z2, , i:J ... ,zn) Zj

!

0

39

3.6 Nichtlineare Ausgleichsprobleme

Dieses System von n nichtlinearen Gleichungen ist in der Regel recht miihsam zu losen. Wenn wir nun die Fehlergleichungen am Messpunkt linearisieren, konnen wir die Methode des letzten Abschnitts zur Minimierung anwenden. Es ergibt sich daraus unter Umstanden eine Verbesserung des Startwerts. Diese Strategie kann iteriert werden und liefert im Falle der Konvergenz die gesuchte ausgeglichene Losung. Bei der Taylorentwicklung der Funktionen

ャゥHクセLァ@

li(X1,X2, ... ,Xn) =

... LxセI@

+

Ii

f:

j==l

。OゥHクセGァLᄋ@

Xj

.. LxセI@

. (Xj - xJ) + セ@

dXj

beriicksichtigen wir nur die linearen Glieder und erhalten als neues System 0 0 0) f,•.( x1,x2,···,xn

+ セ@L.J 。OゥHクセLァ@

J..I

j==l



uX1

... ,xg) . dx1. - . d. + r-.•.

Dies liisst sich als lineares Ausgleichsproblem fUr die dXj interpretieren. セ@L.J 。OゥHクセLァ@ ... ,xg) .dx.1 = di - f,( 0 0 0) J..I i x1,x2,···,xn + ri, i==l ,

uXj

",----

c?;

bzw. vektoriell : Addieren wir die Losung des linearisierten Ausgleichsproblems

zum Startvektor, so ergibt sich eine verbesserte Losung

セHQI@

= セHoI@

+ 、セN@

Wir wollen dieses Iterationsverfahren (GauB-Newton-Verfahren) auf unser Eingangsproblem anwenden.

エHセI@

=

(MZ"Z,] 12(x1,x2) Ia(Xl,X2) 14(x1,x2) 15(x1,x2)

Xl x2 V2X1 2 2 J!x 2 1 + x2

=

jセク@

+ クセ@

cHセI@

1 0

0 1 0

V2

(Cij) Rjエクセ@

XI クセ@

XI 2 x22 4J!.x 4 1

jエクセK@

Xa Xa

J!.X2+x2 4 1 2

3 Lineare Gleichungssysteme

40

Fur die Messwerte nehmen wir an:

4 --

Hセ、Zャ@

HTRZNセWj@

Als Startwerte fUr Seitenlange und Hohe benutzen wir die dafur gemessenen Werte: (0) _ セ@

HクセoI@

x (0) 2

_ (2.8) 45

-

.

Beim ersten Iterationsschritt erhalten wir:

c(O)

=

1.000000000 0.000000000 ( 1.414213562 0.284767033 0.148533276

0.000000000] 1.000000000 0.000000000 0.915322606 0.954856776

4. -

エHセoI@

=

HセZUQ@

0.083700578 -0.012748667

und den Korrekturvektor

、セ@

0.022785037) = ( 0.020101099

1m weiteren Verlauf der Iteration ergibt sich: (1:)

X2

0 2.80000000000000 1 2.82278503726894 2 2.82279690985320 3 2.82279693247424 4 2.82279693251384 5 2.82279693251391 6 2.82279693251391

4.50000000000000 4.52010109996749 4.52008932541702 4.52008930774969 4.52008930771878 4.52008930771873 4.52008930771873

Fehlerquadrat 8.784518230100659· 10 . ., 5.693493160018239. 10 -3 5.693492453146719. 10 -3 5.693492453144633 . 10 -3 5.693492453144693 . 10 -., 5.693492453144618 . 10 -3 5.693492453144618. 10 -3

Ab der dritten Iteration andert sich das Fehlerquadrat praktisch nicht mehr. Die folgenden Iterationen sind nur zur Demonstration des Konvergenzverhaltens aufgefUhrt und haben keinerlei praktische Bedeutung. Das folgende Schaubild zeigt die zu unserem Beispiel gehorende Fehlerquadratfunktion

3.6 Nichtlineare Ausgleichsprobleme

41

100

80

60 40

20

o 6

6

3

2

o

0

3 Lineare Gleichungssysteme

42

Wir erkennen ein gutartiges Minimierungsverhalten. Dies zeigt sich auch bei einer bewusst ungeschickten Wahl des Startvektors:

Fehlerquadrat

k

0 1 2 3 4 5 6 7 8 9 10 11

-1.000000000000000 1.993749690504469 3.466656482331118 4.039048271622871 2.920586805929859 2.822687204040376 2.822796502335632 2.822796931758668 2.822796932512591 2.822796932513910 2.822796932513912 2.822796932513912

-1.000000000000000 -1.966063731327278 -0.771720768050128 2.114793531427541 4.878374054888960 4.520499459838193 4.520089646688412 4.520089308308301 4.520089307719760 4.520089307718730 4.520089307718728 4.520089307718728

1.010867402908199.102 5.674175870122194 . 10 1 4.281029468637230 . 10 1 1.540076451798181 . 10 1 4.170563788942188.10- 1 5.693955345530580.10- 3 5.693492453915718. 10- 3 5.693492453144620. 10- 3 5.693492453144643. 10 3 5.693492453144596.10- 3 5.693492453144618.10 3 5.693492453144618.10- 3

Bei ungeeigneter Wahl des Startvektors braucht die mit der oben beschriebenen Methode gebildete Folge !!.(k) nicht zu konvergieren. Ebenso sind kritische Ausgleichsprobleme denkbar, bei denen das oben beschriebene Gau6-Newton-Verfahren nicht konvergiert. In solchen Situationen fUhren eventuell andere Minimierungsverfahren zum Ziel, auf die hier nicht eingegangen wird. MATLAB besitzt fUr diesen Fragenkreis die Prozedur "fmins". Sie minimiert die Fehlerquadratfunktion. Die notwendigen partiellen Ableitungen werden durch Differenzenquotienten approximiert. Der m-File fUr unser Beispiellautet:

function y=pyr(x); y=(x(1)-2.8).A2+(x(2)-4.5).A2+(sqrt(2)*x(1)-4).A2+(sqrt(O.5*x(1).A2 ... +x(2).A2)-5).A2+(sqrt(O.25*x(1).A2+x(2).A2)-4.7).A2; Neben der zu minimierenden Funktion ist der Startvektor und gegebenenfalls die Optionen fUr die Genauigkeit 6 einzugeben. Zur LOsung unseres Eingangsproblems sind folgende Befehle notwendig:

op(2)=le-12; op(3)=le-12; x=fmins('pyr'.[2.8;4.5].op); x' = 2.82279692983442 4.52008930974769 6

Hierbei bestimmt "op(2)" die Genauigkeit im x-Bereich und "op(3)" die Genauigkeit der zu minimierenden FUnktion.

43

4

Lineare Optimierung

Ein Programm zur linearen Qptimierung ist fester Bestandteil jedes mathematischen Software-Pakets. Bier solI nur die grundsatzliche Vorgehensweise eriautert werden.

4.1

Austauschverfahren

In diesem Abschnitt wollen wir einen Algorithmus fUr die Losung von linearen Gleichungssystemen entwickeln. Er entspricht inhaltlich dem bekannten GauB-Algorithmus, ergibt aber formal eine andere Datenorganisation. Die grundlegenden Schritte seien beim Problem der Inversion einer 3 x 3-Matrix eriautert.

(1)

Yl Y2

(2) (3)

Y3

als Matrix:

Yl Y2 Y3

-3 5 -4 2 -6 12 1 -2 2

Wir wollen nun das aus der Schule bekannte "Einsetzverfahren" zum Losen von linearen Gleichungssystemen nachvollziehen. Dazu losen wir z.B. die dritte Gleichung nach Xl auf Y3 =

und setzen

Xl

Xl

2X2

-

+

2X3

'""'-+

Xl

= Y3

+

2X2 -

2X3

(3a)

in die beiden anderen Gleichungen ein:

in (1) :

Yl

in (2) :

Y2

= =

-3(Y3 + 2X2 - 2X3) -3Y3 - X2 + 2X3 2(Y3 + 2X2 - 2X3) 2Y3 - 2X2 + 8X3

+

5X2 - 4X3

(1a) 6X2

+

12x3

(2a)

Wir stellen das veranderte System (1a), (2a), (3a) in Matrixform dar: Yl

Y2 Xl

Y3

X2

X3

-3 2 1

-1 -2 2

2 8 -2

Wir tauschen nun die unabhangige Variable X2 gegen Yl aus.

eingesetzt in (2a) :

Y2

in (3a) :

Xl

=

2Y3 - 2( -3Y3 - Yl + 2X3) + 8X3 8Y3 + 2Yl + 4X3 Y3 + 2( -3Y3 - Yl + 2X3) - 2X3 -5Y3 - 2Yl + 2X3

in Matrixform: R. Mohr, Numerische Methoden in der Technik © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden 1998

(26) (36)

4 Lineare Optimierung

44 1/1

Z3

-1 2

2 4

-2

2

Jetzt muss noch Z3 gegen 1/2 ausgetauscht werden:

(2e) eingesetzt: -31/3

Z2

in (Ib) :

= -71/3 ZI

in (3b) :

=

-51/3 -91/3

1/1 +' 2(-21/3 - !1/1 + !1/2) 21/1 + !1/2 21/1 + 2(-21/3 - !1/1 + !y2) 31/1 + !1/2

(Ie) (Ie)

in Matrixform: Z2 Z3 ZI

1/3

1/1

-7 -2 -9

-2

1/2

-! -3

Wir formulieren nun die Rechenregeln so, dass wir die veranderte Matrix direkt aus der Ausgangsmatrix bestimmen konnen. Den Koeffizienten im Schnittpunkt der auszutauschenden Variablen nennen wir Pivotelement (eingerahmt), die zugehOrigen Zeilen und Spalten entsprechend Pivotzeile bzw. Pivotspaite (unterstrichen). ZI -3 2

1/1 1/2 1/3

Z2 5

-4

-6

12

-2

セ@

m I

Z3

2

-2 Z3 2

Z2

1/3 -3

1/1 -1

1/2 ZI

ft -5

セ@ -2

1-2

-2

m セ@

1/1 1/2 ZI

1/3 -3 2 1

Z2 -1 -2 セ@

1/3 -7 -2 -9

セ@

8

-2 2

1- 3

Z2 Z3 Zl

Z3

1/1 -2

1/2

1

I

-3

2

-2

f

1

Rechenregeln 1) Das Pivotelement geht in seinen reziproken Wert iiber. 2) Die iibrigen Elemente der Pivotzeile sind durch das Pivotelement zu dividieren und mit dem umgekehrten Vorzeichen zu versehen. 3) Die iibrigen Elemente der Pivotspaite sind durch das Pivotelement zu dividieren.

45

4.1 Austauschverfahren

4) Die iibrigen Elemente werden nach der sogenannten Rechteckregel transformiert: 1st apq das Pivotelement, so ergeben sich

a/,.L Ifi

-

-1

I

aiA:

a pq apA:

Der Ausdruck aiq . apA: Hisst sich interpretieren als Produkt der k.ten Komponenapq . te der neuen Pivotzeile mit der i.ten Komponente der alten Pivotspalte. Schrelben wir diese neue Pivotzeile als sogenannte "Kellerzeile" unter die Ausgangsmatrix, so erhiilt man das folgende Schema: Xl

XA:

YI

au

alA:

Yi

ail

B

@

Yp

apl

apA:

a pq

iMセ@

a pq

...

Xq al q

I ... iMセ@

Das Austauschverfahren lasst sich auch bei der Losung von linearen Gleichungssystemen einsetzen: aUxl + al2 x 2 + a13 x 3 + + Storglieder a2l x I + a22 x 2 + a23 x 3 + + Koeffizienten Wir bringen das lineare Gleichungssystem auf die Form

!! = 0

und stellen es in unserem Austauschschema dar: X2

YI Y2

au

al2

XA: alA:

al n

-b l

a2l

a22

a2A:

a2n

-b 2

Yi

ail

ail

aiA:

ain

-bi

Ym

amI

am 2

amA:

a mn

-bm

Xl

Xn

Z

Dabei haben wir die kiinstliche Variable z eingefiihrt, der am Ende der Wert 1 erteilt wird. Wir verabreden femer, dass z nicht ausgetauscht werden darf. Offensichtlich erhiilt man eine Losung des Gleichungssystems, wenn man die x- Variablen so wahlt, dass aIle y-Variablen zu Null werden. Ob es derartige x-Werte gibt, kann mit Hilfe des Austauschverfahrens entschieden werden. Sind aile y-Variable gegen x-Variable

4 Lineare Optimierung

46

austausehbar, so existiert eine LOsung: man setzt im transformierten Tableau einfach 111 Y2 11m OJ Z 1 und kann dann die passenden :1:-Werte ablesen. Es kann aber aueh sein, dass nieht alle y- Variablen gegen :1:- Variable austausehbar sind. Dies ist dann der Fall, wenn kein von Null verschiedenes Pivotelement maglieh ist. Die (eventuell umgeordnete) Matrix hat dann die Gestalt

= = ... = =

=

Y2

111

:l:r +l

:l: n

a2r

al,r+l a2,r+l

aln a2n

lIr air

Z -b 1

:1:1

au

:1:2

a21

a12 a22

:l: r

a rl

ar2

arr

a r ,r+l

a rn

-br

0

0

-br+l

0

0

-bm

lIr+l

a r +l,1

a r +l,2

a r +l,r

11m

ami

a m2

a mr

Die LOsungen des Systems erhaIt man durch ist das System nur dann 100bar, wenn br+l

=

111

=

br + 2

In diesem Fall sind die :l:r+l' :l:r +2 j ••• mit (n - r) frei wahlbaren Parametern.

,:l:n

-b 2

= 112 = ... = 11m = OJ Z = 1 . Deshalb bm

=0

frei wablbar und wir erhalten eine LOsung

Zahlenbeispiel: 3:1:1

+

2:1:1 4:1:1

+ :1:1

111 112 113

5:1:2 4:1:2

.a. 2

4

+ +

14:1:2

Z

Q セ@ -4 .a. 7 14 -1 -3

f

:1:3

1

113

:1:2

2:1:4 7:1:4 3:1:4

:1:4

:1:2

:1:1 :1:4

+ +

:1:3

-2

1-3 -5

:1:3

:1:3 3:1:3

1/1

Y2

= = =

-4 -3 -5 :1:1 :1:3

3 5

Y2 1/3

-4

:1:2

m

19

7 Z

-17 -43 7 -2 -22 7 19 -3 1 9 2 -1 0 0 0

111 :1:3

bzw.

Z

:1:4

111

1 -2 -4 -3 -5 -7 -19 .a. -9 19 -1 -1 9 7

:1:4

1/3

9

-3 Y2

:1:1

:1:2

Z

7 -2 -17 -43 -22 7 19 9 -3 1 2 -1 0 0 0

Aus dem letzten Tableau liisst sieh aueh die lineare Abhangigkeit der drei Gleiehungen 2111 - Y2 d.h die dritte Gleiehung ergibt sieh, indem man yom Doppelten ablesen: 1/3 der ersten Gleiehung die zweite Gleiehung abzieht.

=

4.2 Graphische LOsung des linearen Optimierungsproblems Die Losung erhaIt man, indem man Yl = Y2 = OJ wahlbaren Variablen :1:1,:1:2 Parameter setzt.

:1:1 :1:2 :1:3 :1:4

4.2

Z

47

= 1 setzt und fUr die frei

t

= = = =

8 -22 - 17t - 438 9 + 7t + 198

Graphische Losung des linearen Optimierungsproblems

Zunachst machen wir uns die Problematik an einem einfachen Beispiel klar: Eine Schuhfabrik stellt Damen- und Herrenschuhe her. Der beim Verkauf erzielte Gewinn betrage bei Herrenschuhen 32 DM, bei Damenschuhen nur 16 DM. Die Herstellung der Schuhe unterliegt bestimmten (stark vereinfachten) Nebenbedingungen, welche die monatlich zur Verfiigung stehende Zahl der Arbeitsstunden und Maschinenlaufzeiten sowie die in diesem Zeitraum verfUgbare Ledermenge betreffen. Diese Annahmen sind in der folgenden Tabelle zusammengefasst:

I Damenschuh I Herrenschuh I verfiigbar I Herstellungszeit [h] Maschinenbearbeitung [h] l・、イ「。ヲ{ュセ@

Gewinn [DM]

20 4 6 16

10

5 15 32

800 200 450

Wir fiihren als Variable ein: Zahl der produzierten Damenschuhe Zahl der produzierten Herrenschuhe Damit konnen wir unsere Optimierungsaufgabe wie folgt formulieren:

20:1:1 4:1:1 6:1:1 :1:1 16:1:1

+ + +

10:1:2 セ@ 5:1:2 < 15:1:2
32:1:2 =

>

800 200 450 0 0 Max!

Die ersten drei Ungleichungen beriicksichtigen die zu beachtenden Nebenbedingungen, die beiden weiteren Ungleichungen den Tatbestand, dass die Zahl der produzierten Schuhe nicht negativ sein kann. Die letzte Zeile gibt die zu maximierende Zielfunktion an. Die systematische rechnerische Losung erforderte eine einheitliche Formulierung aller Nebenbedingungen. Gleichzeitig fUhren wir fUr die ersten drei linearen Funktionen die abhangigen Variablen Yl, 112, Y3 ein.

4 Lineare Optimierung

48 Yl Y2

1/3

z

= = =

-20%1 -4%1 -6%1 %1

-

10%2 5%2 15%2

=

16%1

+

%2 32%2

-

+ + +

800 200 450

> > > > > --

0 0 0 0 0 Max!

Eine solche Fragestellung nennt man ein "lineares Programm". Da unser lineares Programm nur zwei Variable enthiilt, kann es graphisch in der (%1,%2)-Ebene gelost werden. Die Menge der Punkte (%1,%2), die eine der linearen Ungleichungen Yi

=

+

ail%1

ai2%2

+

ci セ@

0

erfUllt, besteht aus einer Halbebene, d .h. aus allen Punkten oberhalb oder unter der Grenzgerade (je nach Vorzeichen der ail, ai2)

Die fUnf Ungleichungen unseres Beispiels definieren auf diese Weise fiinf Halbebenen. Ein zuliissiger Punkt muss demnach im Durchschnitt dieser fiinf Halbebenen liegen. '.

,, ".

'. ,

\

,

" \

YJ

\ \

'. セN@

\

E

\ \ \

セB@

10

,

A

10

..........

\ ............. Gセ@

,

B

'.

'. ,

\

........ セL@

......

\

,

.,... ...... セ@

...

,,

'.

49

4.2 Graphische Losung des linearen Optimierungsproblems Die Zielfunktion z = 16x1 Die Gerade 16x1

+

32x2

+

=c

32x2 ist zu maximieren.

enthalt aIle Punkte mit konstantem Gewinn c.

Damit c maximal wird, verschieben wir diese Gerade moglichst weit parallel nach oben, so dass noch mindestens ein zulassiger Punkt darauf liegt. Man erkennt unschwer, dass der Punkt D(25120) zu optimalem Gewinn fiihrt:

z

= 16·25 +

32·20

= 1040

Aus der graphischen L6sung entnehmen wir noch eine zusatzliche Information. Der Y3 0 wahrend Losungspunkt liegt auf den beiden Geraden Y2, Y3, d.h. dort gilt Y2 Y1 > 0 ist. Dies bedeutet, dass die verfiigbare Maschinenzeit und die Ledermenge aufgebraucht sind, wahrend bei den Arbeitsstunden noch freie Kapazitat vorhanden ist.

= =

Dieses Verfahren lasst sich auf beliebig viele Ungleichungen anwenden. m Lineare Ungleichungen in zwei Variablen

au . Xl a21 • Xl

a m 1 . Xl

+ +

a12 • X2

+

a m 2 . X2

a22 • X2

+ +

C1 C2

> 0 > 0

+

Cm

> 0

Losungsmenge jeder Ungleichung ist eine Halbebene - je nach Vorzeichen von Bereich "unter" oder "iiber" der Grenzgerade

ai2

der

Die Festlegung "unter" oder "iiber" geschieht am besten durch eine Punktprobe. So kann man zum Beispiel durch Einsetzen des Koordinatenursprungs in die Ungleichung iiberpriifen, ob dieser Punkt zur gesuchten Halbebene gehort. Bemerkung: Auch Ungleichungen der Form 1

lassen sich durch Multiplikation mit dem Faktor (-1) in die Form

bringen. 1

Die Darstellungsfonn des Ungleichungssystems ist leider nicht einheitlich geregelt. So verlangt z.B. MATLAB eine etwas andere Eingabe.

4 Lineare Optimierung

50 Ais LOsungsmenge eines solchen linearen Ungleichungssystems ergibt sich ein durch Geradenstucke begrenztes Gebiet (zulassiger Bereich) in der (z,y)Ebene. Die Eckpunkte ergeben sich als Schnitt von zwei Geraden, d.h. als LOsung eines linearen Gleichungssystems in zwei Variablen. ai . Z aj . Z

+ +

Y = hj . Y = hi'

y

I

\

I I

\ \

: I

/

/ / "

/J( \

1 / \

Mセ

セM

Gセ M M

M /

/

/ /

/

/

/

Ci

/

/

/ /

Cj

/

x

Urn Eckpunkt des Gebiets zu sein, mussen auch aile ubrigen Ungleichungen erfiillt sein.

---

Optimierung der Zielfunktion Die Zielfunktion ist eine lineare Funktion der Variablen Z1 und Z2. Ihre Niveaulinien g(Z1,Z2) = constant bestehen aus einer Schar paralleler Geraden.

Die optimale Lage der Geraden h1 . Z1

+

h2 · Z2 = '"(

ergibt sich durch Parallelverschiebung. 1st die LOsungsmenge des Ungleichungssystems beschrankt, so liegt die optimale Lasung in einem Eckpunkt. Sind zwei benachbarte Eckpunkte Lasung des "linear progamming", so auch die gesamte Verbindungsstrecke. Rechenstrategie: Man berechnet die Zielfunktion an allen Eckpunkten, vergleicht deren Werte und bestimmt so den optimalen Punkt (zilz;). Beispiel eines Optimierungsproblems in drei Variablen Fur den Fall von drei Variablen kann das Optimierungsproblem noch im Anschauungsraum R3 gedeutet werden.

Ungleichungssystem:

-Z1 Z1 -3z 1 -3Z1 5Z1 Z1

+ +

Z2 3Z2 Z2 5Z2 3Z2

+ + +

3Z3 Z3 Z3 3z3 3Z3

+ + + +

+

Z2 Z3 Zielfunktion: z = g(Z1,Z2,Z3) = 4Z1

+ 5Z2 + 9Z3

1 @セ 3 セ@ 3 > 3 @セ 3 > セ@

> セ@

!

0 0 0 0 0 0 0 0

(1) (2) (3) (4) (5) (6) (7) (8)

Max

Das zulassige Gebiet wird durch Ebenen begrenzt. Die Eckpunkte des Gebiets ergeben

51

4.2 Graphische Losung des linearen Optimierungsproblems

sich als Schnitt von jeweils drei Ebenen unter Beachtung der iibrigen Ungleichungen. Dabei sind bei acht Ungleichungen im IR3 3 aus 8, d.h. (:) = 56 Moglichkeiten zu untersuchen. Bei unserem Beispiel ergeben sich die folgenden Eckpunkte:

A(OIOIO), B(11010), C(01110), D(01011), E(21211), F(31313) Exemplarisch sei hier die Berechnung der Koordinaten des Eckpunkts Emit dem Austauschverfahren eriiiutert. Sie ergeben sich als Schnitt der drei folgenden Ebenengleichungen: -Xl Xl -3Xl

Yl

Xl -1

Y2

1

Y3

-3

X3

Yl -14 4

Y3

1

Xl

1

4

X2

3X 2

+

X2

+ + +

X3

.3. 1

Xl

1 1

3 3

Y2 X3

-1

3

1

X2

Y2

Z

-14

-2 -1

1

BJ

X3 X3

1

X2

-1 -3 1

セ@

3X3

4 -2 1

-'2

+ + +

Yl -1 -1 3

1 3 3

X2

X3

-1

3

1

m1 0

-1

1 Yl

Y3

Y2

1 -1 -1 -1 I4 -1 -4 -'2

Xl X3 X2

(1) (2) (3)

1 1

-4 4 -8

4

セ@

0 0 0

Z

2 1 2

Xl "-+

X2 X3

2 2 1

2

Die Werte der Zielfunktion an den Eckpunkten des Gebiets sind der folgenden Tabelle zu entnehmen:

==>

optimal ist der Punkt F(31313)

In der folgenden Skizze sind zwei Schnitte

Ec: 4Xl

+ 5X2 + 9X3

E,

jj; der Ebenenschar

= c

mit dem zuliissigen Gebiet gepiinkelt eingezeichnet.

(Zielfunktion)

52

4 Lineare Optimi erung

c

Verallgemeinerung auf mehr als zwei Variable Bei n Variablen werden die zuliissigen Bereiche durch "Hyperebenen " im IRR begrenzt. Die Eckpunkte sind LOsungen von jeweils n Gleichungen. Die Zielfunktion in allen moglichen Eckpunkten zu berechnen, ist wenig effizient, da die Anzahl der Eckpunkte rasch mit der Anzahl der Variablen und der Nebenbedingungen wiichst ( HセI@ I). Ein sinnvolles Verfahren sollte nur wenige Eckpunkte iiberpriifen und gezielt den optima len Punkt suchen. Ein solches Verfahren sollte • nie von einer Ecke zu einer anderen mit geringerem Zielfunktionsw ert iibergehen; • ein Abbruc hkriter ium besitzen, welches es gestatt et zu entsche iden, ob der gegenwiirtig iiberpriifte Eckpun kt optima l ist oder weiter gesucht werden solI, oder ob das Proble m unlosbar ist. Das bekannteste Verfahren, das obige Kriterien erfiillt, ist das Simple xverfahren, das im folgenden Abschn itt erHi.utert wird.

53

4.3 Simplex-Verfahren

4.3

Simplex-Verfahren

Wir orientieren uns am Eingangsbeispiel des vorangegangenen Abschnitts.

= -20Xl -4Xl Y2 -6Xl Ya Xl Yl

10x2 5X2 15 x 2

+ + +

800 > 200 > 450 >

> >

X2

16xl

Z

+

0 0 0 0 0 Max!

32x 2

Urn die Begrenzungspunkte des zuliissigen Gebiets zu bestimmen, setzen wir zwei der Ungleichungen Null. Zusatzlich miissen die iibrigen Ungleichungen erfiillt sein! Formal liisst sich so eine Ecke des begrenzenden Polygonzugs dadurch charakterisieren, dass zwei der Variablen Xl, X2, Yl, ,Y2, Ya Null sind und die anderen positive Werte annehmen:

c

B

A

Xl -- 0 Xl > 0 Xl X2 -- 0 X2 -- 0 X2 Yl > 0 Yl -- 0 Yl Y2 > 0 Y2 > 0 Y2 Ya > 0 Ya > 0 Ya

> > ->

D

E 0 Xl -- 0

0 Xl > 0 X2 > 0 X2 0 Yl > 0 Yl 0 Y2 -- 0 Y2 0 Ya = 0 Ya

> > > -

0 0 0 0

Beim Ubergang vom Startpunkt A zu Punkt B hat X2 den Wert Null beibehalten, Xl ist positiv geworden, wahrend andererseits der positive Wert von Yl auf Null abgenommen hat. AIle iibrigen Variablen sind positv geblieben. Formal haben Xl und Yl ihre Rollen vertauscht. Dieser Ubergang kann durch einen geeigneten Austauschschritt nachvollzogen werden. Dabei erganzen wir unser System durch die Zielvariable z, die nicht ausgetauscht werden darf. In die rechte untere Ecke kommt der Wert der Zielfunktion am Startpunkt. (Auf die Angabe der Kellerzeile verzichten wir hier.)

Xl Yl Y2

Ya z

セ@ -4 -6 16

1 -10 800 -5 200 -15 450 32 0

Yl

X2

Xl

1

-20 1

Y2

i TIi

Ya z

Mセ@

1 40 Mセ@ -3 40 -12 210 24 640 X2

Der Wert der Zielfunktion hat bei diesem Austauschschritt zugenommen. Wenn wir - wie bei mehrdimensionalen Problemen der Fall - ohne Anschauung auskommen wollen, miissen wir der Frage nachgehen, warum wir nicht Xl mit Y2 austauschen diirfen. Der zugehorige Austauschschritt fiihrt zu dem Ergebnis:

Yl Y2

Ya z

1 Xl X2 -20 -10 800 -5 200 -6 -15 450 16 32 0

BJ

Yl Xl Ya z

Y2

X2

5

15

1

-24

a -4

5

ャセ@M -'2

12

1 -200 50 150 800

Bei diesem Schritt hat die Zielfunktion einen noch groBeren Wert angenommen. Setzen

4 Lineare Optimierung

54

wir jedoch X2, Y2 zu Null, so ist die Bedingung Y1 > 0 verletzt, d.h. wir erhalten keinen zulassigen Punkt. Wir miissen bei unseren Austauschschritten also darauf achten, dass die letzte Spalte der Absolutglieder positiv bleibt. Indem wir X2 mit Y2 austauschen, ergibt sich der Ubergang von Punkt B nach C.

1 40 Mセ@ 40 セ@ -12 210 24 640 X2

Y1 Xl Y2 Y3

z

1

-20 1

5

"3" Iii

-i

Y1

Y2

1 -12 1

Xl Y3

Hi -2"

z

i

X2

A-1 -3

1 100

""3 40 3"

4 50 -8 960

Der Wert der Zielfunktion hat weiter zugenommen. Woran erkennen wir am Schema, ob sich noch ein weiterer Austauschschritt lohnt? Es ist offensichtlich, dass das in Frage kommende Pivotelement negativ sein muss - andernfalls wiirde ja das in der Pivotzeile stehende Absolutglied negativ. Haben wir in der Zeile der Gewinnfunktion noch ein positives Element bi, so ergibt sich fiir ein negatives Pivotelement al:i mit der Rechteckregel

、G]Mセ@

alei

noch ein Zuwachs der Gewinnfunktion. Wir fiihren noch den Ubergang C nach D mittels Austausch

1 Xl X2

-12

6

15

-3

--r-

1

Y3

1.

z

-8

Y3

""3 40 3"

"""

50 960

Xl

.!.

X2

-6

z

Y2

Mセ@

61

12

5

-2

Y1

Mセ@

Y1

8 Mセ@

gegen

Y3

durch:

1 25 20 100 1040

Nun sind siimtliche Koeffizienten der Zielfunktion negativ geworden, d.h. ein zuliissiger Austauschschritt wiirde unweigerlich zu einer Abnahme der Gewinnfunktion fiihren. Wir versuchen nun, aus unserem Eingangsbeispiel eine allgemeine Strategie zu entwickeln. Dabei beschriinken wir uns auf den einfachsten Fall: n

Yi XI
0, n

Z

Der Nullpunkt mit falls die Bedingungen

> 0,

E blexle = 1e=1 Xl

+

d

=

= 1,2, . .. ,m k = 1,2, .. . ,n i

Max!

= X2 = ... = Xn = 0 stellt genau dann eine zulassige Ecke dar, i = 1,2, ... ,m

I

erfiillt sind. 2 2

Durch eine Koordinatentransfonnation kann hiiufig dieser Standardfall erzwungen werden.

55

4.3 Simplex-Verfahren

Die m linearen Ungleichungen und die Zielfunktion schreiben wir wieder m emem Austauschschema auf. Xl

X2

Y1

au

a12

Y2

a21

a22

.. . .. . .. .

Yi

ail

ai2

Yp

ap1

Ym Z

a2q

... ... ...

.. .

aiq

...

ain

Ci

a p2

.. .

apq

...

a pn

cp

am1

am 2

.. .

a mq

...

a mn

Cm

b1

b2

bn

d

Xq a1q

.. .

...

bq

Xn

1

a1n

C1

a2n

C2

Die im Schema oben stehenden Variablen nennen wir Basisvariable, die links stehenden, abhangigen Variablen Nichtbasisvariable. Der Wert der Zielfunktion d erscheint in der unteren, rechten Ecke. Die Basisvariable Xq solI gegen die Nichtbasisvariable Yp ausgetauscht werden. Das Pivotelement sei apq. Unter welchen Bedingungen fiihrt ein solcher Austauschschritt zu • einer zuliissigen Ecke? • einer VergroBerung des Werts der Zielfunktion? Da aIle Elemente

Ci

der Absolutspalte gro6er als Null sein miissen, folgt aus der Regel

..!i..>0 cp' -a pq dass das Pivotelement negativ sein muss. Wenden wir die Rechteckregel auf die iibrigen Elemente der Absolutspalte an, so erhalten wir daraus die Bedingung , Ci

1st

aip セ@

0, so gilt wegen

apq

=

aipcp apq

Ci -

< 0 stets 」セ@ > I

_

> _

0

,

c·1 _ > 0

Fiir negative Elemente der Pivotspalte erhalten wir aus c. I

> _

aipcp apq

die Bedingung

if; セ@ セ@

Iif; I セ@

bzw.

iセ@

Aus der Transformationsregel fiir den Wert d der Zielfunktion

d' =

、Mセ@

apq

und der Forderung nach Zuwachs der Zielfunktion ergibt sich wegen fiir bq die Bedingung

bq セ@

cp

> 0,

apq

< 0

0

Damit lassen sich die folgenden Regeln zur Bestimmung des Pivotelements formulieren:

4 Lineare Optimierung

56

• Die Pivotspalte ist so festzulegen, dass ihr Element blJ in der Zeile der Zielfunktion nicht negativ ist . • In der gewahlten Pivotspalte muss das Pivotelement apt negativ sein. Die Pivotzeile wird weiter bestimmt durch den grof3ten, d.h. absolut kleinsten Quotienten Qi = ...ll. , welcher mit den negativen Elementen ailJ der Pivotspalte gebildet wird. 0'9 Diese Regeln gestatten die systematische Bestimmung von Ecken des zuliissigen, konvexen Bereichs im IRn , welcher auch als Simplex bezeichnet wird. Der Wert der Zielfunktion nimmt dabei bei jedem Schritt zu. Die Auswahl des Pivotelements ist durch obige Regeln allein nicht eindeutig bestimmt. In einem Rechenprogramm sind zusatzliche Auswahlregeln zu formulieren. Bei geeigneten zusatzlichen Auswahlregeln bricht der Algorithmus nach endlich vielen Schritten abo Wegen Einzelheiten sei auf spezielle Literatur verwiesen. Zum Abschluss wollen wir noch das Beispiel im IR3 des vorangegangenen Abschnitts mit dem Simplex-Verfahren lasen. -Xl Xl -3X1 -3X1

Ungleichungssystem:

X2 3X2

+ +

X2

+ + +

3 X3 X3 X3 3 X3

5 X2 3 X2

5X1

3X3

+ + + + +

Xl X2 X3

Zielfunktion: Y1 Y2

z

g( Xl ,X2,X3)

Xl

X2

l2J

-1 -3 1

1

-3 -3

Y3 Y4

セ@

Ys

z

4

Y1 Xl

-1 -1

Y2

Qi セ@

0 0

0 0

8

3

Y1

X2

!.

!.

2

@]

8

3

1-

Ys

-2

-2

z

.2!. 8

2

"'3" Mセ@

1

セ@

セ@

2

セ@

-12 12 21 1/3

_.i! 8 1

-2 -,-

4 1 1

1

-2

0 0 8

8

4

-8 3 23

_-n

0 0 0 0 0 0 0 0

(1) (2) (3) (4) (5) (6) (7) (8)

Max

"-+

Dieser Zustand entspricht dem Punkt A(OIOIO) als Schnitt der Gleichungen (6), (7) und (8).

"-+

Dieser Zustand entspricht dem Punkt B(11010) als Schnitt der Gleichungen (1), (7) und (8).

"-+

Dieser Zustand entspricht dem Punkt B(11010) als Schnitt der Gleichungen (1), (7) und (3).

3

セ@

4

!

> > > > > > > >

5

1 1 4

1

Y4

3 3 3 3

X3

-4

X3

1

X2

z

Y2

Qi

-1 3 -1 -1

-1 -4

-5

8 1

1

0

Ys

Xl

1 1 -3 -3

+ 5X2 + 9X3

9

8 -8

セ@

セ@

5 -3 5

1

セ@

Y3 Y4

X3

4X1

1 3 3 3 3

1 2

Qi

2 -2 0 0

-4

57

4.3 Simplex-Verfahren

Xl

Y1

Y2

@セ 4

-'2

'2

-4

Mセ@

T

X2

T

X3

Ys z

Y4

Ys z

1.

-1 2

2

1

m

-4 -4

1 3 3 3 4

Qi -12

0

0

1 3 3 3 4

1

--....

-12 4 セ@

Dieser Zustand entspricht dem Punkt E(21211) als Schnitt der Gleichungen (1), (2) und (3).

Dieser Zustand entspricht dem Punkt F(31313) als Schnitt del Gleichungen (4), (2) und (3).

Qi

---

---

--

0

--.2. Mセ@



4 4 27

Ys

-f

1

Qi 8 8 2

セ@ セ@

Mセ@

1 2 2 1

54

0

-'2 0

Mセ@

Y3

1

-1 -1

-f

Mセ@

-4 -1 2

Y2

Y1

Mセ@

Q

Y4

-j

X3

Y3

3

-T

4

X2



-j

_£!.

Xl

z

Mセ@

-1 1

Y1

-1

Y2

-I -'2

X3

1

Mセ@

-.! 4 1

X2

1

-4 1 -4

-1 1

¥

Xl

Mセ@ 1

1

tIJ -1

Y4

Y3

--....

Dieser Zustand entspricht dem Punkt F(31313) als Schnitt der Gleichungen (4), (2) und (5).

54

Der Algorithmus bricht ab, da aIle bi negativ! An Hand der Skizze aufSeite 52lasst sich der Gang des Simplex-Algorithmus verfolgen. Dabei stellt sich z.B. die Frage, warum der Algorithmus von B nicht sofort zu F geht. Dieser Zustand wird durch die Gleichungen (1), (3) und (7) beschrieben. Die durch diese Gleichungen beschriebene "Kantenvektoren" lauten: 3

Dabei ist rti der zur Ebene Ei bzw. Gleichung (i) gehorende Normalenvektor. Wird eine der Gleichungen ausgetauscht, so bleibt einer der Kantenvektoren erhalten. Die Kantenvektoren rt 1 X rt 7 und rt 3 X rt 7 fiihren zu unzulassigen Ecken, so dass der Algorithmus notwendigerweise zu E fiihrt. Sind mehrere Kantenvektoren moglich, so entscheidet sich der Algorithmus fiir denjenigen mit dem starksten Zuwachs der Zielfunktion. 3

So erhiilt man als Schnitt der Ebenen -x} -3x}

-

+

X2 X2

+ +

3X3 X3

+ +

1 3

= =

0 0

4 Lineare Optimierung

58

MATLAB besitzt im Rahmen der Toolbox "Optimization" ein lineares Programm "Ip" . Es liefert das Minimum des Ausdrucks

unter der Nebenbedingung

l! . aGセZU@

Obere bzw. untere Schranken

セL@

f!u fur セ@

sind separat einzugeben.

Beispiel: Das Maximum der Funktion z = 4· %1

+

5· %2

+

6· %3

ist unter den Nebenbedingungen -%1

+

%2

+

%3

:5

20

:5

30

10,

%2

und den Einschrankungen セ@

%1

0,

%2

セ@

0,

%3

>

°

%1




y'(zo)

= !(zo,y(zo» = !(zo,Yo)

y"(Z)

!:c(Z,y(Z» + !I/(z,y(x», y'(z)

y"(zo)

!:c(ZO,Yo) + !1/(ZO,yo)' !(zo,Yo)

Fordert man Ubereinstimmung bis zur 1. Ordnung in h, so erhiilt man das Eulerverfahren:

y(Z + h) セ@

yf = Yo + h· !(zo,yo)

Urn eine zusiitzliche Ubereinstimmung mit dem h 2 -Glied zu erreichen, macht man den folgenden Ansatz:

95

7.2 Weitere Einschrittverfahren

mit

11

+ 12 = 1; 0 $ 0- $ 1; 0 $ f3 $ 1 y

y(x) ,- /' Dabei liegt der Punkt (x.ly.), in dem die zusatzliche Steigung abgegriffen wird, im Bereich der "Eulergeraden" . 1st yf der Endpunkt der "Eulergeraden" , so gilt konkret:

Xo $ x. $ Xo + h;

yヲMGセH@

,-

yo

NMャセL@

Yo $ y. $ yf

I

I

i i i i

i i i i

i

(schraffiert in nebenstehender Skizze!)

!

Zo

Wir bestimmen nun die Taylorentwicklung von f(xo Potenzen von h.

f(xo

+ o-h,yo + f3hf(xo,yo»

=

f(xo,yo)

+ h2 • { Damit ergibt sich insgesamt: Y1 = Yo + 11 . h . f(xo,yo)

Yo

,-

:Z:o

+h

+ o-h,yo + f3hf(xo,yo»

nach

+ h· [fz(xo,yo)· 0- + fy(xo,yo)· f3f(xo,yo»] •.• }

+ ...

+ 12· h . f(xo + o-h,yo + f3hf(xo,yo»

+ 11 . h . f(xo,yo)

+ 12· h· [f(xo,yo) + h· [Jz(XO,yo) .0-+ fy(xo,yo)· f3f(xo,yo»]

+ h2 • {

=

Yo

••• }

+ ...]

+ h· (-rl + 12) . f(xo,yo) + h 2 ·12· [fz(xo,yo) . 0- + f3. fy(xo,yo)· f(xo,yo)]

+ h3

. { ••• }

+ ...

Die Ubereinstimmung mit der Taylorentwicklung von y(xo ergibt die Gleichungen fiir die gesuchten Parameter. 11

+

12 = 1

+ h)

12 . f3 =

bis zur Ordnung h 2

1 2

Fur die vier Parameter ergeben sich durch diesen Koeffizientenvergleich nur drei Bestimmungsgleichungen. Damit bleibt noch ein "gestalterischer" Freiheitsgrad. Durch zusatzliche "Zwischenpunkte" an denen die Steigung abgegriffen wird, lasst sich auch eine Ubereinstimmung mit h6heren Potenzen von h in der Taylorentwicklung von y(xo + h) erreichen. Besitzt die rechte Seite f(x,y) entsprechende Differenzierbarkeitseigenschaften, so lassen sich aIle fiir die Reihenentwicklung notwendigen Ableitungen von y(x) aus der rechten Seite der Differentialgleichung bestimmen.

96

7 Differentialgleichungen

7.2.2

Heun-Verfahren

Fur einen Algorithmus mit zwei Funktionsauswertungen hat man nach obiger Uberlegung noch einen Freiheitsgrad in der Wahl der "Gewichtungsparameter" Q, /3, '}'1, '}'2· Gebrauchlich sind die folgenden beiden Moglichkeiten:

Fall 1:

'}'

_,},_1 1 2 2'

Q

= /3 = 1

Dieses sogenannte Heun-Verfahren stellt sich dann so dar: k1 k2

= =

n

=

"Eulerschritt"

+ h,Yn + kt) + k1 +2 k2

h ·/(x n Y

Yn+1 Xn +1

h ·/(xn,Yn)

Xn +h

In der folgenden Skizze sind die Punkte, in denen die zusatzlichen Steigungen abgegriffen werden, markiert. Die "mittlere Steigung" ergibt sich aus dem arithmetischen Mittelwert der Steigungen in den Punkten Po und Pl.

..

yf Yo

Xo

97

7.2 Weitere Einschrittverfahren

Fall 2:

11

=0

12

=

1,

a

= {J = !

Man nennt dieses Verfahren auch die verbesserte Polygonzugmethode. Fiir diese Parameterwahl ergibt sich der folgende Algorithmus:

=

"Eulerschritt"

Die Steigung wird hier in dem in der Mitte der "Eulergeraden" gelegenen Punkt P abgegriffen.

Yl

Yo

Da die oben beschriebenen Algorithmen bis zur Ordnung h 2 mit der Taylorentwicklung von y(xo + h) iibereinstimmen, beginnt der Fehler mit einem Summanden proportinal h3 • 1st der lokale Fehler im Wesentlichen proportional h 3 , so erhalt man fUr den globalen Fehler eine Abschatzung proportional h 2 • Man spricht dann von einem Verfahren 2. Ordnung.

98

7 Differentialgleichungen

7.2.3

Runge-Kutta-Verfahren

Sehr gebrauchlich ist der folgende klassische2 Runge-Kutta-Algorithmus, der an vier Stellen Steigungen abgreift und fiir den Gesamtschritt geeignet mittelt. 3 Pro Schritt sind dabei vier Funktionsauswertungen notig. " Eulerschritt"

h . !(Xn,Yn)

kl

+ セィLyョ@

+ セォャI@

k3

h . !(xn + セィLyョ@

+ セォRI@

k4

h . !(xn + h,Yn

k2

=

h . !(Xn

+ k3)

+ A[k 1 + 2k2 + 2k 3 + k4]

Yn+l

Yn

Xn+l

Xn +h

Bemerkung: Algorithmen zur Losung von Differentialgleichungen konnen auch als Verallgemeinerungen von Integrationsformeln gedeutet werden. Hangt die rechte Seite der Differentialgleichung nur von x ab, so ergibt sich z.B. aus den obigen Runge-KuttaFormeln

Dies entspricht genau der Simpsonformel 4 aus Abschnitt 6.2 . In dem folgenden Schaubild ist fiir das Anfangswertproblem 1

1

y' = 2· (x - -) . (y + -) 5 2

1

1

y(-) =5 2

der erste Runge-Kutta-Schritt fiir h = 1 skizziert. Die Punkte, in denen die vier Steigungen abgegriffen werden, sind durch Kreise markiert, die Steigungen werden durch Geradenstiickchen dargestellt. Die Steigung des Runge-Kutta-Schritts (Geradenstiick von (xoIYo) bis zum ausgefiillten Quadrat) ergibt sich als gewichteter Mittelwert der Einzelsteigungen. Das Eulerverfahren wiirde セ@ = Yo liefem! 2

3

4

Neben den klassischen "Steigunppunkten" und Gewichtungsparametenlsind auch noch andere Kombinationen gebrauchlich. Der Idassische Runge-Kutta-Algorithmus ist von bestechender Einfachheit und hat die Eigenschaft, dass die sukzessive Bestimmung der Steigungen ki nur den unmittelbar vorangegangenen Wert benotigt. Bei diesem Verfahren ist eine Ubereinstimmung mit der Reihenentwicklung von y(xo + h) bis zur Ordnung 4 gegeben. Man erhlilt dadurch ein Integrationsverfabren der Ordnung 4. In Abschnitt 6.2 hat h die Bedeutung: Lange des halben Integrationsbereichs.

99

7.2 Weitere Einschrittverfahren

.

I I I

y

y(x)I " I

I

I I I I

ケセ@

......................................................

····························· ···················.,.1/

/,/1

LNセ@

LセN@

","

BセN@

", '

;,"

yo=

t ........ M\

・ッ]Mセ NM MNL NZセ@

=1. V=(c/pa)-(1/k)iendi xdot(3)=(x(3)/sqrt(x(3)-2+x(4)-2»*2*A/ro*(c./V-k-pa)./(mO+1-V)i xdot(4)=(x(4)/sqrt(x(3)-2+x(4)-2»*2*A/ro*(c./V-k-pa)./(mO+1-V)-gOi xdot(6)=vol1(t.x(6»i

% x(2) % x(3) % x(4) % x(6)

Die folgenden Bilder sollen die Empfindlichkeit der Flugbahn in Abhiingigkeit von der GroBe des Startimpulses demonstrieren. Der Abschuss erfolgt im Winkel von {Der Startimpuls wurde relativ klein gewahlt und variiert. Dies fiihrt zu einem total unterschiedlichen Flugverhalten. 9 Erstellt wurde ein Diagramm der Flugbahn und ein Diagramm der Beschleunigung os(t) und al/(t) bis zum "Brennschluss" der Rakete. 9

Die numerischen Ergebnisse dieses Abscbnitts wurden nicht experimentell uberpriift.

7.4 Wasserrakete - Beispiel fUr ein Differentialgleichungssystem Wasserrakete QT

VO- 0.4

pO- 8

y- 0.2

115

alpha- 0.7854

イMLセ⦅N@

12

•••••••• j

...... .... ; ......... .

.......... ;.

2

0

-2

0

0.5

1.5

2.5

2

3

I

Wasserrakete

pO- 8

0.9

VO- 0.4

y- 0.2

alpha- 0.7854

0.8

......... ...

0.7 0.6

.:.........

0.5 セ@

>:

. :

. . .. . . . . . . ... .:.,

0.4

セ@

0.2 0.1

oセ

Mセ



Mセ

Ml

02468

__セ@ Mセ@

10 X(I)

__セ@ 12

____セ@

14

16

__-L__セ@ 18

20

116

7 Differentialgleichungen Wasserrakete

pO- 8

VO- 0.4

v- 0.25

alpha- 0.7854

14 r---------.---------.---------.---------.-----____. -______--,

12

10

•••••• • •••• J

,...........

........... .. -

. . . . . . . ..

セ@

:.

• •• ;

.. . ....... .

8

>:

1

'"

6

........ ..

セ@

)(1

'" 2

o MRセl

o

____

0.5

1.5

Wasserrakete

QNTイMLセ⦅@

pO- 8

VO- 0.4

2 v- 0.25

_ L_ _ _ _ _ _セ@

2.5

3

alpha- 0.7854

1.2

oセ

o

Mセl@

2

4

6

8

10

x(t)

12

14

__セ@ 16

18

20

117

7.5 Implizite Verfahren

7.5

Implizite Verfahren

7.5.1

Implizites Eulerverfahren

Differentialgleichungen, deren linearisierte Problemstellung stark negative Eigenwerte besitzen ( RePi} セ@ 0 ), erweisen sich bei der Losung mit expliziten Verfahren wie Euler-, Runge-Kutta- und Heun-Verfahren als problematisch. Diese numerischen Verfahren konnen das starke Abklingen der Losung nur mit sehr kleinen Schrittweiten nachvollziehen und dies kann wegen der auftretenden Rundungsfehler zu qualitativ falschen Ergebnissen fiihren. Dies soIl am Eulerverfahren erlautert werden. Testgleichung:

y'

= >'Y;

yeO)

=1

Das Eulerverfahren lautet in diesem Fall: Iteriert man den Algorithmus, so erhalt man:

Yn+l

Yn

+ h>'Yn

Xn

+h

(1 + >.h) . Yn

= (1 + >'h)n+l · 1

1st>. > 0, so wachst die Losung Y = e AX exponentiell an und das Naherungsverfahren (Euler) ergibt qualitativ den "richtigen" Verlauf. 1st >. セ@ 0, so klingt die Losung exponentiell schnell abo Die Naherungslosung klingt aber nur dann ab, wenn der Ausdruck (1 + >'h) betragsmaBig kleiner 1 wird. Dies ist bei ReP} セ@ 0 nur durch sehr kleines h ereichbar!! Die Schrittweite h kann aber wegen der Rundungsfehlerproblematik nicht beliebig klein gemacht werden. Wenn wir das Eulerverfahren "riickwarts" durchfiihren, erhalten wir ein Verfahren, das in dieser Situation konvergiert. Wir greifen nun nicht mehr an irgend einer Stelle aus der Differentialgleichung die Steigung ab, sondern wir suchen auf der Geraden x = Xo + heine passende Stelle Yl. Dieses YI ist so zu wahlen, dass eine Gerade durch den Punkt (XO+h,YI) mit der Steigung f(xo + h,Yl) durch den Startpunkt (xo,Yo) geht.

y(x)

Xl

Yo

= Xo + h

!

Yl ケセ@

Z]セMN

I

I

i• !I . Xo

G ZNセ

N Z N セ[Z

N ZMエ

'

!I I• !

..セG N G@ ..,,.,,.""..,.,,,.,. ."",,., ........ .

7 Differentialgleiehungen

118

Die gesuehte y-Koordinate auf der Geraden x = Xo Y1 = Yo

+h

muss die Gleiehung erfiillen:

+ h· /(xo + h,yt)

Dies ergibt im allgemeinen eine niehtlineare Gleichung fiir Y1. Wendet man diese Uberlegung auf die Testgleiehung y' = /(x,y) = ).y, y(O) = 1 an, so erbalt man: Yn+1 Yn+! Xn+1

= =

Yn + h . /(Xn+1 ,Yn+!) Yn + h· ).Yn+1 Xn + h

1m Fall der Testgleiehung lasst sieh die Gleichung fiir Yn+! nach Yn+! aufl6sen und iterativ auf die vorhergehende Stiitzstelle Yn und sehlie81ieh auf Yo zuriickfiihren. Mセ n+! -

Y

Yo

_

1

I=7iA - (1 _ h).)"+1 - (1 _ h>t)"+1

1st ). セ@ 0 so ist (1 - h)') セ@ 1 und damit klingt die Niherungslosung wie verlangt stark abo Die Niherung stimmt damit qualitativ gut mit der exakten LOsung iiberein. Die y-Koordinaten der Stiitzstellen des expliziten Eulerverfahrens sind in der Skizze mit Yl' Y2 markiert, die des impliziten Verfahrens mit Yl' 112. Bereits relativ einfache meehanische Beispiele zeigen ein solches problematisches Losungsverhalten. (vgl.aueh das Eingangsbeispiel auf Seite 1 )

Oszillator mit Coulomb-Reibung mx = -Dx - a· sign(x) ,

D: Federkonstante

a : Reibungskonstante

tunctioDuxdot=linrei(t,x); %uSchwingungumituColoumb-Reibung %uReibungskoettizientuglobaluvorgeben globalua; xdot=[x(2);-x(l)-a*sign(x(2»]; Beim Aufruf der Prozedur "ode45" fiir a = 1 zeigt sieh, dass obige Differentialgleiehung damit nieht gelOst werden kann. Fiir sehr kleine Geschwindigkeiten mit weehselndem Vorzeiehen ergeben sieh groBe, zeitlieh dieht aufeinanderfolgende Spriinge fiir die Beschleunigung. Das Runge-Kutta-Verfahren kann dieses starke Abklingen und Anwachsen nur mit immer kleiner werdender Schrittweite naehvollziehen und "frisst" sieh sehlie8lich fest.

globalua;a=1;[t,x]=ode46('linrei',O,16,[lul]);

119

7.5 Implizite Verfahren 7.5.2

Trapezmethode

Weitere Integrationsmethoden fUr Differentialgleichungen ergeben sich durch bestimmte Integration der Differentialgleichung bzgl. x im Intervall [Xk' Xk+1] .

=

veX)

J

"'k+l

"'k+l

J

--...

f(x,y(x))

f(x,y(x)) dx

y'(x) dx

"'k '----v---'

"'k

Y("'k+l) - Y("'k)

Das rechts stehende Integral liisst sich i.a. nicht geschlossen auswerten. Benutzen wir zur naherungsweisen Integration das Trapez-Verfahren, so erhalten wir:

y(xk+d - Y(Xk) セ@

セ@ [f(Xk,Y(Xk)) + /(Xk+l,y(xk+d)]

Ersetzen wir Y(Xi) durch die Naherungen Yi, so ergibt sich die Trapezmethode:

+ セ{ヲHxォGyI@

Yk+l = Yk

+

f(Xk+l,Yk+d]

Dies ist ebenfalls eine implizite Integrationsmethode, da jeder Schritt die Losung einer i.a. nichtlinearen Gleichung fUr Yk+l verlangt. Da f(Xk ,Yk) ohnehin berechnet werden muss, kann yセャ@ = Yk +hf(Xk ,Yk) als Startwert fUr die Iteration dienen. Die Trapezmethode eignet sich ahnlich dem impliziten Eulerverfahren zur Losung von Differentialgleichungen mit starkem Abklingverhalten. 7.5.3

Allgemeine Vorgehensweise

Implizites Vorgehen ist auch bei Verfahren hoherer Ordnung moglich. Dazu ist bei jedem Schritt ein nichtlineares Gleichungssystem der Ordnung p zu losen. Ais niitzlich haben sich semi-implizite Verfahren erwiesen, bei denen die Gleichungen entkoppelt sind. So sind bei einem Verfahren der Ordnung 2 die beiden nichtlinearen Gleichungen fUr die "Zuwachse" kl. k2 zu 1000n. kl

=

k2

=

+ a1h,yo + f311kt} h· f(xo + a2h ,yo + f321kl + f322k2) h· f(xo

Urn die Losung (z.B. mit Newton-Verfahren) dieses nichtlinearen Gleichungssystems zu umgehen, kann man auch eine linearisierte Form des obigen Systems benutzen. Dazu entwickeln wir die rechte Seite der ersten Gleichung nach k 1 : kl

= h· [J(xo + a1h,yo)

Linearisierung ergibt:

+

fy(xo

+ a1h,yo) . f311

. kl

+ ォセN@

{ ... }

+ ...]

7 Differentialgleichungen

120 Fur k2 erhalt man analog:

k2

h . I(xo

+ (X2h,yO + P21k1) +

I,,(xo

+ (X2h,yo + P21 k 1) . P22 . hk2

Fur den Iterationsschritt sind dann noch die beiden Zuwachse k 1, k2 zu gewichten.

+

Yn+1 = Yn

11 . k1

+ 12 . k2

Bestimmungsgleichungen fUr die Koeffizienten (Xi, Pij und die Gewichte 1l: ergeben sich wieder durch Vergleich mit der Taylorentwicklung von y(xo + h) (vgl. Abschnitt 7.2.1).

7.6

Stabilitat

Bei der Auswahl eines bestimmten Verfahrens zur numerischen Losung einer Differentialgleichung sind die Eigenschaften der Gleichung und die sich daraus ergebende Losungsstruktur zu berucksichtigen. Tut man dies nicht, so konnen unter Umstanden die Naherungslosungen mit der exakten Losung sehr wenig zu tun haben oder die ausgewahlte Prozedur versagt vollstandig. (vgl. Seite 118 )

7.6.1

Absolute Stabilitat

In diesem Abschnitt wollen wir uns mit dem Fragekreis - wann liefert ein numerisches Verfahren zur Losung von Differentialgleichungen eine qualitativ richtige Naherung? im allgemeineren Zusammenhang befassen. Wir betrachten dazu die Testgleichung

= -\y(x)

y'(x) mit der exakten Losung y( x) =

j

yeO)

=1 j

-\

E (J;'

e AZ •

Das Verhalten der exakten Losung und der Naherungslosungen soli an den Diskretisierungspunkten {xd untersucht werden. Xk + h : Bei der exakten Losung y(x) gilt fUr den Ubergang von Xl: zu Xk+1

=

Y(Xl:+d = eA(Zk+ h ) = eAh • eAZk = eAh • Y(Xk) Dies bedeutet fUr die exakte Losung: Urn von einem Diskretisierungspunkt Xk zum nachsten zu kommen, muss mit dem Faktor e Ah

=

1

+

-\h

+

(-\N

2

+ HM|セ_@

+ ...

multipliziert werden. Wir wollen nun fUr einige Integrationsverfahren den entsprechenden Naherungsfaktor bestimmen, mit dem zu multiplizieren ist, urn von einem Diskretisierungspunkt (Xl:,Yl:) zum nachsten (Xk+ltYl:+1) zu kommen.

Eulerverfahren Yk+1

Yl: + h· l(xl:,Yl:) Yl: + h· -\Yl: (1 + -\h) . Yl:

121

7.6 Stabilitat Heun-Verfahren

kl k2

Yk+l

h· f(Xk,Yk) = h· AYk h . f(Xk + h,Yk + k 1) [hA + (hA)2] . Yk

. [k 1 + k2] セ@ . {hA . Yk + [hA

[1

+ hAYk]

セ@

+ + +

Yk Yk

h . A . [Yk

+

hA

セ}@

+ (hA )2] . Yk

}

. Yk

Implizites Eulerverfahren

+ +

h· f(XHl,YHd "-'> h· A· YHI

Yk+l

Yk Yk

Yk+l

2u·Yk

Trapezmethode Yk+l

Yk Yk

+ セN@ [f(Xk,Yk) + f(XHl,YHl)] + '2". [AYk + AYHl] "-'>

Dabei stellt sich die Frage, inwieweit diese vier Faktoren

FE

[1 + hAl

FH

[1 + hA + HィセIR}@

F/

= セ@

1

2

FT =

2

+

hA ).h

ein qualitativ richtiges Naherungsverhalten widerspiegeln. Eine lineare Differentialgleichung bzw. ein Differentialgleichungssystem heifit stabiI, wenn die Losungen des homogenen Problems fUr t -+ 00 beschrankt bleiben. Fiir unsere Testgleichung bedeutet dies

Rep}

セ@

O.

Die NaherungslOsung klingt ab, wenn der Faktor F. .. (Ah), mit dem beim Ubergang von (xkIYk) zu (xk+lIYHt) zu multiplizieren ist, betragsmafiig kleiner 1 ist. Mit der Abkiirzung z = Ah erklaren wir den Bereich

122

7 Differentialgleichungen

als den Bereich absoluter Stabilitat des entsprechenden Integrationsverfahrens. Dies bedeutet dann, dass fiir ein セ@ mit ReP} < 0 die Schrittweite h so zu wahlen ist, dass z = セ@ . h in dem betreffenden Stabilitatsbereich liegt. Fur die oben betrachteten Verfahren erhalt man die folgenden Stabilitatsbereiche:

Eulerverfahren

= feHセィI@

Die Gleichung erfiillt.

F(z)

=

1

+ z

Iz + 11 < 1 ist im Inneren des Kreises um Zo = -1 mit dem Radius r = 1

Heun-Verfahren fhHセィI@

= F(z)

=1 +

z

+

2

セ@

Zur Vereinfachung der Rechnung verschieben wir den Ursprung des Koordinatensystems z = z-1

und erhalten

1 + z _ 1 + (z 21)2 = セ@ . (z2 + 1) 2

Aus der Gleichung fiir die Begrenzungskurve

14-11=1 ergibt sich die Beziehung

(z2 + 1). (i + 1) = 4 Mit der Bezeichnung

bzw.

z2 .

I

:I

+

",;;;2

z2

+ z +

1

4

z = u + jv erhalten wir die Gleichung {u 2 + V 2 )2 + 2 {u 2 {u 2 + v2 )2 _ 2 (v 2

1 1

Dies ist eine Cassinische Kurve 4. Ordnung. Sie wird geometrisch durch die Eigenschaft beschrieben, dass das Produkt der Abstande eines Kurvenpunktes von F(O,I) und F(O, - 1) stets gleich 2 ist. Ais Schnittpunkte mit den Koordinatenachsen erhalt man

l

YfEI2 u{,: = -2 ± fill

u=O

v=O

v2

= 2±

Implizites Euler-Verfahren fャHセィI@

= F(z)

1 r=z

"-+

v=

±.J3

u=±1

123

7.6 Stabilitat Die Bedingung

Qセコャ@ ist im Au6eren des Kreises urn Zo


.h)

F(z)

=

セZA@

Die Begrenzungskurve des Stabilitatsbereichs ergibt sich aus

iセ@ (2

bzw .

+

z)·(2

+

= 1 z)

4 + 2z + 2z + z · z 4· (z

+

z)

= (2 - z)·(2 - z) 4- 2z - 2z + z· z

o

Die letzte Beziehung ist auf der imaginaren Achse erfiillt, d.h. der Stabilitatsbereich ist die ganze linke Halbebene von .} < 0 durch die Stabilitatsforderung keinerlei Einschrankungen fiir die Wahl der Schrittweite h. Diese Verfahren geben somit unabhangig von der Schrittweite auch fiir Re{>.} .h) = 1 + >'h stimmt bis zum Iinearen Glied damit uberein, wiihrend der Faktor

FH(>.h) = 1

+

>'h

+

(>'a)2

bis zur Ordnung 2 mit der Taylorentwicklung von e>.h ubereinstimmt. Fur die Faktoren

FT(>.h)

=

2

+ >'h

2 - }.h

=

1

+ >'h + (>'a)2 + H^NセIS@

+ ...

erhalten wir wieder Ubereinstimmung bis zum linearen bzw. quadratischen Glied.

7.6.2

Inhiirente Instabilitat

Von Instabilitiit spricht man auch, wenn bei einer Differentialgleichung eine geringe Abweichung vom Startwert groBe Abweichungen der Lasung verursacht. Dies sei exemplarisch an einer Klasse von linearen Differentialgleichungen illustriert.

y(x) = >.. [y(x) - F(x)]

+

F'(x);

y(xo) = Yo

Als Lasung des homogenen Problems ergibt sich

Yh(X) = C· e>':Z: wiihrend

Yp(x) = F(x) offensichtlich eine Lasung des inhomogenen Problems darstellt. Die exakte Lasung des Anfangswertproblems lautet damit:

y(x) = {yo - F(xo)}· e>'(:Z:-:Z:o) + F(x) Fur den speziellen Anfangswert Yo = F(xo) ist y(x) = F(x) die Lasung des Problems. Fur einen leicht veriinderten Startwert

Yo = F(xo) +

f

ist

die Lasung. Fur>. > 0 nimmt der erste Summand in x exponentiell zu, so dass sich die benachbarte entfernt. Es besteht somit eine starke EmpfindIichkeit Lasung y(x) von y(x) ・セーッョエゥャ@ der Lasung auf kleine Anderungen des Anfangswerts.

125

7.6 Stabilitiit

Wenn wir nun ein numerisches Verfahren zur Losung der urspriinglichen Aufgabenstellung verwenden, so liisst sich nicht vermeiden, dass die Niiherung yom "rechten Pfad" abkommt und damit ein "Ausbrechen" der Niiherungslosung verursacht. Dieses Phiinomen ist unabhiingig von der verwendeten Methode - auch implizite Verfahren zeigen dieses Verhalten. Diese inhiirente Instabilitiit kann man in einem nicht allzu groBen Intervall nur bis zu einem gewissen Grad in den Griff bekommen, indem man mit Methoden hoher Fehlerordnung und hoher Rechengenauigkeit arbeitet. Als Beispiel betrachten wir das Anfangswertproblem:

Y'(x)

=

10· [y(x) _

x2]

1+ x2

+

(1

2x

+ X 2 )2

y(O) = 0

Die folgende Graphik ist mit dem klassischen Runge-Kutta-Verfahren gerechnet, wobei jeweils die Schrittweite halbiert wurde. Man erkennt, dass die ausgehend von ho = Kurven mit kleinerer Schrittweite "spater" abdriften. Fiir einen groBen Beobachtungszeitraum liisst sich dieser Effekt aber niemals ganz vermeiden.

k

1.5

y(x)

0.5

o

-0.5

- 1 h 0-8"

-1

MQNUセl@

o

7.6.3

____セ@ 0.5

____セ@ 1.5

__セ@ 2

____セ@

2.5

Steife Differentialgleichungssysteme

Losungsfunktionen von Differentialgleichungssystemen, welche chemische oder biologische Vorgange beschreiben, haben oft die Eigenschaft, dass sie sich aus verschieden rasch exponentiell abklingenden Anteilen zusammensetzen.

7 Differentialgleichungen

126

Bei linearen Systemen mit konstanten Koeffizienten lassen sich diese Bestandteile explizit angeben. Das Differentialgleichungssystem yl

= ( 0

+

(-1) 10

-

-20

20 ) '1[ ; 1[(0) = -202

(99)

besitzt die Losung

'!!. =

(-110) Nセ@

-2t

1

%1(t)

1m nebenstehenden Bild ist das unterschiedliche Abklingverhalten der Losungsbestandteile ZI (t) und Z2(t) graphisch dargestellt.

t

Wird das DGL-System numerisch integriert, so miissen die zur Approximation von und Z2(t) notwendigen Rechnungen bzgl. der Schrittweite h mit verschiedenen Strategien durchgefiihrt werden. Aus Stabilitatsgriinden muss mit einer solchen Schrittweite gearbeitet werden, so dass die Zahlen Z = Aih im Stabilitatsbereich des eingesetzten Verfahrens liegen. 1st das Stabilitatsgebiet - wie bei expliziten Verfahren - beschrankt, dann ist man gezwungen, wegen Z2(t) mit extrem kleiner Schrittweite zu arbeiten. Der Losungsanteil ZI (t) ist lange Zeit deutlich von Null verschieden, so dass iiber einen langen Zeitraum gerechnet werden muss. Die dazu notwendige Schrittweite - bezogen auf ZI (t) - konnte relativ groB sein. Diese beiden sich widersprechenden Tendenzen fiihren haufig infolge von Rundungsfehlern zu numerisch unbrauchbaren Losungen. ZI (t)

Ein lineares Differentialgleichungssystem bezeichnet man als steif, wenn die Eigenwerte Ai der Matrix A sehr unterschiedliche, negative Realteile aufweisen. Als MaB fiir die Steifheit dient der Quotient der Realteile des groBten und kleinsten Eigenwerts:

S -

max Re A' min Re Ai

I .'

.

mIt

R {A} 0 e k
5 X 2 + 420 > X2 + 30 >

g(Xl,X2)

-Xl

-

-5Xl -Xl

-

-2Xl

-

-Xl

+

Xl

X2

Yl Y2

'Y3 Y4

Ys z Yl 1/2 Y3 Y4

Xl z

Xl -5 -1 -1 -2

r-n30 Ys Q. 1 1 2 -1 -30

x2

-1 -1 -2 -5 1 20 X2

セ@ -2 -

-3 -7 1 50

1 300 100 170 420 30 0 1 150 70 140 360 30 900

0 0 0 0 0 > 0 > 0

(1) (2) (3) (4) (5) (6) (7)

Qi

-60 -100 -170 -210 -30

Dieser Zustand entspricht dem Punkt A(OIO) als Schnitt der Gleichungen (6) und (7).

Qi

-25 -35 -

SセP@

140

--:;-

30

Dieser Zustand entspricht dem Punkt B(3010) als Schnitt der Gleichungen (5) und (7).

185

9.4 Aufgaben zur linearen Optimierung

Ys Y2

Ya Y4

Y1

セ@

X2

Mセ@

8J

1 T

-2

2

セ@

7

-6"

Xl

----r -6"

6" 1 -6"

z

W-

-T

Y2

_2

Y1

X2

1 21 -I

!

Ys Ya

-92

Y4 Xl z

T4 -¥

セ@

-1 -..l.

-%

1 25

Qi

20 65 185 55 2150

-30 lao -3

30 Dieser Zustand entspricht dem Punkt C(55125) als Schnitt der Gleichungen (5) und (1) .

1110

-""23

-330

1 50 30 20 70 50 2500

Qi

--

Dieser Zustand entspricht dem Punkt D(50150) als Schnitt der Gleichungen (5) und (1).

----

--

\

\

\

\ \ \ \

"

\

\ \ \ \ \

\

' D

"

/ 8

A

/

/

" ,

,

\ ....... I

....

Beim optimalen Punkt D sind die Variablen Ya, Y4, Ys positiv. Dies bedeutet, dass die Kapazitatsgrenzen bei den beiden Materialien A, B noch nicht erreicht sind. Ebenso greift noch nicht die Beschrankung, dass yom Produkt X hochstens 30 Einheiten mehr als yom Produkt Y produziert werden sollen.

186

9 LOsungen

Aufgabe 2:

-Xl

X2

X3

Xl -2Xl

2X2

2X3 2 X3

+

X2

+ 5 > + 6 > + 6 > + 2 > + 2 > + 2 >

-Xl

Ungleichungssystem:

X2 X3

> > >

Xl X2 X3

Zielfunktion:

z =

g(Xl,X2,X3)

0 0 0 0 0 0 0 0 0

(1) (2) (3) (4) (5)

(6) (7)

(8) (9)

+ X2 + X3

Xl

,":3 i

P7 Pa

P6

--- --- --"\

I

\ \

P9

\ \ \ \ \

\

\

\ \

\

\

\ \

\

\ \

...---- ------" \

/

,1..

/

P2

Xl

/

E

\\

/ /

\ \

/

\ \ \

/

Pu

\

/ /

,

/

\

\

/ /

,

/

\

/

,,

/

\

/ /

\

\

/ /

/

/

/

,

Ps

"'-,

セ@

"'-,

,

P4 ,

"- ,

セ@

セ@

187

9.4 Aufgaben zur linearen Optimierung

Y1 Y2 Y3 Y4 Ys

1

-2

tIl Q

z

1

Qi

5

-5

6 6

-3

2 2

-2 -

セ@

°

°1

°1

Y6

%3 -1 -2 -2 Q

%2 -1 -2 1 Q -1

%1 -1

-1 1 %3

1

Qi

--1

3 8

-3

1

@]

-1

z

°° -1

° 1°

Q Q -1 1

2 2 2 2

%2

Y3

1

Y1 Y2

Y4 Q -3

LiJ -3

%3 %1

1 -1

.I Q

Ys

° -1 °

1 -1

%1

-1

Ys

Y6

Y6 z

セ@

°

Y2

-3

%3 %1

1 -1

Ys

Q

Y6

-1

z

セ@

_1 2

3

Y1

Y3

Mセ@

3 2 1

-a-

°2 K 1

a-

Y4

%3 %1

-1

Y3 Y6

Q -1

1

°

-"2

-"2

°

Y2

z

° °1

-1

° @]

%2

1 1

"2

セ@

!

セ@

Q

-a-1

°

8J

s

a-

-2

1

a-

1

1 2

セ@

°

-5 -

K

Ys

-1

"-+

Dieser Zustand entspricht dem Punkt Pu(21211) als Schnitt der Gleichungen (4), (5) und (1). Wir tauschen weiter aus, urn die iibrigen Extremalpunkte zu erhalten.

-2 -2

2 2

a-

-3

-

4

-1 Q 1 Q

1 -1

-2 2

3 2

Y1

°2

"-+

Dieser Zustand entspricht dem Punkt pQッHRセャゥI@ als Schnitt der Gleichungen (4), (3) und (1). Wir tauschen weiter aus, urn die iibrigen Extremalpunkte zu erhalten.

Qi

Qi

°

-1

"-+

Dieser Zustand entspricht dem Punkt Pg(21011) als Schnitt der Gleichungen (4), (3) und (8).

-2

1

5

°

-

-a-4 セ@

.I

-4 -1

セ@

1

-1 -1

Y4 %2

-2

6 1 2 2 1

-1-

"-+

Dieser Zustand entspricht dem Punkt P 2(21010) als Schnitt der Gleichungen (4), (8) und (9).

°

%2 -1 -2

Y4 Y1 Y2 Y3

"-+

Dieser Zustand entspricht dem Punkt P1(OIOIO) als Schnitt der Gleichungen (7), (8) und (9).

6

セ@

1 2 2 1

5

Qi -

-a2 1 -1

9 LOsungen

188 Y1 0

112

-, 0

%2

1

Y4

2

31

%3

-13

%1

3

1/3

0

-3

Y6

1

3

2 1

3

z

0

-1

Mセ@

112

Y1

Y4

セ@M -,-3

-!. 3 2

%3

Q

0

%2

1

3

3

-3

Y3 Ys

L1J 3

!

z

0

-1

1

3

Y3 !. 3 1

Y4

.! Q

Mセ@

Y1 3 1

.!

%1

-3

0 1 -3

Y2 Y5

-1

1

%3

Z

Mセ@

1

2

'i

0

-1

1

Qi

2 2

-2

Q -3

5

3

セ@

-2

-3

2 1

8J

Dieser Zustand entspricht als dem Punkt pQRHエiセI@ Schnitt der Gleichungen (2), (5) und (1). Wir tauschen weiter aus, um die iibrigen Extremalpunkte zu erhalten.

-

I I3

!

1

-3

3

5

0

1

Y6 1 0 -1

2

%1

%2

Y5 -1 Q

セ@

Qi

-5

3 2

-2

3

-

2 4

0 セ@

3

4

!

-1 1

1

-1 0

3

セ@

5

1

Y6 Q

セ@

8J

Qi 1 -3

3 1

.!

-1

-2

2 5

!

f

セ@

-

1

セ@

0 0

セ@

s

3

3

Dieser Zustand entspricht dem Punkt pQSHエャセRI@ als Schnitt der Gleichungen (2), (6) und (1). Wir tauschen weiter aus, um die iibrigen Extremalpunkte zu erhalten.

Dieser Zustand entspricht dem Punkt P14(iltI2) als Schnitt der Gleichungen (3), (6) und (1). Der weitere Austausch fiihrt wieder zum Punkt P lO zuriick.

5

Aufgabe 3: -%1

%2

-%1 %2

Ungleichungssystem:

%1 -%1

+ +

%2

9

2%2

2

%1 %2

Zielfunktion:

z = g(%1,%2) =

%1

+ 18 > 0 (1) + 10 > 0 (2) + 11 > 0 (3)

+ %2

> 0 (4) > 0 (5) > 0 (6) > 0 (7)

189

9.4 Aufgaben zur linearen Optimierung

,

,

,

"

"

Ps ....

,

i / i/

, '. P4

KMZLセ

GMN_

,

)(

..

,/ i

P4 / Xl

+ X2, =

const

NM

, Ps

/ i / i Ps / / ..

/

セMエNB_

1/ / P 2

1

/

,

'.'. Ps

/

1

/

,

/

,/ ,/

,if'

,

/

/1

'

Xl

/

Wir unterwerfen die Ungleichungen einer Koordinatentransformation, so dass der Punkt P6 zum Nullpunkt wird, die Richtung der x2-Achse erhalten bleibt und die Richtung PSPI in die neue xI-Richtung iibergeht.

_ (1-1 (Xl) X2 -

0). (Xl) + (0) X2 9

oder

1

1m transformierten System ergeben sich die folgenden Beziehungen:

X2 -Xl Xl

+

X2 X2 2X2

+

+

%2

+

Ungleichungssystem: -3Xl Xl -Xl

+ + +

9 10 2

> 0 (1) 0 (2)

セ@

> 0

0 16 > 0 > 0 9 > 0 セ@

(3) (4) (5)

(6) (7)

Wie schon im Ausgangssystem ist die 7. Ungleichung redundant und wir erhalten nach Ubergang zur alten Bezeichnung den folgenden Algorithmus: Yl

Y2 Y3 Y4

z

Xl

x2

-1 0 1 -3 0

Q.

-1

8J 2 1

1 10 9 セ@

16 0

Qi

-9 -2 8

Dieser Zustand entspricht dem Punkt P6(010) als Schnitt der Gleichungen (6) und (4).

9 L6sungen

190

Yl

Y3

0

1 10

Qi -10

1

1

-7

[}]

Y2 X2 Y4

z

Yl Xl

1

-1 1

-1 -2 -1

2 20 2

2 -20

Y2

1/3

1

1

lU 1

Qi -3

1

7

-1 -1 1 -1

X2 Y4 Z

Y3 Xl

X2 Y4

z

9.5

Xl

-1

セ@

Q -3 Q

9 13 9

Y2

Yl

1 0 -1 -2 -1

-1 -1 0 3 0

1 3 10 9 4 9

Dieser Zustand entspricht dem Punkt P 5 (012) als Schnitt der Gleichungen (3) und (4).

Dieser Zustand entspricht dem Punkt P4(719) als Schnitt der Gleichungen (3) und (1).

-13

-"3

Dieser Zustand entspricht dem Punkt P3(1019) als Schnitt der Gleichungen (1) und (2). Der nachste Austauschschritt wiirde wieder den Punkt P4 ergeben.

Qi

----

--

Aufgaben zu Interpolation und Approximation

Aufgabe 1: Bestimmung des Newtonschen Interpolationspolynoms: a)

IT]

-1 0

2-1 0- (-1)

IT] -2-1 1- (-1)

2 0-2

1-lJ 1

=

-2

2

1

P3(X) セpSx@

r--r

2 0

=

セ@ MHセ@

2-(-i 1- (-2}

0 1-0

[]

=

[!]

3

2

1

= 1 + 1· (x - (-1» - セN@

(x - (-1». (x - 0) + 1· (x - (-1». (x - 0)· (x -1) -2 3 3 ( ) - -2,x-2'x 2+ x 3

191

9.5 Aufgaben zu Interpolation und Approximation

セ@

-2

b)

-1

4-8 -1- (-2)

=

2-2 r=lJ 1

=

IT] @]

-2

o1-- セMR@ -1

2

0

セ@

-2 - (-4} 0- (-2)

4 2-4 0- (-1)

2

Bl

=

1 0

0 2-0

2

2 4 p4(Z) = P2(Z) = 8 - 4· (z - (-2»

1

=

r--u

4-2 '2"=T

+ 1· (z -

(-2»· (z - (-1»

P2(Z) = 2 - z + z2 セ@

zimalen genau tabelliert: a)

Lineare Interpolation ergibt fUr cos(45°) = cos(600} 0.6830 ...

t cos(300}

R:I

¥

b) Newtonsches Interpolationpolynom durch aIle bekannte Werte fUr cos(z)

Umskalierung • =

W "gihl die ヲッセ、・@

Tabelle:

Iセ@ I:Iiii I: I

o IT]

14 2

va

1 2

1i =

0 3

0

1 1-22 2

セN@

¥

1 -2

va4- 2 -3 3 - 4213 P3(t) = 1 +

=

t+3

_ -

112 1 3 3-5

⦅セ@ Mセ@

-113 .t· (t - 1) + 312- 5. t· (t -1)· (t - 2).

R:I

9 LOsungen

192

=

=

Der Winkel Q 45° entspricht t 1.5 """ 1'3(1.5) = ... = 9· セᄆ@ 7 セ@ 0.705889288962875 c)

Bestimmung von Splines durch die Punkte der Wertetabelle: LGS zur Bestimmung der quadratischen Spline-Koeffizienten: A· Q セ@ mit

=

1 0

A=

0)

1 0 ( 01 41 o

4 1

o

o

0

(CO) Ct Q=

1

C2

C3

Mit der Grad-Skalierung erhalt man fiir die rechte Seite:

e=

-

4 1]

1 . (1 -2.

3UU

セMRGQKP@

+

o

Wir berechnen die Spline-Koeffizienten mit MATLAB: x=[Ou1u2u3]; y=[1 usqrt(3)/2uO.5 uO]; pp=splinm(x,y) ; [breaks,coef,l,k]=unmkpp(pp); In der Matrix coef sind die Koeffizienten der Splines in fallender Reihenfolge gespeichert. Tabelle 1 zeigt die Koeffizienten bei der t-Skalierung, Tabelle 2 bei der Grad-Skalierung: 1.0000000000000 0.8660254037844 0.5000000000000

0 1 2

-0.0529485756040 0.0326920704511 0.0202565051528

0.0000000000000 -0.1588457268119 -0.0607695154586

-0.0810260206115 -0.2398717474235 -0.4594869896942

0 1 2

-0.0000019610583 0.0000012108174 0.0000007502409

0.0000000000000 -0.0001764952520 -0.0000675216838

-0.0027008673537 1.0000000000000 -0.0079957249141 0.8660254037844 -0.0153162329898 0.5000000000000

=

=

=

Fiir t 1.5 bzw. Q 45° erhaIt man z. 0.71046460717605. Der exakte Wert ist cos(45°) = 0.70710678118655 . Aufgabe 3: Zu den folgenden sechs Punkten werden Ausgleichspolynome konstruiert:

I: I=! IセQ@ Iセ@ Iセ@ Iセ@ Iセ@ I Die Punktprobe fiir das Polynom P3(Z) folgende LGS:

= ao + atZ + a2z2 + a3z3

ftihrt auf das

193

9.5 Aufgaben zu Interpolation und Approximation

!l =

-4 0 1

4 -8 1 -1 0 0 1 1 4 8 9 27

1 -2 1 -1 1 0 1 1 1 2 1 3

(-4 0

!!l=

2 2 0

1 2 2 0)

Als Losung erhalt man: bzw. P3(X) =

1 1 1 1 1 1

"-+

セN@

!!2=

-1 0 1

!!3=

2 3

-8

4 1 0 1 4 9

!!.-1=

-1 0 1

8 27

Normalengleichung:

g = ( 1J

1J + m· x -

-2

ImiMセ@ IセI@

x 2 + セN@

x3

Bei Polynomen der Ordnung 1 bzw. 2 sind nur die ersten zwei bzw. drei Spalten des Ausgangssystems zu beriicksichtigen. Dadurch ergeben sich die Normalengleichungen:

Hセ@

GセQ@

!!2 . !!l !!3 . !!l

!!l . !!2 !!2 . !!2 !!3 . !!2

!!l . !!3 !!2 . !!3 !!3.!!3

セN@

!!2 !!3

·k ·k

) (:9 "-+

3 19

19

27

iセ@

27 115 -6

)

bzw.

(: Zセ@

IZセ@ ::) Zセ@

mit den L6sungen

P2(X)

=t+



&= x-

HiセI@

*.

Hセ@

"-+

und

-2H x2

QSYセI@

セ@ HMZセI@ =

und den Polynomen

!f5" und

Pl(X)

= -is + セ@ . x

.

Aufgabe 4: Ein Ausgleichspolynom vom Grad 2 wird fiir die folgenden Messpunkte bestimmt:

Das zugehorige LGS:

9 LOsungen

194 1 1 1 1 1 1 1 1

!l =

3.10 2 9.104 4.10 2 16.104 5.102 25.10 4 6.10 2 36.104 7.10 2 49.104 8.10 2 64.10 4 9.10 2 81.104 103 106 138

(114

163

114 138 163 187 215 244 271 300

1 1 1 1 1 1 1 1 セャ]@

187 215

244

!h = 10 2

271

.

3 4 5 6 7 8 9 10

!b = 104



9 16 25 36 49 64 81 100

300)

Normalengleichung:

Als Losung ergibt sich:

!!.2 =

セI@ m

(

4

=

(47.55952380952710) 0.20761904761904 0.00004523809524

セ@

Daraus ergeben sich die physikalischen Konstanten zu:

Ro a

=

b =

Po

= 47.55952380952710

f

=

0.00436545682103

=

0.00000095118899

セ@

Aufgabe 5: Bestimmung von kubischen Splines durch die Punkte (1/1), (2/2), (3/4) und (4/2) ergibt folgendes LGS zur Bestimmung der quadratischen Spline-Koeffizienten: aᄋq]セュゥエ@

1 0 lOCI (1 4 o A= 0 1 4 1 Q= C2 o 0 o 1 C3

0)

(CO)

セMSᄋ@ _

セ@

(1- 2 2+4) 2-2.4+2

o

9.5 Aufgaben zu Interpolation und Approximation

195

in Matrixform geschrieben:

0 4 1 0

U

0 1 4 0

MセR@

0 0 1 1

0 0 0 -15 1 4 0 0

U

"-+

)

= C3 = 0,

Co

0 0 51 o 1 MセR@ 1

C2--'0' 17

C1

= -12 -

)

"-+

4 . C2

= セ@

Absolutglieder sind die "linken" Stiitzstellen der Splines:

ao

= 1,

a1

= 2,

a2

=4 .

kubische Glieder:'r M、ォ]セZG@

do

セ@ . (C1 -

d1

セ@ . (C2 -

d2

セ@ . (C3 - C2)

line are Glieder:

b2

= セ@ . Hセ@ - 0) cd = セN@ (- ¥ - セI@ co)

= =

=

! . (0 + ¥) 'b k = (ak+1 - ak) - ! .(Ck+1 + 2Ck) RMQANHセKPI@

a1- ao-!'(C1+ 2cO)

bo b1

(-C-k+-1--Ck-)',

a2 - a1 - ! . (C2 + 2C1) a3 - a2 - ! . (C3 + 2C2)

4- 2- ! .

=

is

(-¥ + RNセI@

2 - 4 - ! . (0 - 2·

= ¥)

H

A

Damit ergeben sich die drei Spline-Polynome:

So(x) fUr 1 $ x $ 2 So(x)

=1+

is .(x -

1) + O· (x - 1)2 +

A.(x -

2) + セ@ . (x - 2)2 -

i .(x - 2)3

1)3

Sl(X) fUr 2 $ x $ 3 Sl(X) = 2 +

H· (x -

S2(X) fUr 3 $ x $ 4 S2(X)

=4 +

A.(x - 3) - ¥ .(x - 3)2 + it· (x -

3)3

= 1.5 ergibt sich aus So(x): Interpolationswert fUr x = 3.2 ergibt sich aus S2(X): Interpolationswert fUr x

= 1.3 S2(3.2) = セ@ = 3.9264

So(1.5)

196

9 LOsungen

In nebenstehender Skizze ist neben den drei Spline-Segmenten auch das Newtonsche Interpolationspolynom (gestrichelt)

Y

I I I I

I

\ P3( z) I I

P3(Z)

I I

I \ \

eingezeichnet.

1

Die Stiitzstellen sind durch Punkte markiert, die beiden Interpolationsstellen mit kleinen Kreisen.

\

x

1

Aufgabe 6: Wir fiihren ein Koordinatensystem ein, dessen Zentrum in der Mitte der abzurundenden Strecke liegt. y ! ............................................................................................... .................... セ@

1 x

Eo

1

Dann gilt: Dann gilt:

-

b0 =

(-5) 0

セHエI@

= HセUI@ セHI@

=

HSセI@

.(I-t)3

+ SHセUI@

セ@

a=4

z(t) =

セ@ -

.(I-t)2.t

+

3(:) .(I-t).t2 + HセI@

Aufgabe 7:

a)

*. H」ャウNセコ@

+ 」ᄃセsク@

+ 」UNセコ@

+ ...)

.t3

197

9.6 Aufgaben zu Integration und Differentialgleichungen b) Bei acht Punkten ist w = eit = cos セ@ 1 Stufe Yo = 0 Yl ]Mセ@ Y2 = 1

ya - _ f2l Y4 = 0 Ys - _ f2l Y6 = 1 Y7=-4

+j

ウゥョセN@

3. Stufe

2. Stufe

Yo := Yo + Y4 = 0 Yl := Yl + Ys = -../2 Y2 := Y2 + Y6 = 2 Ya := Ya + Y7 = -../2 Y4 :- (Yo - Y4) - 0 Ys := (Yl - ys)w1 = 0 Y6 := (Y2 - Y6)W2 = 0 Y7 := (Ya - Y7)c;r3 = 0

Yo :- Yo + Yl - 2(1 - v'2) Yo := Yo + Y2 = 2 Yl := Yl + Ya = -2../2 Yl := Yo - Yl = 2(1 + ../2) Y2 := (Yo - Y2) = -2 Y2 :- Y2 + Ya - -2 Ya := (Yl - ya)w2 = 0 Ya := Y2 - Ya = -2 Y4 :- Y4 + Y6 - 0 Y4 :- Y4 + Ys - 0 Ys := Ys + Y7 = 0 Ys := Y4 - Ys = 0 Y6 :- (Y4 - Y6) - 0 Y6 :- Y6 + Y7 - 0 Y7 := (Ys - Y7)W 2 = 0 Y7 := Y6 - Y7 = 0

Co C4 C2 C6 Cl Cs Ca C7

Daraus ergeben sich die reellen Fourier-Koeffizienten zu:

=

0'0

セ@

=

¥;

0'2

セ@

=

=

Mセ[@

0'4

und das trigonometrische Polynom:

T(t) = c)

¥ - セ@

+ ¥.cos4t

In der folgenden Graphik ist x(t) durchgezogen, das trigonometrische Interpolationspolynom gestrichelt und die erst en Glieder der Fourierreihe mit Strich-Punkt eingezeichnet.

1

I

I I I II

'I

i,"

'I

!I

II

"

, ,, 'I

\

..

I \

I

I

'2

9.6

Aufgaben zu Integration und Differentialgleichungen

Aufgabe 1: Berechnen Sie mit dem Simpson- und Rombergverfahren die folgenden Integrale auf fiinf Dezimalen genau:

9 Lasungen

198

a) 1

f

Vl+z4 dz

f

sin;z) dz

o Sinnp80nverfahren eO=I.00000()e..006 Naherungen: Doppelintervall nnit Halbierung der Intervallbreite 1.08955319799 1.08941343319 1.08942929898 1.08942941152 Itonnbergverfahren eO=1.000000e-006 Tableau: 1.2071067811 0.0000000000 0.0000000000 0.0000000000 0.0000000000 1.1189415937 1.0895531979 0.0000000000 0.0000000000 0.0000000000 1.0967954733 1.0894134331 1.0894041155 0.0000000000 0.0000000000 1.0912708425 1.0894292989 1.0894303567 1.0894307732 0.0000000000 1.0898897692 1.0894294115 1.0894294190 1.0894294041 1.0894293987

b) 1

o Sinnpsonverfahren eO=1.000000e-006 Naherungen: Doppelintervall nnit Halbierung der Intervallbreite 0.94614588227 0.94608693395 0.946083310887 0.94608308538 Itonnbergverfahren eO=1.000000e-006 Tableau: 0.92073549240 0.00000000000 0.00000000000 0.00000000000 0.93979328480 0.94614588227 0.00000000000 0.00000000000 0.94451352166 0.94608693395 0.94608300406 0.00000000000 0.94569086358 0.94608331088 0.94608306935 0.94608307038

c)

Sinnp80nverfahren eO=I.000000e-006 Naherungen: Doppelintervall nnit Halbierung der Intervallbreite 5.3287925642 5.3792441226 5.3974533458 5.4039532183 5.4062619603 5.4070801031 5.4073696924 5.4074721365 5.4075083664 5.4075211774 Itonnbergverfahren eO= 1.000000e-006 Tableau:

199

9.6 Aufgaben zu Integration und Differentialgleichungen 0.000000000 5.328792564 5.379244122 5.397453345 5.403953218

5.113250378 5.274907017 5.353159846 5.386379970 5.399559906

0.000000000 0.000000000 5.382607559 5.398667294 5.404386543

0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 5.398922210 0.000000000 5.404477324 5.404499109

5.407527396 5.407527874 5.407527912 5.407527920 5.407527922 5.407527923 5.407527923 5.407527923 5.407527923 5.407527923 5.407527923 5.407527923

5.407527922 5.407527923

Bemerkung zum letzten Beispiel: Die Funktion eVi ist bei z = 0 nicht differenzierbar. Deshalb sind die Voraussetzungen fUrs Rombergverfahren nicht erfullt! Daher die schlechte Konvergenz! Oft kann diese Problematik durch eine geschickte Substitution umgangen werden. 2

f eVidz o

= 2

u

..fi.

f

u· eUdz

Substitution mittels

0

=

2eU • (u - 1)1f2 = 2e..fi. (v'2 -1)

+2

{

dz

=

=

Vi

2udu

0-0

2 -

v'2

5.40752818465632

Fur das transformierte Integral ergibt sich: Simpsonverfahren eO= 1.000000e-006 Naherungen: DoppeIintervail mit Halbierung der Intervallbreite 5.44632022805 5.41010524569 5.40769178654 5.40753845002 5.40752882687 Rombergverfahren eO=1.000000e-006 Tableau: 8.22650075756

5.45399890850

0.00000000000 0.00000000000 0.00000000000 0.00000000000 5.44632022805 0.00000000000 0.00000000000 0.00000000000 5.41010524569 5.40769091353 0.00000000000 0.00000000000 5.40769178654 5.40753088927 5.40752834920 0.00000000000

5.41915356464

5.40753845002 5.40752822758 5.40752818533 5.40752818469

6.14136536043 5.59292027437

Aufgabe 2: Gegeben ist das Anfangswertproblem:

11' = y. sin(z) z

a)

j

y(l) = 1

Berechnung von y(2) mit der Schrittweite h = 0.2:

9 Losungen

200

ad NM]Z[GセL@

Euler-Verfahren z

1 1.2 1.4 1.6 1.8 2

Runge-Kutta-Verfahren: z Y

Y

1.00000000000000 1.15533984766120 1.31798689636444 1.48266501020950 1.64309721105156 1.79250361765492

1 1.2 1.4 1.6 1.8 2

1.00000000000000 1.17581704852061 1.36361904289902 1.55752126835127 1.75020289648597 1.93349223108804

b) Losungsformel fUr lineare homogene Differentialgleichungen ergiht: Y . sin(z) Y' z

セ@

InlYI

I I

Y

k. e

I

=

sinJ z) dz sinJz) dz

I

sin(z) z

j sin(z) z

dz

dz

e1

Y

Mittels Fehlerrechnung wird die notwendige Genauigkeit des Integrals ermittelt: Genauigkeit des Ergehnisses : 0.5 . 10- 2 --... Genauigkeit des Integrals: 0.5 . 10- 2

bd

.

h

2

I

セ@

sm z z

:::::

:::::

0.2· 10- 2

dz

I

0.5 0.65935105486081 0.25 0.65933121094521

Simpson-Formel:

0.5· elO - 2

y(2) ::::: eI = 1.93349 ...

b 2 ) Potenzreihenentwicklung

alternierende Reihe --... Fehler kleiner als erstes weggelassenes Glied: hier his zur Ordnung 7 !!

12 . . . d z

l

-

-

1

'

7

31

127

- 370 + s-:TIU - 7 . 5040

...

,

+R

=0.659178005 ...

mit

IRI < 9.

iMsso : : :

1.5· 10- 4

y(2) = eI

1.93320 ...

201

9.6 Aufgaben zu Integration und Differentialgleichungen Aufgabe 3:

Gegeben ist das Anfangswertproblem (4 - x 2 )y" - 2xy' + 2y = 0 mit

a)

y(O)

=0 ,

x 0 0.25 0.5 0.75 1

y'(O)

exakt: y = x

Schrittweite h - 0.5 Schrittweite h = 0.25 y' y' y y 1 0.0000000000 1.0000000000 0.0000000000 I 1.0000000000 0.2500000000 1.0000000000 0.5000000000 1.0000000000 0.5000000000 I 1.0000000000 0.7500000000 1.0000000000 1.0000000000 1.0000000000 1.0000000000 I 1.0000000000

b) y(O)=l, y'(O)

x 0 0.25 0.5 0.75 1

=1

=1

exakt: y

= ャᄋョHセK[IクQ@

y(l)

=

I I I I

1.72534692 ...

Schrittweite h = 0.5 Schrittweite h = 0.25 y' y' y y I I 1.0000000000 1.0000000000 1.0000000000 11.0000000000 1 1.2342928200 0.8736824206 1.4361474332 0.7389666717 1.4361457545 I 0.7390631561 1 1.6021667474 0.5847140277 1. 7253545148 0.3920277774 1.7254334701 I 0.3922447579 1

Aufgabe 4: Aus der Differentialgleichung

w(O) = w(l) = 0 erhii.lt man fiir acht Teilintervalle die Diskretisierung Yi-l - 2Yi

+ Yi+l = _ セN@

=

セ@ 3

(1 - セNI@ . [1 + (Yi+l - Yi-l) 2]'l

1 + ウゥョHQiBセI@

U)2

Xi

21

i

= 1, 2,

... 7

yo=ys=o linear 0.125 -0.00583222720 0.250 -0.01042846334 0.375 -0.01330852828 0.500 -0.01428509078 0.625 -0.01330852828 0.750 -0.01042846334 0.875 -0.00583222720

1. It. -0.00583843688 -0.01043765527 -0.01331839973 -0.01429496223 -0.01331839973 -0.01043765527 -0.00583843688

2. It. -0.00583844507 -0.01043766596 -0.01331841066 -0.01429497316 -0.01331841066 -0.01043766596 -0.00583844507

3. It. -0.00583844508 -0.01043766597 -0.01331841067 -0.01429497317 -0.01331841067 -0.01043766597 -0.00583844508

9 Losungen

202 Blegellnle

0.015

0.01

0.005

0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.6

0.7

0.8

0.9

0.6

0.7

0.8

0.9

0.8

0.7

0.8

0.9

Moment

0

-0.05

-0.1

-0.15

0

0.1

0.2

0.3

0.4

0.5

Fiir 50 Teilintervalle ergibt sich das Bild: Blegellnle

0.015

0.01

0.005

0

0

0.1

0.2

0.3

0.4

0.5 Moment

0

⦅PNQUセMlj@

-0.1

o

0.1

0.2

0.3

0.4

0.5

203

9.6 Aufgaben zu Integration und Differentialgleichungen Aufgabe 5: a)

Verbesserte Polygonzug-Methode kl

k2

h· !(Xk,Xk) = >.. h· Yk

= ィNAHxォKセGyI@

Y/c+l

Yk

= >.h·[Yk+>';Y.] +

k2 =

[1 + >'h + (>.;)2]. Yk

Dies ist derselbe Faktor wie beim Heun-Verfahren! b) Implizites Runge-Kutta-Verfahren kl

=

AHxォKセGyI@

>. >'h Xh . Yk 1- T

Y/c+l = Yk + hkl = Yk +

Dies ist derselbe Faktor wie beim Trapez-Verfahren! Aufgabe 6: Wir approximieren die gemischte Ableitung Uzy(x,y) durch Anwendung des zentralen Differenzenquotienten auf die Niiherung der ersten Ableitung.

Uz(Xk,YI+d

=

Uz ( Xk,YI-I )

=

Uk+l"+l2/i Uk-l,l+l Uk+l,l-l - Uk-l,l-l

2h

Uk+l,l+l - Uk-l,l+l

2h

2h

Uk+l,l-l - Uk-l,l-l

2h

= Aufgabe 1:

y

Die Funktionalmatrix ist gegeniiber einer Translation invariant. Deshalb kann o.B.A. PI = (010) angenommen werden. Das gleichseitige Dreieck ist damit durch die Koordinaten von P2(x2IY2) festgelegt. Fiir den Ortsvektor P 3 von (010) nach P3 gilt:

1

1 Die Jacobi-Determinante Jist die doppelte Fliiche des gleichseitigen Dreiecks:

J =

HクセKyョ

ᄋ@

4

9 LOsungen

204 Damit ergibt sich: a

=

b

=

c

=

コセK@

J

2

=

Va

-4 0 -4 -4 0 -4 24 -8 -4 -4 0 -4 -4 -8 24 -4 0 -4 -8 -8

A= セ@

. (25 1 + Rセ@

Aufgabe 8: a) em:

1

- 5..a) =

1 6 1

6 1 1

Steifigkeitselementmatrix:

673·

1 1 6 0

-4 0

-4 -8 -8 24

In einem langen, homogenen Zylinder fiihren wir Zylinderkoordinaten Zl

Z2 Z3

= r·costp = r· sintp = Z

Auf der Berandung sei eine nur von t, d.h. nicht von den Raumkoordinaten abhangige Temperatur vorgegeben. Dann erhalten wir fiir einen Schnitt senkrecht zur Zylinderachse eine Gleichung, die nur von r und t abhangt. Aus der allgemeinen Warmeleitungsgleichung

+

Uu

Uyy

+

Uzz = U,

erhalten wir wegen

=

TT

Urr

セ@ + ---=r + !lr. r r

die Gleichung Urr

+

!{.r-

= U,

mit den Anfangs- und Randbedingungen

U(r,O) = g(r) U(I,t) = let)

。ujセLエI@

= 0

Die Neumannbedingung fiir r = 0 ergibt sich aus der Forderung, dass U(r,t) in r gerade sein muss. Wenn wir in r-Richtung in n Teile unterteilen, in t-Richtung die Schrittweite Ie benutzen, so ergibt sich die Diskretisierung (vgl. Skizze auf Seite 144) : ri

= i· h ,

h --

!n

205

9.6 Aufgaben zu Integration und Differentialgleichungen

Fur inn ere Punkte fUhrt die Diskretisierung (Vorwartsdifferenzen!!) auf folgende Differenzengleichung Ui+l,j - 2Ui,i h2

+ Ui-1,j +

1

Ui+1,j - Ui-1,j

2h

ri .

_

-

Ui,j+1 - Ui,j

k

Fur 0 < i < n lasst sich die Differenzengleichung wie folgt explizit aufiosen: ij. '+1 ',1

Fur i

=

ij ...

',1

(1 MセI@

+

h'"

ij'+l ' ,

',1

= 0 ergibt sich wegen U ,j = U1

(.5..+ h'" + g) セコョ@

1 ,j

2Ul,j - 2Uo,j _ h2 -

ij'-l ' ,

',1

(.5..h'" - g) セzョ@

die Differenzengleichung UO,H1 - UO,j

k

die sich ebenfalls explizit aufiosen lasst: UO,j+l

=

UO,j'

HQMセI@

+

U 1,j .

セ@

Fur i = n gilt wegen der Dirichlet-Bedingung Un,j = f(tj). Das Verfahren ist nur fUr kleine k (Schrittweite in t-Richtung) numerisch stabil. b) Fur h = 0.05 und k = 0.001 ergaben sich die folgenden Schaubilder, die das e- t - 1 bzw. h(t) sin4t in Eindringen der Temperaturanderung /I(t) den Zylinder zeigt.

=

Waermeleltungsglelchung 1m Zyllnder fr- exp(-t)-1; g_ zeros(slze(x));

0.8 0.6

-

5" 0.4 0.2

o 2

o

0

=

k- 0.001; h- 0.05

9 LOsungen

206 W.ermeleltungsglelchung 1m Zyllnder fr- slnC"·t); g_ zerosCslzeCx»;

k- 0.001; h- 0.05

0.5

セ@

0

:::;,

-0.5

..

-1

o

0

Das folgende Bild zeigt eine "Mornentaufnahrne" zurn Zeitpunkt to = 0.59. Waermeleltung 1m Zyllnder f- slnC"·t); to- 0.55;

k- 0.0001; h- 0.025

0.86

0.82

0.8 2

1 .5

y

-2

-1 .5

x

9,6 Aufgaben zu Integration und Differentialgleichungen y

Aufgabe 9: In Abhangigkeit von z ergeben sich fUr:

Steigung:

207

m=2z

Kriimmungsradius: 3

_ (1 + y/2) 2

R-

3

_

(1 + 4z2)'" 2

yIi

Wir bestimmen den Betrag der Auflagekraft auf Fiihrung: Z

• Normalkomponente der Gewichtskraft:

• Zentrifugalkraft

Fiihrungskraft: -+

F

=

セ@

+ 2z2

1

JI + 4z2 ' JI + 4z2

(-2Z) 1

9 + 2z2 , (-2Z) = 1 + 4Z2 1

Reibungsskraft:

R --

-

k'

(' )

sIgn z '

9 + 2z2 1) VI + 4Z2 ' JI +1 4z2 ( 2z

=

-

' ( , ) 9 + 2z2 (1) k sIgn Z '1 + 4z 2 ' 2z

Bilanz:

Betrachten wir die erste Komponente, so erhalt man: Z = -

セ@

! 4:

2'2 2 ,[2z

+

ksign(z]

Fur die MATLAB-Prozedur "ode23" lautet der m-File:

function xdot=reipa(t,x); global k; xdot=[x(2);-(l+2*x(2).-2).*(2*x(l)+k*sign(x(2»)./(1+4*x(1).-2)]; Fur den Parameter wert kl = 0.1 ergibt sich:

9 Losungen

208

-LA -2

MRNVPZ[Lセ@

M[LセN@

--;.:';-. --;,:';-.--;,.::----:,:';-._--.l••. I

Fur den Parameterwert kl

= 0.5 erhiilt man:

...

,. 9.7

"

MGNャセV[Z@

•.' ; - - - : - - - . , - ' : I . I : - - - . J

Aufgaben zu MATLAB

Aufgabe 1: 1. m-File .. regula .... 1. Regula-Falsi fuer die Funktion fO(t) 1. fO(t) muss als function-file bereits vorhanden sein 1. lullstelle und Anzahl der notwendigen Iterationen fuer Maschinen1. genauigkeit werden ausgegeben 1. ill Vektor p sind die Zwischenwerte der Iterationen gespeichert

1. clear variables; global p; disp('Regula-Falsi zur Loesung der Gleichung f(x)=O '); fO=input('Funktion fuer Iteration f(x)= ','s');

209

9.7 Aufgaben zu MATLAB

disp('Graphische Darstellung der Funktion: '); s=1; while s==1. x1=input('linke Intervallgrenze x1= '); x2=input('rechte Intervallgrenze x2= '); d=(x2-x1)/500; t=x1:d:x2; y=feval(fO,t);clf; plot(t.y.t,zeros(size(t»);hold on;grid; str=['Nullstellen der Funktion , fO '(x)'];title(str); clear t y;but=1; s=input('Neue Graphik? Ja=1, Nein=2 '); end;l1=O;p=[] ; x1=input('Startwert xO= '); x2=input('Startwert x1= ');eO=3*eps;p=[x1 x2]; while (eO»(2*eps), if abs«feval(fO.x1)-feval(fO,x2»»0. x3=(x1*feval(fO.x2)-x2*feval(fO.x1»./(feval(fO.x2)-feval(fO.x1»; eO=abs(x3-x2);l1=l1+1;x1=x2;x2=x3;eO=eO/(abs(x3»; p=[p x3]; else s=O;eO=O; end; if 11>50, eO=O;end end; disp('Nullstellen, Anzahl der Iterationen'); disp('sind in der Matrix Reg abgelegt');Reg=p'; lullstelle=x3 Anzahl=l1 clear fO Aufgabe 2: a)

Schaubild der Funktion:

MセG[N@

u.

.•

...

- - ; - - - --:.':-----,:----:GZMセ

MZGL@

.•

9 LOsungen

210

Xl X2

Xs X4 X5 X6 1:7

X8 X9 XIO Xll

1. Nullstelle

2. Nullstelle

3. Nullstelle

4. Nullstelle

-1 .200000000000 -0.800000000000 -0 .921819905213 -1.051612091165 -0 .991459772487 -0.999147948693 -1.000015112767 -0.999999973571 -0 .999999999999 -1.000000000000 -1 .000000000000

0.800000000000 1.200000000000 0.881290322580 0.937309161237 1.042549051460 0.990759470345 0.998785261879 1.000038339558 0.999999844335 0.999999999980 1.000000000000

0.200000000000 0.300000000000 0.280842105263 0.843214038106 0.276350493957 0.272188846678 0.232172685685 0.255220052558 0.251011216808 0.249928443698 0.250000917333 0.250000000822 0.249999999999 0.250000000000

0.300000000000 0.400000000000 0.315294117647 0.324791545897 0.335883682631 0.333068981720 0.333325953708 0.333333355352 0.333333333331 0.333333333333

XI2 XIS

X14

p=[12 -7 -11 7 -1]; roots(p) ans=

-1.00000000000000 1.00000000000000 0.33333333333333 0.25000000000000

b) Schaubild der Funktion 16 イM

Mイ

Mイ



イM

Nuhlo non do, Funktion 'Og2(1) Mイ

Mイ



イM



Mイ

ML

」M⦅L@

12 10

a

-2 ⦅ T セ

-3

MZG



-2 .5

MZ

-2

MZ⦅G

-1 .5

MZG

-1

Mセ

-0 .5

]M

NlMB

ZN



0 .5

MGlNj@

1.5

2

I

211

9.7 Aufgaben zu MATLAB 1. Nullstelle 0.00000000000000 2.00000000000000 0.40000000000000 0.68421052631579 1.23187710033605 0.94949140812989 0.99285540620988 1.00024770294914 0.99999881609453 0.99999999980452 1.00000000000000

Xl X2 X3 X4 X5 X6 X7

Xs X9

XlO Xu

2. Nullstelle -2.10000000000000 -1.80000000000000 -2.21481481481482 -0.52185347526628 -2.29387267003066 -2.45965017655395 -2.18825352809635 - 2.13863044079427 -2.08180074994658 -2.05228011268319 -2.03222325686760 -2.00000000696933

X41

p=[l 3 0 -4];

roots(p) ans=

-2.00000000000000 + 0.00000001985182i -2.00000000000000 - 0.00000001985182i 1.00000000000000 fzero('reg2',-1.9999) ans=

1

Die MATLAB-Prozedur "roots" liefert ein etwas schlechteres Resultat, wahrend die Routine "fzero" die doppelte Nullstelle gar nicht erkennt! Das Newtonverfahren mit dem Startwert -2.5 liefed nach 27 Iterationen den Wert -2.00000000371146. Aufgabe 3: Aus der Differentialgleichung mit dem Parameter a : y"

+ a 2y =

0, a

>0

.

ergibt sich die charakteristische Gleichung: A2

+

a2 = 0

"-+

AI,2

±ja

a)

y(X) y'(x)

CI cos(ax) + C2 sin(ax) -aCI sin(ax) + aC2 cos(ax)

b) Die Randbedingungen (R I ) y(O) + y'(0) = 0 (R 2 ) y'(1) = 0 ergibt das lineare Gleichungssystem:

9 Losungen

212

(Rd (R2)

yeO) + yeO) = 0 = y(l) = 0 =

C1

+

a . C2

-asina· C1 + a cos a . C2 Nichttriviale Losungen existieren, wenn die Determinante Null wird.

1 1-asina

a acosa

1-- 0

Da a > 0 ist die Gleichung zu erfiillen.

cosa

+

asina = 0

c) Nullstallan dar Funktlon rag3(x)

15.--------------,---------------,--------------,

10

5

ッセM⦅K@

-5

-10

MQUセ@

Xl X2 X3 X4 X5 X6 X7 X8

o 1. Nullstelle 3.0000000000000 4.0000000000000 2.8180500199483 2.8010537417072 2.7984044984161 2.7983860633414 2.7983860457840 2.7983860457838

5

10

15

2. N ullstelle 3. Nullstelle 4. Nullstelle 6.0000000000000 9.0000000000000 13.0000000000000 7.0000000000000 10.0000000000000 14.0000000000000 6.1180272241750 9.3082371577051 12.1658022997819 6.1212223041772 9.3179176141845 12.5591278712965 6.1212504817820 9.3178664081056 12.4835724787492 6.1212504668980 9.3178664617907 12.4864401082802 6.1212504668980 9.3178664617910 12.4864543985416 12.4864543952237

9.7 Aufgaben zu MATLAB

213

Aufgabe 4: m-File des Ganzschrittverfahrens:

1. 1. 1. 1.

Ganzschrittiteration zum Loesen des LGS A*x=d Startvektor ist der Nullvektor Die erst en 50 Zwischenresultate werden als Matrix P gespeichert Die Variable 11 gibt die Gesamtzahl der Iterationen Yo Die Transformationsmatrix der Umnummerierung ist die Matrix T 1. Der Loesungsvektor ist die Variable x 1. Benoetigt die Unterprozeduren gre.m, verts.m, beding.m, it.m Yo

disp('Ganzschrittverfahren zur Loesung eines'); disp('linearen Gleichungssystems A*x=d mit: '); disp('bei Leereingabe wird auf bereits definierte Matrix zugegriffen'); clear a D x xs P C T; a=input('Matrix A = '); if -isempty(a),A=a;end; D=input('rechte Seite d= ,); if -isempty(D),d=D;end; [n,m]=size(A);[n1,m1]=size(d); if n1O. r(11)=r1/abs(A(11.l1»j else r(l1)=2j end endj b=max(r)j function r=gre(A)

1. liefert Position des betragsmaessig groessten Elements einer Zeile 1. Ergebnis ist ein Vektor mit ebensoviel Komponenten wie Zeilen der Matrix [n.m]=size(A) ; for l1=1:n. r1=A(11.1);r(11)=1; for l2=2:m. if abs(A(11.l2»>r1. r(l1)=12; r1=abs(A(11.l2»; end end end; function B=it(A)

1. Ergibt Matix fuer iterative Loesung eines LGS 1. LGS Ax=b wird ueberfuehrt in x(n+1)=b-Bx(n) [n.m] =size(A) ; for 1=1:n. for j=1 :m, B(l.j)=A(l.j)/A(l.l); end end; k=min(n.m) ; for 1=1:k B(l.l)=O; end; function C=verts(A.n1,n2)

9.7 Aufgaben zu MATLAB

215

Yo liefert Transformationsmatrix, die bei einer Matrix der Groesse A Yo bei A*C die nl-te und n2-te Spalte vertauscht ODER Yo bei C*A die nl-te und n2-te Zeile vertauscht

C=eye(size(A»; a=C(:,nl); C(:,nl)=C(:,n2); C(: ,n2)=a;

1m Command-Window sind folgende Eingaben zu machen: A=[19 1 2 1 1 0;1 3 10 121 1;1 2 3 1 4 20 1;30 1 347 1 2]; A=[A;l 1 2 15 1 1 3;1 2 3 4 1 2 20;2 1 2 3 25 3 4]; b=[4764 165 112 101 187 193]'; iteratg Matrix A = A rechte Seite d= b umgeordnete Matrix A

A= 9 3 2 1 1 2 1

1 10 3 3 2 3 2

1 1 20 1 1 2 3

1 1 1 30 1 1 2

2 1 1 4 15 4 3

0 1 1 2 3 20 4

1 2 4 7 1 1 25

Anzahl = 90 x = 1.00194573126057 2.69527634436537 2.79962179868551 3.98952190623064 4.99918239260691 5.96281916679737 6.96630139174640

Beim Einzelschrittverfahren wa.ren nur 19 Iterationen notig gewesen.

Aufgabe 5: m-File Peilung Yo Standortbestimmung aus drei Peilungen Yo Yo Ohne Erdkruemmung

216

x

XBerechnung

9 LOsungen

des nicht1inearen Ausg1eichsprob1eas

X erfo1gt mit Gauss-lewton-Methode X X 1=(1_1,1_2,1_3) Messverte der Pei1ung als Spaltenvekor X xi=(x_l,x_2) Koordinatan der Sender als Spaltenvektor X X benoetigt: f_pei1.m, j_pei1.m, schnitt.m

XZvischenresu1tate

in xi

X disp('Standortbestimaung aus 3 Pei1ungen'); disp( 'ohne Erdkru8JlllllUD.g! !') ;disp(' ,); disp('Eingaben als Spa1tanvektor!!'); global xi xl x2 x3; fo='f_pei1';ja='j_pei1'; xl=input('Koordinatan des 1. Senders xl= '); x2=input('Koordinatan des 2. Senders x2= '); x3=input('Koordinatan des 3. Senders x3= '); 1=input('Winke1 der Pei1ungen(Grad) 1=(1_1,1_2,1_3)= '); izz=l; for iz=1:3, if 1(izz»90, 1(izz)=1(izz)-180; end; izz=izz+l; end; 1=pi*1/180; [xsl,ysl]=schnitt(xl,x2,l(1),l(2»; [xs2,Y82]=schnitt(xl,x3,l(1),l(3»; [x83,ys3]=schnitt(x2,x3,l(2),l(3»; xO=([xsl ysl]+[x82 ys2]+[xs3 ys3])'/3; x=xO;e=1;dx2=zeros(size(xO»; k=O;r=l-feval(fo,x); xi=[O xO' r'*r]; vhile e>10*eps, dxl=feval(ja,x)\r; e=abs(dxl-dx2);dx2=dxl;k=k+l; x=x+dxl; r=1-feva1(fo.x); xi=[xi;k x, r'*r]; if k>SO, e=O;end; end; Anzahl=k Standort=x Fehlerquadrat=r'*r x_min=min([xl(l) x2(1) x3(1) x(l)]); x_max=max([xl(l) x2(1) x3(1) x(l)]); d_x=(x_max-x_min)/10; y_min=min([x1(2) x2(2) x3(2) x(2)]); y_max=max([x1(2) x2(2) x3(2) x(2)]);

217

9.7 Aufgaben zu MATLAB

d_y=(y_max-y_min)/i0; x_aus=[xi(i) x2(i) x3(i);x(i) x(i) x(i)]; y_aus=[xi(2) x2(2) x3(2);x(2) x(2) x(2)]; x_p=[xi(i) x2(i) x3(i);xsi xs3 xs2]; y_p=[xi(2) x2(2) x3(2);ysi ys3 ys2]; x_s=[xi(i) x2(i) x3(i)]; y_s=[xi(2) x2(2) x3(2)]; plot(x_aus,y_aus,'g',x_p,y_p,'r',x_s,y_s,'oy'); line([xsi xs2 xs3 xsi],[ysi ys2 ys3 ysi],'Color','r'); axis([x_min-d_x x_max+d_x y_min-d_y y_max+d_y]); title('Peilungen rot; ausgeglichene Loesung gruen'); m-file Lpeil.m

function y=f_peil(x); global xi x2 x3; y=[atan((x(2)-xi(2»./(x(i)-xi(i») atan((x(2)-x2(2»./ ... (x(i)-x2(i») atan((x(2)-x3(2»./(x(i)-x3(i») ]'; m-File j_peil.m

function J=j_peil(x); global xi x2 x3; j]{HクゥRIMᄏNOセK@ HMクゥIKᄏNOセR[@ HクRIMᄏNOゥセK@

HMクRゥIKᄏNOセ[@ HクSRIMᄏNOゥセK@

.. . .. . .. . .. . .. .

HMクSゥIKᄏNOセR}[@

m-File schnitt.m

function [xs,ys]=schnitt(xi,x2,ai,a2); xs=(x2(2)-xi(2)+xi(i)*tan(ai)-x2(i)*tan(a2»/(tan(ai)-tan(a2»; ys=xs*tan(ai)+xi(2)-xi(i)*tan(ai); Aufgabe 6: periodische Losung II Die Berechnung der Bahnkurve und ihre Darstellung im bewegten Koordinatensystem erfolgt durch die MATLAB-Prozeduren:

x02=u[O.994uOuOu-2.00i585i06379]; [t,x]=ode45('sat',O,20,x02'); plot(x(:,i),x(:,3»;

218

9 LOsungen

1.5 r---------.---------.---------.---______.-________.-__

0 .5

o

-0 .5

-1

MQNUセ

-1 .5

Mセ

-1



セM

-0.5



セM

Ml

0

セ@ 0.5

Die Bahn der zweiten periodischen Losung ist relativ instabil. Wird die Beobachtungszeit auf 50 Einheiten erhoht, so "explodiert " die L6sung. 10 8

6 4

2

0 -2 -4

-6 -8

-10 -10

-5

0

5

10

15

219

9.7 Aufgaben zu MATLAB

Erhohen wir die Genauigkeit der Prozedur "ode45" I so erhiilt man wieder das periodische Bild

[t,x]=ode45('sat',O,50,x02',le-10); plot(x(:,l),x(:,3»; Zur Beobachtung im festen Koordinatensystem miissen wir die errechneten Daten wieder der Koordinatentransformation unterwerfen:

v=[cos(t).*x(:,l)-sin(t).*x(:,3),usin(t).*x(:,l)+cos(t).*x(:,3)]; plot(v(:,l),v(:,2»; 1.5r--------.--------.--------.--------.--------.--------,

0.5

o

-0.5

-1

MQNUセl@

-1.5

-1

o

-0.5

0 .5

1.5

Aufgabe 7: Fiir die Neumann-Bedingung sind insgesamt acht geometrische Situationen denkbar. Die Gewichtung kann den folgenden Skizzen entnommen werden:

G

i

-1

+ I

.

i

4 -2 :-------- ----.- ..... ---1

-1

G

-2

G

i4 -2

-1

220

9 LOsungen

-1

..... -. -.. Mセ

4

-1

G

-2

-1

4

-2

G

G -2

+ I

i m-File partdg.m Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo Yo

partdg.m Ditterenzenmethode zur Loesung von ellipt. DGL in 2 Variablen Erstellung eines Datenfiles mit: Matrix A: Gitterpunkte des Gebiets Kennzeichnung: 4: innerer Punkt 1: Dirichlet 11 .. 18 Heumann (Grenze durch Gitterpunkte!!) Matrix td: Dirichletvorgaben Matrix t: Inhomogenitaet h: Maschenveite Beispiele tuer Datentiles: partl.m, part2.m, part3.m

part4

Yo Datentile

[nl,n2]=size(A) ; T=zeros(nl,n2);nr=1; Yo Hummerierung der Unbekannten tor iz=l:nl, tor izz=1:n2,

9.7 Aufgaben zu MATLAB

if A(iz,izz»O,T(iz,izz)=nr;nr=nr+l;end; end; end; k=zeros(nr-l,nr-l);c=zeros(nr-l,l); x=[] ;y=[] ;xd=[] ;yd=[] ;xn=[] ;yn=[]; for iz=l :nl, for izz=1:n2, if A(iz,izz)==l, xd=[xd izz];yd=[yd iz]; end; if A(iz,izz)==4, x=[x izz];y=[y iz]; end; if A(iz,izz»4,xn=[xn izz];yn=[yn iz];end; end; end; plot(x,y,'o',xd,yd,'+',xn,yn,'*'); % Plotten des Gebiets for iz=l:nl, %Erstellen des Gleichungssystems for izz=1:n2, if A(iz,izz)==l, n=T(iz,izz);k(n,n)=l;c(n)=fd(iz,izz); end; if A(iz, izz)==4, n=T(iz,izz);ne=T(iz,izz+l);nn=T(iz+l,izz); nw=T(iz,izz-l);ns=T(iz-l,izz); k(n,n)=4;k(n,ne)=-1;k(n,nn)=-1;k(n,nw)=-1;k(n,ns)=-1; c(n)=h*h*f(iz,izz); end; if A(iz,izz)==ll, n=T(iz,izz);nn=T(iz+l,izz); nw=T(iz,izz-l);ns=T(iz-l,izz); k(n,n)=4;k(n,nn)=-1;k(n.nw)=-2;k(n,ns)=-1; c(n)=h*h*f(iz.izz); end; if A(iz,izz)==12. n=T(iz. izz); nw=T(iz.izz-l);ns=T(iz-l,izz); k(n.n)=4;k(n,nw)=-2;k(n,ns)=-2; c(n)=h*h*f(iz,izz); end; if A(iz.izz)==13, n=T(iz.izz);ne=T(iz.izz+l); nw=T(iz.izz-l);ns=T(iz-l.izz); k(n,n)=4;k(n,ne)=-1;k(n,nw)=-1;k(n,ns)=-2; c(n)=h*h*f(iz.izz); end; if A(iz,izz)==14. n=T(iz.izz);ne=T(iz.izz+l);

221

222 ns=T(iz-l, izz) j k(n,n)=4jk(n,ne)=-2;k(n,ns)=-2; c(n)=h*h*f(iz,izz); end; if A(iz,izz)==16, n=T(iz,izz);ne=T(iz,izz+l);nn=T(iz+l,izz); ns=T(iz-l,izz); k(n,n)=4;k(n,ne)=-2;k(n,nn)=-1;k(n,ns)=-1; c(n)=h*h*f(iz,izz); end; if A(iz,izz)==16, n=T(iz,izz);ne=T(iz,izz+l);nn=T(iz+l,izz); k(n,n)=4;k(n,ne)=-2;k(n,nn)=-2; c(n)=h*h*f(iz,izz); end; if A(iz,izz)==17, n=T(iz,izz);ne=T(iz,izz+l);nn=T(iz+l,izz); nv=T(iz, izz-1); k(n,n)=4;k(n,ne)=-1;k(n,nn)=-2;k(n,nv)=-1; c(n)=h*h*f(iz,izz); end; if A(iz,izz)==18, n=T(iz, izz); nn=T(iz+l,izz);nv=T(iz,izz-l); k(n,n)=4;k(n,nn)=-2;k(n,nv)=-2; c(n)=h*h*f(iz,izz); end; end; end; xx=k\c; Y. Loesung des Gleichungssystems E=zeros(nl,n2); for iz=l:nl, for izz=1:n2, n=T(iz,izz); if n>O,E(nl-iz+l,izz)=xx(n);end; if n>O,Ef(iz,izz)=xx(n);end; end; end; [xf,yf]=meshgrid([O:O.06:1.7]); Y. part4.m figure;mesh(xf,yf,Ef);viev([210,40]); Aufgabe 8: Daten-File: part4.m Y. Poisson-Daten: part4.m A=zeros(36,36); [nl,n2]=size(A); for iz=2:26, for izz=2:21,

9 LOsungen

9.7 Aufgaben zu MATLAB A(iz,izz)=4; end; end; for iz=2:20, for izz=22:25, ACiz, izz)=4; end; end; d=l; for izz=26:35, for iz=(1+d):(21-d), A(iz,izz)=4; ACizz, iz) =4; end; d=d+l; end; for iz=1:25, A(iz,1)=15; end; for iz=2:25, A(1,iz)=17; end; A(1,1)=16; for iz=25:35, A(iz,iz-24)=1; A(iz-24,iz)=1; A(iz,46-iz)=1; A(46-iz,iz)=1; end; for iz=21:25, A(iz,21)=1; A(21,iz)=1; end; h=O.05; fd=zeros(nl,n2); for iz=l:nl, for izz=1:n2, f(iz,izz)=sin((10+iz+izz)/10); % f(iz,izz)=10*(sin((iz+izz)/5)+1)/(10+iz+izz); end; end;

223

224

9 LOsungen

f(z,y) = sin(l + 2z + 2y) 0.15 0 .1

-;;

0.05

.?!.

:::>

0

o

-0 .05 -0 .1 2

o

y

2

x

f(z,y)

sin(4z + Tyセ@ +1 1 + 2z+ y

0 .2

o

o 2 1 .5

o x

2

y

225

A A.1

Einfiihrung in MATLAB Allgemeines

MATLAB ist ein interaktives Softwarepaket fiir numerische Berechnungen bei mathematischnaturwissenschaftlichen Problemen und im Ingenieurbereich. MATLAB arbeitet bei allen Zahleneingaben auf der Basis von Matrizen (entstand aus einem Paket zur linearen Algebra). Dies hat zur Folge, dassjede Variable stets als Matrix interpretiert wird. Beim Gebrauch von Variablen ist nicht wie in einer Programmiersprache eine vorherige Definition des Zahlenformats notwendig. MATLAB unterscheidet zwischen GroB- und Kleinschreibung. Der Befehl "casesen" macht die Unterscheidung zwischen GroB- und Kleinschreibung riickgangig. Mit dem Befehl "quit" beendet man eine MATLAB-Sitzung. Mit ,,!" erreicht man wiihrend einer MATLAB-Sitzung die Ebene des Betriebssystems.

A.2 A.2.1

Fundamentals Eingabe von Matrizen

Der Befehl

weist der Variablen A die 3 x 3-Matrix

zu.

A=[lu2u3 uuu 4 u 6 u 6 uuu 7 u 8 u 9]

A.2.2

Matrixelemente

Matrizenelemente konnen auch mathematische Ausdriicke sein.

Einzelne Matrizenelemente konnen mit Indices angesprochen werden. x(6)=abs(x(l»

ergibt den Vektor x=-1.3000 1.73214.80000.0000 1.3000 Matrizen konnen durch Anfiigen vergroBert werden. r=[10 u ll u 12] A=[A;r]

ergibt die Matix

aセ・@

-

Mit der Anweisung

2

5 7 10

8 11

}J

A Einftihrung in MATLAB

226 B=I(1:3.2:3)

erhalten wir die Zeilen 1 bis 3 und die Spalten 2 und 3 der urspriinglichen Matrix A. Steht im Argument nur ": " ,so werden alle zuvor definierten Elemente ausgewahlt. A.2.3

Variable

Durch das Gleichheitszeichen wird einer Variablen ein Ausdruck zugewiesen. Fehlt die Variable in der Eingabezeile, so wird der Ausdruck der daf"tir reservierten Variable "ans" zugewiesen. Reicht fUr die Eingabe eine ZeiIe nicht aus, so bon in der folgenden Zeile weitergeschrieben werden, wenn vor der "return-Taste" drei Punkte stehen. a=1-1/2+1/3-1/4+1/S- u 1/6+1/7-u 1/8u +1/9 ... -1/10+1/11-1/12 u+1/13

Leerzeichen vor und nach Rechenoperationszeichen sind optional. Ein Semikolon am Ende der Anweisung unterdriickt die Bildschirmausgabe. A.2.4

Information iiber Variable

Der Befehl "who" listet alle Variablen auf, iiber die in der laufenden Sitzung bereits verfiigt wurde. Der Befehl "whos" ergibt eine detaillierte Information iiber diese bereits belegten Variablen: GroBe der Matrix, komplex, noch verftigbarer Arbeitsspeicher. Der Befehl "clear" 100cht die Belegung aller Variablen. Sollen nur bestimmte Variable gelOscht werden, so sind diese nach "clear" explizit anzugeben. Ebenso konnen bereits compilierte Funktionen mit "clear functions" aus dem Arbeitsspeicher entfernt werden. A.2.5

Zahlen und Arithmetik

Zuliissige Zahlendarstellungen sind 3.u-99.uO.001.u9.634S21.u1.4E-20.u6.4S782e12

Bei der Potenzdarstellung darf vor E bzw. e kein Leerzeichen stehen! Die Genauigkeit der internen Zahlendarstellung betrii.gt ungeflihr 16 Dezimalen und umfasst den Bereich von -lOS08 bis lOSos. Die kleinste von Null unterscheidbare Zahl ist eps セ@ 2.2.10- 16 . Diese interne Zahldarstellung liisst sich nicht beeinfiussen, es kann nur die Ausgabe auf Bildschirm und Drucker gesteuert werden. Die Variable "NaN" (not a Number!) stellt das Symbol 00 dar und wird z.B. bei der Division durch Null erzeugt. Die Funktion "pi" erzeugt die Konstante '11". Weiter sind die iiblichen Grundrechenoperationen und Funktionen verftigbar:

+ -

*

\ I A

Addition Subtraktion MuItiplikation Division rechts (siehe A.3.1 ) Division links (siehe A.3.1) Potenz

a6s(z) sqrt(z) log(z) sin(z) tan(z)

...

Absolutbetrag von z Quadratwurzel von z natiirlicher Logarithmus von z Sinus von z Tangens von z

....

227

A.2 Fundamentals A.2.6

Komplexe Zahlen

Bei allen Rechenoperationen und eingebauten Funktionen sind komplexe Zahlen erlaubt. Komplexe Zahlen werden wie folgt eingegeben und dargestellt:

z=3+4*j; z=3+4*i; z=3+sqrt(-1)*4; Dabei darf vor und nach dem ,,+" kein Leerzeichen stehen! Eine Eingabe in der Exponentialdarstellung ist ebenfalls moglich:

w=2*exp(i*2.5); A.2.7

Ausgabeformat

MATLAB rechnet intern stets mit Gleitkommadarstellung mittels 8 by tel . Die Ausgabe auf dem Bildschirm kann durch den Befehl " format " beeinfiusst werden. So wird die Zuweisung:

x= [4/3 usqrt (2)*le-6] wie folgt auf dem Bildschirm dargestellt: format format format format format

short ==> short e ==> long ==> long e ==> rat ==>

1.3333 0.0000 1.3333E + 000 1.4142E - 006 1.333333333333333 0.00000141421356 1.333333333333333E + 000 1.414213562373095e - 006 Darstellung als Bruch" 4/3 1/707107

Weiter gibt es noch die Formatbefehle "format hex" und format lung ist "format short". A.2.S

,,+". Die Voreinstel-

Help-E\mktion

Der Befehl " help " erzeugt eine Liste samtlicher eingebauter Funktionen und Prozeduren. Eine spezielle Hilfe zu einer bestimmten Funktion - z.B. fUr die Funktion "eig" erhalt man durch:

helpueig A.2.9

Sichern

Wenn MATLAB mittels "quit" verlassen wird, gehen samtliche Zuweisungen an Variable verloren. Diese Information kann mittels des Befehls "save" gesichert und mittels "load" wieder in den Arbeitsspeicher gel aden werden. Die Sicherungen konnen mit einem Filenamen spezifiziert werden. 1 2

vgl. z.B. Datenformate in Thrbopascal, C, Fortran, ... numerische Naherung - hat nichts mit der symbolischen Algebra zu tun!!

228

A.3

A Einfiihrung in MATLAB

Matrizen, Vektoren

Matrizen und Vektoren miissen nicht extra gekennzeichnet werden - MATLAB interpretiert jede Variable als potentielle Matrix. A.3.1

Rechenoperationen

Die iiblichen Matrizenrechenoperationen stehen zur Verfiigung: Addition A + B Subtraktion A - B Multiplikation A . B

A+B A-B A*B

"Division" A . B- 1

AjB

Division" B- 1 . A " -Transponieren Potenzen An

B\A

A.3.2

Matrixdimension muss iibereinstimmen Matrixdimension muss iibereinstimmen Spaltenzahl von A gleich der Zeilenzahl von B Multiplikation von A mit B -1 von rechts X=AjB ist eine Losung von X . B = A, det(B):I 0 Multiplikation von A mit B ·1 von links X=B\A ist eine Losung von B . X = A, det(B):I 0 Vertauschen von Zeilen und Spalten nur fiir quadratische Matrizen

A' A-n

Matrizenfunktionen

Determinante det(A) Inverse A ·1 Rang

det(A) inv(A) rank(A)

Eigenwerte

eig(A)

charakteristisches Polynom

polY(A)

A.3.3

Determinante von A liefert fiir det(A) :I 0 die Inverse von A ergibt den Rang von A ergibt die Eigenwerte von A [V,D]=eig(A) liefert in V die Eigenvektoren und in D die zugehorige Diagonalmatrix ergibt die Koeflizienten des charakt. Polynoms in fallender Reihenfolge

Elementeweise Rechenoperationen

Die in Abschnitt A.3.1 erwiihnten Rechenoperationen werden stets im Sinne der Matrizenrechnung ausgefiihrt. Soll die entsprechende Rechenoperation elementweise erfolgen, so muss vor der entsprechenden Rechenoperation ein Punkt gesetzt werden. Dies sei an folgenden Beispielen erHi.utert: Es sei x=[1 2 3]; y=[4 5 6]; Dann ergibt die Operation z=x.*y; das Ergebnis z=[4 10 18]; entsprechend erhiilt man mit z=x.\y; das Resultat z=[4.0000 2.5000 2.0000]; z=x.-y Ebenso ergibt sich aus der Vektor z=[1 32 729] 1st bei einer elementaren Funktion das Argument eine Matrix, so wird die entsprechende Rechenoperation elementweise ausgefiihrt. Ausnahmen sind die als solche ausgewiese" , "sqrtm" .3 bonen "expm" ,,,I ogm nen M a t 1'xfunk' 3

mittels der Funktion "funm" k5nnen auch die iibrigen elementaren Funktionen im Matrizensinn aosgewertet werden

229

A.4 Analysis

A.3.4

Vektor- und Matrixmanipulationen

Das Erzeugen eines Vektors mit aquidistanten Komponenten geschieht mittels des Doppelpunkts: x=1:5 erzeugt den Vektor x=[l 2345] x=[-2 -1.5 -1 -0.5 0 0.5 1 1.5 2] x=-2:0.5:2 ergibt So erhalt man zum Beispiel durch:

x=[O:O.2:3]' ; y=exp(-x).*sin(x); [x,y] eine Wertetabelle der Funktion y = e-'" . sin(x) zwischen 0 und 3 mit Abstanden 0.2. Die Prozedur "linspace(a,b,n)" erzeugt einen Vektor zwischen a und b mit n Punkten. Zur Erzeugung von Einheitsmatrizen und von Matrizen, die mit Nullen oder Einsen besetzt sind, existieren die folgenden Funktionen: Einhei tsmatrix Einsmatrix

Nullmatrix

eye(n) eye( size( A)) ones(n) ones(n,m) ones(size(A» zeros(n) zeros(n,m) zeros(size( A»

erzeugt erzeugt erzeugt erzeugt erzeugt erzeugt erzeugt erzeugt

eine Einheitsmatrix der Dimension n Einheitsmatrix derselben Dimension wie A eine quadrat. Einsmatrix der Dimension n Einsmatrix mit n Zeilen und m Spalten Einsmatrix derselben Dimension wie A eine quadr. Nullmatrix der Dimension n Nullmatrix mit n Zeilen und m Spalten Nullmatrix derselben Dimension wie A

Die Funktion "size(A)" gibt Zeilen- und Spaltenzahl der Matrix A zuruck. Mit "length(x)" erhalt man die Lange des Vektors x.

AA A.4.1

A ../.1.1

Analysis Differentiation Numerisches Differenzieren

Ausgangspunkt ist der Differenzenoperator "diff(v)", der die Differenz benachbarter Elemente von v zuruckgibt. 1st x=[l 3 4 7 9] ein Vektor mit fiinf Elementen, so erhalten wir mit z=diff(v) fiir z einen Vektor mit vier Elementen z=[2 1 3 2]. Die Ableitung einer Funktion lasst sich damit naherungsweise mittels des Differenzenquotienten bestimmen. Ais Beispiel solI die Ableitung der Funktion sin(x) im Bereich zwischen 0 und 11' numerisch berechnet werden.

x=linspace(O,pi,50); y=sin(x) , z=diff(y)./diff(x); A ../.l.2 Differenzieren mittels Computeralgebra

Der Funktionsaufruf ist mit dem Differenzenoperator identisch. 1st das Argument ein String mit einer symbolischen Variablen, so wird nach dieser differenziert.

230

A Einftihrung in MATLAB diff(S)

dift'(S,'y') difl'(S,'y',n) A.4.2

differenziert den Ausdruck S nach der Variable, die mittels "symvar" 4 alB symbolische Variable erklirt ist differenziert den Ausdruck S nach der Variablen y differenziert den Ausdruck S n mal nach y

Integration

A .Nャセ@

Numerische Integration

Zur numerischen Integration stehen zwei Prozeduren zur Verfugung ("quad": Simp80nformel, "quadS": Newton-Cotes - mit identischer Syntax). So erhiilt man das bestimmte Integral loft sin(t)dt durch den Aufruf: quad(,sin',O,pi). Zusatzliche Parameter ftir Genauigkeit des numerischen Verfahrens und zur graphischen Darstellung des Prozesses konnen eingegeben werden. Die durch m-Files (ygl. A.7.2) definierten eigenen Funktionen konnen auf dieselbe Weise behandelt werden.

A .NャMセR@

Integrieren mittels Computeralgebra

Die Funktion "int" wird mit der analogen Syntax wie in AA.1.2 aufgerufen. int(S) int(S,'y') int(S,a,b) int(S,'y',a,b) A.4.3

unbestimmtes Integral des Ausdrucks S nach der Variablen, die mittels "symvar" 4 als symbolische Variable erklart ist unbestimmtes Integral des Ausdrucks S nach der Variablen y bestimmtes Integral yon S zwischen den Grenzen a und b bestimmtes Integral yon S bezuglich y zwischen a und b

Polynome

Poly nome werden in MATLAB alB Vektoren dargestellt, wobei die Komponenten des Vektors die Koeffizienten des Polynoms in fallender Reihenfolge sind. (Ein Polynom der Ordnung n entspricht somit einem Vektor der Dimension n+ 1) Um Funktionswerte eines Polynoms auszuwerten, muss die Funktion "polyyal" benutzt werden. P3(Z) = 2z3 + 5z 2 - Z + 7 entspricht p=[2 5 -1 7] P3(2) errechnet sich durch polyyal(p,2) Zur Berechnung der Nullstellen (auch komplex) yon Polynomen stehen die beiden Prozeduren "roots" und "rootsl" mit identischer Syntax zur Verftigung. "roots(p)" A.4.4

ergibt die Nullstellen des Polynoms

P3(Z)

Interpolation

Die Prozedur "polyfit" bestimmt ein Polynom yorgegebener Ordnung n, das im Sinne del kleinsten Fehlerquadrate minimalen Abstand zu yorgegebenen Punkten hat. Fur n+ 1 Punkte erhiilt man das Newtonsche Interpolationspolynom. Die Eingabe • ohne SpezifikatiOD benutzt MATLAB die Variable, die alphabetisch der Variablen x am nichaten

stebt.

231

A.4 Analysis

x=[lu2u4u7];y=[lu3uSu3]; p=polyfit(x,y,2) ergibt ein Polynom 2. Ordnung dargestellt als Vektor

E:

Die Funktion "spline" bestimmt zu vorgegebenen Punk ten (dargestellt als Spaltenoder Zeilenvektoren セ@ bzw. y) kubisehe Splines5 und bereehnet den Interpolationswert an einer beliebigen Stelle6 . Die Eingabe

xs=spline(x,y,4.S) liefert den Funktionswert

:1:S

des Splines dureh

セL@

'!!.. an der Stelle 4.5.

Zur expliziten Bestimmung der Spline-Koeffizienten muss der "Output" der "spline"Routine uminterpretiert werden.

pp=spline(x,y); [breaks,coefs,l,k]=unmkpp(pp); A.4.5

A.4.5.1

Nichtlineare Gleichungen und Optimierung

Numerische Bestimmung

Fur die Bestimmung von Nullstellen stehen die Prozeduren "fzero" und "fsolve" zur VerfUgung. Lokale Minima konnen mit "fmin" bzw. "fmins" bestimmt werden. fzero('fun' ,:1:0) fsol ve( 'fkt ' LセI@ fmin('fun' ,:1:0) fmins(,fkt' LセI@

Nullstelle von fun; Start der Iteration bei :1:0 entspreehende Prozedur fUr Funktionen mehrerer Variabler lokales Minimum von fun; Start der Iteration bei :1:0 entspreehende Prozedur fUr Funktionen mehrerer Variabler

A.4.5.2 Symbolische Bestimmung Zur symbolisehen Losung von Gleiehungen und Gleiehungssystemen stellt MATLAB die Prozedur "solve" bereit. solve(S) solve(S,'v') solve(8l ,82 , ••• ,8n ,'Vl ,V2' ... GvセI@

lost die Gleiehungung S naeh der Variablen auf, die mittels "symvar" 7 als symbolisehe Variable erkliirt ist lost die Gleiehung des Ausdrueks S naeh v auf entspreehende Prozedur fUr Systeme

ans= [-3/4+1/4*(9+8*a) 4 (1/2)] [-3/4-1/4*(9+8*a)4(1/2)] 5 6

7

Die in MATLAB benutzte Routine stimmt nicht genau mit den einfachen "freien" Splines (lberein. Die Splinefunktion kann auch zur Extrapolation benutzt werden. 0 hne Spezifikation benutzt MATLAB die Variable, die alphabetisch der Variablen x am nichsten steht.

232

A Einfuhrung in MATLAB

A.4.6

Differentialgleichungen

A ../.6.1

Numerische Losung

Die numerische Lasung einer Differentialgleichung (Runge-Kutta-Verfahren fUr Anfangswertprobleme von Differentialgleichungen 1.0rdnung) erfolgt mittels der Prozeduren "ode23" und "ode45" mit identischer Syntax. Differentialgleichungen hoherer Ordnung mussen dazu in ein System von Differentialgleichungen erster Ordnung uberfuhrt werden. Beispiel: Z+

%

_}z3 = 0 ergibt mit der Substitution

=

%1

=

%2

Z2 -Z2

1 + '2zf

als "Function-File":

Zl

=

Z, Z2

=

%

das System:

function xdot=dgl(t.x); xdot=[x(2) ;-x(2)+0.6*x(1)-3];

1st "dgl" die als m-Files abgespeicherte "rechte Seite" der Differentialgleichung, so erhalten wir im Intervall [zo, ze] die numerische Losung zu der Anfangsbedingung y(zo) = Yo durch den Aufruf: xO=1;x8=2;yO=[1 1]; [t .x] =Od846( 'dgl' ,xO .X8.YO);

A ../.6.e Symbolische Losung

Mit der Funktion "dsolve" konnen auch symbolische Lasungen von Differentialgleichungen bestimmt werden. Es lassen sich sowohl allgemeine L6sungen (mit Integrationskonstanten) erzeugen als auch spezielle L6sungen, die an Anfangs- oder Randbedingungen 9 angepasst sind. Der Differentialoperator wird durch "D" symbolisch dargestellt. dsolve(,D2y=-y') liefert die L6sung Cl *sin(x)+C2*cos(x) ii+y=O; dsolve('D2y=-y', 'y(O)=O,Dy(O)=l') ii+y=O; yeO) = O,y(O) = 1 ergibt die Lasung sin (x) dsolve('D2y=-y', 'y(O)=l,Dy(pi)=O') ii+y=O; yeO) = l,Y(1I") = 0 ergibt die L6sung cos(x)

Graphik

A.S A.5.1

Zweidimensionale Graphik

Die Prozedur "plot" erzeugt zu einer Wertetafel ein Schaubild in der (z,y)-Ebene. Dazu mussen die z- und y- Koordinaten der zu verbindenden Punkte als gleichlange Vektoren eingegeben werden. Dies solI an folgendem einfachen Beispiel gezeigt werden. x=[O:O.05:4*pi]; erzeugt einen Vektor mit aquidistanten Komponenten y=sin(x); erzeugt die zugehOrigen Funktionswerte plot(x,y); erzeugt ilin Schaubild von y = sin(z) zwischen 0 und 11" 8

9

=

"dgl.m" muss eme Funktion II dgl(t,:I:) sem (t: unabhlngige s1ralare Variable; Vektoren derselben Dimension sein) echte Eigenwertprobleme konnen damit nicht behandelt werden

:1:, II

konnen auch

233

A.5 Graphik

Sollen mehrere Kurven in einem Koordinatensystem gezeichnet werden, so konnen die Argumente x und y als Matrizen eingegeben werden. Oder beim Plot-Befehl werden mehrere Paare von Vektoren eingegeben: plot(Ylo XloY2,X2, .... 'Yn'xn ). Andere Skalierungen der Achsen konnen mittels "loglog", "semilogx", "semilogy" und "polar" erreicht werden. Diese Funktionen besitzen dieselbe Syntax wie "plot". Eine Beschriftung kann title('Uberschrift')j xlabel( 'x ') jylabel( 'y ') j grid A.5.2

durch folgende Befehle erreicht werden. erzeugt eine Uberschrift erzeugt Achsenbeschriftung erzeugt ein Gitter

Dreidimensionale Graphik

Die Prozeduren "mesh" und "surf' liefem ein perspektives Bild einer Fliiche. Die Fliiche wird definiert durch die z-Koordinate iiber einem Gitter in der (x,y)-Ebene. Das Bild wird durch Verbinden der Punkte mit Linien erzeugt. Zur Erzeugung eines Gitters in der (x,y)-Ebene ist die Prozedur "meshgrid" hilfreich. Die Prozedur "contour" erlaubt die Darstellung der Hohenlinien einer Fliiche als Projektion in die (x,y)-Ebene. Die dazu notwendigen Befehle sollen an folgendem Beispiel erliiutert werden. [x,y]=meshgrid(-2:0.2:2,-2:0.2:2) j z=x.*exp(-x. -2-y.-2)j mesh(x,y,z)j contour(x,y,z);

erzeugt ein Gitter fiir das Rechteck -2 < x < 2, -2 < Y < 2 mit Abstand 0.2 erzeugt fiir die Funktion z = x . eeps). x1=0.6*(x+2/x) ; e=abs(x1-x);x=x1; end;x1 A.6.3

if/else Ausdriicke

Zur Steuerung stehen die Schliisselworte "if', "elseif', "else" und "end" zur Verfiigung. So erzeugen die folgenden Anweisungen eine Bandmatrix.

for i=1:6. for j=1:6. 2 if i==j. B(i.j )=2; -1 elseif abs(i-j)==l. B(i.j)=-l; 0 B= 0 else B(i.j)=O; end. 0 end. 0 end; A.6.4 Vergleichsoperatoren,logische Operatoren < > =

--

-=

grof3er oder gleich gleich ungleich

-1

0

2

-1

0 0

-1

2

-1

0 0 0

0 0 0

-1

2

-1

0 0 0 0

0 0

-1

2

-1

0

-1

2

&

I

-

und oder Verneinung

Vergleichsausdriicke konnen durch logische Operatoren miteinander verbunden werden. Mit dem Befehl"break" kann der Ausstieg aus einer Schleife erreicht werden. A.6.5

Eingabe

Die Funktion "input" schreibt einen Text in das Command-Window und wartet auf eine Eingabe. N=input('Zahl') j w=input('Name','s')j

wartet auf Zahleneingabe wartet auf eine String-Eingabe; der optionale Parameter's' bewirkt, daB die Eingabe als String interpretiert wird

Die Auswertung von Funktionen, die als m-File gegeben sind (vgl. A.7.2) erfolgt mittels "feval" bzw. "eval". Es sei fun='name' der Name einer als m-File gegebenen Funktion. y=feval(fun,3) berechnet die Funktion fun an der Stelle 3 und weist sie y zu eval(['y-' fun' 3)j') fiihrt zum gleichen Resultat 10

"eps" ist in MATLAB die kleinste von Null unterscheidbare Zahl

236

A.7 A.7.t

A Einfiihrung in MATLAB

m-Files Programm-Files

MATLAB wird fur kleinere Problemstellungen interaktiv benutzt. Wenn eine Befehlszeile eingegeben wird, so werden die Befehle ausgefiihrt und das Ergebnis auf dem Schirm angezeigt. SolI diese Kontrollausgabe unterdruckt werden, so sind die Befehle mit einem Strichpunkt abzuschlie6en. MATLAB kann aber auch eine Befehlsfolge, die in einem File gespeichert ist, abarbeiten. Dieser Weg ist fur komplexere Fragestellungen unvermeidlich. Diese Files mussen im aktiven Directoryll mit der Endung ".m" abgespeichert sein. m-FiIes konnen auch andere m-Files aufrufen oder rekursiv sich seiber (Vorsicht!!)12. Die in einem m-FiIe benutzten Variablen bleiben nach Abarbeiten des Files im Arbeitsspeicher. Sollen Variable aus einem m-File in einem zweiten, von diesem aufgerufenen m-File benutzt werden, so ist die entsprechende Variable in heiden m-Files als global zu erkliiren. Der Befehl "keyboard" in einem m-File platziert, gibt die Kontrolle uber die Variablen etc. ans Keyboard zuruck 13 . Der Befehl "echo on" liisst beim Abarbeiten eines m-Files die Kommandos wie gewohnt auf dem Schirm erscheinen. Diese Kontrollausgabe wird mit "echo off" wieder ausgeschaltet ("echo" schaltet zwischen den beiden Zustiinden hin und her). Kommentare werden mit einem % -Zeichen am Zeilenbeginn gekennzeichnet. MATLAB ignoriert dann den Rest der Zeile. Kommentarzeilen am Beginn des m-Files konnen mit der Help-Funktion sichtbar gemacht werden (Aufruf: help Filename).

A.7.2

function-Files

Urn eigene Funktionen zu definieren, benutzt man m-Files, die mit dem Schlusselwort "function" beginnen. In derselben Zeile muss die Definition, mit der von au6en zugegriffen wird, stehen. Ansonsten gilt das in Abschnitt A.7.1 erwiihnte Vorgehen. Mit der HelpFunktion konnen die Kommentarzeilen nach der Funktionsdeklaration sichtbar gemacht werden. Beispiel: Polynom 3.0rdnung

functioDuy=p3(x); Y.uPolynomu3.Ordnungup=x-3+2*x-2-4*x+10 y=x.-3+2*x.-2-4*x+10; Auf diese Funktion kann jetzt wie auf eine fest eingebaute Funktion zugegriffen werden:

y1=p3(4.2); weist der Variablen yl den Funktionswert von p3 an der Stelle 4.2 zu. Eine Funktion kann auch mehrere Variable zuriickgeben und ebenso mehrere Argumente aufnehmen. Bei Prozeduren werden die selbst erstellten Funktionen wie die Standardfunktionen mit Hochkomma als String eingegeben. 11 12 13

mit dem Path-Befehl wird ein entsprechendes Directory aktiviert analog zu Unterprozeduren bei Programmiersprachen niitzlich beim Debuggen

237

B

Verzeichnis der m-Files

Die nachfolgend aufgefUhrten m-Files stehen unter der Adresse zur Verfiigung: ftp.fht-esslingen.de/pub/local/fachbereiche/grundlagen/mohr

Allgemein farb.m cr_Lf.m

Hilfsfunktionen fUr 3D-Graphik. Hilfsmittel zur Erzeugung von Function-Files.

Abschnitt 2 newton.m Newtonverfahren zur Nullstellenbestimmung von Funktionen einer reellen Verii.nderlichenj Funktion und Ableitung als m-File. newtona.m wie newton.m, jedoch algebraische Eingabe der Funktionj die Ableitung wird symbolisch berechnetj benotigt punkt.m, punkt_1.m. newtonv.m Newtonverfahren fUr mehrfache Nullstellen. newton22.m zweidimensionales Newtonverfahrenj Funktionen und Funktionalmatrix als m-File. newton2a.m wie newton22.m, jedoch algebraische Eingabe der Funktionenj die Ableitungen werden symbolisch bestimmtj benotigt punkt.m, punkt_1.m. regula.m Regula falsi fiir eine Variablej Funktion als m-File.

aus..nl.m iteratg.m iterate.m peilung.m

Abschnitt 3 nichtlineares Ausgleichsproblemj Funktionen als m-File. Iterative L6sung eines linearen Gleichungssystems mit Ganzschrittverfahrenj benotigt beding.m, gre.m, it.m, verts.m. wie iteratg.m, jedoch mit Einzelschrittverfahren. Peilung vgl. Aufgabe aus Abschnitt 6j benotigt schnitt.m, j_peil.m, Lpeil.m. Abschnitt 4

at.m

Austauschverfahren.

linprog1.m

Lineare Optimierung fiir zwei Variable mit Graphik.

ffft.m

FFT einer stochastisch gestorten harmonischen Schwingung.

splinm.m

Kubische Splines mit natiirlichen Randbedingungen: y" =0 .

frdiskr.m

Diskrete Fourierreihe mit algebraischer Eingabe der Funktion.

romberg.m

Abschnitt 6 Rombergverfahrenj der Integrand ist als m-File einzugeben. Simpsonverfahrenj der Integrand ist als m-File einzugeben.

Abschnitt 5

simpson.m

B Verzeichnis der m-Files

238 Abschnitt 1 eulerr.m

implizites Eulerverfahrenj die "rechte Seite" als m-Filej benotigt rueck.m.

eulersch.m

Eulerverfahren mit Schrittweitensteuerungj die "rechte Seite" als m-Filej benotigt eulersch.m. eulrk.m Euler-, Heun-, Runge-Kutta-Verfahrenj Phasenebenej die "rechte Seite" als m-Filej benotigt eulersch.m, heunschr.m, rkschr.m. lin20.m lineare DGL 2. Ordnungj Phasenebenej die Koeffizienten sind als m-File oder algebraisch einzugebenj benotigt dgl20.m . lin20r.m lineares RWP 2. Ordnungj Schie8verfahrenj die Koeffizienten sind als m-File oder algebraisch einzugebenj benotigt dgI2o.m, dgl2oo.m . randnl.m nichtlineare Balkenbiegungj einfaches Differenzenverfahrenj die Koeffizienten sind als m-File einzugeben. randwerl.m lineare Balkenbiegungj einfaches Differenzenverfahrenj die Koeffizienten sind als m-File einzugeben. randwer2.m lineare Balkenbiegungj verfeinertes Differenzenverfahrenj die Koeffizienten sind als m-File einzugeben. randwer3.m lineare Balkenbiegungj Mehrstellenverfahrenj die Koeffizienten sind als m-File einzugeben. partdg.m Differenzenmethode zur Losung elliptischer DGL in zwei Variablenj Datenfiles: partl.m, part2.m, part3.m, part4.m. sat.m Function-File ffir das Drei-Korper-Problem. warm.m

Warmeleitungsgleichung - explizite Methode.

warmi.m

Warmeleitungsgleichung - implizite Methode.

warmzyl.m wasser.m wasserl.m

Warmeleitungsgleichung im Zylinder - explizite Methode. Wasserraketej senkrechter Abschussj benotigt poll.m, rak.m, voll.m . Wasserraketej Schragschussj benotigt poll.m, rakl.m, voll.m .

239

C

Orthogonalitatsbeziehungen 2N

Rセ@

E

i=1

=

cos IZi . cos kZi

2N

E

セ@

i=1

sin/zi . sin hi

2N

E

Rセ@

i=1

{ {

=

cos IZi . sin hi

1 2

1 0

1

2 0

0

i=

fUr I fUrl fUr I fUrl fiir I fUrl

0

k k i= N k=N k k i= N k=N

= i=

= =

fiir alle I, k

Komplexe Argumentation

Ais Voriiberlegung beweisen wir: 2N

E 1=1

fiir fUr

coskl1r

2N

E

1=1

= 0

sinkl1r

Dazu bilden wir die Summe

S(k) =

2N

E

2N "

cosklN+jsinkl N

'=1

L.J '=1

_;lel':'

t:"

_

'"

-

·1e".2N -;Ie-fr e1 1'1 Ii-

t:"

e1

1'1 -

-

1

1 _- 0 f"ur RQゥtセuj@

Ie

d. rn

Durch Real- und Imaginarteilbildung ergibt sich fUr diese k sofort die Behauptung. 1st k ein Vielfaches von 2N, so gilt cos kl N = 1 und sin kl N = 0 und die Behauptung ist ebenfalls evident. Nun gelten die Additionstheoreme: 2N

E

i=1

2N

lE

cos liN . cos kiN

i=1

2N

E

i=1 i=1

+

2N

sin liN' sin kiN

=

lE

sin liN' cos kiN

=

lE

2N

E

cos(k + l)i N

i=1 2N

i=1

cos(k -/)iN

cos(k - l)i N

cos(k + l)i N

sin(k + l)i N

sin(k - l)i N

Vor Anwendung unserer Voriiberlegung untersuchen wir noch die Quotienten

セ@

fiir k,1 セ@ Fall k

i= I:

"-+

< N:

"-+

=I = N:

"-+

Fall k = I Fall k

N :

W, セ@

W W

nicht ganz

nicht ganz , セ@ und,

セ@

=0

= 0 ganz ganz

Die Voriiberlegungen ergeben dann sofort die Orthogonalita.tsbeziehungen.

W

und

C Orthogonalitatsbeziehungen

240 Trigonometrische Argumentation

Fur den wichtigen Spezialfall, dass die Zahl der Stutzstellen eine zweier Potenz ist, wollen wir die folgenden Orthogonalitatsbeziehungen noch ohne komplexe Hilfsuberlegungen nachweisen:

*E

{ {

fUrl fUrl fiirl fUr I fUr I fUrl

0

2N

1

cos lz; " cos kz;

;=1

2"

1 0

2N

2kr ;=1 E

sin lz; "sin kz;

1

=

2"

0

:f

k k:f N k=N k k:f N k=N

:f

mit

1\""

z;

NZ

2N

2krE ;=1

cos Iz; " sin kz;

fiir aIle I, k

0

Es gilt das Additionstheorem: 2N

2N

L

2"

L

cos Iz; "sin h; =

;=1

sin(k + I) "

N"i

;=1

2N

+

L

sin(k - I) "

N"i

;=1

Wir zeigen nun fiir aIle ganzen Zahlen g: 2N

CS(g)

=L

sing"

N"i = 0

;=1 N

2N

N"i + ;=N+l L...J smg" N" E sing" N" i + E sin 9 " N "(i + N) ;=1 ;=1 E sing" N" i + ( -1)9 E sin 9 " N "i ;=1 ;=1 E ;=1

CS(g)

sing"

'"

N

"

N

N

=

1\"" Z

N

1st 9 ungerade, so gilt sofort: N

L

CS(g) =

sing"

N

N"i

;=1

;=1

1;, so dass gilt:

1st 9 gerade, so kiirzen wir

1;

o

L...J smg" N"' '"'" 1\""

I

=

fir

mit g' ungerade und N = N ' " 2m

Wir zerlegen nun die Summe in Zweierpaare:

CS(g)

N' 'L...J "

;=1

" 9 I1\" sm "NT"'"+

2N'

'" L...J

;=N'+1

3N' "I1\"" smg "NT"'

2N-N'

E ;=2N-2N'+1

+

'"

L...J ;=2N'+1

"I1\"" smg" NT" Z

+ """ +

2N " 1\""+ sm 9 1"NT" Z

'"

L...J i=2N-N'+1

"I1\"" sm 9 "NT" Z

Nun heben sich wieder nach obiger Argumentationjeweils benachbarte Summen weg und es gilt damit:

241 2N

L: cos Ix; . sin kx;

0

;=1 2N

2:

Fiir

cos Ix; . cos kx; ergibt wieder das Additionstheorem:

;=1 2N

2.

2:

;=1

cos Ix; . cos h; =

d. h. es ist zu untersuchen:

2N

2:

;=1

2N

cos( k + I)x;

+ 2:

;=1

cos( k - I)x;

2N

CC(g)

=

L: cosg· N· i ;=1

Fiir g # 0 und g < 2N liisst sich die Argumentation bzgl. CS(g) wortlich iibertragen, indem man sin durch cos ersetzt. Fiir 1= k erhalten wir mittels Additionstheorem: 2N

2N

L: cos I . N.i

2.

L: 1 + cos 21 . N.i

2

;=1

;=1

Fiir I < N gilt sofort wieder: 2N

cos 2/· N.i L: ;=1

0

Fiir I = N ergibt sich: 2N

cos 21T . i L: ;=1

2N

und wir erhalten insgesamt: 2N

1T . cos 21 ·N·' = サセ@ L: ;=1

fiirl fiirl

< N N

2N

Fiir

2:

;=1

sin Ix; . sin kx; ergibt sich wieder aus dem Additionstheorem: 2N



L: sin Ix; . sin kx;

2N

=

;=1

L: cos(k -

2N

I)x; -

;=1

L: cos(k + I) x; ;=1

Diese Summe ist wieder fiir 1# k gleich Null. Fiir I = k erhiilt man: 2N

2N

;=1

L: ;=1

• 2 I 1T . 2.L: sm . N·' =

1 - cos 21 .

N.i

und damit 2N

. 21 1T . sm ·N·' L: ;=1

{N 0

fiirl fiirl

< N N

242

D

FFT -Alg orit hmu s ffir N

21 Pun kte

FFT fUr 2N Abtast punkte bedeut et eine effiziente Auswertung des Polynoms 2N-l

= セ@

Q(z)

fiir

Y'Z '

Zi

= eHr .

1=0

Analog zum Hornerschema klamm ern wir aus: Q(z)

=

+

N-l



E

1=0

Y2/+1 Z21

wobei Ql, Q2 Polynome vom Grad N - 1 sind. Dieser Prozess liisst sich fortsetzen, da N eine Zweierpotenz ist: N/2-1

N-l

Ql(z2) Q2(z2)

= 1=0 E Y2/ Z21

E

1=0

N-l

E

=

+

Y41 Z41

N/2-1 z2.

E

Y2/+1 Z21

1=0

E

1=0

N/2-l Y41+1 z41

1=0

+

Y4/+2 Z41

N/2-l

E

z2.

Y4/+3 Z41

1=0

ergibt N/2-l Q(z)

セ@

=

N/2-1 Y41Z41

+



1=0

セ@

N/2-1 Y4/+1Z41

+

セ@

z2.

1=0

N/2-1 Y4/+2 Z41

+

セ@

z3.

1=0

Y4/+3Z41 . 1=0

Diese Zerlegung wird durchgefUhrt, bis nur noch iiber zwei Summa nden zu summieren ist. Q(z)

=

1

1=0

1st

1

E YN/Z NI +z· E YNI+1ZNI +z2. E1 YNI+2 ZNI + 1=0

1=0

=

1

...

+ z N-l . "L.J YNI+N -IZ NI 1=0

eine n-te Einheitswurzel, so gilt: (z;)'N (_1)" d.h. bei der Auswertung der Summe n ist keine Multiplikation notwen dig. zi

Die Potenzen (Zi)1: mit k = O,l, ... ,N - 1 i = 0,1, ... ,2N - 1 besitzen bis aufs Vorzeichen nur N verschiedene Werte. Bei geschickter Datenorganisa tion liisst sich damit die Auswertung des Polynoms Q(z) fiir die Werte Zi = eilri auf N . r Multiplikationen reduzieren. Dazu machen wir bei der Auswertung der Summen 2N-l en

=

セ@

Y1:w1:n

1:=0

von der Binardarstellung der Indices Gebrauch.

w

243 Dies sei am Beispiel fUr acht Punkte dargestellt. n k

+ +

= 4n2 = 4k2

2n1 2k1

c(n2,n1,no)

=

+ +

no ko

1

ni, ki E 0,1

1

1

I: I: I: y(k2,k1,ko)w(4n3+2 .. 1+no)(41:3+21:1+1:0) 1: 0 =01: 1 =01: 3 =0

Fiir die Potenzen der Einheitswurzel erhalten wir:

Damit ergibt sich die Darstellung: c(n2,n1.no) =

Wir erhalten so die gewiinschte Faktorisierung. Allerdings muss die natiirliche Reihenfolge der Koeffizienten noch durch eine Inversion des Binarcodes hergestellt werden. Fiir die verschiedenen Stufen wollen wir noch die zugehorigen Matrizen explizit darstellen und den FFT-Algorithmus in der Form

Xn schreiben. Mit der Schreibweise

= A· X n- 1 n = 1,2,3 XO(k2,k1. ko) = y(k2,k1,ko)

erhalten wir:

1. Stufe

X1(O,O,O) X1(O,O,l) X 1(O,l,O) X1(O,l,l)

X1(l,O,O) X1(l,O,l) X 1(l,l,O) X 1(l,l,l)

= = =

= = =

Xo(O,O,O) Xo(O,O,l) Xo(O,l,O) Xo(O,l,l) Xo(O,O,O) Xo(O,O,l) Xo(O,l,O) Xo(O,l,l)

+ + + +

Xo(l,O,O) Xo(l,O,l) Xo(l,l,O) Xo(l,l,l)

Xo(l,O,O) Xo(l,O,l) Xo(l,l,O) Xo(l,l,l)

A1

=

1 0 0 0 1 0 0 0

0 1 0 0 0 1 0 0

0 0 1 0 0 0 1 0

0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 -1 0 0 0 0 0 -1 0 0 0 0 0 -1 0 1 0 0 0 -1

D FFT-Algorithmus fUr N = 2'1 Punkte

244

2. Stufe X2(O,O,O) X2(O,O,I) X 2(O,I,O) X 2(O,I,I) X2(I,O,O) X 2(I,O,I) X 2(1,I,O) X2(1,1,1)

Xl(O,O,O) X l (O,O,I) Xl(O,O,O) X l (O,O,I) X l (I,O,O) X l (I,O,I) X l (I,O,O) X l (I,O,I)

= = = =

° °° °°°° ° °° ° °° °°°°°° ° °° ° °°°° ° ° ° ° ° °° ° ° °° °°°° 1

1

-1

1

-1

1

セ]@

w2

1

1

1

_w 2

1

3. Stufe

X 2(O,O,O) X3(O,O,O) X 2(O,O,O) X3(O,O,I) X 3(O,I,O) = X 2(O,I,O) X 3(O,I,I) = X 2(O,I,O) X 3(I,O,O) X 2(I,O,O) X 2(1,O,O) X3(1,O,1) X 2(1,1,O) X3(1,1,O) X 3(1,1,1) = X2(1,1,O)

1

1

X l (O,I,O) X l (O,I,I) X l (O,I,O) X l (O,I,I) + w2Xl(I,I,O) + w2X l (I,I,I) - w2X l (I,I,O) - w2X l (I,I,I)

+ +

+

° ° ° ° ° °

w2

_w 2

°°°° °°°° ° ° ° ° ° °° °° °° °°° ° ° ° ° ° °°° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °° °° 1 1 1 -1

X 2(O,O,I) X 2(O,O,I) + w2X 2(O,I,I) w2X 2(O,I,I) + wX2(I,O,I) wX2(1,O,1) + w3X 2(1,1,1) w3X2(1,1,1)

&=

1 w2 1 _w 2

1 w 1 -w

1 w3 1 _w 3

Die richtige Reihenfolge erhalten wir durch Inversion des Binarcodes:

c(O,O,O) c(O,O,l) c(O,I,O) c(O,l,l) c(l,O,O) c(l,O,l) c(l,l,O) c(l,l,l)

X 3(O,O,O) X 3(I,O,O) X 3(O,I,O) X 3(1,1,O) X 3(O,O,I) X3(1,O,I) X 3(O,1,1) X 3(1,1,1)

=

=

1

°° ° °°°°°°°° ° ° ° °°°°°°°° ° . Ka ° ° ° ° ° ° °°°°°°° °°° ° ° ° °° ° ° °° °°° ° ° ° ° + 1

1

£

=

1

1

1st N = 2'1, so erhalten wir fUr I = 1,2, ... ,,,,/

1

1

1

1 Rekursionsbeziehungen der Form:

X,(no,n!, ... ,n,-l,k'Y-I-l, ... ,k!,ko) = ... 1

E X,-l(no,nl, ... ,n,-2,k'Y- I " " 1:..,_1=0

,kl,ko)w(no+2n2+ ... +2'nl)2"'-II:..,-1

AnschlieBend muss dann durch Inversion des Binarcodes der Indices die richtige Reihenfolge wieder hergestellt werden.

245

E

Drei-Korper-Problem

In diesem Abschnitt soll das Differentialgleichungssystem fUr das eingeschrankte DreiKorper-Problem hergeleitet werden. Ausgangspunkt sind die aus dem Gravitationsgesetz abgeleiteten Bewegungsgleichungen. Erde Masse

Mond

Satellit

- - -- mE

mM

ms

ZE

ZM

Zs

Koordinaten

mE'ZE

-mE' mM'

Newtonsche Bewegungsgleichungen:

Z E - Z M I-ZE- -ZM 13

mE . ms .

mM' ZM

ms' Zs

-ms . mE'

_

Z s Z E Z S Z I- E 13

mS.mM'

--Z E -

I_ Z E

-

Z S

-Z S 13

ZS- ZM

I-ZS- -ZM 13

Wird der Einftuss des Satelliten auf Erde und Mond vernachliissigt, d.h. gilt fiir die Massen ms < mM < mE , so ergeben sich die entkoppelten Gleichungen:

-

ZE

=

-m

ZM

=

-m

=

-m

-

Zs

. M

. E

. E

- - Z

B. -

Z

M.

Z

M. -

Z

B.

(E.O.1)

3 I_ ZE- -ZM 1

--

3 I_ ZM- -ZE 1 Z S. - Z B. 3 I_ Z S - -Z E 1

m

. M

--

zs.- ZM.

3 I_ Z s - -ZM 1

(E.O.2) (E.O.3)

Die Gleichungen (E.O.1) und (E.O.2) konnen separat gelost werden. Legen wir den Ursprung des Koordinatensystems in den gemeinsamen Schwerpunkt von Erde und Mond, so erhalten wir als LOsung der beiden Differentialgleichungen fiir Erde und Mond eine Rotationsbewegung urn den gemeinsamen Schwerpunkt. Normieren wir die Massen so, 1 gilt, so ergibt sich als Losung von (E.O.1) und (E.O.2) eine dass mE + mM Rotationsbewegung mit der Winkelgeschwindigkeit 1:

z+E =

-mM'

(cost) ウゥセエ@

i

-

ZM

=

mE'

(cost) ウゥセエ@

(E.OA)

Wir betrachten nun die Bewegung des Satelliten in dem mit der Achse Erde-Mond fest verbundenen, rotierenden Koordinatensystem. In rotierenden Systemen treten zusatzliche Tragheitskrafte auf, die der mitbewegte Beobachter benotigt, urn die beobachtete Beschleunigung erklaren zu konnen.

E Drei-Korper-Problem

246 Formal ist beim Ubergang zum rotierenden System zu setzen:

d

d

at+

at

--+

wx

Damit wird aus der Bewegungsleichung im festen Koordinatensystem d2

--+

m°h2"r

dt

=

--+

K

im rotierenden Koordinatensystem die Beziehung:

m ° セ@

r+ + 2m(w x ,

It r+) + セHキ@

x (w x

"."

r+n, = K

v

Corioli.kra./t

Z entri/uga.lkra./t

Fur die Bestimmung der Coriolis- bzwo Zentifugalkraft sind noch die folgenden Vektorprodukte

fij, . .s

=

HセI@

'u berechne., --:+

-;+

J 0 il2

I

wxy

0

Yl

--:+

w x (w

x

1m rotierenden System gilt 7

y)

E

I

=

=

k

--:+

0

J 0

-Y2

Yl

(-mM) セ@

Hセョ@

1 0

k 1 0

=

und 7

M

MHセI@ =

(mE) セ@

°

Damit erhalten wir die Bewegungsgleichung des Satelliten im bewegten Koordinatensystem:

247

Literaturverzeichnis [1]

Becker/Dreyer/Haacke/Nabert: Numerische Mathematik fiir Ingenieure Teubner Verlag, Stuttgart 1977

[2]

Brigham, 0.: FFT Oldenbourg Verlag, Miinchen, Wien 1989

[3]

Burg/Haf/Wille: H6here Mathematik fiir Ingenieure; Band I - V Teubner Verlag, Stuttgart 1991

[4]

E. Eich-Soellner/C. Fuhrer: Numerical Methods in Multibody Dynamics Teubner Verlag, Stuttgart 1998

[5]

Glatz/Grieb/Hohloch/Kiimmerer/Mohr: Differential- und Integralrechnung 3 Cornelsen Verlag, Berlin 1994

[6]

Grieb, H. : Numerische Methoden Vorlesungsskript, FH Esslingen 1996

[7]

Hairer, E.: Solving Ordinary Differential Equations Springer Verlag, Berlin 1984

[8]

Hering/Martin/Stohrer: Physik fiir Ingenieure VDI Verlag, Diisseldorf 1992

[9]

Schwarz, H. R.: Numerische Mathematik Teubner Verlag, Stuttgart 1993

[10]

sセィキ・エャゥ」ォOkイウュ。Z@

Numerische Verfahren fiir Naturwissenschaftler und Inge-

meure Fachbuchverlag, Leipzig 1991 [11] Spath, H.: Numerik Vieweg Verlag, Braunschweig 1994 [12] Stoer: Einfiihrung in die Numerische Mathematik I Springer Verlag, Berlin 1972 [13] Bulirsch/Stoer: Einfiihrung in die Numerische Mathematik II Springer Verlag, Berlin 1972

248

5 Literaturverzeichnis

[14] Tornig, W.: Numerische Methoden fUr Ingenieure und Physiker Bd. 2 Springer Verlag, Berlin 1990 [15] Ulmet, D.: Grundlagen der CAD/CAM Entwicklung mit Splinekurven Forschungszentrum, Karlsruhe 1996

249

Sachwortverzeichnis

Sachwortverzeichnis Abbruchfehler, 4 Abbruchkriterium, 13, 23, 52 absoluter Fehler, 5, 6 Abstandsquadrate, 59 Adams-Bashforth, Verfahren von, 128 Adiabatengleichung, 109 Approximationsfunktion, 59 - Polynom, 60 - trigonometr. Polynom, 74 ausgeglichene Losung, 36, 37 Ausgleichspolynom, 60, 64, 161 Ausgleichsproblem - linear, 34, 159 - nichtlinear, 38, 159 Ausloschung, 6, 156 Austauschverfahren, 43 Balkenbiegung, 135 Banachscher Fixpunktsatz, 8 Bernoulli-Gleichung, 109 Bernsteinpolynome, 73 Bezier-Kurve, 72 Beziersegment, 73 Binarcode, 82 Coloumb-Reibung, 1, 118, 164 Computeralgebra, 24 diagonaldominant, 32 Differentialgleichung - Anfangsrandwertproblem, 144 - Anfangswertproblem, 92, 124 - partielle, 138 - - elliptisch, 138, 166 - - parabolisch, 143, 164 - Randwertproblem, 130, 165 - - nichtlinear, 135, 163 Differenzenschema, 62, 163 Differenzenverfahren - bei part. DGL, 139, 140, 144 - bei Randwertaufgaben, 132 Dirichlet-Bedingung, siehe Randbedingung Diskretisierung, 133, 139 Drei-Korper-Problem, 106, 166, 245 Dualzahlen, 4 Einschrittverfahren - explizite, 94 - implizite, 117 Einzelschrittverfahren, 33, 158 Energiemethode, 148, 149 Eulerverfahren, 92, 93, 162

- explizit, 120, 122 - implizit, 117, 121, 122 Exhaustionsverfahren, 156 Extrapolationsverfahren, 88, 128 Fehlerausgleich, 34, 159 - nichtlinear, 38, 159 Fehlerordnung, 17, 87, 90, 91, 97, 99, 125, 135 Fehlerquadrat, 35 Fehlerschranken, 12 - a-posteriori, 13 - a-priori, 12 FFT, 79, 83, 162 Finite Elemente, 148 Fixpunktsatz, 8, 9, 157 Formfunktionen, 152 Fourierreihe, 74 - diskrete, 77 - komplexe, 80 Funktionalmatrix, 19, 23 Ganzschrittverfahren, 165 Gaufi..AIgorithmus, 25 Gaufi..Newton-Verfahren, 39, 42 Gebiet absoluter Stabilitat, 122 Gesamtschrittverfahren, 33, 158 Gewichte, 85, 86, 120 Gitterpunkte, 139, 140 Gleitkommaarithmetik, 28 Gleitpunktarithmetik, 4 Grenzzyklus, 105 Hohenlinien, 20 Heun-Verfahren, 96, 121, 122 Hexadezimalzahlen, 4 Instabilitatj inharente, 124 Interpolationspolynom, 60, 161 - Newtonsches, 61, 191 - trigonometrisches, 77, 162 Intervallhalbierungsmethode, 7 inverse Matrix, 19, 21 Jacobi-Matrix, 19 Kellerzeile, 45 Keplersche Fassregel, 87 Knotenpunkt, 150, 155 Konditionszahl, 5 kontrahierend, 8 Konvergenzordnung, 16, 97 Konvertierungsfehler, 5

Sachwortverzeichnis

250 konvex,56 lineare Gleichungssysteme - iiberbestimmte, 34, 37, 64 - iterative L5sung, 32, 158 - Rundungsfehler, 28 lineare Optimierung - 3 Variable, 50 - Basisvariable, 55 - graphische L5sung, 47, 160 - Nebenbedingungen, 47 - Nichtbasisvariable, 55 - Zielfunktion, 47, 53, 54 - zulissiger Punkt, 48, 49 lineares Programm, 48, 160 lineare Ungleichungen, 49 Mantissenla.nge, 4 Maschinengenauigkeit, 4 Maschinenzahlen, 5 mathematisches Pendel, 93 Matrixinversion, 43 Mehrschrittverfahren, 128 Nachiteration, 31, 158 Neumann-Bedingung, siehe Randbedingung Newtonsches Interpolationspolynom, 60, 61, 63, 65 Newtonverfahren, 13, 157 - mehrdimensional, 18, 158 - modifiziert, 18 - p-fache Nullstelle, 15 Normalengleichung, 37, 75, 76 Oregonator, 126 Overflow, 4 Pendel, siehe mathematisches Pendel Phasenbild, 103 Pivotelement, 29, 44, 55, 56 Pivotspalte, 44, 55, 56 Pivotstrategie, 30 Pivotzeile, 44, 56 Poisson-Gleichung, 138, 140 Polygonzug, 53 Polygonzugverfahren - einfaches, 92 - verbessertes, 97 Pyramide, 38 Quadratwurzel, 7 Randbedingung - Dirichlet, 138, 144 - Neumann, 138, 144

Rechteckregel, 45 Regula falsi, 15, 164 relative Fehler, 5 Rombergverfahren, 88, 162 Runge-Kutta-Verfahren, 98, 162 SchieBverfahren, 130 Schrittweitensteuerung, 99 Simplex, 56 Simplexverfahren, 53, 160 Simpsonformel, 86, 87, 162 Splines, 60 - Bezier, 71, 162 - kubische, 67, 161, 192 - parametrische, 71 Stiitzstellen, 67, 75 Stabilita.t; absolute, 120, 163 steife Differentialgleichungen, 125, 126 Steifigkeitsmatrix, 155, 163 Trapezformel, 85 Trapezmethode, 119, 121, 123 Triangulierung, 150, 155 trigonometrische Polynome, 59, 75 Underflow, 4 Vandermondsche Determinante, 61 Van der Pool, 102 Variationsproblem, 148, 149, 153 Wirmeleitungsgleichung, 143, 164 - stationir, 130, 138, 140 Wasserrakete, 108 wellig, 64, 67 Zeilensummenkriterium, 33, 165 zulii.ssiger Bereich, 50, 52