陈默

陈默的博客

他的个人主页  他的博客

090906指数分布的随机数函数

陈默  2009年09月06日 星期日 08:50 | 1725次浏览 | 4条评论

学习笔记

日光灯管的寿命——指数分布的随机数函数


某个特定事件发生所需要等待的时间服从指数分布

公式为x=-k*lnr

其中,k为平均所需时间,r为随机数

 

//~ zhishu,指数分布函数
//~ 返回值x为特定事件发生时等待的次数
double zhishu(double k)
{
    return -k*log(rnd(1));
}

 

模拟电子管的寿命100次,设其平均寿命为1000小时。

int main(int argc,char** argv)
{
    static int a[11],i,k,m=100;
    double s,t=1000;
    rnd(-2);
    printf("模拟电子管寿命100次,寿命服从指数分布:\n");
    for(i=1;i<=m;i++)
    {
        s=zhishu(t);
        //~ printf("%lf   ",s);
        k=(int)s/t;
        if(k>10) k=10;
        a[k]++;
    }
    for(k=0;k<=10;k++) printf("寿命%5d~%5d小时,有%5d次\n",k*1000,k*1000+1000,a[k]);
    rnd(-3);

    return 0;
}

 

上述代码需要include之前0904blog里的rndlib.h


我刚刚printf看了看,zhishu(t)返回的结果,返回值居然还有2.XX,要是买了个灯泡两小时就坏了,岂不哭死了

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
杨嘉健

回复 杨嘉健  2009年09月06日 星期日 10:59

个人认为函数命名还是以英文为好,别用拼音……

3条回复

  • 陈默

    回复 陈默  2009年09月06日 星期日 11:18

    主要是指数函数的英文我不会=。=|||,负二项式的英文我也不会。。。

    我也懒得查,就抄书上的代码了。。。

    2条回复

      • 杨嘉健

        回复 杨嘉健  2009年09月06日 星期日 11:21

        理解理解~
        指数函数:exponential function
        二项式:negative binomial distribution
        ^^

        1条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号