1. Einführung - Umwelt

Werbung
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
1. Einführung
Die numerische Mathematik, kurz Numerik genannt, beschäftigt sich als
Teilgebiet der Mathematik mit der Konstruktion und Analyse von Algorithmen für technisch-naturwissenschaftliche Probleme.
aus: Wikipedia
Schon in der Antike wurden Probleme behandelt, die nur näherungsweise gelöst werden konnten, wie die Abschätzung der Kreiszahl π mit Hilfe der
Kantenlänge von ein- und umschriebene Vielecke durch Archimedes (287 –
212 v. Chr.).
1. Einführung
1
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Viele numerische Verfahren wurden entwickelt, um theoretische Ansätze
praktisch nutzen zu können, z. B. der von Johann Carl Friedrich Gauß (17771855) entwickelte Algorithmus zur Lösung linearer Gleichungssysteme oder
die Gauß‘schen Quadraturformeln (numerische Integrationsverfahren) .
Bis in die Neuzeit war die Anwendung dieser Verfahren ein mühsames Geschäft und nur Spezialisten vorbehalten, z. B. das Lösen von Gleichungen mit
mehreren Hundert Unbekannten nur mit Hilfe von Papier und Bleistift oder
später mit Unterstützung einfacher mechanischer Rechenmaschinen.
Im Zeitalter der Computer-Technik haben jedoch numerische Verfahren dramatisch an Bedeutung gewonnen. Heutzutage sind numerische Verfahren, in
jedem technischen oder wissenschaftlichen Bereich präsent, beispielsweise
•
•
•
•
Crashsimulationen
Strömungs- und Temperaturfeldberechnung
Wetter- und Klimamodelle
Operation Research usw.
1. Einführung
2
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Andere Themen der Numerik sind das Suchen numerischer Lösungen von
•
•
•
•
•
gewöhnlichen und partiellen Differentialgleichungen,
Integralgleichungen,
Approximationsproblemen für Funktionen, Kurven und Flächen
Eigenwert- und Verzweigungsproblemen sowie
Lineare und nichtlineare Optimierungsaufgaben
Trotz dieser unterschiedlichen Anwendungsgebiete treten in der Numerik
immer wieder ähnliche mathematische und algorithmische Probleme auf:
• Berechnung von Nullstellen,
• Lösung linearer Gleichungssysteme,
• Polynominterpolation und Regression
• Trigonometrische Approximation (Fourieranalyse)
Die Vorlesung befasst sich vor allem diesen elementaren Bausteinen der
Numerik, deren Ursprünge meist noch in der Vor-Computer-Zeit liegen.
1. Einführung
3
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
1.1 Fehleranalyse
Zur numerischen Lösung eines Problems der Praxis gehört unbedingt auch
eine Information über den dabei gemachten Fehler, um das Resultat richtig
einschätzen zu können.
Der Gesamtfehler setzt sich zusammen aus den “Modellfehlern”:
• Idealisierungsfehler: Zur Beschreibung eines physikalischen Sachverhalts wird ein mathematisches Modell gebildet. Bei der mathematischen Formulierung müssen Vereinfachungen (z.B. Linearisierungen)
vorgenommen werden.
• Datenfehler: Die Daten eines mathematischen Modells (z.B. Koeffizienten einer Differentialgleichung) sind aufgrund ungenauer Kenntnis von
Materialeigenschaften notwendig mit Fehlern behaftet.
Modellfehler sind zwar grundsätzlich vermeidbar, stellen aber in der Praxis
meist die größten Unsicherheiten dar. Man versucht, den Einfluss von
Modellfehlern durch Grenzwertbetrachtungen oder Szenarien abzuschätzen.
1. Einführung
4
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
und den “Numerischen Fehlern“:
• Diskretisierungsfehler: Kontinuierliche Prozesse werden durch endliche
ersetzt
• Abbruchfehler: Unendliche Algorithmen werden nach endlich vielen
Schritten abgebrochen
• Rundungsfehler: Auf der Rechenanlage müssen alle Rechnungen auf
einem endlichen Zahlbereich durchgeführt werden
Numerische Fehler sind unvermeidbar, da nur mit endlicher Genauigkeit und
einer endlichen Anzahl von Schritten gerechnet werden kann.
Die numerische Lösung eines mathematischen Modells stellt somit nur mehr
oder weniger gute Näherung der Wirklichkeit dar.
Die Genauigkeit eines Modells wird durch alle Fehlerquellen beeinflusst. Eine
numerische Lösung sollte daher nach Möglichkeit mit einer Fehlerabschätzung versehen sein.
1. Einführung
5
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
1.2 Fehlergrößen
Ein numerisches Verfahren liefert i. allg. anstelle der gesuchten Lösung x
eine Näherung x . Der Differenzbetrag
∆ = x−x ≤ ρ
wird als absoluter Fehler mit der Fehlerschranke ρ bezeichnet. Der absolute
Fehler sagt wenig über die Güte der Berechnung aus, z. B. mag ein Fehler
von ±100 km beim Messen der Entfernung Erde-Mond als “klein” angesehen
werden, während derselbe Fehler bezogen auf die Entfernung HeidelbergParis sicherlich als “groß” anzusehen ist.
Eine bessere Aussagekraft besitzt der relative Fehler
δ=
x−x
≤ε
x
mit der relativen Fehlerschranke ε. Der relative Fehler ist dimensionslos.
1. Einführung
6
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
1.3 Darstellung von Zahlen
Jede Zahl z∈IR kann bezüglich einer Basis b∈IN durch eine Folge von
Ziffern dargestellt werden
z = ± (an b n + an −1b n −1 + ... + a1b1 + a0b 0 + m1b −1 + m2b −2 + ...)
mit den Koeffizienten ak, mk ∈{0, 1, ... , bn-1). Unter Verwendung von Summenzeichen lässt sich kürzer schreiben
∞
 n

k
z = ± ∑ ak b + ∑ mk b − k 
k =1
 k =0

Wird zwischen a0 und m1 ein Komma gesetzt, ist der Exponent der Basis
durch seine Position im Klammerausdruck festgelegt. Somit lässt sich jede
Zahl auch unter Weglassung der Basis eindeutig angeben:
z = ± an an −1 ... a1a0 , m1m2 ...
wobei n+1 die Anzahl der Vorkommastellen ak wiedergibt und mk die Nachkommastellen sind.
1. Einführung
7
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Als Basis b eines Zahlensystems kann jede beliebige natürliche Zahl verwendet werden. Die heute am meisten verwendeten Zahlensysteme sind
• Binärsystem (b=2)
• Oktalsystem (b=8)
• Dezimalsystem (b=10)
• Hexadezimalsystem (b=16)
Beispiel: Zahlensysteme
2
1
0
Dezimalsystem: z = 824 = 8 ⋅10 + 2 ⋅10 + 4 ⋅10
z = 13,108 = 1 ⋅101 + 3 ⋅100 + 1⋅10 −1 + 0 ⋅10 −2 + 8 ⋅10 −3
Binärsystem:
z = 1101 = 1 ⋅ 23 + 1⋅ 2 2 + 0 ⋅ 21 + 1⋅ 20
= 1 ⋅ 8 + 1 ⋅ 4 + 0 ⋅ 2 + 1 ⋅1 = 13
Hexadezimalsystem:
1. Einführung
(dezimal)
z = 5 A9 F = 5 ⋅163 + A ⋅16 2 + 9 ⋅161 + F ⋅16 0
= 5 ⋅ 4096 + 10 ⋅ 256 + 9 ⋅16 + 15 ⋅1 = 23199 (dezimal)
8
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Einer Zahl mit endlich vielen Vorkomma- und Nachkommastellen wird als
Festkommazahl bezeichnet.
z = ±(an an −1 ... a1a0 , m1m2 ... mr )
Sie hat den Nachteil, dass der Bereich darstellbarer Zahlen eingeschränkt ist.
Jede Festkommazahl kann jedoch durch Multiplikation der Basis b mit einem
geeigneten Exponenten e auf beliebige Zahlenbereiche skaliert werden.
z = ± ( an an −1 ... a1a0 , m1m2 ... mr ) ⋅ b ± e
Wird der Exponent e so gewählt, dass für eine beliebige Zahl die Vorkommastellen verschwinden, erhält man die normierte Gleitkommadarstellung
z = ±(0, m1m2 ... mr ) ⋅ b ± e = ± m ⋅ b ± e
mit der Mantisse m∈IR und dem Exponenten e∈IN. Hierbei ist r die Anzahl
der tragenden Ziffern. Für z ≠ 0 ist die Darstellung durch die Normierungsvorschrift m ≠ 0 eindeutig bestimmt, für z = 0 wird m = 0 gesetzt.
1. Einführung
9
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Auf dem Rechner stehen für die Darstellung von reellen Zahlen nur endlich
viele Stellen zur Verfügung:
• r Ziffern + 1 Vorzeichen für die Mantisse
• s Ziffern + 1 Vorzeichen für den Exponenten.
Die Speicherung einer solchen Zahl erfolgt dann in der Form
z := ±(m1m2 ... mr ) ± (es −1es − 2 ... e0 )
Aus technischen Gründen verwenden moderne Rechner eine Zahldarstellung
mit den Basen b = 2 (Dualsystem) oder b = 16 (Hexadezimalsystem) oder
Mischungen davon. Die in der obigen Form auf einem Rechner dargestellten
(rationalen) Zahlen werden “Maschinenzahlen” genannt
Bemerkung: Beim sog. “IEEE-Format” (üblich auf UNIX-Workstations) werden zur Darstellung von doppelt
genauen Zahlen (REAL*8 in FORTRAN) 64 Bits (=8 Bytes) verwendet. Dabei stehen 1 Bit für das Vorzeichen, 52 Bits für die Mantisse und 11 Bits für den Exponenten zur Verfügung. Damit lässt sich folgender
Zahlenbereich abbilden:
−21024(≈ −1,8·10308) .... −2-1022(≈ −2,2·10-308), 0, 21022(≈ 2,2·10-308) .... 2-1024(≈ 1,8·10308)
1. Einführung
10
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
1.4 Runden von Zahlen
Da nur mit endlicher Genauigkeit gerechnet werden kann, sind in der Regel
die Ergebnisse von Rechenoperationen auf die zu Verfügung stehenden
Stellen zu runden.
Besitzt eine Zahl
z = ± ( an an −1 ... a1a0 , m1m2 ... mr mr +1 ...) ⋅ b ± e
mehr als r Nachkommastellen, so wird die Näherung mit r Nachkommastellen
durch Rundung mathematisch korrekt zugeordnet, wenn
z=
± (an an −1 ... a1a0 , m1m2 ... mr ) ⋅ b ± e
[
für mr +1 < b / 2
]
± ( an an −1 ... a1a0 , m1m2 ... mr ) + b − r ⋅ b ± e für mr +1 ≥ b / 2
mit der Basis b gilt. Ist mr+1 = b/2 und alle folgenden Ziffern mr+2 ... = 0, wird
so gerundet, dass mr gerade ist (statistisch korrekte Rundung).
1. Einführung
11
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Beispiel: Rundung auf 2 Nachkommastellen
z = 8,16273
z = 8,16
z = 1,2750
z = 1,28
0
z = 11,258762 = 11,258762 ⋅10
z = (11,25 + 10 −2 ) ⋅10 0 = 11,25 + 10 −2 = 11,23
z = 68,1450
z = 68,14
Für den relative Rundungsfehler gilt
1
z − z 1 1− r
− b1− r ≤ δ =
≤ b
2
z
2
Die Schranke wird auch als relative Darstellungsgenauigkeit bezeichnet. Sie
hängt nur von der Anzahl r der tragenden Stellen und der Basis b ab.
Bemerkung: Beim IEEE-Format mit r = 52 Bit Mantisse und b = 2 ergibt sich daraus die relative Computergenauigkeit
δ≤
1. Einführung
1 1− r 1 1−52
b = 2
≈ 2,2 ⋅10 −16
2
2
12
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
1.5 Kondition
Die Kondition eines numerischen Problems gibt an, wie empfindlich die
Lösung von der Genauigkeit der Eingabedaten abhängt, d. h. wie sich eine
Störung ε auf das Ergebnis x auswirkt.
Die Bestimmung des sog. Fortpflanzungsfehlers ist Gegenstand der Fehleranalysis und für komplexe Modelle oftmals aufwändig oder gar nicht
möglich. Im folgenden werden daher die Fortpflanzungsfehler nur für die
Grundrechenarten vereinfacht hergeleitet.
Sind die reellen Zahlen z1 und z2 mit den Fehlern ∆z1 und ∆z2 behaftet, so gilt
z1 = z1 + ∆z1 = z1 ⋅ (1 + ε 1 )
z 2 = z 2 + ∆z 2 = z 2 ⋅ (1 + ε 2 )
Daraus folgt für das fehlerbehaftete Ergebnis
x = f ( z1 , z 2 ) = x + ∆x = x ⋅ (1 + ε )
1. Einführung
13
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Multiplikation:
≈0
x = x ⋅ (1 + ε ) = z1 ⋅ z 2 = z1 (1 + ε 1 ) ⋅ z 2 (1 + ε 2 ) = ( z1 ⋅ z 2 )(1 + ε 1 + ε 2 + ε 1 ⋅ ε 2 )
Durch Koeffizientenvergleich folgt die Abschätzung für den Gesamtfehler
ε ≤ ε1 + ε 2
Die Multiplikation ist gut konditioniert, da der Gesamtfehler maximal durch
die Summe der Einzelfehler begrenzt wird.
=x
Division:
x = x ⋅ (1 + ε ) =
=1+ε
z1
z (1 + ε 1 )  z1   1 + ε 1 

= 1
=   ⋅ 
z2
z 2 (1 + ε 2 )  z 2   1 + ε 2 
Daraus folgt
1 + ε1
1 + ε1 − 1 − ε 2 ε1 − ε 2
ε=
−1 =
=
≈ ε1 − ε 2
1+ ε 2
1+ ε 2
(1 + ε 2 )
und somit ebenfalls
ε ≤ ε1 + ε 2
1. Einführung
≈1
14
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Addition/Subtraktion:
 z (1 + ε 1 ) z 2 (1 + ε 2 ) 
x = x ⋅ (1 + ε ) = z1 ± z 2 = z1 (1 + ε 1 ) ± z 2 (1 + ε 2 ) = ( z1 ± z 2 ) ⋅  1

±
z1 ± z 2 
 z1 ± z 2
Koeffizientenvergleich:
z (1 + ε 1 ) z 2 (1 + ε 2 )
z ±z 
z ⋅ε
z ⋅ε
1+ ε = 1
±
= 1 1 + 2 2 +  1 2 
z1 ± z 2
z1 ± z 2
z1 ± z 2 z1 ± z 2  z1 ± z 2 
z1
z2
=1
⇒ε =
⋅ ε1 +
⋅ ε 2 = R1 ⋅ ε 1 + R2 ⋅ ε 2
z1 ± z 2
z1 ± z 2
Der Gesamtfehler ε wird nur dann durch die Summe der Einzelfehler ε1 und ε2
begrenzt, wenn die Verstärkungsfaktoren |R1| ≤ 1 und |R2| ≤ 1 sind. Strebt
hingegen der Nenner z1+ z2 bzw. z1– z2 . gegen Null, wächst der Gesamtfehler
über alle Maßen.
Dies ist immer dann der Fall, wenn Differenzen ähnlich großer Zahlen auftreten (Auslöschung), die Operation ist dann schlecht konditioniert. Algorithmen
sollten so konzipiert sein, dass Auslöschungen möglichst vermieden werden.
1. Einführung
15
Umwelt-Campus Birkenfeld
der Fachhochschule Trier
Numerische Mathematik
Prof. Dr.-Ing. T. Preußler
Beispiel: Differenz ähnlich großer Zahlen bei Rundung auf 2 Stellen
z1 = 11,258762
z 2 = 11,244250
z1 = 11,26
z 2 = 11,24
x = z1 − z 2 = 11,258762 − 11,244250 = 0,014512
x = z1 − z 2 = 11,26 − 11,24 = 0,02
Relative Fehler:
ε1 =
z1 − z1 11,26 − 11,258762
=
= 1,1 ⋅10 − 4
z1
11,261
ε2 =
z 2 − z 2 11,24 − 11,24425
=
= −3,8 ⋅10 − 4
z2
11,24
ε=
x − x 0,014512 − 0,02
= −3,8 ⋅10 −1
=
0,014512
x
Der Gesamtfehler ist um den Faktor 1000 größer als der größte Einzelfehler!
1. Einführung
16
Herunterladen