www.gusucode.com > 用粒子滤波算法进行跟踪的matlab代码 > gmm_utilities/gmm_samples.m
function s = gmm_samples(g, N) % % presumes weights are not log-likelihoods [D,NX] = size(g.x); s = zeros(D, N); w = cumsum(g.w); select = stratified_random(N) * w(end); se=1; for i=1:NX ss = se; while se<=N & select(se)<w(i) se = se+1; end if se > ss ii = ss:(se-1); s(:, ii) = gauss_samples(g.x(:,i), g.P(:,:,i), se-ss); end end