EKFProposalDensity (AnalyticSystemModelGaussianUncertainty *SysModel, AnalyticMeasurementModelGaussianUncertainty *MeasModel)
Constructor.
virtual ~EKFProposalDensity ()
Destructor.
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
returns derivative from function to n-th conditional variable
void SystemModelSet (AnalyticSystemModelGaussianUncertainty *SysModel)
Set SystemModel .
void MeasurementModelSet (AnalyticMeasurementModelGaussianUncertainty *MeasModel)
Set Measurementmodel.
void SampleCovSet (MatrixWrapper::SymmetricMatrix &cov)
Set SampleCov.
virtual ConditionalGaussian * Clone () const
Clone function.
virtual Probability ProbabilityGet (const MatrixWrapper::ColumnVector &input) const
virtual Probability ProbabilityGet (const T &input) const
Get the probability of a certain argument.
virtual bool SampleFrom (Sample < MatrixWrapper::ColumnVector > &sample, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
virtual bool SampleFrom (std::vector< Sample < MatrixWrapper::ColumnVector > > &samples, const unsigned int num_samples, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
virtual bool SampleFrom (vector< Sample < T > > &list_samples, const unsigned int num_samples, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
Draw multiple samples from the Pdf (overloaded)
virtual bool SampleFrom (Sample < T > &one_sample, const SampleMthd method=SampleMthd::DEFAULT, void *args=NULL) const
Draw 1 sample from the Pdf :
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.
virtual 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.
virtual 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.
Proposal Density for non-linear systems with additive Gaussian Noise (using a EKF Filter )
Calculates an importance density for all systems of the form
This means all systems with a system equation and measurement equation that use a AnalyticConditionalGaussian Class.
Definition at line 36 of file EKF_proposaldensity.h .
bool SampleFrom
(
Sample < T > &
one_sample ,
const SampleMthd
method = SampleMthd::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!
Parameters
one_sample sample that will contain result of sampling
method Sampling method to be used. Each sampling method is currently represented by an enum, eg. SampleMthd::BOXMULLER
args Pointer to a struct representing extra sample arguments
See also SampleFrom()
Bug: Sometimes the compiler doesn't know which method to choose!
Reimplemented in DiscretePdf , Gaussian , Uniform , MCPdf< T > , and Mixture< T > .
Definition at line 194 of file pdf.h .
bool SampleFrom
(
vector< Sample < T > > &
list_samples ,
const unsigned int
num_samples ,
const SampleMthd
method = SampleMthd::DEFAULT
,
void *
args = NULL
)
const
virtual inherited
Draw multiple samples from the Pdf (overloaded)
Parameters
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 an enum eg. SampleMthd::BOXMULLER
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...
Todo: replace the C-call "void * args" by a more object-oriented structure: Perhaps something like virtual Sample * Sample (const int num_samples,class Sampler)
Bug: Sometimes the compiler doesn't know which method to choose!
Reimplemented in DiscretePdf , Gaussian , Uniform , MCPdf< T > , and Mixture< T > .
Definition at line 179 of file pdf.h .
Referenced by MCPdf< T >::SampleFrom() , and Mixture< T >::SampleFrom() .