Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Koch_Mathematik fur das Ingenieurstudium.pdf
Скачиваний:
107
Добавлен:
21.02.2016
Размер:
17.74 Mб
Скачать

2.4 Numerische Verfahren

67

2.4 Numerische Verfahren

Besonders wertvoll für mathematische Problemstellungen sind konstruktive Lösungen, also Lösungen, bei denen nicht nur die Existenz sichergestellt wird, sondern auch eine Vorschrift angegeben werden kann, wie man die Lösung schrittweise berechnet. Eine solche schrittweise Beschreibung zur Berechnung einer Lösung wird auch als Algorithmus bezeichnet. Diese Bezeichnung geht auf den persischen Mathematiker Muhammad ibn Musa Abu Dscha’far Al-Chwarizmi Anfang des 9. Jahrhunderts zurück. Seit der Verbreitung elektronischer Rechenmaschinen haben Algorithmen dramatisch an Bedeutung gewonnen. Die Numerische Mathematik ist das Teilgebiet der Mathematik, das sich intensiv mit Algorithmen beschäftigt. Ein klassisches Beispiel ist der Algorithmus von Gauß, der in Abschnitt 2.2 enthalten ist. Der russische Mathematiker Andrei Nikolajewitsch Kolmogorow hat sich ausführlich mit der Komplexität von Algorithmen auseinandergesetzt.

Bei Anwendungen aus der Praxis treten oft Gleichungssysteme mit sehr vielen Unbekannten auf. Wenn alle Gleichungen eine ähnliche Bauart aufweisen, dann lassen sich solche Gleichungssysteme durch Computerprogramme oft mit iterativen Verfahren einfacher lösen als mit dem Eliminationsverfahren von Gauß. Bei einem Iterationsverfahren wird ein und dieselbe Berechnungsvorschrift wiederholt angewendet. Das Ergebnis des letzten Iterationsschrittes verwendet man dabei als Ausgangswert für den nächsten Iterationsschritt.

2.4.1 Jakobi-Iteration

Die nach Carl Gustav Jacob Jacobi benannte Jacobi-Iteration beruht auf einer einfachen Idee. Wir lösen die erste Gleichung nach x1 auf, die zweite nach x2, usw. und berechnen mithilfe dieser umgeformten Gleichungen iterativ Näherungslösungen. Um das Verfahren in Gang zu setzen, benötigen wir Werte, mit denen wir die Berechnung starten können. Bei Problemstellungen aus der Praxis kennt man oftmals gute Startwerte aus früheren Berechnungen oder aus Schätzungen. Falls solche Werte nicht vorliegen, startet man in der Regel bei allen Unbekannten mit dem Wert null.

Beispiel 2.17 (Jacobi-Iteration)

Das lineare Gleichungssystem

3x1

+

6x2

+

 

=

 

6

x1

7x2

5x3

 

17

2x1

+

4x2

8x3

=

12

 

+

 

 

=

 

soll mit der Jacobi-Iteration gelöst werden. Durch Auflösen der ersten Gleichung nach x1, der zweiten Gleichung nach x2 und der dritten Gleichung nach x3 erhält man die Iterationsvorschrift

x˜

(

k

1

)

=

1

Š

6

x

(

k

)

 

 

 

 

 

 

 

 

 

 

+

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

1

 

 

 

 

k

 

 

 

 

k

 

 

 

 

 

1

+ )

 

 

 

 

 

 

 

 

2

)

 

 

 

 

(

 

)

 

 

 

 

(

 

=

7

Š

 

 

 

(

 

 

 

 

x˜2

 

 

1

17

x˜1

 

x3

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

( + )

= −

Š−

12

 

 

(

k

)

 

 

(

k

)

 

8

 

 

 

 

 

 

x˜3

 

 

 

 

 

 

 

x1

 

 

x2

 

68 2 Lineare Gleichungssysteme

Dabei bezeichnen x˜(k) die alten und x˜(k+1) die neuen Näherungswerte. Wenn wir mit den Werten

x˜

(

0

)

 

 

0, x˜

(

0

)

 

0, x˜

(

0

)

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

starten,

dann erhalten wir im ersten und zweiten Iterationsschritt

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

=

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x˜

(

1

)

 

 

2, x˜

(

1

)

 

 

17

, x˜

(

1

)

 

3

,

x˜

(

2

)

20

, x˜

(

2

)

15

, x˜

(

2

)

 

45

.

 

 

 

 

 

 

 

2

 

7

 

14

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

1

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

1

 

 

 

2

 

 

 

3

 

 

 

 

Bei der Berechnung=

mit=

 

einem Computerprogramm= = −ändern sich=die Werte nach=

ungefähr 100

Iterationsschritten kaum noch, und wir erhalten die Näherungslösung

 

 

 

Ì

x˜

(

100

)

0, x˜

(

100

)

1,

 

 

x˜

(

100

)

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zwei Fragen sind bisher noch nicht geklärt: Bei welchen linearen Gleichungssystemen strebt die Jacobi-Iteration auch tatsächlich gegen die Lösung des linearen Gleichungssystems und nach wie vielen Schritten können wir das Verfahren abbrechen? Antworten auf diese Fragen findet man beispielsweise bei [Golub].

2.4.2 Gauß-Seidel-Iteration

Die Gauß-Seidel-Iteration ist eine nahe liegende Verbesserung der Jacobi-Iteration. Sie geht auf Johann Carl Friedrich Gauß und Philipp Ludwig Seidel zurück. Dabei werden die neu berechneten Näherungswerte sofort wieder bei den weiteren Rechenschritten verwendet.

Beispiel 2.18 (Gauß-Seidel-Iteration)

 

Das lineare Gleichungssystem

 

 

 

3x1

+

6x2

+

 

=

 

6

x1

7x2

5x3

 

17

2x1

+

4x2

8x3

=

 

12

soll mit der

Gauß-Seidel-Iteration gelöst werden. Durch Auflösen der ersten Gleichung nach x1, der

+

 

 

=

 

zweiten Gleichung nach x2 und der dritten Gleichung nach x3 erhält man die Iterationsvorschrift

x˜

(

k

1

)

 

1

 

6 6˜x

(

k

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

=

3

Š

 

 

 

 

 

 

 

 

 

 

 

 

 

1

+

)

 

 

 

 

 

 

 

2

+

 

)

 

(

 

)

 

 

 

 

 

 

(

k

 

7

 

 

 

 

(

k

 

 

k

 

 

 

 

 

 

 

1

 

=

1

Š

 

 

 

 

1

 

 

 

 

 

 

 

x˜2

 

 

 

 

17

x˜1

 

 

 

 

 

x3

 

 

 

 

 

(

 

+

)

 

 

 

 

 

 

(

 

 

 

 

 

 

+

)

 

 

k

 

8

 

 

 

 

 

 

k

+ )

 

 

(

k

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

x˜3

 

 

 

 

 

 

12

 

x1

 

 

 

x2

 

die

 

Im Gegensatz zum=

JacobiŠ−-Verfahren

verwendet

Gauß-Seidel-Iteration bei der Berechnung von

x2 bereits den neuen Wert von x1 und bei der Berechnung von x3 bereits die neuen Werte von x1 und x2. Wenn wir mit den Werten

x˜

(

)

 

0, x˜

(

)

 

0, x˜

(

)

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

starten,

erhalten wir im ersten und zweiten Schritt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

=

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x˜

1

) =

2, x˜

1

) =

 

15

,

x˜

1

 

=

43

,

x˜

2

 

= −

15

,

x˜

2

 

=

55

,

x˜

2

 

=

237

.

(

(

7

(

 

)

14

(

)

7

(

)

98

(

)

196

 

 

1

 

 

 

2

 

 

 

 

 

 

3

 

 

 

 

 

 

1

 

 

 

 

 

2

 

 

 

 

 

3

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]