一、功能
產生貝努利分布的隨機數。
二、方法簡介
貝努利分布的概率密度函數為
\[f(x)=\left\{\begin{matrix} p, &x = 1 \\ 1-p, & x = 0 \end{matrix}\right. \]
通常用\(BN(p)\)表示。貝努利分布的均值為\(p\),方差為\(p(1-p)\)。
產生貝努利分布隨機變量\(x\)的具體算法如下:
- 產生均勻分布的隨機數\(u\),即\(u \sim U(0,1)\);
- 如果\(x\leqslant p\),那么\(x=1\);否則\(x=0\)。
三、使用說明
是用C語言實現產生貝努利分布隨機數的方法如下:
/************************************
p ---貝努利分布參數p
s ---隨機數種子
************************************/
#include "uniform.c"
int erlang(double p, long int *s)
{
int x;
double u;
u = uniform(0.0, 1.0, s);
x = (u <= p)? 1:0;
return(x);
}
uniform.c文件參見均勻分布的隨機數