From af66ea9c287d84302783d464f348f787d08d3f08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Charybdis=29?=
 <stephane.adjemian@univ-lemans.fr>
Date: Wed, 1 Jun 2016 16:07:07 +0200
Subject: [PATCH] Changed logic for setting weights method in CPF.

---
 src/conditional_filter_proposal.m | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/conditional_filter_proposal.m b/src/conditional_filter_proposal.m
index 5eda6b9..6559287 100644
--- a/src/conditional_filter_proposal.m
+++ b/src/conditional_filter_proposal.m
@@ -105,7 +105,7 @@ if ParticleOptions.proposal_approximation.cubature || ParticleOptions.proposal_a
     StateVectorVarianceSquareRoot = mat(number_of_observed_variables+(1:number_of_state_variables),number_of_observed_variables+(1:number_of_state_variables));
     Error = obs - PredictedObservedMean ;
     StateVectorMean = PredictedStateMean + (CovarianceObservedStateSquareRoot/PredictedObservedVarianceSquareRoot)*Error ;
-    if strcmpi(options_.particle.filter_algorithm, 'cpf1')
+    if options_.particle.cpf_weights_method.amisanotristani
         Weights = SampleWeights.*probability2(zeros(number_of_observed_variables,1),PredictedObservedVarianceSquareRoot,Error) ; 
     end
 else
@@ -119,14 +119,14 @@ else
     StateVectorMean = PredictedStateMean + KalmanFilterGain*Error ;
     StateVectorVariance = PredictedStateVariance - KalmanFilterGain*PredictedObservedVariance*KalmanFilterGain';
     StateVectorVarianceSquareRoot = chol(StateVectorVariance + 1e-6)' ;
-    if strcmpi(options_.particle.filter_algorithm, 'cpf1')
+    if options_.particle.cpf_weights_method.amisanotristani
         Weights = SampleWeights.*probability2(zeros(number_of_observed_variables,1),chol(PredictedObservedVariance)',Error) ; 
     end
 end
 
 PredictedStateVarianceSquareRoot = chol(PredictedStateVariance + 1e-6)'  ;
 ProposalStateVector = StateVectorVarianceSquareRoot*randn(size(StateVectorVarianceSquareRoot,2),1)+StateVectorMean ;
-if strcmpi(options_.particle.filter_algorithm, 'cpf2')
+if options_.particle.cpf_weights_method.murrayjonesparslow
     Prior = probability2(PredictedStateMean,PredictedStateVarianceSquareRoot,ProposalStateVector) ; 
     Posterior = probability2(StateVectorMean,StateVectorVarianceSquareRoot,ProposalStateVector) ; 
     Likelihood = probability2(obs,H_lower_triangular_cholesky,measurement_equations(ProposalStateVector,ReducedForm,ThreadsOptions)) ; 
-- 
GitLab