[][src]Trait adskalman::ObservationModelLinear

pub trait ObservationModelLinear<R, SS, OS> where
    R: RealField,
    SS: DimName,
    OS: DimName + DimMin<OS, Output = OS>,
    DefaultAllocator: Allocator<R, SS, SS>,
    DefaultAllocator: Allocator<R, SS>,
    DefaultAllocator: Allocator<R, OS, SS>,
    DefaultAllocator: Allocator<R, SS, OS>,
    DefaultAllocator: Allocator<R, OS, OS>,
    DefaultAllocator: Allocator<R, OS>,
    DefaultAllocator: Allocator<(usize, usize), OS>, 
{ fn evaluate(&self, state: &VectorN<R, SS>) -> VectorN<R, OS>;
fn observation_matrix(&self) -> &MatrixMN<R, OS, SS>;
fn observation_matrix_transpose(&self) -> &MatrixMN<R, SS, OS>;
fn observation_noise_covariance(&self) -> &MatrixN<R, OS>; fn update(
        &self,
        prior: &StateAndCovariance<R, SS>,
        observation: &VectorN<R, OS>,
        covariance_method: CoverianceUpdateMethod
    ) -> Result<StateAndCovariance<R, SS>, Error> { ... } }

A linear observation model

Note, to use a non-linear observation model, the non-linear model must be linearized (using the prior state estimate) and use this linearization as the basis for a ObservationModelLinear implementation.

Required methods

fn evaluate(&self, state: &VectorN<R, SS>) -> VectorN<R, OS>

fn observation_matrix(&self) -> &MatrixMN<R, OS, SS>

fn observation_matrix_transpose(&self) -> &MatrixMN<R, SS, OS>

fn observation_noise_covariance(&self) -> &MatrixN<R, OS>

Loading content...

Provided methods

fn update(
    &self,
    prior: &StateAndCovariance<R, SS>,
    observation: &VectorN<R, OS>,
    covariance_method: CoverianceUpdateMethod
) -> Result<StateAndCovariance<R, SS>, Error>

Loading content...

Implementors

Loading content...