From ee6eaa8449033b7074a468646e93dbaaf76160c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Karam=C3=A9?=
 <frederic.karame@univ-lemans.fr>
Date: Fri, 8 Jun 2018 20:57:38 +0200
Subject: [PATCH] Add the possibility of proposal approximated with Monte
 Carlo.

---
 src/gaussian_filter_bank.m | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gaussian_filter_bank.m b/src/gaussian_filter_bank.m
index fb22996..dc15dc3 100644
--- a/src/gaussian_filter_bank.m
+++ b/src/gaussian_filter_bank.m
@@ -71,7 +71,11 @@ if isempty(init_flag2)
     init_flag2 = 1;
 end
 
-if ParticleOptions.proposal_approximation.cubature || ParticleOptions.proposal_approximation.montecarlo
+if ParticleOptions.proposal_approximation.montecarlo
+    nodes = randn(ParticleOptions.number_of_particles,number_of_state_variables+number_of_structural_innovations) ;
+    weights = 1/ParticleOptions.number_of_particles ;
+    weights_c = weights ;
+elseif ParticleOptions.proposal_approximation.cubature 
     [nodes,weights] = spherical_radial_sigma_points(number_of_state_variables+number_of_structural_innovations) ;
     weights_c = weights ;
 elseif ParticleOptions.proposal_approximation.unscented
@@ -118,5 +122,5 @@ else
     StateVectorMean = PredictedStateMean + KalmanFilterGain*PredictionError;
     StateVectorVariance = PredictedStateVariance - KalmanFilterGain*PredictedObservedVariance*KalmanFilterGain';
     StateVectorVariance = .5*(StateVectorVariance+StateVectorVariance');
-    StateVectorVarianceSquareRoot = chol(StateVectorVariance)'; %reduced_rank_cholesky(StateVectorVariance)';
-end
\ No newline at end of file
+    StateVectorVarianceSquareRoot = reduced_rank_cholesky(StateVectorVariance)';
+end
-- 
GitLab