22 #define NUMCONDARGUMENTS_MOBILE 2 39 ColumnVector state = ConditionalArgumentGet(0);
40 ColumnVector vel = ConditionalArgumentGet(1);
41 state(1) += cos(state(3)) * vel(1);
42 state(2) += sin(state(3)) * vel(1);
44 return state + AdditiveNoiseMuGet();
51 ColumnVector state = ConditionalArgumentGet(0);
52 ColumnVector vel = ConditionalArgumentGet(1);
56 df(1,3)=-vel(1)*sin(state(3));
59 df(2,3)=vel(1)*cos(state(3));
67 if (i >= NumConditionalArgumentsGet())
69 cerr <<
"This pdf Only has " << NumConditionalArgumentsGet() <<
" conditional arguments\n";
73 cerr <<
"The df is not implemented for the" <<i <<
"th conditional argument\n";
NonLinearAnalyticConditionalGaussianMobile(const Gaussian &additiveNoise)
Constructor.
virtual ~NonLinearAnalyticConditionalGaussianMobile()
Destructor.
#define NUMCONDARGUMENTS_MOBILE
virtual MatrixWrapper::ColumnVector ExpectedValueGet() const
Get the expected value E[x] of the pdf.
virtual MatrixWrapper::Matrix dfGet(unsigned int i) const
returns derivative from function to n-th conditional variable