随机抽取Matlab中的依赖/独立但不均匀的随机变量[0,1]

时间:2017-09-13 09:15:23

标签: matlab random

考虑随机向量W=(X,Y),其中XY是支持[0,1]和PDF f的标量随机变量。

我想在Matlab中绘制P W的实现,首先假设xY是独立的,然后假设它们是相关的。

如果我强加f作为统一分布,我知道如何在Matlab中执行此操作。有没有办法使用其他类型的f来做到这一点?

例如,我正在考虑beta分布;我在Matlab中考虑了包betarnd,但我无法理解如何控制随机变量之间的相关性。

我想到的一种可能性

clear
P=500; %number draws

% parameters beta 1
mu1=0.896;
v1=0.001;
a1=((1-mu1)/v1 -1/mu1)*mu1^2;
b1=a1*(1/mu1-1);
% parameters beta 1
mu2=0.206;
v2=0.004;
a2=((1-mu2)/v2 -1/mu2)*mu2^2;
b2=a2*(1/mu2-1);

% correlation
rho=0.5;

%Draw bivariate standard normal with correlation rho
mu=[0 0];
sigma=[1 rho; rho 1]; 
R = mvnrnd(mu, sigma, P,1);

%Apply standard normal cdf to each column of R
R2=[normcdf(R(:,1)) normcdf(R(:,2))]; %nxK

%Apply inverse beta cdf to each column of R2
R3=[betainv(R2(:,1), a1, b1)  betainv(R2(:,2), a2, b2)]; 

我不确定它是否有效。

0 个答案:

没有答案