首页 > 其他 > 详细

二项分布的随机数

时间:2019-10-15 21:29:32      阅读:226      评论:0      收藏:0      [点我收藏+]

一、功能

产生二项式分布的随机数。

二、方法简介

二项式分布的概率密度函数为
\[ f(x)=C_{n}^{x}p^{x}(1-p)^{n-x} \qquad x \in \left \{ 0,1,...,n \right \} \]
\(Bin(n,p)\)表示。二项式分布的均值为\(np\),方差为\(np(1-p)\)。当\(n=1\)时,\(Bin(n,p)\)就是贝努利分布\(BN(p)\)

\(y_i(i=1,2,...,n)\)是独立同分布(IID)的参数为\(p\)的贝努利分布随机变量,则\(x=\sum_{i=1}^{m}y_{i}\)服从二项分布\(Bin(n,p)\)。因此,产生二项分布随机变量\(x\)的具体算法如下:

  1. 产生IID贝努利分布的随机数\(y_1,y_2,...,y_n\),即\(y_i \sim BN(p)\)
  2. 计算\(x=\sum_{i=1}^{m}y_{i}\)

三、使用说明

是用C语言实现产生二项分布随机数的方法如下:

/************************************
    n       ---二项分布分布参数n
    p       ---二项分布分布参数p
    s       ---随机数种子
************************************/
#include "bn.c"

int bin(int n, double p, long int *s)
{
    int i;
    double x;
    u = uniform(0.0, 1.0, s);
    for(x = 0.0, i = 0; i < n; i++)
        x += bn(p, s);
    return(x);
}

bn.c文件参见贝努力分布的随机数

二项分布的随机数

原文:https://www.cnblogs.com/liam-ji/p/11678752.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!