MATLAB-Funktion Rand
Erzeugt einheitliche Zufallszahlen im Intervall (0, 1), die gleichmäßig in
verteilt sindZwischen (0,1) können wir einen Wert namens Startwert verwenden, um zu steuern, wie oft Zufallszahlen generiert werden. Die einheitliche Zufallszahlenfunktion hat zwei Syntaxformen: rand(n) und rand(m,n). Unter diesen erzeugt rand(n) eine Matrix mit n*n Zufallszahlen und rand(m,n) erzeugt eine Matrix mit m*n Zufallszahlen. Es ist zu beachten, dass die generierten Zufallswerte jedes Mal unterschiedlich sind. Diese Werte stellen zufällige und unvorhersehbare Ergebnisse dar, was auch der Zweck der Verwendung von Zufallszahlen ist. Mit diesen Zufallszahlen können wir die unregelmäßige Amplitude eines bestimmten Signals oder die Wahrscheinlichkeit des Eintretens eines Ereignisses darstellen. Einheitliche Zufallszahlen haben die Eigenschaft, Werte gleichmäßig über ein Intervall zu verteilen, was aus ihrer Wahrscheinlichkeitsdichtefunktion ersichtlich ist.
Die PDF-Verteilung ähnelt der Verteilung eines Balkendiagramms und zeigt an, dass jeder Zufallswert die gleiche Eintrittswahrscheinlichkeit hat. Daher wird sie als einheitliche Zufallszahl (Funktion, PDF) bezeichnet.
Versuchen Sie es mit Hilfe und
Implementierungsmethode: Verwenden Sie zunächst die Funktion rand(), um N Zufallszahlen zu generieren. Nehmen Sie an, dass die Summe von N Zufallszahlen zu diesem Zeitpunkt S ist, und ändern Sie dann jede Zufallszahl in das M/S-fache des Originals, um so N Zufallszahlen zu erhalten. Die Summe ist die Wirkung des festen Werts M.
A = rand(1,N); S = sum(A); B = A*M/S;
Das Folgende ist eine Beispieldemonstration und eine ausführliche Erklärung: Generieren Sie 9 Zufallszahlen, deren Summe einen festen Wert von 10 ergibt.
1. Öffnen Sie die Matlab-Software und geben Sie im Befehlsfenster ein: A = rand(1,9), was bedeutet, dass 9 Zufallszahlen zwischen 0 und 1 generiert werden. Die Ausgabe lautet wie folgt:
2. Geben Sie weiterhin Folgendes ein: S = sum(A); B = A*10/S, was bedeutet, dass jede Zufallszahl auf das 10-fache des ursprünglichen Werts geändert wird . Die Ausgabe ist wie folgt:
3. Um zu überprüfen, ob die Summe des erhaltenen Arrays B ein fester Wert von 10 ist, geben Sie im Befehlsfenster Folgendes ein:
rand(n): Generieren Sie eine Zufallszahlen-Quadratmatrix n-ter Ordnung zwischen 0 und 1 rand(m,n): Erzeugen Sie eine m*n-Zufallszahlenmatrix zwischen 0 und 1 (vorgefertigte Funktion)
Außerdem:
Matlab-Zufallszahlengenerierungsfunktion
betarnd Zufallszahlengenerator aus der Beta-Distribution
binornd Binomialverteilungs-Zufallszahlengenerator
chi2rnd Chi-Quadrat-Zufallszahlengenerator
exprnd exponentiell verteilter Zufallszahlengenerator
frnd f-verteilter Zufallszahlengenerator
gamrnd Gamma-verteilter Zufallszahlengenerator
geornd Geometrisch verteilter Zufallszahlengenerator
Hygernd-Zufallszahlengenerator für hypergeometrische Verteilung
lognrnd Lognormalverteilter Zufallszahlengenerator
nbinrnd Zufallszahlengenerator mit negativer Binomialverteilung
NCFRND-Zufallszahlengenerator mit nichtzentraler F-Verteilung
nctrnd-Zufallszahlengenerator mit nichtzentraler t-Verteilung
ncx2rnd Zufallszahlengenerator mit nichtzentraler Chi-Quadrat-Verteilung
normrnd Normal (Gauß) verteilter Zufallszahlengenerator
poissrnd Poisson-verteilter Zufallszahlengenerator
raylrnd Rayleigh verteilter Zufallszahlengenerator
trnd-Zufallszahlengenerator aus der Student-t-Verteilung
unidrnd diskreter, gleichmäßig verteilter Zufallszahlengenerator
unifrnd Kontinuierlicher, gleichmäßig verteilter Zufallszahlengenerator
weibrnd Weibull verteilter Zufallszahlengenerator
Das obige ist der detaillierte Inhalt vonVerwenden Sie Matlab, um eine zufällige Dezimalzahl zwischen 0 und 1 zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!