带有帕累托分布的图号

时间:2016-03-08 08:05:21

标签: c++ boost random distribution

我需要创建一个数字生成器,在特定的时间间隔内绘制具有Pareto分布的数字。我在C ++工作。

我不能使用C ++ 11的CBAdvertisementDataServiceUUIDsKey库,所以我试图通过使用boost库找到类pareto_distribution来解决我的问题。

关于这个主题还有另一个问题,但他们提出的解决方案对我不起作用。

任何人都可以帮助我吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是我写的剧本:

    #include <iostream> 
    #include <boost/random/uniform_real_distribution.hpp>
    #include <boost/random/mersenne_twister.hpp>
    #include <boost/random/variate_generator.hpp>
    #include <boost/math/distributions/pareto.hpp>
    #include <time.h>

using namespace std;

int main()
{

     boost::mt19937 *rg = new boost::mt19937();
     rg->seed(time(NULL));
     boost::math::pareto_distribution<> dist;
     boost::random::uniform_real_distribution<> uniformReal(1.0,10.0);

     boost::variate_generator<boost::mt19937&,boost::random::uniform_real_distribution<> > generator(rg, dist);

     double cdfComplement;
     cdfComplement = boost::math::complement::cdf(boost::math::complement(dist,generator()));

     cout << " cdfComplement: " << cdfComplement << endl;


     return 0;
}