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