Computes exponentially distributed random numbers with a choice of underlying random number generator.


r = rndExp(rows, cols, scale)
{ r, newstate } = rndExp(rows, cols, scale, state)
  • rows (scalar) – number of rows of resulting matrix.

  • cols (scalar) – number of columns of resulting matrix.

  • scale (scalar or matrix) – scalar or matrix that is ExE conformable with the dimensions of the output. The scale parameter sometimes called \(\beta\)

  • state (scalar or opaque vector) –

    Optional argument.

    scalar case

    state = starting seed value only. If -1, GAUSS computes the starting seed based on the system clock.

    opaque vector case

    state = the state vector returned from a previous call to one of the rnd random number functions.

  • r (rows x cols matrix) – exponentially distributed random numbers.

  • newstate (Opaque vector) – the updated state.


The properties of the pseudo-random numbers in x are specified in terms of the scale parameter sometimes called \(\beta\). This is the reciprocal of the rate parameter which is sometimes called \(\lambda\):

\[\begin{split}E(x) = scale = \beta = 1/rate = 1/\lambda\\ Var(x) = scale^2 =\beta^2 = 1/rate^2 = 1/\lambda^2\end{split}\]

See also

Functions rndCreateState(), rndStateSkip()