Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   durchschnitt von sehr vielen versuchen (https://www.delphipraxis.net/32820-durchschnitt-von-sehr-vielen-versuchen.html)

glkgereon 28. Okt 2004 11:12


durchschnitt von sehr vielen versuchen
 
moin....

also ich hab einen code, der sieht in etwa so aus:
(ist blitzbasic)

Code:
While Not KeyHit(1)
  i = i + 1
  x = Rand(1,1024)
  y = Rand(1,768)
  xd = xd + x
  yd = yd + y
  text 100,100,xd
  text 100,125,yd
Wend

nur dabei besteht sehr schnell die gefahr, das xd bzw yd an den rand des zahleraums geraten...
also nach ca. 7 sek ist man bereits bei über 1.000.000

kann man den durchschnitt da irgendwie anders machen?

fiasko 28. Okt 2004 12:31

Re: durchschnitt von sehr vielen versuchen
 
Hallo,

was willst Du denn machen??? Den Durchnitt der Random Funktion? Die ist doch eine Gleichverteilung... also kommt das 1024/2 und 768/2 raus :stupid:

Wenn du vorher nicht die Anzahl der Stichproben weißt hast du IMHO keine andere Chance.

Mich würde noch der Sinn interessieren :-)

nailor 28. Okt 2004 12:36

Re: durchschnitt von sehr vielen versuchen
 
du kannst auch nach jedem schritt den surchschnitt direkt berechnen. nur kommt man dann zum einen schnell auf rundungsfehler, und zum anderen müsstest du einen gewichteten durchschnitt bilden. eventuell könntest du einfach einen variablentyp nehmen, wo mehr reinpasst...

glkgereon 28. Okt 2004 12:45

Re: durchschnitt von sehr vielen versuchen
 
ach das mit random war nurn beispiel....

ich hab zum beispiel eine datei wo ganz viele werte drinstehen die ich auswerten will

naja, dann halt nicht...

fiasko 28. Okt 2004 12:45

Re: durchschnitt von sehr vielen versuchen
 
Zitat:

Zitat von nailor
du kannst auch nach jedem schritt den surchschnitt direkt berechnen.

Wie denn das?

Code:
xd = (xd+x)/2
ist dann nicht der durch Schnitt... er könnte vielleicht noch

Code:
i = i + 1
xd = (xd*i+x) / 2
machen, aber ob das besser ist :gruebel:

himitsu 28. Okt 2004 19:51

Re: durchschnitt von sehr vielen versuchen
 
Du könntest dir ja mal Int64 ansehn, da passt 'ne Menge rein

Delphi-Quellcode:
x: Int64;
d: Extendet;


x := 0;
for i := 1 to Anzahl do
  x := x + Wert;
d := x / 3000;


//liefert, abgesehn von Rundungsfehlern, das Selbe ergebnis, wie die erste Variante
d := Wert / Anzahl;
for i := 2 to Anzahl do
  d := d + (Wert / Anzahl);


//versuchen kannst du ja auch mal diesen Weg, aber dieses ist nicht der Mittelwert über alle Werte, sondern (vorwiegent) über die letzten
d := Wert;
for i := 2 to Anzahl do
  d := (d * 0.99) + (Wert * 0.01);

dizzy 28. Okt 2004 23:13

Re: durchschnitt von sehr vielen versuchen
 
Zitat:

Zitat von glkbkk
(ist blitzbasic)

;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz