绘制二元正态分布的密度函数图和等高线图MATLAB

  题目:绘制二元正态分布的密度函数图和等高线图,其中,均值u=(0;0),协方差矩阵为[4,3;3,9]

  分析:采用MATLAB中的mesh函数(密度图)和contour函数(等高线)

  二元正态分布密度函数公式:



  代码如下:

%u=[4;3];
%v=[1,-1;-1,2];
u=[0;0];%均值
v=[4,3;3,9];%协方差阵
x=-7:0.05:7;
y=-7:0.05:7;
%x=-2:0.05:10;
%y=-3:0.05:9;
[X,Y]=meshgrid(x,y);
s2x=v(1,1)%x的方差
s2y=v(2,2)
sx=sqrt(s2x)%标准差
sy=sqrt(s2y)
Cov=v(1,2)
r=Cov/(sx*sy)
a=1/(2*pi*sx*sy*sqrt(1-r^2));
b1=-1/(2*(1-r^2));
b2=((X-u(1))./sx).^2;
b3=((Y-u(2))./sy).^2;
b4=2*r.*(X-u(1)).*(Y-u(2))./(sx*sy)
Z=a*exp(b1*(b2+b3-b4));%也就是f(x1,x2)的表达式
%mesh(x,y,Z);
%figure
%grid on
mesh(X,Y,Z),title('密度函数图')
figure
contour(X,Y,Z),title('等高线图')

结果如下:







发布了34 篇原创文章 · 获赞 20 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/G_B_L/article/details/52881984
今日推荐