数字信号的产生(13)-二项式分布随机数
admin 于 2017年09月17日 发表在 机器学习笔记
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计算理论分布波形