From 4a92614e102e57ade20b63dcf40c5e7ea04cbfe7 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, 3 Apr 2025 10:47:03 +0200
Subject: [PATCH] Bug fix for options montecarlo and cubature.

---
 matlab/nonlinear-filters/nonlinear_kalman_filter.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/matlab/nonlinear-filters/nonlinear_kalman_filter.m b/matlab/nonlinear-filters/nonlinear_kalman_filter.m
index 551345c1a..27dbae5c6 100644
--- a/matlab/nonlinear-filters/nonlinear_kalman_filter.m
+++ b/matlab/nonlinear-filters/nonlinear_kalman_filter.m
@@ -187,8 +187,8 @@ for t=1:sample_size
             lik(t)=-Inf;
             return
         end
+        PredictedObservedVarianceSquareRoot = chol(PredictedObservedVariance);
     end
-    PredictedObservedVarianceSquareRoot = chol(PredictedObservedVariance);
     PredictedObservedInverseVarianceSquareRoot = PredictedObservedVarianceSquareRoot\eye(n); % Inverse of the Cholesky -> inv(PredictedObservedVariance) = A*A'
     StandardPredictionError = PredictedObservedInverseVarianceSquareRoot'*PredictionError;
     lik(t) = -.5*n*log(2*pi) + sum(log(diag(PredictedObservedInverseVarianceSquareRoot))) - .5*dot(StandardPredictionError, StandardPredictionError);
-- 
GitLab