1. 伯努利(Bernoulli)分布
伯努利分布的概率密度函数为

用BN(p)表示。伯努利分布的均值为p,方差为p(1-p)。
产生伯努利分布随机变量x的算法如下:
2. 函数说明(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); }
3. 主函数实现
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; }
4. 执行结果

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