📄 plot2dgaussian.m
字号:
function plot2DGaussian(m, M, col)
if nargin<3
col = 'r';
end
% from netlab demgmm4
[v,d] = eig(M);
for j = 1:2
% Ensure that eigenvector has unit length
v(:,j) = v(:,j)/norm(v(:,j));
start = m-sqrt(d(j,j))*(v(:,j)');
endpt = m+sqrt(d(j,j))*(v(:,j)');
linex = [start(1) endpt(1)];
liney = [start(2) endpt(2)];
line(linex, liney, 'LineStyle', '--','Color', col, 'LineWidth', 2)
end
% Plot ellipses of one standard deviation
theta = 0:0.02:2*pi;
x = sqrt(d(1,1))*cos(theta);
y = sqrt(d(2,2))*sin(theta);
% Rotate ellipse axes
ellipse = (v*([x; y]))';
% Adjust centre
ellipse = ellipse + ones(length(theta), 1)*m;
plot(ellipse(:,1), ellipse(:,2), col);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -