Bayesian Filtering Library  Generated from SVN r
Public Member Functions | Protected Attributes | List of all members
LinearAnalyticSystemModelGaussianUncertainty Class Reference

Class for linear analytic systemmodels with additive gaussian noise. More...

#include <linearanalyticsystemmodel_gaussianuncertainty.h>

Inheritance diagram for LinearAnalyticSystemModelGaussianUncertainty:
AnalyticSystemModelGaussianUncertainty SystemModel< MatrixWrapper::ColumnVector >

Public Member Functions

 LinearAnalyticSystemModelGaussianUncertainty (LinearAnalyticConditionalGaussian *pdf)
 Constructor. More...
 
virtual ~LinearAnalyticSystemModelGaussianUncertainty ()
 Destructor.
 
void ASet (const MatrixWrapper::Matrix &a)
 Set Matrix A. More...
 
void BSet (const MatrixWrapper::Matrix &b)
 Set Matrix B. More...
 
const MatrixWrapper::MatrixAGet () const
 Get Matrix A.
 
const MatrixWrapper::MatrixBGet () const
 Get Matrix B.
 
virtual MatrixWrapper::Matrix df_dxGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
 Returns F-matrix. More...
 
virtual MatrixWrapper::ColumnVector PredictionGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
 Returns prediction of state.
 
virtual MatrixWrapper::SymmetricMatrix CovarianceGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
 Covariance of system noise.
 
int StateSizeGet () const
 Get State Size. More...
 
bool SystemWithoutInputs () const
 Has the system inputs or not.
 
ConditionalPdf< MatrixWrapper::ColumnVector, MatrixWrapper::ColumnVector > * SystemPdfGet ()
 Get the SystemPDF. More...
 
void SystemPdfSet (ConditionalPdf< MatrixWrapper::ColumnVector, MatrixWrapper::ColumnVector > *pdf)
 Set the SystemPDF. More...
 
MatrixWrapper::ColumnVector Simulate (const MatrixWrapper::ColumnVector &x, const MatrixWrapper::ColumnVector &u, int sampling_method=DEFAULT, void *sampling_args=NULL)
 Simulate the system. More...
 
MatrixWrapper::ColumnVector Simulate (const MatrixWrapper::ColumnVector &x, int sampling_method=DEFAULT, void *sampling_args=NULL)
 Simulate the system (no input system) More...
 
Probability ProbabilityGet (const MatrixWrapper::ColumnVector &x_k, const MatrixWrapper::ColumnVector &x_kminusone, const MatrixWrapper::ColumnVector &u)
 Get the probability of arriving in a next state. More...
 
Probability ProbabilityGet (const MatrixWrapper::ColumnVector &x_k, const MatrixWrapper::ColumnVector &x_kminusone)
 Get the probability of arriving in a next state. More...
 

Protected Attributes

ConditionalPdf< MatrixWrapper::ColumnVector, MatrixWrapper::ColumnVector > * _SystemPdf
 ConditionalPdf representing $ P(X_k | X_{k-1}, U_{k}) $.
 
bool _systemWithoutInputs
 System with no inputs?
 

Detailed Description

Class for linear analytic systemmodels with additive gaussian noise.

This class represents all systemmodels of the form

\[ x_k = A \times x_{k-1} + B \times u_{k} + N(\mu,\Sigma) \]

Definition at line 33 of file linearanalyticsystemmodel_gaussianuncertainty.h.

Constructor & Destructor Documentation

◆ LinearAnalyticSystemModelGaussianUncertainty()

Constructor.

Precondition
LinearAnalyticConditionalGaussian should have 1/2 conditional Arguments (checked) and the first conditional argument should be x!
Parameters
pdfConditional pdf with Gaussian uncertainty

Member Function Documentation

◆ ASet()

void ASet ( const MatrixWrapper::Matrix a)

Set Matrix A.

This can be particularly useful for time-varying systems

Parameters
aMatrix a

◆ BSet()

void BSet ( const MatrixWrapper::Matrix b)

Set Matrix B.

This can be particularly useful for time-varying systems

Parameters
bMatrix b

◆ df_dxGet()

virtual MatrixWrapper::Matrix df_dxGet ( const MatrixWrapper::ColumnVector u,
const MatrixWrapper::ColumnVector x 
)
virtualinherited

Returns F-matrix.

\[ F = \frac{df}{dx} \mid_{u,x} \]

used by kalman filter variants

Parameters
uThe value of the input in which the derivate is evaluated
xThe value in the state in which the derivate is evaluated
Bug:
Should actually be defined for any continuous system model! There should be a class between this one and system model tout court, not assuming gaussian uncertainty!

◆ ProbabilityGet() [1/2]

Probability ProbabilityGet ( const MatrixWrapper::ColumnVector x_k,
const MatrixWrapper::ColumnVector x_kminusone,
const MatrixWrapper::ColumnVector u 
)
inherited

Get the probability of arriving in a next state.

Parameters
x_kthe next state (at time k)
x_kminusonethe current state (at time k-1)
uthe input
Returns
the probability value

Definition at line 151 of file systemmodel.h.

◆ ProbabilityGet() [2/2]

Probability ProbabilityGet ( const MatrixWrapper::ColumnVector x_k,
const MatrixWrapper::ColumnVector x_kminusone 
)
inherited

Get the probability of arriving in a next state.

(no-input-system)

Parameters
x_kthe next state (at time k)
x_kminusonethe current state (at time k-1)
Returns
the probability value

Definition at line 161 of file systemmodel.h.

◆ Simulate() [1/2]

MatrixWrapper::ColumnVector Simulate ( const MatrixWrapper::ColumnVector x,
const MatrixWrapper::ColumnVector u,
int  sampling_method = DEFAULT,
void *  sampling_args = NULL 
)
inherited

Simulate the system.

Parameters
xcurrent state of the system
uinput to the system
Returns
State where we arrive by simulating the system model for 1 step
Parameters
sampling_methodthe sampling method to be used while sampling from the Conditional Pdf describing the system (if not specified = DEFAULT)
sampling_argsSometimes a sampling method can have some extra parameters (eg mcmc sampling)
Note
Maybe the return value would better be a Sample<T> instead of a T

Definition at line 126 of file systemmodel.h.

◆ Simulate() [2/2]

MatrixWrapper::ColumnVector Simulate ( const MatrixWrapper::ColumnVector x,
int  sampling_method = DEFAULT,
void *  sampling_args = NULL 
)
inherited

Simulate the system (no input system)

Parameters
xcurrent state of the system
Returns
State where we arrive by simulating the system model for 1 step
Note
Maybe the return value would better be a Sample<T> instead of a T
Parameters
sampling_methodthe sampling method to be used while sampling from the Conditional Pdf describing the system (if not specified = DEFAULT)
sampling_argsSometimes a sampling method can have some extra parameters (eg mcmc sampling)

Definition at line 139 of file systemmodel.h.

◆ StateSizeGet()

int StateSizeGet ( ) const
inherited

Get State Size.

Copy constructor SystemModel(const SystemModel<T>& model);

Returns
the statesize of the system

Definition at line 79 of file systemmodel.h.

◆ SystemPdfGet()

Get the SystemPDF.

Returns
a reference to the ConditionalPdf describing the system

Definition at line 92 of file systemmodel.h.

◆ SystemPdfSet()

void SystemPdfSet ( ConditionalPdf< MatrixWrapper::ColumnVector , MatrixWrapper::ColumnVector > *  pdf)
inherited

Set the SystemPDF.

Parameters
pdfa reference to the ConditionalPdf describing the system

Definition at line 99 of file systemmodel.h.


The documentation for this class was generated from the following file: