From 186de044f42e808bce04de93dfe620ed44c0692a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Karam=C3=A9?= Date: Fri, 16 Nov 2012 11:45:21 +0100 Subject: [PATCH] fix bugs for sampling in a gaussian-mixture distributions. --- matlab/particle/importance_sampling.m | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 matlab/particle/importance_sampling.m diff --git a/matlab/particle/importance_sampling.m b/matlab/particle/importance_sampling.m new file mode 100644 index 000000000..a0c527757 --- /dev/null +++ b/matlab/particle/importance_sampling.m @@ -0,0 +1,11 @@ +function State_Particles = importance_sampling(StateMuPost,StateSqrtPPost,StateWeightsPost,numP) +[Xdim,Gsecond] = size(StateMuPost) ; +u = rand(numP,1); +[Nc,comp] = histc(u, cumsum([0; StateWeightsPost])); +State_Particles = zeros(Xdim,numP); +for k=1:Gsecond + idx = bsxfun(@eq,comp,k*ones(size(comp))) ; + State_Particles(:,idx) = StateSqrtPPost(:,:,k)*randn(Xdim,Nc(k)); +end +State_Particles= State_Particles + StateMuPost(:,comp); +