MATLAB产生erlang分布的随机变量

来源:百度知道 编辑:UC知道 时间:2024/06/04 06:57:24
已经知道数学逻辑关系是
1/lamda*[lnU1(0,1)+lnU2(0,1)+...+Ui(0,1)]
怎么让它循环起来呢?当i<r的时候停止
U1,U2...Ui均为uniform distribution

>> r=9;
>> lamda=3;
>> sum(log(rand(1,r)))/lamda
上面就可以产生一个随机数

说明
rand(1,r)产生一行r列的[0,1)的均匀随机数
log(rand(1,r))就是将这些随机数取自然对数(以e为底)
sum(log(rand(1,r)))就是将上述结果求和
sum(log(rand(1,r)))/lumda就不用说了吧

你如果想要k个这样的随机数,并赋给A
你可以这样:
A=[];
for i=1:k
A=[A,sum(log(rand(1,r)))/lumda];
end
A
就可以得到k个该分布的随机数.