12.02.2014 Aufrufe

Mathematik für Physiker - Numerische Physik: Modellierung

Mathematik für Physiker - Numerische Physik: Modellierung

Mathematik für Physiker - Numerische Physik: Modellierung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

194 KAPITEL 5. INTEGRATION<br />

Abbildung 5.13: Häufigkeitsverteilung<br />

von mit rand erzeugten<br />

Zufallszahlen; links 1000 Zahlen,<br />

rechts 1 000 000 Zahlen<br />

Abbildung 5.14: Test eines Zufallszahlengenerators:<br />

im rechten sind<br />

die Wertepaare statistisch verteilt,<br />

d.h. die Zufallszahlen sind unabhängig<br />

von einander. Die Musterbildung<br />

im linken Teil weist auf<br />

statistische Abhängigkeiten und<br />

damit die Wiederholung hin<br />

um einen recht einfachen Algorithmus: eine Saat-Zahl wird mit einer großen Zahl multipliziert,<br />

eine andere große Zahl wird addiert und der entstehende Ausdruck wird in irgendeiner<br />

Form normiert: so kann z.B. durch eine Zahl geteilt und der Rest betrachtet werden. Das<br />

Ergebnis ist dann die Saat für die nächste Runde usw. Die Saat kann entweder eine im<br />

Algorithmus fest gelegte Zahl sein oder sie kann extern vorgegeben werden, z.B. aus der Systemzeit.<br />

Falls die Saat einen festen Wert hat, wird bei jedem Start des Zufallszahlengenerators<br />

exakt die gleiche Sequenz von Zufallszahlen erzeugt. Falls bei jedem Start des Zufallszahlengenerators<br />

eine andere Zahl als Saat verwendet werden kann, entweder durch den Benutzer<br />

beim Aufruf des Programms vorgegeben oder z.B. aus der Systemzeit abgeleitet, wird jeweils<br />

eine andere Serie von Zufallszahlen erzeugt.<br />

In MatLab wird der Zustand des Zufallszahlengenerators bei jedem Start von MatLab<br />

fest gelegt. Wird keine Saat übergeben, so erzeugt der Zufallszahlengenerator nach jedem<br />

Start von MatLab exakt die gleiche Sequenz von Zufallszahlen. Wird rand während einer<br />

MatLab-Sitzung mehrfach aufgerufen, so entsteht jedoch bei jedem Aufruf eine neue Folge<br />

von Zufallszahlen, da die letzte Zufallszahl der n ten Folge die Saat für die (n+1) te Folge bildet.<br />

Die in korrekter Reihenfolge an einander gehängten Sequenzen von Zufallszahlen dagegen sind<br />

in jeder MatLab-Sitzung identisch.<br />

§ 760 Mit Hilfe dieses Prozess sollen gleich verteilte Zahlen im Intervall [0,1] erzeugt werden.<br />

Selbst einfache Zufallszahlengeneratoren erfüllen diese Bedingung in der Regel recht gut. In<br />

Abb. 5.13 ist die Häufigkeitsverteilung von 1000 und 1 000 000 Zufallszahlen erzeugt mit<br />

rand gegeben: im rechten Teil ist die Gleichverteilung deutlich zu erkennen. Im linken Teil<br />

sind die statistischen Schwankungen noch so groß, dass keine Gleichverteilung zu erkennen<br />

ist.<br />

§ 761 Eine größeres Problem mit einem Algorithmus zu Erzeugung von Zufallszahlen ist die<br />

Wiederholung: gibt der Zufallszahlengenerator eine Zahl aus, die bereits früher in der Zufallszahlensequenz<br />

(oder als Saat) vorhanden war, so wird die gesamte Folge vom ersten Auftreten<br />

dieser Zahl bis zu ihrer ersten Wiederholung immer wieder durchlaufen. Der Zufallszahlengenerator<br />

hat keine Möglichkeit, aus dieser Schleife wieder auszubrechen. Tritt eine derartige<br />

Wiederholung auf, so sind die Zufallszahlen nicht länger statistisch unabhängig. Ein einfacher<br />

Test besteht darin, zwei Vektoren aus Zufallszahlen zu erzeugen und diese gegen einander<br />

zu plotten. Sind die Zahlen statistisch unabhängig, so sind die Punkte wie im rechten Teil<br />

13. März 2007 c○ M.-B. Kallenrode

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!