在MATLAB中绘制给定MVN的多元法线PDF的轮廓?

时间:2013-11-24 01:36:18

标签: matlab contour gaussian normal-distribution

我有一个双变量高斯,我定义如下:

I=[1 0;0 1];
mu=[0,0];
sigma=0.5*I;
beta = mvnrnd(mu,sigma,100);  %100x2 matrix where each column vector is a variable.

现在我想绘制上述矩阵的pdf轮廓。我做了什么:

Z = mvnpdf(beta,mu,sigma);  %100x1 pdf matrix

现在我想绘制双变量高斯beta的轮廓。我知道我应该使用命令轮廓,但这个要求Z是一个方阵。我该如何解决这个问题?我很困惑,不知道如何绘制双变量高斯的轮廓!任何帮助都非常受欢迎..

谢谢

1 个答案:

答案 0 :(得分:15)

您需要定义xy轴并使用meshgrid(或ndgrid)生成x,y值的所有组合,形式为两个矩阵XY。然后,您为ZX计算Y值(您的高斯pdf),并将Z绘制为X的函数,{{1} }使用Y(等高线图),或者contour(3D图)。

surf

Graph obtained with <code>contour(X,Y,Z), axis equal</code> Graph obtained with <code>surf(X,Y,Z)</code>