From e30f1b64513cb78d5a25e27ccf7a2021b0effa46 Mon Sep 17 00:00:00 2001
From: Michel Juillard <michel.juillard@ens.fr>
Date: Wed, 9 Jun 2010 17:57:40 +0200
Subject: [PATCH] correcting bug in kalman filter when it reaches the steady
 state (multivariate diffuse Kalman filter, both versions, regular Kalman
 filter with missing observations) (cherry picked from commit
 61e78763da81f9b964a68d0b004f0d05fcca074a)

---
 matlab/kalman/likelihood/diffuse_kalman_filter.m                | 2 +-
 .../likelihood/missing_observations_diffuse_kalman_filter.m     | 2 +-
 matlab/kalman/likelihood/missing_observations_kalman_filter.m   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/matlab/kalman/likelihood/diffuse_kalman_filter.m b/matlab/kalman/likelihood/diffuse_kalman_filter.m
index cdebb49fc9..ccd41b5478 100644
--- a/matlab/kalman/likelihood/diffuse_kalman_filter.m
+++ b/matlab/kalman/likelihood/diffuse_kalman_filter.m
@@ -129,7 +129,7 @@ if F_singular == 1
 end
 
 if t < smpl
-    t0 = t;
+    t0 = t+1;
     while t<smpl
         t = t+1;
         v = Y(:,t)-Z*a;
diff --git a/matlab/kalman/likelihood/missing_observations_diffuse_kalman_filter.m b/matlab/kalman/likelihood/missing_observations_diffuse_kalman_filter.m
index 84de42d0ff..5ec2184b07 100644
--- a/matlab/kalman/likelihood/missing_observations_diffuse_kalman_filter.m
+++ b/matlab/kalman/likelihood/missing_observations_diffuse_kalman_filter.m
@@ -159,7 +159,7 @@ if F_singular == 1
 end
 
 if t < smpl
-    t0 = t;
+    t0 = t+1;
     while t<smpl
         t = t+1;
         v = Y(:,t)-Z*a;
diff --git a/matlab/kalman/likelihood/missing_observations_kalman_filter.m b/matlab/kalman/likelihood/missing_observations_kalman_filter.m
index bdf4e91d53..4789517ba0 100644
--- a/matlab/kalman/likelihood/missing_observations_kalman_filter.m
+++ b/matlab/kalman/likelihood/missing_observations_kalman_filter.m
@@ -103,7 +103,7 @@ if F_singular
 end
 
 if t < smpl
-    t0 = t;
+    t0 = t+1;
     while t < smpl
         t = t+1;
         v = Y(:,t)-a(mf);
-- 
GitLab