How do I generate a random number with beta distribution?
17 次查看(过去 30 天)
显示 更早的评论
Ana Carolina da Silva Pacheco
2021-4-20
评论: Ana Carolina da Silva Pacheco
2021-4-21
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 个评论
采纳的回答
Andrew Newell
2021-4-20
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 个评论
Andrew Newell
2021-4-20
Because in MATLAB's definition of the beta distribution, the exponents are and . So that gives you back and .
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Random Number Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!