C++ 标准库 - 随机数生成和分布:如何设置指数分布的参数?
我有一个程序需要指数分布的随机数。我正在使用 C++11 随机数和分布库支持。
我有一个分布:std::exponential_distribution<double> exp_dis(lambda);
lambda
是任何开始的值。0.0
或者1.0
是可以使用的值。
我使用指针在线程函数中引用此分布。(我对每个线程函数都有一个独立的分布,以避免数据竞争条件。)
的值lambda
是在循环中计算的,并且可以在每次执行循环时更改。
因此,我想知道如何在lamda
指数分布中“设置”参数的值。
通过一些快速搜索,我想我应该能够使用成员函数来做到这一点param()
,但我无法弄清楚要使用的确切语法。
这不起作用:
// Pointer to exponential distribution object
exp_dis_p->param(lambda);