Link - Hochschule Ulm
Link - Hochschule Ulm
Link - Hochschule Ulm
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
mit Zufallszahlen generieren.<br />
Zufallszahlen werden am Computer mit Hilfe<br />
spezieller Algorithmen berechnet. Solche<br />
Algorithmen nennt man Zufallsgeneratoren.<br />
Grundlegend ist dabei die Erzeugung von Zufallszahlen<br />
x 1 , x 2 , . . ., x n , deren Werte sich in<br />
sehr guter Näherung wie Realisierungen von<br />
unabhängigen auf [0, 1] gleichverteilten Zufallsvariablen<br />
X 1 , X 2 , . . ., X n verhalten. Da<br />
die Werte x 1 , x 2 , . . ., x n tatsächlich jedoch<br />
berechnet werden, sind sie nicht echt zufällig.<br />
Man spricht deshalb auch von Pseudo-<br />
Zufallszahlen, die sich (fast) wie echte verhalten.<br />
Mit Hilfe von gleichverteilten Zufallszahlen<br />
lassen sich Zufallszahlen für andere Verteilungen<br />
durch geeignete Transformationen erzeugen.<br />
Je nach Verteilung kann dies sehr einfach<br />
oder aber auch kompliziert sein. In der<br />
Statistik Toolbox wird Ihnen diese Arbeit abgenommen,<br />
siehe Abschnitt 65.4.<br />
In Matlab gibt es zwei eingebaute Funktionen<br />
rand und randn, mit denen man Zufallszahlen<br />
erzeugen kann. Wir wollen im folgenden diese<br />
beiden Funktionen vorstellen und miteinander<br />
vergleichen. Dabei werden uns ihre statistischen<br />
Eigenschaften durch grafische Darstellungen<br />
verdeutlichen.<br />
65.1. Gleichverteilte Zufallszahlen<br />
Zufallszahlen sind durch die Verteilung ihrer<br />
Werte charakterisiert. Zum Beispiel sind<br />
gleichverteilte Zufallszahlen dadurch gekennzeichnet,<br />
dass alle Werte der Zahlenfolge in einem<br />
bestimmten Intervall gleichverteilt liegen.<br />
So erzeugt die Funktion rand(10,1) einen<br />
Spaltenvektor mit 10 gleichmäßig über das<br />
Intervall ]0, 1[ verteilten Zufallszahlen (Genaugenommen<br />
erzeugt rand eine Gleitpunktzahl<br />
im abgeschlossenen Intervall [eps/2, (1 −<br />
eps/2)]):<br />
1 >> rand(10,1)<br />
2 ans =<br />
3 0.9501<br />
4 0.2311<br />
5 0.6068<br />
6 0.4860<br />
7 0.8913<br />
8 0.7621<br />
9 0.4565<br />
10 0.0185<br />
11 0.8214<br />
12 0.4447<br />
Der Aufruf rand(50,2) erzeugt eine Matrix<br />
mit 50 Zeilen und 2 Spalten mit Werten zwischen<br />
0 und 1. Testen Sie dies! Allgemein<br />
erzeugt der Aufruf rand(m,n) eine (m, n)-<br />
Matrix mit gleichverteilten Zufallszahlen zwischen<br />
0 und 1.<br />
In den Anwendungen werden oft auch Zufallszahlen<br />
gesucht, die in einem anderen Intervall<br />
als ]0, 1[ liegen. Mit der Matlab-Funktion<br />
rand ist auch dies leicht möglich. Zum Beispiel<br />
erzeugt die Anweisung<br />
1 5 + 3*rand(n,1)<br />
einen Spaltenvektor mit n gleichverteilten Werten<br />
im Intervall ]5, 8[.<br />
Mit rand und der eingebauten Matlab-<br />
Funktion floor lassen sich auch leicht ganzzahlige<br />
Zufallszahllen generieren. Die Rundungsfunktion<br />
floor(A) rundet alle Elemente<br />
von A auf die nächstkleinere ganze Zahl<br />
(nächste ganze Zahl in Richtung −∞). Der<br />
138 Copyright c○ G. Gramlich