From 6d1036b73865a681eb2d6b578c198cf4463ef34e 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: Thu, 30 Jun 2016 11:42:45 +0200 Subject: [PATCH] Modifications to facilitate Cholesky of states variances. --- 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 3a019c6..e90efa1 100644 --- a/src/conditional_filter_proposal.m +++ b/src/conditional_filter_proposal.m @@ -118,17 +118,17 @@ else Error = obs - PredictedObservedMean ; StateVectorMean = PredictedStateMean + KalmanFilterGain*Error ; StateVectorVariance = PredictedStateVariance - KalmanFilterGain*PredictedObservedVariance*KalmanFilterGain'; - StateVectorVarianceSquareRoot = chol(StateVectorVariance + 1e-6)' ; + StateVectorVarianceSquareRoot = chol(StateVectorVariance + eye(number_of_state_variables)*1e-6)' ; if ParticleOptions.cpf_weights_method.amisanotristani Weights = SampleWeights.*probability2(zeros(number_of_observed_variables,1),chol(PredictedObservedVariance)',Error) ; end end -PredictedStateVarianceSquareRoot = chol(PredictedStateVariance + 1e-6)' ; +PredictedStateVarianceSquareRoot = chol(PredictedStateVariance + eye(number_of_state_variables)*1e-6)' ; ProposalStateVector = StateVectorVarianceSquareRoot*randn(size(StateVectorVarianceSquareRoot,2),1)+StateVectorMean ; if ParticleOptions.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)) ; Weights = SampleWeights.*Likelihood.*(Prior./Posterior) ; -end \ No newline at end of file +end -- GitLab