Ich habe eine große Summe (bis zu einer Million Summanden), die am Ende auf die Anzahl der Summanden normiert wird. Ist es da besser die Division nach der Summation durchzuführen oder jeden Summand zuerst zu dividieren? Es geht um die Genauigkeit nicht um die Geschwindigkeit. Ach ja, jeder Summand liegt in [-1,1]. Eine Begründung wäre ebenfalls hilfreich. Danke.
Maxim S. schrieb: > Ich habe eine große Summe (bis zu einer Million Summanden) Also eine überschaubare Menge.... Tut mir leid, die Frage ist gar nicht so einfach wie sie klingt. Es hängt von den Zahlen (Wertebereich, Verteilung) und ihrer Darstellung (double, float, fix point ...) ab.
Maxim S. schrieb: > Ist es da besser die Division nach der Summation durchzuführen oder > jeden Summand zuerst zu dividieren? Wenn du ein passendes Zahlenformat hast (z.B. BigDecimal in Java) dann erst Addieren und dann dividieren. Begründung: Addition ist "verlustlos", Division hat ggf. Rundungsfehler (z.B. endlose Periode in Binärrepresentation).
Bei Gleitkommazahlen dürfte der ausschlaggebendere Faktor für die Genauigkeit des Ergebnisses sein, ob man "linear" oder "baumförmig" addiert. Bei Festkomma ist das natürlich egal (sofern man keine Teilsummen umskaliert), dafür schmeißt man natürlich einiges weg, wenn man erst dividiert
Nicht einmal die Summation ist einfach wenn es auf Praezision ankommt. Ein Startpunkt waere http://en.wikipedia.org/wiki/Kahan_summation_algorithm . Wie genau sind deine Zahle, positiv, negativ, durch was wird dividiert,...? Gruss
Josef schrieb: > Nicht einmal die Summation ist einfach wenn es auf Praezision > ankommt. Wenn man sich an Läubis Tipp hält schon. Nur war in der Aufgabe dieser Lösungsansatz vermutlich nicht gemeint. ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.