如何使用mesh()
在2d内绘制高斯,在这个Matlab函数中......
function G(Mean,Cov,c)
icov = inv(Cov);
det_cov = det(Cov);
const = 1/(2*pi*sqrt(det_cov));
xx = linspace(Mean(1)-3*sqrt(Cov(1,1)),Mean(1)+3*sqrt(Cov(1,1)));
yy = linspace(Mean(2)-3*sqrt(Cov(2,2)),Mean(2)+3*sqrt(Cov(2,2)));
[x y] = meshgrid(xx,yy);
mx=x-Mean(1);
my = y-Mean(2);
z=const*exp(-0.5*(icov(1,1)*mx.^2+icov(2,1)*mx.*my +icov(2,1)*my.*mx+icov(2,2)*my.^2));
contour(x,y,z,c);
答案 0 :(得分:3)
只需将contour
替换为mesh
。
另外,尽量不要将Mean
和Cov
用作变量名。 mean
和cov
是Matlab函数,虽然拼写略有不同,但您仍然需要为一些难以发现的错误做好准备。