Bayesian Filtering Library Generated from SVN r
nonlinearanalyticmeasurementmodel_gaussianuncertainty_ginac.h
1// $Id$
2// Copyright (C) 2002 Klaas Gadeyne <first dot last at gmail dot com>
3// Wim Meeussen <wim dot meeussen at mech dot kuleuven dot ac dot be>
4//
5// This program is free software; you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation; either version 2.1 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU Lesser General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with this program; if not, write to the Free Software
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18//
19#ifndef __NON_LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY_GINAC__
20#define __NON_LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY_GINAC__
21
22#include "analyticmeasurementmodel_gaussianuncertainty.h"
23#include "../pdf/gaussian.h"
24#include "../pdf/nonlinearanalyticconditionalgaussian_ginac.h"
25#include <ginac/ginac.h>
26#include <vector>
27#include <iostream>
28
29namespace BFL
30{
31
32 using namespace std;
33
35
41 {
42
43 public:
45
48
50 // NonLinearAnalyticMeasurementModelGaussianUncertainty_Ginac(const NonLinearAnalyticMeasurementModelGaussianUncertainty_Ginac& model);
51
54
56 // Not yet implemented
57 /*
58 friend std::ostream& operator<< (std::ostream& os,
59 NonLinearAnalyticMeasurementModelGaussianUncertainty_Ginac&
60 //m);
61 */
62
63 // redefinition of virtual functions
64 virtual MatrixWrapper::Matrix df_dxGet (const MatrixWrapper::ColumnVector& u,
65 const MatrixWrapper::ColumnVector& x);
66 virtual MatrixWrapper::ColumnVector PredictionGet(const MatrixWrapper::ColumnVector& u,
67 const MatrixWrapper::ColumnVector& x);
68 virtual MatrixWrapper::SymmetricMatrix CovarianceGet(const MatrixWrapper::ColumnVector& u,
69 const MatrixWrapper::ColumnVector& x);
70
72 GiNaC::matrix FunctionGet();
73
75 vector<GiNaC::symbol> StateGet();
76
78 vector<GiNaC::symbol> InputGet();
79
81 vector<GiNaC::symbol> ConditionalGet();
82
83 };
84
85} // End namespace BFL
86
87#endif // __NON_LINEAR_MEASUREMENT_MODEL_GAUSSIAN_UNCERTAINTY_GINAC__
Conditional Gaussian for an analytic nonlinear system using Ginac:
Class for nonlinear analytic measurementmodels with additive gaussian noise.
virtual MatrixWrapper::SymmetricMatrix CovarianceGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Returns covariance on the measurement.
virtual MatrixWrapper::ColumnVector PredictionGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Returns estimation of measurement.
NonLinearAnalyticMeasurementModelGaussianUncertainty_Ginac(NonLinearAnalyticConditionalGaussian_Ginac *const pdf)
Constructor.
vector< GiNaC::symbol > StateGet()
Get State symbols.
vector< GiNaC::symbol > InputGet()
Get input symbols.
virtual ~NonLinearAnalyticMeasurementModelGaussianUncertainty_Ginac()
copy constructor
vector< GiNaC::symbol > ConditionalGet()
Get conditional arguments.
virtual MatrixWrapper::Matrix df_dxGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
output stream for measurement model