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