Class representing a PDF on a discrete variable. More...
#include <discretepdf.h>
Public Member Functions | |
virtual DiscretePdf * | Clone () const |
Clone function. More... | |
DiscretePdf (unsigned int num_states=0) | |
Constructor (dimension = number of classes) An equal probability is set for all classes. More... | |
DiscretePdf (const DiscretePdf &) | |
Copy Constructor. More... | |
int | MostProbableStateGet () |
Get the index of the most probable state. More... | |
unsigned int | NumStatesGet () const |
Get the number of discrete States. More... | |
vector< Probability > | ProbabilitiesGet () const |
Get all probabilities. More... | |
bool | ProbabilitiesSet (vector< Probability > &values) |
Set all probabilities. More... | |
Probability | ProbabilityGet (const int &state) const |
Implementation of virtual base class method. More... | |
bool | ProbabilitySet (int state, Probability a) |
Function to change/set the probability of a single state. More... | |
bool | SampleFrom (vector< Sample< int > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const |
bool | SampleFrom (Sample< int > &one_sample, int method=DEFAULT, void *args=NULL) const |
Draw 1 sample from the Pdf: More... | |
virtual | ~DiscretePdf () |
Destructor. More... | |
Public Member Functions inherited from BFL::BFL::Pdf< int > | |
virtual MatrixWrapper::SymmetricMatrix | CovarianceGet () const |
Get the Covariance Matrix E[(x - E[x])^2] of the Analytic pdf. More... | |
unsigned int | DimensionGet () const |
Get the dimension of the argument. More... | |
virtual void | DimensionSet (unsigned int dim) |
Set the dimension of the argument. More... | |
virtual int | ExpectedValueGet () const |
Get the expected value E[x] of the pdf. More... | |
Pdf (unsigned int dimension=0) | |
Constructor. More... | |
virtual bool | SampleFrom (vector< Sample< int > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const |
Draw multiple samples from the Pdf (overloaded) More... | |
virtual | ~Pdf () |
Destructor. More... | |
Protected Member Functions | |
bool | CumPDFUpdate () |
Updates the cumPDF. More... | |
bool | NormalizeProbs () |
Normalize all the probabilities (eg. after setting a probability) More... | |
Protected Attributes | |
vector< double > | _CumPDF |
STL-vector containing the Cumulative PDF (for efficient sampling) More... | |
unsigned int | _num_states |
The number of discrete state. More... | |
vector< Probability > * | _Values_p |
Pointer to the discrete PDF-values, the sum of the elements = 1. More... | |
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 discretepdf.h.
BFL::DiscretePdf::DiscretePdf | ( | unsigned int | num_states = 0 | ) |
Constructor (dimension = number of classes) An equal probability is set for all classes.
num_states | number of different classes or states |
BFL::DiscretePdf::DiscretePdf | ( | const DiscretePdf & | ) |
Copy Constructor.
|
virtual |
Destructor.
|
virtual |
Clone function.
Implements BFL::BFL::Pdf< int >.
|
protected |
Updates the cumPDF.
int BFL::DiscretePdf::MostProbableStateGet | ( | ) |
Get the index of the most probable state.
|
protected |
Normalize all the probabilities (eg. after setting a probability)
unsigned int BFL::DiscretePdf::NumStatesGet | ( | ) | const |
Get the number of discrete States.
vector<Probability> BFL::DiscretePdf::ProbabilitiesGet | ( | ) | const |
Get all probabilities.
bool BFL::DiscretePdf::ProbabilitiesSet | ( | vector< Probability > & | values | ) |
Set all probabilities.
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. |
|
virtual |
Implementation of virtual base class method.
Reimplemented from BFL::BFL::Pdf< int >.
bool BFL::DiscretePdf::ProbabilitySet | ( | int | state, |
Probability | a | ||
) |
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
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 BFL::DiscretePdf::SampleFrom | ( | vector< Sample< int > > & | list_samples, |
const unsigned int | num_samples, | ||
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!
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 BFL::BFL::Pdf< int >.
|
protected |
STL-vector containing the Cumulative PDF (for efficient sampling)
Definition at line 47 of file discretepdf.h.
|
protected |
The number of discrete state.
Definition at line 38 of file discretepdf.h.
|
protected |
Pointer to the discrete PDF-values, the sum of the elements = 1.
Definition at line 41 of file discretepdf.h.