How to use std::normal_distribution in C++
In this tutorial, will learn about the normal distribution class in C++.
Header file used: <random.h>
We use it to generate random numbers according to the Normal random number distribution.
![]()
µ : mean or expectation of the distribution.
σ : standard deviation. The variance of the distribution is σ^2.
The result type is the real numbers.
While using normal_distubution we use parameter mean and standard deviation.
We use the following code to generate random number in C++ through std:normal_distribution:
C++ code example of std:normal_distribution
#include <iostream>
#include <string>
#include <random>
using namespace std;
int main()
{
int n=100; // number of experiments
int f=10; // maximum number to distribute
default_random_engine generator;
normal_distribution<double> distribution(2.0,1.0);
int d[5];
for (int i=0; i<n; i++)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<5.0))
++d[int(number)]; //frequency distribution for randomly generated number
}
cout << "normal_distribution:" << endl;
for (int i=0; i<5; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << d[i]*f/n<< endl;
}
return 0;
}OUTPUT: normal_distribution: 0-1: 16395560 1-2: 3280 2-3: 419730 3-4: 1 4-5: 0
Leave a Reply