分享

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

 盛夏流年闪耀 2015-06-30

现在要生成符合[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./wiki/%E9%80%A3%E7%BA%8C%E5%9E%8B%E5%9D%87%E5%8B%BB%E5%88%86%E5%B8%83

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多