1. 二项式分布随机数
二项式分布概率函数为

用Bin(n, p)表示,二项式分布的均值为np, 方差为np(1-p)。 当n=1时, Bin(n, p)就是伯努利分布BN(p)。

2. 二项式分布随机数算法

3. 函数说明(bin.h)(关于bn函数,请查看这里)
#include "bn.h"
int bin(int n, double p, long int *s);
int bin(int n, double p, long int *s)
{
int i;
double x;
for(x=0.0,i=0;i<n;i++)
{
x+=bn(p,s);
}
return(x);
}
4. 主函数实现
#include <stdio.h> #include "bin.h" int main(void) { int i,j,n,x; long int s; double p; n=5; p=0.7; s=13579; FILE *fp; //存储最终计算值 fp=fopen("data.dat","w"); //打开文本 for(i=0;i<10;i++) { for(j=0;j<5;j++) { x=bin(n,p,&s); printf("%11d\t",x); fprintf(fp,"%d\n",x); //存储数值 } printf("\n"); } fclose(fp); //关闭文本 return 0; }
5. 执行结果

6. 使用软件QtiPlot,绘制输出波形

7. 使用Python计算理论分布波形

评论 (0)
暂无评论,快来抢沙发吧!