计算和绘制U的pdf作为两个均匀分布的随机变量的函数

时间:2014-11-21 23:48:54

标签: matlab pdf random distribution

我正在研究一个联合pdf问题,其中随机变量

U = sqrt(X^2+Y^2)

XY均匀分布在(-2,2)上。我想绘制XY的联合pdf。然后计算U的pdf并绘制它。我正在使用matlab R2011a,到目前为止,我已经提出了以下代码。在运行代码时,我收到了一条错误消息

Undefined function or method 'makedist' for input arguement type 'char'.

我发现makedist不是2011版。所以我尝试使用

a=-2;
b=2;
X=a+(b-a)*rand(-10,10);
Y= a+(b-a)*rand(-10,10).

但是,我不确定如何计算XY的pdf,然后从中联合XY的pdf。任何帮助,部分或整体,表示赞赏。

以下是问题的matlab代码

%% Create distribution objects for X~U(-2,2) and Y~U(-2,2)

pdx=makedist('Uniform','lower',-2,'upper',2);

pdy=makedist('Uniform','lower',-2,'upper',2);

%Compute the pfs

x_ref=-10:1:10;

y_ref=-10:1:10;

pdf_x=pdf(pdx,x_ref);

pdf_y=pdf(pdy,y_ref);

% Plot the pdfs

figure 1;

stairs(x_ref,pdf_x,'g','Linewidth',2);

hold on;

stairs(y_ref,pdf_y,'r','Linewidth',2);
ylim([0 1.5]);

hold off;

% Joint pdf of x and Y

pdfXY=pdf_x*pdf_y;
figure 2;

plot(pdfXY);

%CDF and PDF of U 

U=sqrt(X^2+Y^2);

Umin=0;

Umax=sqrt(b^2+b^2);

a=lower;

b=upper;

x=sqrt(U^2-Y^2);

xmin=0;

xmax=x;

ymin=0;

ymax=U;

Ucdf=integral2(pdfXY,xmin,xmax,ymin,ymax);

% plot CDF of U

figure 3;

plot(Ucdf)

我只想绘制区域而不是任何特定样本集。 XY是连续的独立均匀随机变量。

1 个答案:

答案 0 :(得分:0)

由于您的xyindependent at random,理论联合分布只是两者的乘积

P(x,y) = P(x)*P(y)

就MATLAB代码而言,您可能会想到xy沿着两个不同的维度运行:

N = 10; %// think of a probability mass function over N points

x = linspace(-2,2, N);
y = linspace(-2,2, N)';

Px = ones(N,1)./N;
Py = ones(1,10)./N;

%// Then the joint will be:
Jxy = bsxfun(@times, Px , Py);

figure
pcolor(x,y,Jxy)

您现在可以插入您喜欢的任何发行版,如果它们是PxPy的独立发行版,那么它将会正常工作