Durchschnitt < Sonstiges < Hochschule < Mathe < Vorhilfe
|
Hallo !
Ich habe eine Programm, was nacheinander Autos mit Geschwindigkeit = "g" generiert.
"genAutos" ist die Anzahl der bisher generierten Autos.
Nun will ich nachdem ein Auto generiert wurde, die Durchschnittgeschwindgkeit aller bisherigen Autos ausgeben.
Dabei weis ich aber jedesmal nur das "g" des gerade generierten Autos und die beim letzten mal ausgegebene Zahl "genAutos".
ich kann also nicht einfach z.B. [mm] \bruch{g_{1}+g_{2}+g_{3}+g_{4}}{genAutos} [/mm] ausgeben lassen
(sicher könnte ich die einzelnen gs wo einspeichern, aber das ist ja nicht der Sinn der Sache ;))
ich kann aber auch nicht einfach jedes mal die alte Durchschnittsgeschwindigkeit + [mm] \bruch{x_{x}}{genAutos} [/mm] machen, weil sich genAutos ja ändert.
Hat jemand eine Idee, wie das mathematisch gesehen hinkriegen kann ?
Ich wäre ihm sehr dankbar ! Würde mich auch interessieren, sowas könnte man ja oft verwenden.
|
|
|
|
Hallo Hermann,
du kannst das erledigen, wenn du die bisherige Durchschnittsgeschwindigkeit kennst. Ich nehm konkrete Zahlen, die du aber sicher verallgemeinern kannst.
Seien 14 Autos schon erzeugt mit einer durchschnittlichen Geschwindigkeit von 44 km/h. Jetzt erzeugst du ein Auto mit einer Geschwindigkeit von 59 km/h. Die neue Durchschnittsgeschwindigkeit ist dann
[mm](14\cdot44+59)/15=675/15=45 km/h.[/mm]
Durch das ewige Teilen und wieder Multiplizieren gibt es jedoch Rundungsfehler. Es ist schlauer, wenn du nicht die Durchschnittsgeschwindigkeit bisher, sondern die Summe aller Geschwindigkeiten speicherst. Zu der addierst du 59 und zur Ausgabe teilt du die neue Zahl durch 15.
Hugo
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:19 Mi 21.03.2007 | Autor: | Bit2_Gosu |
Vielen Danke, Hugo !
Jetzt erscheint es mir irgendwie voll logisch ;)
Und mit den Rundungsfehlern hast du wohl auch recht, aber es ging mir hier erst mal nur um eine mathematische Lösung.
|
|
|
|