【问题标题】:Computing and plotting pdf of U as a function of two uniformly distributed random variables计算和绘制 U 的 pdf 作为两个均匀分布随机变量的函数
【发布时间】:2014-11-21 23:48:53
【问题描述】:

我正在研究一个联合 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 是连续独立均匀随机变量。

【问题讨论】:

  • 您想要从一组样本值中获得的理论联合pdf还是经验联合pdf?
  • 理论上,我认为 makedist 是可行的方法。

标签: matlab pdf random distribution


【解决方案1】:

由于您的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,并且它将起作用

【讨论】:

  • 谢谢 Dima Lituiev,但这将用于离散 X 和 Y,对吧?
  • 在计算机中,您必须对事物进行离散化。您在示例中所做的是模拟和理论的混合。对于模拟,您可以连续生成随机变量。但是,要表示理论 pdf(例如用于绘图),您需要离散化您的域。或者,您可能想要编写一个函数,该函数将描述 pdf 的连续变量。
  • 我明白了。是的,我实际上想要 pdf 作为连续变量。
  • 我对第一部分的问题是:我的代码是否使用 make dist 创建 X 和 Y 的 pdf,并在较新版本的 matlab 中绘制 XY 的联合 pdf?任何人都可以为我确认这一点,因为我收到未定义的函数错误。我也试图通过修改我的代码来解决这个问题
  • 然后把它清楚地放在你上面的问题中。我有早期版本的 MATLAB,所以不知道。但是如果你的版本不支持,那这样做有什么意义呢?
猜你喜欢
  • 2020-10-08
  • 2014-12-07
  • 2011-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-28
  • 2020-04-04
  • 1970-01-01
相关资源
最近更新 更多