產生貝努利分布的隨機數。
貝努利分布的概率密度函式為
\[f(x)=\left\
p, &x = 1 \\
1-p, & x = 0
\end\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)
uniform.c檔案參見均勻分布的隨機數 泊松分布隨機數
產生泊松分布的隨機數。泊松分布的概率密度函式為 f x frace qquad x in left 用 p lambda 表示。泊松分布的均值為 lambda 方差為 lambda 定理若 lambda 0 x 是整數,u i 是 0,1 區間上均勻分布的隨機數,即 u sim u 0,1 且有 p...
對數正態分佈的隨機數
產生對數正態分佈的隨機數。對數正態分佈的概率密度函式為 f x left frac sigma exp left frac right x 0 0 x leqslant 0 end right.對數正態分佈的均值為 e 2 方差為 e 1 e 首先產生正態分佈的隨機變數 y 然後通過變換 x e 產...
C 產生隨機數,隨機序列和隨機分布
1.產生 0 n 1 區間的乙個隨機整數 2.產生乙個 0 1 區間的隨機小數 3.產生乙個 0 n 1 區間的隨機序列 常用於ransac 4.產生服從某個分布的概率隨機數 1.產生 0 n 1 區間的乙個隨機整數 include include using namespace std intma...