Bayesian Filtering Library Generated from SVN r
Public Member Functions | Protected Attributes | List of all members
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 >

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.
 
virtual MatrixWrapper::Matrix df_dxGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
 Returns F-matrix.
 
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.
 
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, const SampleMthd sampling_method=SampleMthd::DEFAULT, void *sampling_args=NULL)
 Simulate the system.
 
MatrixWrapper::ColumnVector Simulate (const MatrixWrapper::ColumnVector &x, const SampleMthd sampling_method=SampleMthd::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

◆ NonLinearAnalyticSystemModelGaussianUncertainty_Ginac()

Constructor.

Parameters
pdfconditional pdf, gaussian uncertainty

Member Function Documentation

◆ 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!

◆ FunctionGet()

GiNaC::matrix FunctionGet ( )

output stream for system model

Get function

◆ ProbabilityGet() [1/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

◆ ProbabilityGet() [2/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

◆ Simulate() [1/2]

MatrixWrapper::ColumnVector Simulate ( const MatrixWrapper::ColumnVector & x,
const MatrixWrapper::ColumnVector & u,
const SampleMthd sampling_method = SampleMthd::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

◆ Simulate() [2/2]

MatrixWrapper::ColumnVector Simulate ( const MatrixWrapper::ColumnVector & x,
const SampleMthd sampling_method = SampleMthd::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)

◆ StateSizeGet()

int StateSizeGet ( ) const
inherited

Get State Size.

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

Returns
the statesize of the system

◆ SystemPdfGet()

ConditionalPdf< MatrixWrapper::ColumnVector , MatrixWrapper::ColumnVector > * SystemPdfGet ( )
inherited

Get the SystemPDF.

Returns
a reference to the ConditionalPdf describing the system

◆ SystemPdfSet()

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

Set the SystemPDF.

Parameters
pdfa reference to the ConditionalPdf describing the system

Member Data Documentation

◆ _SystemPdf

ConditionalPdf<MatrixWrapper::ColumnVector ,MatrixWrapper::ColumnVector >* _SystemPdf
protectedinherited

ConditionalPdf representing $ P(X_k | X_{k-1}, U_{k}) $.

Definition at line 59 of file systemmodel.h.

◆ _systemWithoutInputs

bool _systemWithoutInputs
protectedinherited

System with no inputs?

Definition at line 62 of file systemmodel.h.


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