Zufallszahlen in Matlab
In diesem Tutorial werde ich Ihnen zeigen, wie man in MATLAB Zufallszahlen generiert.
Was versteht man unter Zufallszahlen? Das sind Zahlen, die aus einer Menge auf zufällige Weise ausgewählt werden. In der Informatik werden sie ebenfalls als Zufallszahlen bezeichnet. Genauer gesagt sind es Pseudozufallszahlen, da ihre Erzeugung auf einem bestimmten Algorithmus basiert.
Um in MATLAB eine Zufallszahl zu erzeugen, verwenden Sie die Funktion rand().
Die Funktion rand() liefert eine reelle Zahl zwischen 0 und 1.
>> rand()
ans = 0.8147
Möchten Sie eine reelle Zahl zwischen 0 und 10 generieren, geben Sie rand()*10 ein.
>> rand()*10
ans = 9.0579
Um eine reelle Zahl zwischen 0 und 100 zu erzeugen, tippen Sie rand()*100.
>> rand()*100
ans = 12.6987
Um eine zufällige reelle Zahl zwischen 18 und 30 zu generieren, geben Sie rand()*12+18 ein.
>> rand()*12+18
ans = 28.9605
Wie generiert man zufällige ganze Zahlen?
Um eine zufällige ganze Zahl zu generieren, runden Sie das Ergebnis der Funktion rand() mit der Funktion round() ab.
>> round(rand()*10)
ans = 6
Alternativ können Sie die Funktion randi() zur Generierung von zufälligen ganzen Zahlen nutzen.
Diese Funktion erzeugt eine ganze Zahl zwischen 0 und dem in der Klammer spezifizierten Maximalwert.
Beispielsweise erzeugt die Funktion randi(10) eine ganze Zahl zwischen 0 und 10.
>> randi(10)
ans = 6
Um eine zufällige ganze Zahl zwischen 18 und 30 zu erzeugen, tippen Sie randi(12)+18.
>> randi(12)+18
ans = 23
Als Alternative können Sie den Zahlenbereich auch in eckigen Klammern angeben, wie bei randi([18,30]).
>> randi([18,30])
ans = 25
Wie erzeugt man einen Vektor mit Zufallszahlen?
Um einen Vektor aus zufälligen reellen Zahlen zu erstellen, nutzen Sie die Funktion rand() und spezifizieren die Anzahl der Zeilen und Spalten in Klammern.
Um beispielsweise einen zufälligen Vektor mit drei Elementen in einer Spalte zu erstellen, tippen Sie rand(3,1).
>> rand(3,1)
ans =
0.9157
0.7922
0.9595
Um denselben Vektor mit drei Elementen in einer Zeile zu erzeugen, geben Sie rand(1,3) ein.
>> rand(1,3)
ans =
0.6557 0.0357 0.8491
Um einen Vektor aus zufälligen ganzen Zahlen zwischen 1 und 10 zu erstellen, geben Sie randi(10,3,1) ein.
Der erste Parameter (10) bestimmt den maximalen Wert, die zweite (3) und dritte (1) Angabe die Anzahl der Zeilen und Spalten des Arrays.
>> randi(10,3,1)
ans =
8
4
7
Wie erzeugt man eine Matrix aus Zufallszahlen?
Ähnlich wie bei Vektoren können Sie auch Matrizen aus Zufallszahlen erstellen.
So können Sie beispielsweise randi(10,3,3) eingeben, um eine 3x3-Matrix mit zufälligen ganzen Zahlen in drei Zeilen und Spalten zu erhalten.
>> randi(10,3,3)
ans =
2 3 9
8 1 7
1 1 4
Um dieselbe Matrix mit reellen Zahlen zu erzeugen, tippen Sie rand(3,3)*10.
>> rand(3,3)*10
ans =
9.5022 3.8156 1.8687
0.3445 7.6552 4.8976
4.3874 7.9520 4.4559