gusucode.com > 用粒子滤波算法进行跟踪的matlab代码 > gmm_utilities/gmm_display_2D_contour.m
function x = gmm_display_2D_contour(g, prob, N, type) if nargin == 3, type=1; end if prob<=0 | prob>1, error('Probability outside (0, 1] bounds'), end % Sample gmm and evaluate x = gmm_samples(g, N); w = gmm_evaluate(g, x); % Find weights related to each requested prob ws = sort(w); ws = ws(ceil((1-prob)*N)); % Compute contour switch type case 1 % convex hull method i = find(w >= ws); x = x(:,i); k = convhull(x(1,:), x(2,:)); x = x(:,k); case 2 % search method xs = x(:, w == ws); % increment-length based on curvature otherwise error('No other variations implemented') end