Matroids Matheplanet Forum Index
Moderiert von matroid
Mathematik » Numerik & Optimierung » Signifikante Stellen
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Signifikante Stellen
ikarus90
Junior Letzter Besuch: im letzten Monat
Dabei seit: 26.09.2014
Mitteilungen: 6
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2020-09-20


Hallo zusammen,

ich habe eine etwas blöde Frage vermute ich, deshalb verzeiht mir bitte;)

Ich habe einen Mathematica Code bei dem ich mehrere numerische Berechnungen durchführe. Sowohl die Größen, die ich dem Code als anfänglichen Input gebe, als auch mehrere Größen, die ich an mehreren Zwischenschritten nochmals einfüge haben unterschiedlich lange Nachkommastellen.
Ganz am Schluss meiner Berechnung bekomme ich eine Zahl heraus.

Wie finde ich heraus wie viele Nachkommastellen ich bei dieser Zahl behalten kann? Ist es durch die Input Größen bestimmt oder durch den Code selbst?

Cheers,
ikarus


-----------------
Cogito, ergo sum.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Kitaktus
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.09.2008
Mitteilungen: 6571
Aus: Niedersachsen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2020-09-20


Das hängt defacto sowohl von der Auflösung der Eingabegrößen als auch vom Algorithmus (also vom Code) ab. Darüber hinaus ist noch das intern verwendete Zahlenformat relevant und in vielen Fällen auch die Eingangsgrößen selbst.
Ein Beispiel:
Möchte man $(1+x)^2-1$ berechnen (mit $|x|<<1$), dann erhält man bei naiver Rechenweise (also so wie es da steht) einen Fehler in Größenodnung des Maschinen-Epsilons. Das ist grob gesagt der kleinste positive Wert $\varepsilon$, für den im gewählten Zahlenformat $1$ und $1+\varepsilon$ verschieden sind.
Rechnet man stattdessen $2x+x^2$, so erhält man einen Fehler in Größenordnung von $2x\varepsilon$. Für sehr kleine $x$ ist das erheblich besser als der erste Ansatz.

Die Berechnung der signifikanten Stellen ist nicht ganz trivial.
Typischerweise geht man dabei immer über den absoluten / relativen Fehler.
Für die Grundrechenarten gelten folgende (vereinfachten) Regeln:

Bei einer Addition oder Subtraktion addieren sich die absoluten Fehler.
Bei einer Multiplikation oder Division addieren sich die relativen Fehler.

Während man bei Addition und Subtraktion den absoluten Fehler bestimmen kann, wenn man nur die Auflösung (bzw. absoluten Fehler) der Eingangsgrößen kennt, benötigt man für den relativen Fehler zusätzlich die _Größe_ der Eingangsgrößen. Selbst wenn man weiß, dass $a$ und $b$ beide eine absolute Genauigkeit von $10^{-100}$ haben, kann man über die Genauigkeit von $a/b$ keine Aussage treffen. Die kann beliebig schlecht sein, wenn $b$ betragsmäßig sehr klein ist.

Wie sieht denn Dein Problem konkret aus?



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
ikarus90
Junior Letzter Besuch: im letzten Monat
Dabei seit: 26.09.2014
Mitteilungen: 6
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2020-09-21


Danke für die Antwort. Mein Problem, bzw. den Code im Detail zu erklären würde hier vrmtl. den Rahmen sprengen. Aber ich versuche es mal in Worte zu fassen:

Ich starte mit einer Gleichung, die von 5 Größen abhängt (W,V,g,Y,i). Ich benutze diese Gleichung um mit Hilfe von ContourPlot und einer anschließenden Interpolation W(V) zu finden. Ich mache diesen Schritt für unterschiedliche Werte für die anderen Variablen, zB. g=0.01, i=1000, Y=0.1.
In der Gleichung kommen aber auch Koeffizienten vor, die unterscheidlich lange Nachkommastellen haben, wie zb. 1.15*10^(-11) und 60.1.

Als nächstes benutze ich das so gewonnene W(V) um zwei andere Gleichungen gleichzusetzen und das V zu extrahieren, welches diese Gleichsetzung realisiert (beide Gleichungen haben wieder andere Koeffizienten).
Das so gewonnene V benutze ich um die finale Größe in die ich eigentlich interessiert bin auszurechnen (welche von V,W,g abhängt). Meine Frage ist jetzt wieviele Nachkommestellen ich bei der Endgröße behalten kann.


-----------------
Cogito, ergo sum.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
Er/sie war noch nicht wieder auf dem Matheplaneten
haribo
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 25.10.2012
Mitteilungen: 2567
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2020-09-21


bei nur 5 grössen kannst du es doch einfach ausprobieren indem du nacheinander an jede ne 1 hängst und schaust welche das ergebnis am weitesten links verändert...

g=0.01, i=1000, Y=0.1
g=0.011, i=1000, Y=0.1
g=0.01, i=1001, Y=0.1  (fals i keine variable ist, natürlich weglassen)
g=0.01, i=1000, Y=0.11

bei g*i/Y wären die ergebnisse:

100,00
110,00
100,10
90,91


sowohl g als auch Y verändern die zweite stelle vor dem komma, also sind im ergebniss dann alle ziffern dahinter (auch die erste zahl vorm komma!) sicher nicht mehr significant

ansich müsste man dann schreiben: g*i/Y=100 (+/-10)

bei deinem beispiel dürfte die interpolation die genauigkeit beeinflussen,



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]