13.01.2014 Aufrufe

Link - Hochschule Ulm

Link - Hochschule Ulm

Link - Hochschule Ulm

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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!