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);