Class representing a PDF on a discrete variable.
More...
#include <mixtureParticleFilter.h>
|
unsigned int | _num_states |
| The number of discrete state.
|
|
vector< Probability > * | _Values_p |
| Pointer to the discrete PDF-values, the sum of the elements = 1.
|
|
vector< double > | _CumPDF |
| STL-vector containing the Cumulative PDF (for efficient sampling)
|
|
Class representing a PDF on a discrete variable.
This class is an instantation from the template class Pdf, with added methods to get a set the probability of a certain discrete value (methods only relevant for discrete pdfs)
Definition at line 34 of file mixtureParticleFilter.h.
Constructor (dimension = number of classes) An equal probability is set for all classes.
- Parameters
-
num_states | number of different classes or states |
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf.
Get first order statistic (Covariance) of this AnalyticPdf
- Returns
- The Covariance of the Pdf (a SymmetricMatrix of dim DIMENSION)
- Todo:
- extend this more general to n-th order statistic
- Bug:
- Discrete pdfs should not be able to use this!
unsigned int DimensionGet |
( |
| ) |
const |
|
inherited |
Get the dimension of the argument.
- Returns
- the dimension of the argument
virtual void DimensionSet |
( |
unsigned int |
dim | ) |
|
|
virtualinherited |
Set the dimension of the argument.
- Parameters
-
virtual int ExpectedValueGet |
( |
| ) |
const |
|
virtualinherited |
Get the expected value E[x] of the pdf.
Get low order statistic (Expected Value) of this AnalyticPdf
- Returns
- The Expected Value of the Pdf (a ColumnVector with DIMENSION rows)
- Note
- No set functions here! This can be useful for analytic functions, but not for sample based representations!
-
For certain discrete Pdfs, this function has no meaning, what is the average between yes and no?
bool ProbabilitiesSet |
( |
vector< Probability > & |
values | ) |
|
Set all probabilities.
- Parameters
-
values | vector<Probability> containing the new probability values. The sum of the probabilities of this list is not required to be one since the normalization is automatically carried out. |
Function to change/set the probability of a single state.
Changes the probabilities such that AFTER normalization the probability of the state "state" is equal to the probability a
- Parameters
-
state | number of state of which the probability will be set |
a | probability value to which the probability of state "state" will be set (must be <= 1) |
bool SampleFrom |
( |
vector< Sample< int > > & |
list_samples, |
|
|
const unsigned int |
num_samples, |
|
|
int |
method = DEFAULT , |
|
|
void * |
args = NULL |
|
) |
| const |
|
virtual |
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 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... |
- 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 from Pdf< int >.
bool SampleFrom |
( |
Sample< int > & |
one_sample, |
|
|
int |
method = DEFAULT , |
|
|
void * |
args = NULL |
|
) |
| const |
|
virtual |
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 a #define statement, eg. #define BOXMULLER 1 |
args | Pointer to a struct representing extra sample arguments |
- See Also
- SampleFrom()
- Bug:
- Sometimes the compiler doesn't know which method to choose!
Reimplemented from Pdf< int >.
The documentation for this class was generated from the following file: