密度高斯分布

时间:2017-05-15 08:56:28

标签: matlab

我生成一个具有高斯密度的点云。

X = [x_centroid,y_centroid] + sigma*randn(number_points, 2);

然后,我绘制分布图:

D = hist3(X);

我的问题是我会证明分布是高斯分布。也许通过在同一个图表上绘制理论分布,但是对于hist3,你能帮助我吗?

也许还有其他数学方法? (Coul非常适合测试这两种方式)

由于

1 个答案:

答案 0 :(得分:0)

如果您想绘制真实发行版,可以在以下代码中找到代码:

 xmin = -100;
 xmax = 100;
 ymin = -100;
 ymax = 100;
 step = 0.1;
 sigma = 5;
 mu = [0.5; 0.5]
 covMatrix = [sigma 0; 0 sigma];
 invCov = inv(covMatrix);
 detCov = det(covMatrix);
 [X,Y] = meshgrid(xmin:step:xmax, ymin:step:ymax);

 % equation of multivariate normal distribution
 Z = exp(((X-mu(1))*invCov(1,1) + (Y-mu(2))*invCov(2,1)).*(X-mu(1)) + ((X-mu(1))*invCov(1,2) + (Y-mu(2))*invCov(2,2)).*(Y-mu(2))/sqrt(2*pi*detCov)

 % plot the distribution
 mesh(X,Y,Z);

您可以在this link中找到多变量正态分布的详细信息。

此外,您可以使用ezplot绘制分布图。