Changeset 660 for library/bdm/estim/kalman.h
- Timestamp:
- 10/15/09 00:04:30 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/kalman.h
r653 r660 54 54 public: 55 55 StateSpace() : dimx (0), dimy (0), dimu (0), A(), B(), C(), D(), Q(), R() {} 56 //!copy constructor 56 57 StateSpace(const StateSpace<sq_T> &S0) : dimx (S0.dimx), dimy (S0.dimy), dimu (S0.dimu), A(S0.A), B(S0.B), C(S0.C), D(S0.D), Q(S0.Q), R(S0.R) {} 58 //! set all matrix parameters 57 59 void set_parameters (const mat &A0, const mat &B0, const mat &C0, const mat &D0, const sq_T &Q0, const sq_T &R0); 60 //! validation 58 61 void validate(); 59 62 //! not virtual in this case … … 116 119 public: 117 120 Kalman<sq_T>() : BM(), StateSpace<sq_T>(), yrv(),urv(), _K(), est(new enorm<sq_T>){} 121 //! Copy constructor 118 122 Kalman<sq_T>(const Kalman<sq_T> &K0) : BM(K0), StateSpace<sq_T>(K0), yrv(K0.yrv),urv(K0.urv), _K(K0._K), est(new enorm<sq_T>(*K0.est)), fy(K0.fy){} 123 //!set statistics of the posterior 119 124 void set_statistics (const vec &mu0, const mat &P0) {est->set_parameters (mu0, P0); }; 125 //!set statistics of the posterior 120 126 void set_statistics (const vec &mu0, const sq_T &P0) {est->set_parameters (mu0, P0); }; 121 //! posterior127 //! return correctly typed posterior (covariant return) 122 128 const enorm<sq_T>& posterior() const {return *est.get();} 123 129 //! shared posterior … … 138 144 validate(); 139 145 } 146 //! validate object 140 147 void validate() { 141 148 StateSpace<sq_T>::validate(); … … 242 249 est->set_parameters (mu0, P0); 243 250 }; 251 //! access function 244 252 const mat _R() { 245 253 return est->_R().to_mat(); … … 371 379 enorm<chmat> est; 372 380 public: 381 //! set internal parameters 373 382 void set_parameters (Array<EKFCh*> A, int pol0 = 1) { 374 383 Models = A;//TODO: test if evalll is set … … 406 415 } 407 416 } 408 //! posterior density417 //! return correctly typed posterior (covariant return) 409 418 const enorm<chmat>& posterior() const { 410 419 return est;