generate n random number between two numbers follow exponential distribution
조회 수: 2 (최근 30일)
이전 댓글 표시
I need to generate n random number between a and b which follow the exponential distribution (In this perticular case a=0, b=75, random number =t=occurance time; I need exactly "n=60" random numbers of "t" which are less than 75). here is what I have done:
mu=475; % return period
lambda=1/mu; % occurance rate
u=rand(100,1); % uniform random numbers between 0 and 1
t=icdf('Exponential',u,mu); % exponential random numbers of time
댓글 수: 0
채택된 답변
Star Strider
2019년 2월 12일
Experiment to get the result you want.
댓글 수: 2
Star Strider
2019년 2월 12일
편집: Star Strider
2019년 2월 12일
My pleasure.
Try this:
mu = 475;
n = 1E+5;
R = exprnd(mu,1,n);
a = 10;
b = 20;
Rbounded = R((R>=a) & (R<=b));
n = 42;
R_return = Rbounded(randperm(numel(Rbounded),n));
That will give you ‘n’ values from the exponential distribution with .
Experiment to get the result you want.
추가 답변 (1개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!