rndMVn#
Purpose#
Computes multivariate normal random numbers given a covariance matrix.
Format#
- r = rndMVn(num, mu, cov)#
- { r, newstate } = rndMVn(num, mu, cov, state)
- Parameters:
num (Scalar) – number of random vectors to create.
mu (Nx1 matrix) – mean vector.
cov (NxN matrix) – covariance matrix
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.
- Returns:
r (numxN matrix) – multivariate normal random numbers.
newstate (Opaque vector) – the updated state.
Examples#
// covariance matrix
cov = { 1 0.3,
0.3 1 };
// mean for each column of 'cov'
mu = { 0, 0 };
x = rndMVn(100, mu, cov);
Remarks#
The properties of the pseudo-random numbers in x are:
\[ \begin{align}\begin{aligned}\begin{split}E(x) = mu\\\end{split}\\Var(x) = cov\end{aligned}\end{align} \]
See also
Functions rndCreateState()
, rndStateSkip()