include modifications for parallelisation.
parent
a299c04d7e
commit
713e3ffcfb
|
@ -102,15 +102,17 @@ ks = 0 ;
|
||||||
StateParticles = bsxfun(@plus,StateVectorVarianceSquareRoot*randn(state_variance_rank,number_of_particles),StateVectorMean);
|
StateParticles = bsxfun(@plus,StateVectorVarianceSquareRoot*randn(state_variance_rank,number_of_particles),StateVectorMean);
|
||||||
SampleWeights = ones(1,number_of_particles)/number_of_particles ;
|
SampleWeights = ones(1,number_of_particles)/number_of_particles ;
|
||||||
for t=1:sample_size
|
for t=1:sample_size
|
||||||
for i=1:number_of_particles
|
obs=Y(:,t);
|
||||||
[StateParticles(:,i),SampleWeights(i),flag] = ...
|
flag = zeros(number_of_particles) ;
|
||||||
conditional_filter_proposal(ReducedForm,Y(:,t),StateParticles(:,i),SampleWeights(i),Q_lower_triangular_cholesky,H_lower_triangular_cholesky,H,ParticleOptions,ThreadsOptions,normconst2) ;
|
parfor i=1:number_of_particles
|
||||||
if flag==1
|
[StateParticles(:,i),SampleWeights(i),flag(i)] = ...
|
||||||
LIK=-Inf;
|
conditional_filter_proposal(ReducedForm,obs,StateParticles(:,i),SampleWeights(i),Q_lower_triangular_cholesky,H_lower_triangular_cholesky,H,ParticleOptions,ThreadsOptions,normconst2) ;
|
||||||
lik(t)=-Inf;
|
|
||||||
return
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
if sum(flag)~=0
|
||||||
|
LIK=-Inf;
|
||||||
|
lik(t)=-Inf;
|
||||||
|
return
|
||||||
|
end
|
||||||
SumSampleWeights = sum(SampleWeights) ;
|
SumSampleWeights = sum(SampleWeights) ;
|
||||||
lik(t) = log(SumSampleWeights) ;
|
lik(t) = log(SumSampleWeights) ;
|
||||||
SampleWeights = SampleWeights./SumSampleWeights ;
|
SampleWeights = SampleWeights./SumSampleWeights ;
|
||||||
|
|
Loading…
Reference in New Issue