@@ -209,6 +209,7 @@ def __init__(self, model, Q_in=None, H_bc=None, Q_Ik=None, t_start=None,
209209 else :
210210 self .P_x_k_k = Pxx .copy ()
211211 self .A_1 = None
212+ self .P_zz = None
212213 # Progress bar checkpoints
213214 if np .isfinite (self .t_end ):
214215 self ._checkpoints = np .linspace (self .t_start , self .t_end )
@@ -486,12 +487,13 @@ def kalman_filter(self, Z, H=None, C=None, Qcov=None, Rcov=None, P_x_k_k=None,
486487 Rcov = self .Rcov
487488 A_1 , A_2 , b = self .model ._semi_implicit_system (_dt = dt )
488489 if SR == False :
489- b_hat , P_x_k_k = _kalman_semi_implicit (Z , P_x_k_k , A_1 , A_2 , b , H , C ,
490+ b_hat , P_x_k_k , P_zz = _kalman_semi_implicit (Z , P_x_k_k , A_1 , A_2 , b , H , C ,
490491 Qcov , Rcov )
491492 else :
492- b_hat , P_x_k_k = _square_root_kalman_semi_implicit (Z , P_x_k_k , A_1 , A_2 , b , H , C ,
493+ b_hat , P_x_k_k , P_zz = _square_root_kalman_semi_implicit (Z , P_x_k_k , A_1 , A_2 , b , H , C ,
493494 Qcov , Rcov )
494495 self .P_x_k_k = P_x_k_k
496+ self .P_zz = P_zz
495497 self .A_1 = A_1
496498 self .model .b = b_hat
497499 self .model .iter_count -= 1
0 commit comments