Exponenten-Überlauf < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 10:39 So 18.04.2010 | Autor: | Katrin89 |
Aufgabe | In manchen Fällen lässt sich der Exponenten-Überlauf durch Umformen des kritischen Ausdrucks vermeiden. Ein Beispiel dafür ist der Ausdruck
[mm] r=\wurzel{x^2+y^2}
[/mm]
Hier kann der Term [mm] x^2+y^2 [/mm] zu einem Exponenten-Überlauf führen, obwohl r im "zulässigem Bereich" bliebe. Forme den Ausdruck für r so um, dass ein Exponentenüberlauf vermieden wird (falls r im "zulässigem Bereich" liegt). |
Hallo,
mmmh, komische Aufgabe.
1) Was bedeutet der Exponentenüberlauf?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:48 So 18.04.2010 | Autor: | Infinit |
Hallo Katrin89,
gemeint ist damit, dass die Summe der beiden quadratischen Terme so groß wird, dass der Exponent des Zahlenwertes dieser Summe nicht mehr abgespeichert werden kann. Bei Taschenrechnern ist dieser Wert häufig bei 99 anzutreffen (zumindest war dies bei älteren Rechnern so). Ein Wert wie beispielsweise 3,5 E+105 wäre nicht abzuspeichern, obwohl das Ergebnis durch die anschließende Wurzelbildung wieder in den Bereich zweistelliger Exponenten kommen würde.
Solch ein Überlauf soll durch Umformen des Ausdrucks vermieden werden.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:58 So 18.04.2010 | Autor: | Katrin89 |
Super Erklärung, danke. Sehr gut erklärt.
Jetzt weiß ich erstmal, wie was gemeint ist.
Nun das zweite Problem
Aber ich mache mir erstmal ein paar Gedanken, vllt. komme ich ja auf irgendwas, wie man das umformen könnte.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:14 So 18.04.2010 | Autor: | Infinit |
Hallo Katrin89,
ein gängiger Weg, um so ein Problem zu vermeiden, ist eine Vornormierung. Hierzu sollte man natürlich wissen, in welchem Wertebereich die Verarbeitung noch ohne Probleme vonstatten geht. Eine Division der Eingangsgrößen x und y durch z.B. 1E50 könnte hier schon weiterhelfen. Vor der Ergebnisanzeige muss dann natürlich re-normiert werden.
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 22:26 Mo 19.04.2010 | Autor: | Katrin89 |
Hallo,
danke für deinen Tipp. Leider weiß ich trotzdem nicht, wie ich das hier machen soll.
Also du meinst, dass ich erstmal durch Ehoch50 teilen soll? Was meinst du denn mit vornormieren?
Viele Grüße
|
|
|
|
|
Ja genau das.
[mm] x=2*10^{52}
[/mm]
[mm] y=2*10^{52}
[/mm]
und die Grenze sei nunmal bei [mm] x=10^{100}
[/mm]
[mm] x^2=4*10^{104} [/mm] RUMMS!
Wenn du jetzt aber vorher x und y durch [mm] 10^{50} [/mm] teilst, was bekommst du dann für r, und wie unterscheidet sich das vom wahren Ergebnis?
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 23:35 Mo 19.04.2010 | Autor: | Katrin89 |
Hallo,
ich habe noch einmal eine Frage vorweg:
woher nimmst du deine Werte oder sind das nur Annahmen bzw. Beispiele?
den größsten Wert, den ich in einem Rechner abspeichern kann, ist das nicht 10^38, oder?
|
|
|
|
|
Hallo!
Wie gesagt, die meisten Taschenrechner etwas älterer Art gehen bis [mm] 10^{100}.
[/mm]
Wenn du den Computer meinst, das kommt darauf an, wo du die Zahl verwendest. Keine Ahnung, wo das Limit von Excel oder so ist, aber wenn du programmierst, kommt es sehr auf den Datentypen an.
Ein float kann maximal [mm] 3,4*10^{38} [/mm] groß werden, ein double macht da schon [mm] 1,7*10^{308} [/mm] mit. Und ein long double macht ganze [mm] 1,1*10^{4132} [/mm] mit. Das hängt aber auch sehr vom Rechner und Compiler ab...
Meine Zahlen waren jetzt wirklich nur Beispiele.
|
|
|
|