Bayesian Filtering Library Generated from SVN r
Public Member Functions | Protected Attributes
NonLinearAnalyticSystemModelGaussianUncertainty_Ginac Class Reference

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

#include <nonlinearanalyticsystemmodel_gaussianuncertainty_ginac.h>

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

List of all members.

Public Member Functions

 NonLinearAnalyticSystemModelGaussianUncertainty_Ginac (NonLinearAnalyticConditionalGaussian_Ginac *const pdf)
 Constructor.
virtual ~NonLinearAnalyticSystemModelGaussianUncertainty_Ginac ()
 Destructor.
GiNaC::matrix FunctionGet ()
 output stream for system model
vector< GiNaC::symbol > StateGet ()
 Get State symbols.
vector< GiNaC::symbol > InputGet ()
 Get input symbols.
MatrixWrapper::Matrix df_dxGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
 Returns F-matrix.
MatrixWrapper::ColumnVector PredictionGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
 Returns prediction of state.
MatrixWrapper::SymmetricMatrix CovarianceGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
 Covariance of system noise.
int StateSizeGet () const
 Get State Size.
bool SystemWithoutInputs () const
 Has the system inputs or not.
ConditionalPdf
< MatrixWrapper::ColumnVector,
MatrixWrapper::ColumnVector > * 
SystemPdfGet ()
 Get the SystemPDF.
void SystemPdfSet (ConditionalPdf< MatrixWrapper::ColumnVector, MatrixWrapper::ColumnVector > *pdf)
 Set the SystemPDF.
MatrixWrapper::ColumnVector Simulate (const MatrixWrapper::ColumnVector &x, const MatrixWrapper::ColumnVector &u, int sampling_method=DEFAULT, void *sampling_args=NULL)
 Simulate the system.
MatrixWrapper::ColumnVector Simulate (const MatrixWrapper::ColumnVector &x, int sampling_method=DEFAULT, void *sampling_args=NULL)
 Simulate the system (no input system)
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.
Probability ProbabilityGet (const MatrixWrapper::ColumnVector &x_k, const MatrixWrapper::ColumnVector &x_kminusone)
 Get the probability of arriving in a next state.

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 nonlinear analytic systemmodels with additive gaussian noise.

This class represents all measurementmodels of the form

\[ x_k = f(x_{k-}) + N(\mu, \Sigma) \]

Definition at line 40 of file nonlinearanalyticsystemmodel_gaussianuncertainty_ginac.h.


Constructor & Destructor Documentation

Constructor.

Parameters:
pdfconditional pdf, gaussian uncertainty

Member Function Documentation

MatrixWrapper::Matrix df_dxGet ( const MatrixWrapper::ColumnVector &  u,
const MatrixWrapper::ColumnVector &  x 
) [inherited]

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!
GiNaC::matrix FunctionGet ( )

output stream for system model

Get function

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
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
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
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)
int StateSizeGet ( ) const [inherited]

Get State Size.

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

Returns:
the statesize of the system
ConditionalPdf<MatrixWrapper::ColumnVector ,MatrixWrapper::ColumnVector >* SystemPdfGet ( ) [inherited]

Get the SystemPDF.

Returns:
a reference to the ConditionalPdf describing the system
void SystemPdfSet ( ConditionalPdf< MatrixWrapper::ColumnVector , MatrixWrapper::ColumnVector > *  pdf) [inherited]

Set the SystemPDF.

Parameters:
pdfa reference to the ConditionalPdf describing the system

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