Quantcast

Documentation Center

  • Trial Software
  • Product Updates

copularnd

Copula random numbers

Syntax

U = copularnd('Gaussian',rho,N)
U = copularnd('t',rho,NU,N)
U = copularnd('family',alpha,N)

Description

U = copularnd('Gaussian',rho,N) returns N random vectors generated from a Gaussian copula with linear correlation parameters rho. If rho is a p-by-p correlation matrix, U is an n-by-p matrix. If rho is a scalar correlation coefficient, copularnd generates U from a bivariate Gaussian copula. Each column of U is a sample from a Uniform(0,1) marginal distribution.

U = copularnd('t',rho,NU,N) returns N random vectors generated from a t copula with linear correlation parameters rho and degrees of freedom NU. If rho is a p-by-p correlation matrix, U is an n-by-p matrix. If rho is a scalar correlation coefficient, copularnd generates U from a bivariate t copula. Each column of U is a sample from a Uniform(0,1) marginal distribution.

U = copularnd('family',alpha,N) returns N random vectors generated from the bivariate Archimedean copula determined by family, with scalar parameter alpha. family is Clayton, Frank, or Gumbel. U is an n-by-2 matrix. Each column of U is a sample from a Uniform(0,1) marginal distribution.

Examples

Determine the linear correlation parameter corresponding to a bivariate Gaussian copula having a rank correlation of -0.5.

tau = -0.5
rho = copulaparam('gaussian',tau)
 rho =
   -0.7071

% Generate dependent beta random values using that copula
u = copularnd('gaussian',rho,100);
b = betainv(u,2,2);
 
% Verify that the sample has a rank correlation
% approximately equal to tau
tau_sample = corr(b,'type','kendall')
tau_sample =
    1.0000   -0.4537
   -0.4537    1.0000

See Also

| | |

Was this topic helpful?