Class for linear analytic systemmodels with additive gaussian noise.
More...
#include <linearanalyticsystemmodel_gaussianuncertainty.h >
LinearAnalyticSystemModelGaussianUncertainty (LinearAnalyticConditionalGaussian *pdf)
Constructor.
virtual ~LinearAnalyticSystemModelGaussianUncertainty ()
Destructor.
void ASet (const MatrixWrapper::Matrix &a)
Set Matrix A.
void BSet (const MatrixWrapper::Matrix &b)
Set Matrix B.
const MatrixWrapper::Matrix & AGet () const
Get Matrix A.
const MatrixWrapper::Matrix & BGet () const
Get Matrix B.
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.
Class for linear analytic systemmodels with additive gaussian noise.
This class represents all systemmodels of the form
Definition at line 33 of file linearanalyticsystemmodel_gaussianuncertainty.h .
◆ LinearAnalyticSystemModelGaussianUncertainty()
Constructor.
Precondition LinearAnalyticConditionalGaussian should have 1/2 conditional Arguments (checked) and the first conditional argument should be x!
Parameters
pdf Conditional pdf with Gaussian uncertainty
◆ ASet()
void ASet
(
const MatrixWrapper::Matrix & a )
Set Matrix A.
This can be particularly useful for time-varying systems
Parameters
◆ BSet()
void BSet
(
const MatrixWrapper::Matrix & b )
Set Matrix B.
This can be particularly useful for time-varying systems
Parameters
◆ df_dxGet()
virtual MatrixWrapper::Matrix df_dxGet
(
const MatrixWrapper::ColumnVector & u ,
const MatrixWrapper::ColumnVector & x )
virtual inherited
Returns F-matrix.
used by kalman filter variants
Parameters
u The value of the input in which the derivate is evaluated
x The 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 )
inherited
Get the probability of arriving in a next state.
(no-input-system)
Parameters
x_k the next state (at time k)
x_kminusone the 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_k the next state (at time k)
x_kminusone the current state (at time k-1)
u the 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
x current state of the system
u input to the system
Returns State where we arrive by simulating the system model for 1 step
Parameters
sampling_method the sampling method to be used while sampling from the Conditional Pdf describing the system (if not specified = DEFAULT)
sampling_args Sometimes 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
x current 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_method the sampling method to be used while sampling from the Conditional Pdf describing the system (if not specified = DEFAULT)
sampling_args Sometimes 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
◆ _SystemPdf
ConditionalPdf <MatrixWrapper::ColumnVector ,MatrixWrapper::ColumnVector >* _SystemPdf
protected inherited
◆ _systemWithoutInputs
bool _systemWithoutInputs
protected inherited
The documentation for this class was generated from the following file: