#include <nonlinearanalyticconditionalgaussian_ginac.h>
Public Member Functions | |
NonLinearAnalyticConditionalGaussian_Ginac (const GiNaC::matrix &func, const vector< GiNaC::symbol > &u, const vector< GiNaC::symbol > &x, const Gaussian &additiveNoise, const vector< GiNaC::symbol > &cond) | |
constructor | |
NonLinearAnalyticConditionalGaussian_Ginac (const GiNaC::matrix &func, const vector< GiNaC::symbol > &u, const vector< GiNaC::symbol > &x, const Gaussian &additiveNoise) | |
constructor | |
NonLinearAnalyticConditionalGaussian_Ginac (const NonLinearAnalyticConditionalGaussian_Ginac &g) | |
copy constructor | |
virtual | ~NonLinearAnalyticConditionalGaussian_Ginac () |
Destructor. | |
GiNaC::matrix | FunctionGet () |
return function | |
vector< GiNaC::symbol > | InputGet () |
return substitution symbols | |
vector< GiNaC::symbol > | StateGet () |
return state symbols | |
vector< GiNaC::symbol > | ConditionalGet () |
Get conditional arguments. | |
virtual MatrixWrapper::ColumnVector | ExpectedValueGet () const |
Get the expected value E[x] of the pdf. | |
virtual MatrixWrapper::SymmetricMatrix | CovarianceGet () const |
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf. | |
virtual MatrixWrapper::Matrix | dfGet (unsigned int i) const |
const MatrixWrapper::ColumnVector & | AdditiveNoiseMuGet () const |
Get the mean Value of the Additive Gaussian uncertainty. | |
const MatrixWrapper::SymmetricMatrix & | AdditiveNoiseSigmaGet () const |
Get the covariance matrix of the Additive Gaussian uncertainty. | |
void | AdditiveNoiseMuSet (const MatrixWrapper::ColumnVector &mu) |
Set the mean Value of the Additive Gaussian uncertainty. | |
void | AdditiveNoiseSigmaSet (const MatrixWrapper::SymmetricMatrix &sigma) |
Set the covariance of the Additive Gaussian uncertainty. | |
virtual ConditionalGaussian * | Clone () const |
Clone function. | |
virtual Probability | ProbabilityGet (const MatrixWrapper::ColumnVector &input) const |
Get the probability of a certain argument. | |
virtual bool | SampleFrom (Sample< MatrixWrapper::ColumnVector > &sample, int method=DEFAULT, void *args=NULL) const |
Draw 1 sample from the Pdf:. | |
virtual bool | SampleFrom (std::vector< Sample< MatrixWrapper::ColumnVector > > &samples, const int num_samples, int method=DEFAULT, void *args=NULL) const |
virtual bool | SampleFrom (vector< Sample< MatrixWrapper::ColumnVector > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const |
Draw multiple samples from the Pdf (overloaded). | |
unsigned int | NumConditionalArgumentsGet () const |
Get the Number of conditional arguments. | |
virtual void | NumConditionalArgumentsSet (unsigned int numconditionalarguments) |
Set the Number of conditional arguments. | |
const std::vector < MatrixWrapper::ColumnVector > & | ConditionalArgumentsGet () const |
Get the whole list of conditional arguments. | |
void | ConditionalArgumentsSet (std::vector< MatrixWrapper::ColumnVector > ConditionalArguments) |
Set the whole list of conditional arguments. | |
const MatrixWrapper::ColumnVector & | ConditionalArgumentGet (unsigned int n_argument) const |
Get the n-th argument of the list. | |
void | ConditionalArgumentSet (unsigned int n_argument, const MatrixWrapper::ColumnVector &argument) |
Set the n-th argument of the list. | |
unsigned int | DimensionGet () const |
Get the dimension of the argument. | |
virtual void | DimensionSet (unsigned int dim) |
Set the dimension of the argument. | |
Protected Attributes | |
MatrixWrapper::ColumnVector | _additiveNoise_Mu |
additive noise expected value | |
MatrixWrapper::SymmetricMatrix | _additiveNoise_Sigma |
additive noise covariance | |
ColumnVector | _diff |
ColumnVector | _Mu |
Matrix | _Low_triangle |
ColumnVector | _samples |
ColumnVector | _SampleValue |
Friends | |
std::ostream & | operator<< (std::ostream &os, NonLinearAnalyticConditionalGaussian_Ginac &p) |
output stream for measurement model |
Describes classes of the type
with
or
Constructor for the first type:
Constructor for the second type:
When the second type is used, the additive noise on c will be converted to additive noise on f, by locally linearising the function.
Definition at line 48 of file nonlinearanalyticconditionalgaussian_ginac.h.
NonLinearAnalyticConditionalGaussian_Ginac | ( | const GiNaC::matrix & | func, | |
const vector< GiNaC::symbol > & | u, | |||
const vector< GiNaC::symbol > & | x, | |||
const Gaussian & | additiveNoise, | |||
const vector< GiNaC::symbol > & | cond | |||
) |
constructor
func | function to be evaluated for expected value | |
u | symbols to be substituted (by numeric values) for evaluation. These can be system inputs or sensor parameters | |
x | symbols representing state | |
additiveNoise | Gaussian representing additive noise | |
cond | parameters where additive noise applies to |
NonLinearAnalyticConditionalGaussian_Ginac | ( | const GiNaC::matrix & | func, | |
const vector< GiNaC::symbol > & | u, | |||
const vector< GiNaC::symbol > & | x, | |||
const Gaussian & | additiveNoise | |||
) |
constructor
func | function to be evaluated for expected value | |
u | symbols to be substituted (by numeric values) for evaluation. These can be system inputs or sensor parameters | |
x | symbols representing state | |
additiveNoise | Gaussian representing additive noise on function output |
virtual MatrixWrapper::ColumnVector ExpectedValueGet | ( | ) | const [virtual] |
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
For certain discrete Pdfs, this function has no meaning, what is the average between yes and no?
Reimplemented from Pdf< MatrixWrapper::ColumnVector >.
virtual MatrixWrapper::SymmetricMatrix CovarianceGet | ( | ) | const [virtual] |
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
Get first order statistic (Covariance) of this AnalyticPdf
Reimplemented from AnalyticConditionalGaussianAdditiveNoise.
virtual MatrixWrapper::Matrix dfGet | ( | unsigned int | i | ) | const [virtual] |
Reimplemented from AnalyticConditionalGaussian.
const MatrixWrapper::ColumnVector& AdditiveNoiseMuGet | ( | ) | const [inherited] |
const MatrixWrapper::SymmetricMatrix& AdditiveNoiseSigmaGet | ( | ) | const [inherited] |
void AdditiveNoiseMuSet | ( | const MatrixWrapper::ColumnVector & | mu | ) | [inherited] |
void AdditiveNoiseSigmaSet | ( | const MatrixWrapper::SymmetricMatrix & | sigma | ) | [inherited] |
virtual Probability ProbabilityGet | ( | const MatrixWrapper::ColumnVector & | input | ) | const [virtual, inherited] |
Get the probability of a certain argument.
input | T argument of the Pdf |
Reimplemented from Pdf< MatrixWrapper::ColumnVector >.
virtual bool SampleFrom | ( | Sample< MatrixWrapper::ColumnVector > & | one_sample, | |
int | method = DEFAULT , |
|||
void * | args = NULL | |||
) | const [virtual, inherited] |
Draw 1 sample from the Pdf:.
There's no need to create a list for only 1 sample!
one_sample | sample that will contain result of sampling | |
method | Sampling method to be used. Each sampling method is currently represented by a define statement, eg. define BOXMULLER 1 | |
args | Pointer to a struct representing extra sample arguments |
Reimplemented from Pdf< MatrixWrapper::ColumnVector >.
virtual bool SampleFrom | ( | vector< Sample< MatrixWrapper::ColumnVector > > & | list_samples, | |
const unsigned int | num_samples, | |||
int | method = DEFAULT , |
|||
void * | args = NULL | |||
) | const [virtual, inherited] |
Draw multiple samples from the Pdf (overloaded).
list_samples | list of samples that will contain result of sampling | |
num_samples | Number of Samples to be drawn (iid) | |
method | Sampling method to be used. Each sampling method is currently represented by a define statement, eg. define BOXMULLER 1 | |
args | Pointer to a struct representing extra sample arguments. "Sample Arguments" can be anything (the number of steps a gibbs-iterator should take, the interval width in MCMC, ... (or nothing), so it is hard to give a meaning to what exactly Sample Arguments should represent... |
unsigned int NumConditionalArgumentsGet | ( | ) | const [inherited] |
Get the Number of conditional arguments.
virtual void NumConditionalArgumentsSet | ( | unsigned int | numconditionalarguments | ) | [virtual, inherited] |
Set the Number of conditional arguments.
numconditionalarguments | the number of conditionalarguments |
Reimplemented in LinearAnalyticConditionalGaussian.
const std::vector<MatrixWrapper::ColumnVector >& ConditionalArgumentsGet | ( | ) | const [inherited] |
Get the whole list of conditional arguments.
void ConditionalArgumentsSet | ( | std::vector< MatrixWrapper::ColumnVector > | ConditionalArguments | ) | [inherited] |
Set the whole list of conditional arguments.
ConditionalArguments | an STL-vector of type Tcontaining the condtional arguments |
const MatrixWrapper::ColumnVector & ConditionalArgumentGet | ( | unsigned int | n_argument | ) | const [inherited] |
Get the n-th argument of the list.
void ConditionalArgumentSet | ( | unsigned int | n_argument, | |
const MatrixWrapper::ColumnVector & | argument | |||
) | [inherited] |
Set the n-th argument of the list.
n_argument | which one of the conditional arguments | |
argument | value of the n-th argument |
unsigned int DimensionGet | ( | ) | const [inherited] |
Get the dimension of the argument.
virtual void DimensionSet | ( | unsigned int | dim | ) | [virtual, inherited] |
Set the dimension of the argument.
dim | the dimension |