Vorlesung Simulation technischer Systeme - ByteLABS
Vorlesung Simulation technischer Systeme - ByteLABS
Vorlesung Simulation technischer Systeme - ByteLABS
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Die Subroutine RANDU:<br />
Wie bestimmt man den Startwert? (multiplikative kongruentelle Methode). Auf „Binär-Computern“<br />
wähle m = 2 b größtmögliche Zahlen in interner Darstellung (mit b = Anzahl der<br />
Bits pro Wort)<br />
Die Zahlentheorie sagt dann, dass:<br />
max. Periode = 2 b-2 = m/4<br />
Der günstigste Wert für a soll bei 2 b/2 ± 3 liegen. Für eine 16-Bit Maschine wäre a = 2 8 ± 3 =<br />
256 + 3 = 259.<br />
Bei einer 32-Bit Maschine wäre a = 2 16 ± 3 = 65536 + 3 = 65539.<br />
Mit<br />
IX ... nicht normierte ganze Zufallszahl v k (Eingabe)<br />
IY ... nicht normierte ganze Zufallszahl v k+1 (Ausgabe)<br />
YFL ... normierte Zufallszahl (0,1) (Ausgabe)<br />
schreibt sich die Subroutine RANDU(IX, IY, YFL) für eine 32 Bit Maschine wie folgt:<br />
SUBROUTINE RANDU(IX, IY, YFL)<br />
IY = IX*65539<br />
IF(IY) 5,6,6<br />
5 IY = IY*(-1)<br />
6 YFL = IY<br />
YFL = YFL / größte ganze Zahl<br />
RETURN<br />
END<br />
3.4 Mid-Sqare Methode<br />
Sehr bekannt ist die Mid-Square-Methode. Hier wird eine Zahl von mindestens vier Dezimalstellen<br />
quadriert. Von dem Ergebnis bilden die vier mittleren Stellen die Pseudo-Zufallszahl,<br />
die zur Berechnung der nächsten Zufallszahl wieder quadriert wird. Beispielsweise ist 3123 2 =<br />
09753129. Die vier mittleren Stellen sind 7531. Aus ihnen erhält man 7531 2 = 56715961 und<br />
damit die nächste Zufallszahl 7159 2 = 51251281 usw. Dieses Verfahren muss für die praktische<br />
Anwendung durch Störgrößen beeinflusst werden, da es sonst leicht zu kurzen Zyklen<br />
führt.<br />
Beispiel:<br />
3600 12 9600 00<br />
9600 92 1600 00<br />
1600 02 5600 00<br />
5600 31 3600 00<br />
3600 .<br />
bzw. 2500 06 2500 00<br />
2500 06 2500 00<br />
2500 06 2500 00<br />
.<br />
9