不知道你用的什么版本的matlab 在最新版中有个函数 直接就可以求到!
函数是:
copulaparam
Copula parameters as function of rank correlation
Syntax
rho = copulaparam('Gaussian',R)
rho = copulaparam('t',R,NU)
alpha = copulaparam(family,R)
[...] = copulaparam(...,'type',type)
比如:
Get the linear correlation coefficient 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','k') tau_sample = 1.0000 -0.4638 -0.4638 1.0000