1. 伯努利(Bernoulli)分布

伯努利分布的概率密度函数为

用BN(p)表示。伯努利分布的均值为p,方差为p(1-p)

产生伯努利分布随机变量x的算法如下:

 

3. 函数说明(bn.h)(关于uinform函数,请查看这里

#include "uniform.h"
int bn( double p, long int *s);
int bn( double p, long int *s)
{
    int x;
    double u;
    u=uniform(0.0,1.0,s);
    x=(u<=p)? 1:0;
    return(x);
}

4. 主函数实现(main.c)

#include <stdio.h>
#include "bn.h"
int main(void)
{
    int i,j,x;
    long int s;
    double p;
    p=0.7;   //参数为0.7的伯努利分布
    s=13579;
    FILE *fp;   //存储最终计算值
    fp=fopen("data.dat","w");   //打开文本
    for(i=0;i<10;i++)
    {
        for(j=0;j<5;j++)
        {
            x=bn(p,&s);
            printf("%11d",x);
            fprintf(fp,"%d\n",x);    //存储数值 
        }
        printf("\n");
    }
    fclose(fp);    //关闭文本
    return 0;
}

5. 执行结果

6. 使用软件QtiPlot,进行直方图分析

注意:本站所有文章除特别说明外,均为原创,转载请务必以超链接方式并注明作者出处。 标签:处理算法,分布函数