貝努利分佈的隨機數

1、功能

產生貝努利分佈的隨機數。html

2、方法簡介

貝努利分佈的機率密度函數爲
\[ f(x)=\left\{\begin{matrix} p, &x = 1 \\ 1-p, & x = 0 \end{matrix}\right. \]
一般用\(BN(p)\)表示。貝努利分佈的均值爲\(p\),方差爲\(p(1-p)\)算法

產生貝努利分佈隨機變量\(x\)的具體算法以下:函數

  1. 產生均勻分佈的隨機數\(u\),即\(u \sim U(0,1)\)
  2. 若是\(x\leqslant p\),那麼\(x=1\);不然\(x=0\)

3、使用說明

是用C語言實現產生貝努利分佈隨機數的方法以下:spa

/************************************
    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文件參見均勻分佈的隨機數code

相關文章
相關標籤/搜索