【发布时间】:2011-11-29 02:32:06
【问题描述】:
我需要在 (boost) tr1 c++ 中使用卡方分布生成代表用户活动的随机数。关于如何开始的任何示例或帮助?
我尝试了以下代码:
int main (){
std::tr1::mt19937 eng; // a core engine class
//mt19937 is a very fast random number generator algorithm
eng.seed(time(0)); //each engine has a seed method
//file to store seed
std::tr1::chi_squared_distribution<double> chdist(5.0);
cout<<endl<<"CHIDIST"<<endl<<"================"<<endl;
for (int i = 0; i<50; ++i)
{
Act.push_back(chdist(eng)*0.1);
int rounded = ((int)(chdist(eng) * 100 + .5) / 100.0);
Act.push_back(rounded*0.1); cout<<Act[i]<< endl;
}
return 0;
}
【问题讨论】:
-
这里有另一个相关帖子stackoverflow.com/questions/795972/…
-
我尝试了以下代码: int main (){std::tr1::mt19937 eng; // 核心引擎类 //mt19937 是一个非常快速的随机数生成算法 eng.seed(time(0)); //每个引擎都有一个种子方法 //file 来存储种子 std::tr1::chi_squared_distribution
chdist(5.0); cout -
您应该将您的代码作为问题编辑,而不是评论。使用代码图标进行格式化。