Zufallszahlen in einem bestimmten Bereich
Dieses Beispiel zeigt, wie Sie ein Array zufälliger Gleitkommazahlen aus einer gleichmäßigen Verteilung in einem offenen Intervall (50, 100) erstellen können.
Standardmäßig gibt rand
normalisierte Werte (von 0 bis 1) aus einer gleichmäßigen Verteilung aus. Um den Bereich der Verteilung auf einen neuen Bereich (a, b) zu ändern, multiplizieren Sie jeden Wert mit der Breite des neuen Bereichs (b - a) und verschieben Sie daraufhin jeden Wert um a.
Initialisieren Sie zunächst den Zufallszahlengenerator, um die Ergebnisse in diesem Beispiel wiederholbar zu machen.
rng(0,'twister');
Erstellen Sie einen Vektor aus 1000 Zufallswerten. Verwenden Sie die Funktion rand
, um die Werte aus einer gleichmäßigen Verteilung in einem offenen Intervall (50,100) abzurufen.
a = 50; b = 100; r = (b-a).*rand(1000,1) + a;
Verifizieren Sie, ob die Werte in r
im angegebenen Bereich liegen.
r_range = [min(r) max(r)]
r_range = 50.0261 99.9746
Das Ergebnis befindet sich im offenen Intervall (50,100).
Hinweis
Einige Kombinationen von a und b ermöglichen es theoretisch, dass Ihre Ergebnisse a oder b enthalten könnten. In der Praxis ist dies jedoch sehr unwahrscheinlich.