如何在Matlab中绘制均匀随机变量pdf

时间:2018-10-19 18:12:57

标签: matlab probability-density

xy具有均匀分布,我想在Matlab中绘制z的pdf。

x ~ U(0,1)

y ~ U(0,1)

Z = (-2.ln(x))^0.5  * cos(2.pi.y)

我该怎么做? 谢谢。

1 个答案:

答案 0 :(得分:1)

要想得出 Z 的分布可能要花费一些时间,因为从CDF开始,例如P(Z <= z)可能最简单,然后以X = x或Y = y为条件。不清楚哪一条是最终获得显式CDF或PDF的最简单途径。但是P(Z <= z | X = x)或P(Z <= z | Y = y)似乎是最好的方法。交叉验证(https://stats.stackexchange.com/)可能是获取分析推导in progress here的最佳位置。

根据经验,这很容易获得,并且样本量足够大,对于许多应用程序都应该很好地工作。

N = 5000;
X = rand(N,1);
Y = rand(N,1);
Z = cos(2*pi*Y).*(-2*log(X)).^2;

figure, hold on, box on
histogram(Z,'Normalization','pdf')

Histogram of Z

如果您想将Z作为(X,Y)的函数,这些可能会有所帮助。

n = 100;
x = linspace(0,1,n);
y = linspace(0,1,n);
[X,Y] = meshgrid(x,y);
Z = cos(2*pi*Y).*(-2*log(X)).^2;

等高线图不是很有用 Contour Plot of Z

但是表面图显示了基于(X,Y)的情况 Surface Plot of Z

相关问题