Documentation

Random Numbers from Normal Distribution with Specific Mean and Variance

This example shows how to create an array of random floating-point numbers that are drawn from a normal distribution having a mean of 500 and variance of 25.

The randn function returns a sample of random numbers from a normal distribution with mean 0 and variance 1. The general theory of random variables states that if x is a random variable whose mean is ${\mu }_{x}$ and variance is ${\sigma }_{x}^{2}$, then the random variable, y, defined by $y=ax+b,$where a and b are constants, has mean ${\mu }_{y}=a{\mu }_{x}+b$ and variance ${\sigma }_{y}^{2}={a}^{2}{\sigma }_{x}^{2}.$ You can apply this concept to get a sample of normally distributed random numbers with mean 500 and variance 25.

First, initialize the random number generator to make the results in this example repeatable.

rng(0,'twister');

Create a vector of 1000 random values drawn from a normal distribution with a mean of 500 and a standard deviation of 5.

a = 5;
b = 500;
y = a.*randn(1000,1) + b;

Calculate the sample mean, standard deviation, and variance.

stats = [mean(y) std(y) var(y)]
stats = 1×3

499.8368    4.9948   24.9483

The mean and variance are not 500 and 25 exactly because they are calculated from a sampling of the distribution.