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!