Changeset 744 for library/bdm/estim/ekf_template.h
- Timestamp:
- 11/28/09 14:38:48 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/ekf_template.h
r477 r744 22 22 public: 23 23 void condition ( const vec &QR0 ) { 24 Q = diag ( QR0 ( 0, dim x- 1 ) );25 R = diag ( QR0 ( dim x, dimx+ dimy - 1 ) );24 Q = diag ( QR0 ( 0, dimension() - 1 ) ); 25 R = diag ( QR0 ( dimension(), dimension() + dimy - 1 ) ); 26 26 }; 27 27 }; … … 30 30 class EKFCh_dQ : public EKFCh { 31 31 public: 32 void condition ( const vec &Q0 ) { 33 Q.setD ( Q0, 0 ); 32 BM* _copy_() const {return new EKFCh_dQ(*this);} 33 //! new bayes, expects cond = [ut, Qt] 34 void bayes( const vec &yt , const vec &cond) { 35 vec ut=cond.left(dimc-dimension()); 36 vec dQt=cond.right(dimension()); 37 Q.setD ( dQt, 0 ); 34 38 //from EKF 35 preA.set_submatrix ( dimy + dimx, dimy, Q._Ch() ); 39 preA.set_submatrix ( dimy + dimension(), dimy, Q._Ch() ); 40 41 EKFCh::bayes(yt,ut); 36 42 }; 43 void validate() { 44 EKFCh::validate(); 45 dimc += dimension(); 46 } 37 47 }; 38 48 … … 43 53 Q.setCh ( chQ0 ); 44 54 //from EKF 45 preA.set_submatrix ( dimy + dim x, dimy, Q._Ch() );55 preA.set_submatrix ( dimy + dimension(), dimension(), Q._Ch() ); 46 56 }; 47 57 };