zoukankan      html  css  js  c++  java
  • 二项分布的随机数

    一、功能

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

    二、方法简介

    二项式分布的概率密度函数为

    [f(x)=C_{n}^{x}p^{x}(1-p)^{n-x} qquad x in left { 0,1,...,n ight } ]

    (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文件参见贝努力分布的随机数

  • 相关阅读:
    VS中的DataPager分页
    获取select标签选中的值
    JS判断包括IE11在内的IE浏览器
    几款jQuery右键菜单插件
    java day2
    java day1
    转换成(大)小写字母
    模态框扩展
    自定义动画,点赞
    反选
  • 原文地址:https://www.cnblogs.com/liam-ji/p/11678752.html
Copyright © 2011-2022 走看看