Main Content

Random Number Generation

Statistics and Machine Learning Toolbox™ supports the generation of random numbers from various distributions. Each random number generator (RNG) represents a parametric family of distributions. RNGs return random numbers from the specified distribution in an array of the specified dimensions.

Other random number generation functions which do not support specific distributions include:

RNGs in Statistics and Machine Learning Toolbox software depend on the default random number stream of MATLAB® via the rand and randn functions. Each RNG uses one of the techniques discussed in Common Pseudorandom Number Generation Methods to generate random numbers from a given distribution.

By controlling the default random number stream and its state, you can control how the RNGs in Statistics and Machine Learning Toolbox software generate random values. For example, to reproduce the same sequence of values from an RNG, you can save and restore the default stream's state, or reset the default stream. For details on managing the default random number stream, see Managing the Global Stream Using RandStream.

MATLAB initializes the default random number stream to the same state each time it starts up. Thus, RNGs in Statistics and Machine Learning Toolbox software will generate the same sequence of values for each MATLAB session unless you modify that state at startup. One simple way to do that is to add commands to startup.m such as

rng shuffle

that initialize the default random number stream to a different state for each session.

The following table lists the supported distributions and their respective random number generation functions.

Related Topics