Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
00021 #define __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
00022
00023 #include "analyticconditionalgaussian_additivenoise.h"
00024 #include <ginac/ginac.h>
00025 #include <iostream>
00026
00027 namespace BFL
00028 {
00030
00048 class NonLinearAnalyticConditionalGaussian_Ginac : public AnalyticConditionalGaussianAdditiveNoise
00049 {
00050 public:
00052
00060 NonLinearAnalyticConditionalGaussian_Ginac( const GiNaC::matrix& func,
00061 const vector<GiNaC::symbol>& u,
00062 const vector<GiNaC::symbol>& x,
00063 const Gaussian& additiveNoise,
00064 const vector<GiNaC::symbol>& cond );
00065
00067
00075 NonLinearAnalyticConditionalGaussian_Ginac( const GiNaC::matrix& func,
00076 const vector<GiNaC::symbol>& u,
00077 const vector<GiNaC::symbol>& x,
00078 const Gaussian& additiveNoise );
00080 NonLinearAnalyticConditionalGaussian_Ginac( const NonLinearAnalyticConditionalGaussian_Ginac& g);
00081
00083 virtual ~NonLinearAnalyticConditionalGaussian_Ginac();
00084
00086 friend std::ostream& operator<< (std::ostream& os, NonLinearAnalyticConditionalGaussian_Ginac& p);
00087
00089 GiNaC::matrix FunctionGet();
00090
00092 vector<GiNaC::symbol> InputGet();
00093
00095 vector<GiNaC::symbol> StateGet();
00096
00098 vector<GiNaC::symbol> ConditionalGet();
00099
00100
00101 virtual MatrixWrapper::ColumnVector ExpectedValueGet() const;
00102 virtual MatrixWrapper::SymmetricMatrix CovarianceGet() const;
00103
00104
00109 virtual MatrixWrapper::Matrix dfGet(unsigned int i) const;
00110
00111
00112 private:
00113 GiNaC::matrix func_sym;
00114 vector<GiNaC::symbol> cond_sym, u_sym, x_sym;
00115 unsigned int cond_size, u_size, x_size, func_size;
00116 vector<GiNaC::ex> dfunc_dcond, dfunc_dx;
00117
00118
00119 };
00120
00121 }
00122
00123 #endif // __NONLINEAR_SYSTEM_CONDITIONAL_GAUSSIAN_GINAC__
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 11 2019 03:45:12