From 174c9cc36bffef1c3a63c6510e4b48c1a893edd7 Mon Sep 17 00:00:00 2001 From: Anton Kullberg <anton.kullberg@liu.se> Date: Fri, 12 Nov 2021 12:03:54 +0100 Subject: [PATCH] bug: fixed IMM bug --- src/filters.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/filters.py b/src/filters.py index a1d0e15..bcd2c09 100644 --- a/src/filters.py +++ b/src/filters.py @@ -1,5 +1,6 @@ """Contains filter implementations. """ +import pdb import numpy as np import scipy.stats as stats import jax @@ -111,10 +112,11 @@ class IMM: """ # Calc. mixing probabilities mu = self.transition_prob*self.mode_probabilities[-1][:, None] - mu = mu/np.sum(mu, axis=0) # Normalize + mu = mu/np.sum(mu, axis=1, keepdims=True) # Normalize # Mixed state - xp = np.hstack([x@mu[:, [k]] for k in range(self.nmodes)]) + xp = np.hstack([x@mu[[k], :].T for k in range(self.nmodes)]) Pp = np.zeros(P.shape) + for i in range(self.nmodes): xdiff = x-xp[:, [i]] covxp = np.stack([xdiff[:, [k]]@xdiff[:, [k]].T for k in range(self.nmodes)], axis=2) -- GitLab