Einzelnen Beitrag anzeigen

mabstudent

Registriert seit: 13. Nov 2010
23 Beiträge
 
#5

AW: STABW berechnen-Qualität des Zufallszahlengenerators beurteilen

  Alt 8. Jan 2013, 13:55
Also, folgendes habe ich umgesetzt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,bereich,r,summe:integer; //i=Laufindex,Zufallszahlenbereich,r=Zufallszahl
    zaehler: array[0..600]of longint; //aufsummieren der Zufallszahlen an der Stelle 0..600
    anzzz:integer; //Anzahl der Zufallszahlen
    mittelwert, varianz, stabw:double;

begin
  randomize;
  image1.Canvas.brush.color:=clwhite;
  image1.canvas.fillrect(rect(0,0,600,200));
  bereich:=strtoint(edit1.text); //Zufallszahlenbereich
  anzzz:=0;
  mittelwert:=0;

  IF checkbox1.checked=true THEN //von unten nach oben auftragen
  begin

  FOR i:=0 to image1.width-1 DO
    begin
    zaehler[i]:=0; //alle Zähler i..imagebreite nullen
    end;

  FOR i:=0 TO image1.width-1 DO
    begin
    r:=random(bereich);
    inc(zaehler[r]); //inkrementiert den Zählerplatz i um die Zufalsszahl r
    IF checkbox3.checked=true THEN image1.canvas.pen.color:=clred;
    IF checkbox4.checked=true THEN image1.canvas.pen.color:=clgreen;
    IF checkbox5.checked=true THEN image1.canvas.pen.color:=clblue;
    image1.canvas.moveto(i,200); //nach unten links fahren
    image1.canvas.lineto(i,200-r); //Linie ziehen zur Zufallszahl
    anzzz:=anzzz+1;
    mittelwert:=mittelwert+r;

    end;

  mittelwert:=(mittelwert/anzzz);
  varianz:=(zaehler[r]-mittelwert);
  varianz:=(varianz*varianz)/(anzzz-1);
  stabw:=sqrt(varianz);
  label3.caption:='Mittelwert= '+floattostr(mittelwert);
  label4.caption:='Anzahl Zufallszahlen= '+inttostr(anzzz);
  label5.caption:='Varianz= '+floattostr(varianz);
  label6.caption:='STABW= '+floattostr(stabw);
Ergebnis für stabw könnte meiner Einschätzung nach passen oder sieht hier jemand noch einen Denkfehler?
  Mit Zitat antworten Zitat