26.6 Random Number Generation

Octave can generate random numbers from a large number of distributions. The random number generators are based on the random number generators described in Special Utility Matrices.

The following table summarizes the available random number generators (in alphabetical order).

DistributionFunction
Univariate Discrete Distributiondiscrete_rnd
Empirical Distributionempirical_rnd
Exponential Distributionrande
Gamma Distributionrandg
Poisson Distributionrandp
Standard Normal Distributionrandn
Uniform Distributionrand
Uniform Distribution (integers)randi
 
: rnd = discrete_rnd (v, p)
: rnd = discrete_rnd (v, p, r)
: rnd = discrete_rnd (v, p, r, c, …)
: rnd = discrete_rnd (v, p, [sz])

Return a matrix of random samples from the univariate distribution which assumes the values in v with probabilities p.

When called with a single size argument, return a square matrix with the dimension specified. When called with more than one scalar argument the first two arguments are taken as the number of rows and columns and any further arguments specify additional matrix dimensions. The size may also be specified with a vector of dimensions sz.

If no size arguments are given then the result matrix is the common size of v and p.

 
: rnd = empirical_rnd (data)
: rnd = empirical_rnd (data, r)
: rnd = empirical_rnd (data, r, c, …)
: rnd = empirical_rnd (data, [sz])

Return a matrix of random samples from the empirical distribution obtained from the univariate sample data.

When called with a single size argument, return a square matrix with the dimension specified. When called with more than one scalar argument the first two arguments are taken as the number of rows and columns and any further arguments specify additional matrix dimensions. The size may also be specified with a vector of dimensions sz.

If no size arguments are given then the result matrix is a random ordering of the sample data.