Rechnen < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 11:48 Do 18.09.2008 | Autor: | uecki |
Aufgabe | Skript:
Die Größe
delta x = |x-rd(x)|
heißt absouter Rundungsfehler von x.
Beispiel:
Bei 6-stelliger Rechnung (im Dezimalsystem) wird die Zahl
[mm] x=0.1000001*10^7
[/mm]
auf
[mm] rd(x)=0.1*10^7
[/mm]
und die Zahl
y= [mm] 0.1000001*10^0
[/mm]
auf
[mm] rd(y)=0.1*10^0
[/mm]
gerundet.
Obwohl eigentlich beide Ergebnisse vom Gefühl her "gleich genau" sind, gilt:
delta x =1 und delta y= 0.0000001.
Deshalb misst man die bei numerischen Rechnungen entstehenden Fehler meist relativ. Der relative Fehler einer Größe x ist definiert als:
rx= delta x / |x|
Im Beispiel ergibt sich mit dieser Definition:
rx=ry = 0.0000001. |
Hallo erstmal,
ich dachte immer der relative Fehler errechnet sich aus rx= (delta x-gerundetes x) / (gerundetes x).
Wenn ich rx und ry ausrechnen möchte, gehe ich folgendermaßen vor:
rx = [mm] (0.1000001*10^7 [/mm] - [mm] 0.1*10^7) [/mm] / [mm] (0.1*10^7) [/mm] = 0.000001.
ry = [mm] (0.1000001*10^0 [/mm] - [mm] 0.1*10^0)/ (0.1*10^0) [/mm] = 0.000001.
Im Skript steht das 0.0000001 rauskommen soll,aber mit einer anderen Formel. Da wird nämlich durch den exakten x- bzw. y-Wert geteilt.
Und wenn ich die anwende kommen bei mir die Zahlen rx=ry=0.000000999.
Kann mir das mal jemand erklären?
Vielen Dank schon mal
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:25 Fr 19.09.2008 | Autor: | uliweil |
Hallo uecki,
erst mal generell; der relative Fehler wird schon gegen den exakteren Wert gerechnet, also wie in dem Script steht rx = delta x / |x|. Dann hat sich aber der Scriptschreiber wohl verrechnet; tatsächlich kommt der von Dir berechnete Wert heraus 0,000000999... und wenn man den nun wiederum rundet ergibt sich 0,000001. Na ja und da ist halt im Script eine führende Null zuviel; soll ja schon mal bei solchen Nullen vorkommen ...
Gruß
Uli
|
|
|
|