Main Content

Random Number Generation

R2026b

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.

DistributionRandom Number Generation Function
Betabetarnd, random, Random Number Generation Tool
Binomialbinornd, random, Random Number Generation Tool
Birnbaum-Saundersrandom
Burr Type XIIrandom, Random Number Generation Tool
Chi-squarechi2rnd, random, Random Number Generation Tool
Clayton copulacopularnd
Exponentialexprnd, random, Random Number Generation Tool
Extreme valueevrnd, random, Random Number Generation Tool
Ffrnd, random, Random Number Generation Tool
Frank copulacopularnd
Gammagamrnd, randg, random, Random Number Generation Tool
Gaussian copulacopularnd

Gaussian Mixture

random
Generalized extreme valuegevrnd, random, Random Number Generation Tool
Generalized Paretogprnd, random, Random Number Generation Tool
Geometricgeornd, random, Random Number Generation Tool
Gumbel copulacopularnd
Half-Normalrandom, Random Number Generation Tool
Hypergeometrichygernd, random, Random Number Generation Tool
Inverse Gaussianrandom
Inverse Wishartiwishrnd
Johnson systemjohnsrnd
Kernelrandom
Logisticrandom
Loglogisticrandom
Lognormallognrnd, random, Random Number Generation Tool
Multinomialmnrnd
Multivariate normalmvnrnd
Multivariate tmvtrnd
Nakagamirandom
Negative binomialnbinrnd, random, Random Number Generation Tool
Noncentral chi-squarencx2rnd, random, Random Number Generation Tool
Noncentral Fncfrnd, random, Random Number Generation Tool
Noncentral tnctrnd, random, Random Number Generation Tool
Normal (Gaussian)normrnd, randn, Random Number Generation Tool, Random Number Generation Tool
Paretorandom
Pearson systempearsrnd
Piecewiserandom
Poissonpoissrnd, random, Random Number Generation Tool
Rayleighraylrnd, random, Random Number Generation Tool
Ricianrandom
Stablerandom
Student's ttrnd, random, Random Number Generation Tool
t copulacopularnd
t location- scalerandom
Triangularrandom
Uniform (continuous)unifrnd, rand, random
Uniform (discrete)unidrnd, random, Random Number Generation Tool
Weibullwblrnd, random
Wishartwishrnd

See Also

Topics