c ++ Определить набор вероятностных распределений в цикле - PullRequest
0 голосов
/ 25 октября 2019

Я хотел бы создать набор нормального распределения с разными средствами. например:

#include <random>
using namespace std;
std::default_random_engine generator;
std::normal_distribution<double> normal_1(0.0,std_1);
std::normal_distribution<double> normal_2(0.0,std_2);
// and so on until:
std::normal_distribution<double> normal_N(0.0,std_N);

Мне нужно изменить общее количество распределений, чтобы цикл работал лучше, например:

for (int i = 1; i<=N; i++){
std::normal_distribution<double> normal_i(0.0,std_i);
}

PD: Я новичок вC ++, так что, возможно, это очень простой вопрос.

1 Ответ

1 голос
/ 26 октября 2019

Как странно указал в комментарии, std :: vector делает работу.

#include <random>
#include <iostream>
#include <vector>
using namespace std;
default_random_engine generator;


int main()
{
    vector<normal_distribution<double>> v = {};

    for (int i=1; i<=N; i++)
    {
        v.push_back(normal_distribution<double> (0.0,std_i));
    }
    //v[i-1](generator); generate a random number from the distribution i
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...