How do I generate a random number with beta distribution?
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ana Carolina da Silva Pacheco
am 20 Apr. 2021
Kommentiert: Ana Carolina da Silva Pacheco
am 21 Apr. 2021
I have a variable with the PDF:
PDF = C . ((f - LB)/D)^alpha . ((UB - f)/D)^beta
Where:
C = 37337
alpha = 3
beta = 813,21
LB (lower bound) = 60000
UB (upper bound) = 2000000
D = UB - LB = 1940000
How do I generate a random number based on it?
0 Kommentare
Akzeptierte Antwort
Andrew Newell
am 20 Apr. 2021
You can use the function betarnd, but you'll need to do some normalizing to get it in the standard form used by MATLAB (see Beta distribution). If you define , then x is in the interval as required, so this should generate a suitable number:
a = alpha+1;
b = beta+1;
r = betarnd(a,b);
your_random_number = r*D+LB;
3 Kommentare
Andrew Newell
am 20 Apr. 2021
Because in MATLAB's definition of the beta distribution, the exponents are and . So that gives you back and .
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Random Number Generation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!