二元正态分布的标准差椭圆



如何绘制双变量正态分布(使用 MATLAB)的标准差等值线,仅显示从 1-σ 到 7-σ 的七个轮廓?

mu=[2 3];     %mean
Sigma=[1 1];  %standard deviation
x1 = -10:.2:10;   
x2 = -10:.2:10;
[X1,X2] = meshgrid(x1,x2);
F=mvnpdf([X1(:) X2(:)],mu,Sigma);   %compute Gaussian pdf
F=reshape(F,length(x2),length(x1));
contour(x1,x2,F,'ShowText','on');  %Equally spaced contour

我不需要等间距的轮廓,而只需要显示从 1σ 到 7σ 的七个轮廓

https://en.wikipedia.org/wiki/Multivariate_normal_distribution此链接中的图 1 概率密度函数中的绿线(3 西格马椭圆)显示了我想做什么,但我不知道他们是怎么做到的。如何绘制绿线(3-σ)和不同西格玛的类似线。

我想这段代码可以完成这项工作。它基于公差区间

mu = [2 3];
Sigma = [1 1];
x1 = -10:.2:10; x2 = -10:.2:10;
[X1,X2] = meshgrid(x1,x2);
F = mvnpdf([X1(:) X2(:)],mu,Sigma);
F = reshape(F,length(x2),length(x1));
%Values drawn from a normal distribution are 
%5-σ,4-σ and 3-σ awayfrom the mean
TL=1-erf([5 4 3]/sqrt(2));             
[C,h]=contour(x1,x2,F,TL,'ShowText','on');

但是,我不确定是否可以将此轮廓的标签更改为 5-σ、4-σ 和 3-σ 而不是数字?

最新更新