Я запускаю симуляцию Монте-Карло, где генерирую 100 000 случайных путей.Моя проблема в том, что я хочу найти способ сохранить те же самые 100 000 случайных путей в циклах других переменных.По сути, я хочу, чтобы мой генератор случайных чисел сбрасывался каждый раз, когда я запускаю свои 100 000 итераций.В настоящее время у меня есть код, который выглядит примерно так:
vector<double>Rand_Var(double time)
{
static mt19937 generator;
normal_distribution<>ND(0., 1.);
ND(generator);
double phi;
vector<double> rand(time + 1);
for (int i = 1; i <= time; i++)
{
phi = ND(generator);
rand[i] = phi;
}
return rand;
}
Затем в main()
для тестирования у меня есть:
for (int l = 0; l < 5; l++)
{
for (int i = 0; i <= 1; i++)
{
vector<double>rand_val = Rand_Var(time_opt);
cout << rand_val[4] << endl;
}
}
Я получаю следующий вывод:
-0.214253
1.25608
-1.82735
0.919376
1.45366
-0.791957
0.530696
0.0751259
-0.559636
-0.709074
Однако я бы хотел получить что-то вроде:
-0.214253
1.25608
-0.214253
1.25608
-0.214253
1.25608
-0.214253
1.25608
-0.214253
1.25608
Возможно ли это?