How do I generate a random number with beta distribution?

조회 수: 11 (최근 30일)
I have a variable with the PDF:
PDF = C . ((f - LB)/D)^alpha . ((UB - f)/D)^beta
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?

채택된 답변

Andrew Newell
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
Ana Carolina da Silva Pacheco
Ana Carolina da Silva Pacheco 2021년 4월 21일
Got it, thank you, that solved my problem.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by