我想從我的代碼中的C++標準庫更新對數正態隨機發生器的參數(mu,sigma)。對數正態隨機發生器中的參數更新
#include <random>
int main()
{
double mu = 1.0;
double sigma = 0.1;
unsigned seed=(int)(time(NULL));
std::default_random_engine generator (seed);
std::lognormal_distribution<double> LN_dist(mu,sigma)
double h = LN_dist(generator);
cout << h << endl;
第一部分運行良好。現在我想更新相同的功能(LN_dist)mu和西格瑪,生成一個新的隨機數:
mu = 10.0;
sigma = 0.2;
std::lognormal_distribution<double> LN_dist(mu,sigma)
h = LN_dist(generator);
cout << h << endl;
}
,但它使一個錯誤LN_dist功能的重新聲明。如果我不申報,輸出將在第一部分中使用最初的mu和sigma。另外我無法定義一個新的功能,因爲我必須做100次以上。 請問我可以如何解決這個問題?
如何像'LN_dist =的std :: lognormal_distribution(MU,SIGMA); '? –
2015-03-03 14:09:36
for循環正在工作。但是我仍然無法更新每個循環中的mu和sigma參數。我的問題是更新每個循環中的mu和sigma。 – nimamin 2015-03-03 14:15:15
如果我添加這部分: 「畝= 10.0; 標準差= 0.2; 的std :: lognormal_distribution LN_dist(畝,SIGMA)」 它使一個錯誤關於「的std :: lognormal_distribution L_dist」的redecleration。 如果我僅添加這一部分: 「mu = 10.0; sigma = 0.2;」 它會使用最初的畝和西格瑪 –
nimamin
2015-03-03 14:16:01