c语言伽马分布随机数,陈默的博客:090906伽马分布的随机数函数 – 哲思

c语言伽马分布随机数,陈默的博客:090906伽马分布的随机数函数 – 哲思人到齐才开会的等待时间——伽马分布的随机数函数当事情发生一定次数后才做某一件事情,如等够了4个人在打扑克(O_O)~公式:x=-k*ln(r1*r2*..*rn);其中,k为等待事件需要发生的次数,n为事情每n段时间发生一次。//~gamma,伽马分布函数//~当某一事件发生k次之后才做另一件事情,而我们等待的事件每n时间发生一次//~返回值为做另一件事情之前所等待的时间doublegam…

人到齐才开会的等待时间——伽马分布的随机数函数

当事情发生一定次数后才做某一件事情,如等够了4个人在打扑克(O_O)~

公式:x=-k*ln(r1*r2*..*rn);

其中,k为等待事件需要发生的次数,n为事情每n段时间发生一次。

//~ gamma,伽马分布函数

//~ 当某一事件发生k次之后才做另一件事情,而我们等待的事件每n时间发生一次

//~ 返回值为做另一件事情之前所等待的时间

double gama(int k,int n)

{

double s=1.0;

int i;

for(i=1;i<=k;i++) s*=rnd(1);

return -n*log(s);

}

设去参加某种活动,平均2分钟来1个人,每等够3个人则开走一辆出租车,模拟人等待开车所需的时间,程序运行一次,模拟500次。

int main(int argc,char** argv)

{

static int a[25],i,j,k=3,m=500,n=2;

double s;

rnd(-2);

printf(“平均2分钟来一个人,够3个人开走一辆车,模拟等待的时间:\n”);

for(i=1;i<=m;i++)

{

s=gama(k,n);

printf(“%lf   “,s);

j=(int)(s+0.5);        //个人认为,这里+0.5之后去整相当于四舍五入,不知是不是

if(j>24) j=24;

a[j]++;

}

for(j=0;j<=24;j++) printf(“等待%3d分钟,有%3d人次\n”,j,a[j]);

rnd(-3);

return 0;

}

以上,都需要include在0904blog里的那个rndlib.h的头文件

今天的文章c语言伽马分布随机数,陈默的博客:090906伽马分布的随机数函数 – 哲思分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11120.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注