Hauptinhalt

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 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 = 1×2

   50.0261   99.9746

Das Ergebnis befindet sich im offenen Intervall (50,100).

Beachten Sie, dass einige Kombinationen von a und b es theoretisch ermöglichen, dass Ihre Ergebnisse a oder b enthalten könnten. In der Praxis ist dies jedoch sehr unwahrscheinlich.

Siehe auch

Themen