Matlab二维正态分布可视化

 高维分布一直都是一个很抽象的概念,本人在学的时候很多概念不太能理解,于是使用了Matlab进行了可视化。并对均值、方差以及相关系数进行了调整。
 图中x,y为两个变量的取值,z为出现的概率密度。

Matlab二维正态分布可视化_第1张图片图1 三维图1
Matlab二维正态分布可视化_第2张图片图2 俯视图1
 变量x的均值为0,方差为2,变量y的均值为0,方差为2,相关系数为0。
Matlab二维正态分布可视化_第3张图片图3 三维图2
Matlab二维正态分布可视化_第4张图片图4 俯视图2
 变量x的均值为2,方差为5,变量y的均值为0,方差为2,相关系数为0。 发现图像位置发生了平移,而且截面从圆形变成了椭圆。
Matlab二维正态分布可视化_第5张图片 图5 三维图3
Matlab二维正态分布可视化_第6张图片 图6 俯视图3
 变量x的均值为2,方差为5,变量y的均值为0,方差为2,相关系数为0.5。 发现图像发生了旋转。变量x和变量y开始有同样的变化趋势。 嘿嘿。图还挺好看的。下面把代码也放上来。大家可以自行调试。
x=-20:0.5:20;
y=-20:0.5:20;
u1 = 2;          %均值
u2 = 0;        
sigma1 = 5;      %方差
sigma2 = 2;
rou = 0.5;     %相关系数
mu=[-1,2];
[X,Y]=meshgrid(x,y); % 产生网格数据并处理
p = 1/(2*pi*sigma1*sigma2*sqrt(1-rou*rou)).*exp(-1/(2*(1-rou^2)).*[(X-u1).*(X-u1)/(sigma1*sigma1)-2*rou*(X-u1).*(Y-u2)/(sigma1*sigma2)+(Y-u2).*(Y-u2)/(sigma2*sigma2)]);
figure(2)
surf(X,Y,p)
shading interp
colorbar
title('二维正态分布条件概率密度函数曲线');

你可能感兴趣的:(Matlab)