diff --git a/matlab/nonlinear-filters/nonlinear_kalman_filter.m b/matlab/nonlinear-filters/nonlinear_kalman_filter.m index 551345c1acd2aade60c6658b08b5143994a9ba58..27dbae5c69bb7126460440ce8d561c6d622e3e68 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);