Skip to content
Snippets Groups Projects
mmae.py 760 B
Newer Older
Tilboon Elberier's avatar
Tilboon Elberier committed
from numpy import ndarray

from MMAE.Estimator_Likelihood.estimator_likelihood import EstimatorLikelihood
from MMAE.Joint_Probability.joint_probability import JointProbability

class MMAE:
    def __init__(self, λs, k, b, dt, H, Q, R, x0, noisy):
        # Estimator likelihood simulator initialization
        self.EstimatorLikelihoods = [EstimatorLikelihood(λ, k, b, dt, H, Q, R, x0, noisy) for λ in λs]

        # Joint probability simulator initialization
        self.JointProbability = JointProbability(λs)


    def update(self, u: ndarray, z: ndarray) -> float:
        pdvs = [EstimatorLikelihood.update(u, z) for EstimatorLikelihood in self.EstimatorLikelihoods]
        λ_hat = self.JointProbability.update(pdvs)
        
        return λ_hat