现在要生成符合[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