Wie man zufällige Zahlen in Octave generiert
In dieser Lektion werde ich erklären, wie man in Octave eine zufällige Zahl generiert und dazu einige praktische Beispiele geben.
Was ist eine zufällige Zahl? Es handelt sich dabei um eine Zahl, die zufällig aus einer Menge von Zahlen gezogen wird. Man nennt sie auch eine Zufallszahl.
Um eine zufällige Zahl zu generieren, verwendet man den Befehl rand()
Der Befehl rand() erzeugt standardmäßig eine zufällige Zahl zwischen 0 und 1.
>> rand()
ans = 0.59520
Um eine reelle Zahl zwischen 0 und 10 zu erzeugen, gibt man rand()*10 ein.
>> rand()*10
ans = 7.9405
Für eine reelle Zahl zwischen 0 und 100 gibt man rand()*100 ein.
>> rand()*100
ans = 50.618
Um eine reelle Zahl zwischen 18 und 30 zu erzeugen, gibt man rand()*12+18 ein.
>> rand()*12+18
ans = 27.996
Wenn man eine zufällige ganze Zahl erzeugen möchte, hat man zwei Möglichkeiten.
Man kann das Ergebnis der Funktion rand() mit der Funktion round() auf die nächste ganze Zahl runden.
>> round(rand()*10)
ans = 9
Alternativ kann man den Befehl randi() verwenden und die maximale Zahl zwischen den runden Klammern angeben.
>> randi(10)
ans = 6
Der Befehl randi() erzeugt eine zufällige Zahl zwischen 1 und der angegebenen maximalen Zahl (hier 10).
Um eine ganze Zahl im Bereich von 18 bis 30 zu erzeugen, gibt man den Bereich in eckigen Klammern ein randi([18,30])
>> randi([18,30])
ans = 27
Man kann auch einen Vektor von zufälligen reellen Zahlen erzeugen.
Um beispielsweise einen zufälligen Vektor mit drei Elementen zu definieren, gibt man rand(3,1) ein.
>> rand(3,1)
ans =
0.83541
0.32661
0.96998
Um einen zufälligen Vektor von ganzen Zahlen zwischen 1 und 10 zu erzeugen, gibt man randi(10,3,1) ein.
Die erste Zahl (10) ist die maximale Zahl, die zweite (3) und dritte (1) geben die Anzahl der Zeilen und Spalten in der Matrix an.
>> randi(10,3,1)
ans =
8
2
7
Auf diese Weise kann man auch eine Matrix von zufälligen Zahlen erzeugen.
Um beispielsweise eine quadratische Matrix von zufälligen ganzen Zahlen zwischen 1 und 10 mit drei Zeilen und drei Spalten zu definieren, gibt man randi(10,3,3) ein.
>> randi(10,3,3)
ans =
5 7 4
2 1 6
1 10 7
Wenn man dieselbe Matrix mit zufälligen reellen Zahlen erzeugen möchte, gibt man rand(3,3)*10 ein.
>> rand(3,3)*10
ans =
7.837730 2.168224 0.083629
6.934926 1.929531 5.050613
9.045520 2.163601 3.164065