Function File: x = mvtrnd (sigma, nu)
Function File: x = mvtrnd (sigma, nu, n)
Generate random samples from the multivariate t-distribution.
Arguments
- sigma is the matrix of correlation coefficients. If there are any non-unit diagonal elements then sigma will be normalized, so that the resulting covariance of the obtained samples x follows:
cov (x) = nu/(nu-2) * sigma ./ (sqrt (diag (sigma) * diag (sigma))). In order to obtain samples distributed according to a standard multivariate t-distribution, sigma must be equal to the identity matrix. To generate multivariate t-distribution samples x with arbitrary covariance matrix sigma, the following scaling might be used:x = mvtrnd (sigma, nu, n) * diag (sqrt (diag (sigma))).- nu is the degrees of freedom for the multivariate t-distribution. nu must be a vector with the same number of elements as samples to be generated or be scalar.
- n is the number of rows of the matrix to be generated. n must be a non-negative integer and corresponds to the number of samples to be generated.
Return values
- x is a matrix of random samples from the multivariate t-distribution with n row samples.
Examples
sigma = [1, 0.5; 0.5, 1]; nu = 3; n = 10; x = mvtrnd (sigma, nu, n); sigma = [1, 0.5; 0.5, 1]; nu = [2; 3]; n = 2; x = mvtrnd (sigma, nu, 2);References
- Wendy L. Martinez and Angel R. Martinez. Computational Statistics Handbook with MATLAB. Appendix E, pages 547-557, Chapman & Hall/CRC, 2001.
- Samuel Kotz and Saralees Nadarajah. Multivariate t Distributions and Their Applications. Cambridge University Press, Cambridge, 2004.
Package: statistics