C++生成随机数:连续均匀分布(uniform distribution)


现在要生成符合[min,max]区间内连续均匀分布(uniform distribution)的一组随机数,方法如下:

#include time.h

首先初始化随机数种子:

srand(iSeed);//iSeed为unsigned int类型

或者:

srand(time(NULL));

 

double cls_random::randomUniform(
    double dMinValue,
    double dMaxValue)
{
    double pRandomValue = (double)(rand()/(double)RAND_MAX);
    pRandomValue = pRandomValue*(dMaxValue-dMinValue)+dMinValue;
    return pRandomValue;
}

 

  期望E=(max+min)/2

      方差V=(max-min)*(max-min)/12

wiki: http://zh.wikipedia.org/wiki/%E9%80%A3%E7%BA%8C%E5%9E%8B%E5%9D%87%E5%8B%BB%E5%88%86%E5%B8%83


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM