Random Number Generation

The Statistics Toolbox supports the generation of random numbers from various distributions. Each 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 Toolbox™ software depend on MATLAB®'s default random number stream via the rand and randn functions, each RNG uses one of the techniques discussed in Common 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 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.

MATLAB initializes the default random number stream to the same state each time it starts up. Thus, RNGs in Statistics 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 MATLAB's default random number stream to a different state for each session.

The following table lists the dependencies of Statistics Toolbox RNGs on the MATLAB base RNGs rand, randi, and/or randn.

RNGMATLAB Base RNG

betarnd

rand, randn

binornd

rand

chi2rnd

rand, randn

evrnd

rand

exprnd

rand

datasample

rand, randi, randperm

frnd

rand, randn

gamrnd

rand, randn

geornd

rand

gevrnd

rand

gprnd

rand

hygernd

rand

iwishrnd

rand, randn

johnsrnd

randn

lhsdesign

rand

lhsnorm

rand

lognrnd

randn

mhsample

rand or randn, depending on the RNG given for the proposal distribution

mvnrnd

randn

mvtrnd

rand, randn

nbinrnd

rand, randn

ncfrnd

rand, randn

nctrnd

rand, randn

ncx2rnd

randn

normrnd

randn

pearsrnd

rand or randn, depending on the distribution type

poissrnd

rand, randn

random

rand or randn, depending on the specified distribution

randsample

rand

raylrnd

randn

slicesample

rand

trnd

rand, randn

unidrnd

rand

unifrnd

rand

wblrnd

rand

wishrnd

rand, randn

Was this topic helpful?