analyticsystemmodel_gaussianuncertainty.cpp
Go to the documentation of this file.
1 // $Id$
2 // Copyright (C) 2002 Klaas Gadeyne <first dot last at gmail dot com>
3 //
4 // This program is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU Lesser General Public License as published by
6 // the Free Software Foundation; either version 2.1 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public License
15 // along with this program; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 //
18 
20 
21 namespace BFL
22 {
23 
24  using namespace MatrixWrapper;
25 
26 
27  // Constructor
30  : SystemModel<ColumnVector>(Systempdf)
31  {}
32 
33  // Copy constructor
34  /*
35  AnalyticSystemModelGaussianUncertainty::AnalyticSystemModelGaussianUncertainty
36  (const AnalyticSystemModelGaussianUncertainty& model)
37  : SystemModel<ColumnVector>(&(model.SystemPdfGet()))
38  {}
39  */
40 
41  // Destructor
43  {}
44 
45 
46  Matrix
47  AnalyticSystemModelGaussianUncertainty::df_dxGet(const ColumnVector& u, const ColumnVector& x)
48  {
49  SystemPdfGet()->ConditionalArgumentSet(0,x);
50  if (SystemPdfGet()->NumConditionalArgumentsGet() == 2) SystemPdfGet()->ConditionalArgumentSet(1,u);
51  return dynamic_cast<AnalyticConditionalGaussian *>(SystemPdfGet())->dfGet(0);
52  }
53 
54 
55  ColumnVector
56  AnalyticSystemModelGaussianUncertainty::PredictionGet(const ColumnVector& u, const ColumnVector& x)
57  {
58  SystemPdfGet()->ConditionalArgumentSet(0,x);
59  if (SystemPdfGet()->NumConditionalArgumentsGet() == 2) SystemPdfGet()->ConditionalArgumentSet(1,u);
60  return SystemPdfGet()->ExpectedValueGet();
61  }
62 
63 
64  SymmetricMatrix
65  AnalyticSystemModelGaussianUncertainty::CovarianceGet(const ColumnVector& u, const ColumnVector& x)
66  {
67  SystemPdfGet()->ConditionalArgumentSet(0,x);
68  if (SystemPdfGet()->NumConditionalArgumentsGet() == 2) SystemPdfGet()->ConditionalArgumentSet(1,u);
69  return dynamic_cast<AnalyticConditionalGaussian *>(SystemPdfGet())->CovarianceGet();
70  }
71 
72 
73 } // End namespace BFL
MatrixWrapper::ColumnVector PredictionGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Returns prediction of state.
virtual ~AnalyticSystemModelGaussianUncertainty()
Default copy Constructor, interface class.
MatrixWrapper::SymmetricMatrix CovarianceGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Covariance of system noise.
MatrixWrapper::Matrix df_dxGet(const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Returns F-matrix.
Abstract Class representing all FULL Analytical Conditional gaussians.
AnalyticSystemModelGaussianUncertainty(AnalyticConditionalGaussian *Systempdf)
Constructor.


bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Mon Feb 28 2022 21:56:33