samedi 4 février 2017

Generating Gaussian Noise

I created a function that is suppose to generate a set of normal random numbers from 0 to 1. Although, it seems that each time I run the function the output is the same. I am not sure what is wrong.

Here is the code:

MatrixXd generateGaussianNoise(int n, int m){
    MatrixXd M(n,m);
    normal_distribution<double> nd(0.0, 1.0);
    random_device rd;
    mt19937 gen(rd());
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            M(i,j) = nd(gen);
        }
    }
    return M;
}

The output when n = 4 and m = 1 is

0.414089
0.225568
0.413464
 2.53933

I used the Eigen library for this, I am just wondering why each time I run it produces the same numbers.




Aucun commentaire:

Enregistrer un commentaire