Fehler in numerischen Rechnungen



Ähnliche Dokumente
Binäre Gleitkommazahlen

Computerarithmetik ( )

Dezimalkomma (decimal point) rechts von Stelle mit Wertigkeit 100 nachfolgende Stellen haben Wertigkeit 10-1, 10-2, etc.

in vielen technischen und wissenschaftlichen Anwendungen erforderlich: hohe Präzision große Dynamik möglich durch Verwendung von Gleitkommazahlen

Grundlagen der Technischen Informatik Wintersemester 12/13 J. Kaiser, IVS-EOS

Numerisches Programmieren, Übungen

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Lösungen: zu 1. a.) b.) c.)

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

Binäre Division. Binäre Division (Forts.)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Binärdarstellung von Fliesskommazahlen

Zeichen bei Zahlen entschlüsseln

Kapitel 1. Zahlendarstellung. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik

Grundlagen der Informatik

5. Übung: Binäres Rechnen und Fließkommazahlen Abteilung Verteilte Systeme, Universität Ulm

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

, WS2012 Übungsgruppen: Mo.,

Zahlensysteme Seite -1- Zahlensysteme

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

2 Darstellung von Zahlen und Zeichen

a) Da die Zahlen im IEEE-32Bit-Format dargestellt werden sollen, ist der Bias = 127.

Eine Logikschaltung zur Addition zweier Zahlen

Einführung in die Programmierung

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Vertiefungsstoff zum Thema Darstellung von Zahlen

Der Zwei-Quadrate-Satz von Fermat

Übung RA, Kapitel 1.2

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Zahlensysteme. von Christian Bartl

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = binär

Daten verarbeiten. Binärzahlen

Übungen zu Informatik 1

Vorlesung Programmieren. Agenda. Dezimalsystem. Zahlendarstellung. Zahlendarstellung. Oder: wie rechnen Computer?

Das Rechnermodell - Funktion

Grundstrukturen: Speicherorganisation und Zahlenmengen

2. Negative Dualzahlen darstellen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Einführung in die Informatik I

3 Rechnen und Schaltnetze

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

Das Maschinenmodell Datenrepräsentation

N Bit binäre Zahlen (signed)

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Information in einem Computer ist ein

Rechnerarithmetik Ganzzahlen und Gleitkommazahlen Ac 2013

Technische Informatik - Eine Einführung

Theoretische Informatik SS 04 Übung 1

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Vorkurs Mathematik Übungen zu Polynomgleichungen

Numerische Datentypen. Simon Weidmann

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Primzahlen und RSA-Verschlüsselung

Lineare Gleichungssysteme

11. Das RSA Verfahren und andere Verfahren

2 Rechnen auf einem Computer

Lineare Gleichungssysteme

Wissenswertes über binäre Felder

Zahlendarstellungen und Rechnerarithmetik*

Teil II. Schaltfunktionen

7 Rechnen mit Polynomen

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Professionelle Seminare im Bereich MS-Office

Zahlensysteme: Oktal- und Hexadezimalsystem

2 Einfache Rechnungen

Die Subnetzmaske/Netzwerkmaske

Binär Codierte Dezimalzahlen (BCD-Code)

Informationsblatt Induktionsbeweis

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Einstieg in die Informatik mit Java

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

Einführung in das Arbeiten mit MS Excel. 1. Bearbeitungs

Weiterbildung und Zusatzausbildung der PHZ Luzern Interessantes und Spannendes aus der Welt der Mathematik September 2006, Dieter Ortner

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

Repetitionsaufgaben: Lineare Gleichungen

Binär- und Hexadezimal-Zahl Arithmetik.

Simplex-Umformung für Dummies

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Geld wechseln kann als Visualisierung des Zehnerübergangs dienen. Die Zwischengrössen (CHF 2.-, 5.-, 20.-, 50.-) weglassen.

Mathematische Grundlagen 2. Termrechnen

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Rationale Zahlen. Vergleichen und Ordnen rationaler Zahlen

6.2 Scan-Konvertierung (Scan Conversion)

Mikro-Controller-Pass 1

Java Einführung Operatoren Kapitel 2 und 3

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 11/12

Musterlösungen zur Linearen Algebra II Blatt 5

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Englische Division. ... und allgemeine Hinweise

Transkript:

Kapitel 1 Fehler in numerischen Rechnungen Analyse numerischer Rechnungen: - Welche möglichen Fehler? - Einfluss auf Endergebnis? - Nicht alles in der Comp.Phys./Numerical Analysis dreht sich um Fehler - aber beim Programmieren schon, Bugs. etc... 1.1 Beispiele Ariane 5 Explosion Juni, 1996 aufgrund Softwarefehlers, 64 bit Floating Point = 16 bit Integer = Zahl größer als 32,767 Patriot Missile Failure Golfkrieg, Februar 1991, Zeitberechnung in 24 bit Register,.34 sec falsch 1 km daneben 28 Tote, 100 Verletzte Mars Lander Mariner 1 Fortran Loop: DO 5 K=1.3 anstatt DO 5 K=1,3 Der Rechner initialisiert Variable namens DO5K mit 1.3 Problem: Blanks, keine Deklaration notwendig, kein end do ROSAT Röntgen Satellit (MPE Garching) 1997, Rundungsfehler unfortunate combination Pointing ungenau 1.2 Arten der Fehler Unterscheide 3 Arten von Fehlern: i) Fehler in Anfangsdaten, initial data error idealisierte Annahmen (Vereinfachungen) ungenaue Messdaten Kopierfehler (von Zahlen) genäherte Darstellung von Konstanten (wie π oder e) 1

2 KAPITEL 1. FEHLER IN NUMERISCHEN RECHNUNGEN ii) Abschneidefehler, truncation error Charakteristisch für benutzte Methode (Algorithmus): liegt in der Hand des Programmierers z.b. bei approximativen mathematischen Techniken, Diskrete Modellierung Bspl.: MacLaurin Serie e x = 1 + x + x 2 /2 +... + x n /n! +... Berechnung einer Zahl die e β approximiert: e β = 1 + β + β 2 /2 +... + β k /k! + E E ist der Abschneidefehler. Ursache: endliche Zahl von Iterationen/Termen iii) Rundungsfehler, round-off or rounding error Endl. Stellenzahl bei num. Rechnungen D.h. Zahlen und Ergebnisse können nicht exakt dargestellt werden. Bem.: a) ii) Existiert sogar auf Computer mit unendl. Genauigkeit. b) iii) betrifft alle Rechenschritte (ausführlichere Bhdlg.) c) ill-conditioned: beliebig kleiner Fehler in Anfangsdaten >> großer Fehler in Ergebnissen. d) Fehlerbeschreibung: sei x die berechnete Lsg. zu wahrem Wert x, dann ist x x der absolute Fehler, und (x x)/x der relative Fehler e) Errorbound max. möglicher Fehler, wichtig bei vielen num. Methoden, berechneter Fehler typischerweise kleiner als berechneter Errorbound. 1.3 Fließpunkt- Floating-Point- Darstellung Jedes x wird durch ein x dargestellt mit Vorzeichen, Mantisse, Exponent: Normalisierte Darstellung: ā = ±(0.a 1 a 2...a m ) b c } {{ } a mit a < 1 = b 0, 0 a i b 1, und a 1 0, falls x 0 (z.b. 153.12.15312 10 3 ). b bezeichnet die Basis der Darstellung: Binär: b = 2, zwei digits Dezimal: b = 10, zehn digits Hexadezimal: b = 16, sechzehn digits (Tägl. Leben dezimal, Computer: binär, hexadezimal) Das hexadezimale System ist eine natürliche Erweiterung des Binärsystems, weil 2 4 = 16, d.h. es gibt genau eine hexadeziamal Zahl für vier Binärdigits ( bits ).

1.3. FLIESSPUNKT- FLOATING-POINT- DARSTELLUNG 3 1.3.1 Umwandlung von einer Darstellung in die andere sei r 1 = 1/10 = 0.1 (in dezimaler Form), dann existieren Konstanten {α k } k=1 so, dass r 1 = 0.1 = α 1 /16 + α 2 /16 2 + α 3 /16 3... Multipliziere mit 16: 16r 1 = 1.6 = α 1 + α 2 /16 + α 3 /16 2... D.h. α 1 = 1 und r 2 0.6 = α 2 /16+α 3 /16 2... Wieder, 16r 2 = 9.6 = α 2 +α 3 /16..., also α 2 = 9 und r 3 0.6 = α 3 /16+ α 4 /16 2... Also wiederholt sich der Vorgang, und man erhält: (0.1) 10 = (0.1999...) 16, oder r 1 = (0.1) 10 = (0.1999...) 16 = (0.0001 1001 1001...) 2 D.h. Endl. Darstellung in einer Basis <=> nicht endl. Darstellung in anderer. Bem: Erstes Bit einer normalisierten Darstellung ist immer 1 (für die Basis 2), d.h. man kann es weglassen zur Erhöhung der Genauigkeit. 1.3.2 IEEE Standard Einfache Genauigkeit, oder Single precision (in Ftn: REAL, REAL*4; in C: float) hat ein 32 bit Wort (4 Byte): S EEEEEEEE FFFFFFFFFFFFFFFFFFFFFFF 0 1 8 9 31 Erstes Bit: S Vorzeichen (sign) nächsten 8 Bit: E Exponent nächsten 23 Bit: F Mantisse (Fraction) Der Wert der Zahl ist: Falls E = 255 (= 2 8 1) und F ungleich Null, dann x = NaN. Falls E = 255 und F gleich Null und S = 1, dann x = Infinity. Falls E = 255 und F gleich Null und S = 0, dann x = Infinity. Falls 0 < E < 255, dann x = ( 1) S 2 E 127 (1.F), wobei 1.F die Binärzahl bezeichnet, die man erhält, wenn vor F eine führende 1 mit Binärpunkt gesetzt wird. Die 127 ist der Bias des Exponenten. Falls E = 0 und F ungleich Null x = ( 1) S 2 126 (0.F). Unnormalized Values. Falls E = 0 und F = 0 und S = 1, dann x = 0. Falls E = 0 und F = 0 und S = 0, dann x = 0. Die doppelte Genauigkeit, oder Double Precision (REAL*8, double) hat zwei 32 bit Worte (Doppelwort oder 8 Byte, 64 Bit): Es besteht aus: Erstes Bit: S Vorzeichen (sign)

4 KAPITEL 1. FEHLER IN NUMERISCHEN RECHNUNGEN nächsten 11 Bit: E Exponent nächsten 52 Bit: F Mantisse (Fraction) Ersetze einfach oben für E = 255 = 2 8 1, jetzt E = 2047 = 2 11 1, und für den Bias 1023 statt 127. Beispiele (für Single): 1 11111111 00100010001001010101010 = NaN 0 10000000 00000000000000000000000 = +1 * 2**(128-127)* 1.0 = 2 1 10000001 10100000000000000000000 = -1 * 2**(129-127)* 1.101 = -6.5 4 1/2 1/8 1.3.3 Wichtige Konstanten i) Maschinen-Genauigkeit (Machine Accuracy) DEF: Die kleinste (absolute) Zahl, die, falls zu einer (floating-point) 1.0 addiert wird, ein Ergebnis anders als 1.0 ergibt, heißt: Maschinen-Genauigkeit ɛ m. Für Single-Precission ist ɛ m typischerweise 3 10 8. ɛ m ist der Fehler, der zu dem letzten signifikanten Bit der Mantisse gehört. Der Rundungsfehler liegt in der gleichen Grössenordnung. ii) Die kleinste (m)/grösste (M) darstellbare Zahl Die kleinste auf dem Computer darstellbare Zahl m ist nicht ɛ m sondern eine Zahl, deren Grösse durch den Exponenten bestimmt wird. Für eine typische Workstation (hier HP) erhält man Type Sign. Stellen m M Real*4 7.2 digits 1.175.. 10 38 3.403...10 +38 Real*8 15.95 digits 2.225.. 10 308 1.797...10 +308 Integer (*4) 2147483648 Bem: a) Addition zweier Zahlen erfolgt durch ein Verschieben der Mantisse der kleineren nach rechts und erhöhen des Exponenten bis beide Exponenten übereinstimmen, d.h. falls die Zahlen zu unterschiedich sind, werden die Stellen der kleineren Zahl ausgelöscht. b) Rundung durch Chopping, d.h. einfaches Abschneiden, oder symmetrische Rundung (addiere 5 zur letzten sign. Stelle und schneide ab) c) Falls eine Zahl größer als M wird, gibt einen Overflow, falls kleiner als m, einen Underflow d) Integerarithmetik (Beschleunigung von Rechnungen, genauer) 1.4 Fehler bei arithmetischen Operationen Sei x eine Approximation an x, der Fehler ist e(x) = x x. Addition: x + y = x + e(x) + ȳ + e(y) = x + ȳ + (e(x) + e(y))

1.5. LITERATUR 5 Scheinbar ist der Gesamtfehler die Summe Einzelfehler, aber es kann auch sein, dass x+ȳ nicht exakt darstellbar sind, damit ergibt sich als höherer Gesamtfehler: e(x) + e(y) plus dem Fehler zwischen x + ȳ und x + ȳ. - Addition kann zu Overflow führen. - Addition nicht unbedingt assoziativ. - Bei mehreren Summanden sollten die kleineren zuerst addiert werden (s.u.). Beispiel/Übung: Summe 1/k. Subtraktion: Fehleranalyse ähnlich der Addition, aber jetzt Verlust von signifikanten Stellen möglich (subtraktive Auslöschung), falls die Zahlen fast gleich groß sind. Bspl: f(x) = (1 + x e x )/x 2 Auch wenn e x sehr genau, bei kleineren x gibt s größere Fehler. Möglicher Ausweg: Entwickle e x, e x = 1 + x + x 2 /2! + x 3 /3!... f(x) = 1/2! x/3! x 2 /4!... Bspl. mit sieben sign. Stellen, siehe Tabelle: x f(x) direkte Summe f(x) Reihenentwicklg. 0.1 -.5171781E 00-0.5170917E00 0.01 -.5054476E 00-0.5016708E00 0.001 -.9536749E 00-0.5001667E00 0.0001 -.9536745E 02-0.5000166E00 0.00001 0.0-0.5000016E00 Multiplikation: x y = ( x + e(x)) (ȳ + e(y)) = x ȳ + x e(y) + ȳ e(x) + e(x) e(y) Fehler ist Rundungsfehler von x ȳ. Division: Ähnlich Multiplikation: Fehler ist Rundung von x/ȳ, aber Probleme bei Division durch ȳ 0. 1.5 Literatur Johnson, Lee W. & Riess, R. Dean, Numerical Analysis, Addison-Wesley Publishing Co., 1977 IEEE Standard, http://www.psc.edu/general/software/packages/ieee/ieee.html Press, Flannery, Teukolsky, Vetterling, Numerical Recipes

6 KAPITEL 1. FEHLER IN NUMERISCHEN RECHNUNGEN