Changeset 900 for library/bdm/estim
- Timestamp:
- 04/11/10 22:05:11 (14 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/particles.h
r887 r900 50 50 public: 51 51 MarginalizedParticle():est(*this){}; 52 MarginalizedParticle(const MarginalizedParticle &m2):est(*this){ 53 bm = m2.bm->_copy(); 54 est_emp = m2.est_emp; 55 par = m2.par; 56 validate(); 57 }; 52 58 BM* _copy() const{return new MarginalizedParticle(*this);}; 53 59 void bayes(const vec &dt, const vec &cond){ … … 93 99 } 94 100 void validate(){ 95 yrv = bm->_rv(); 96 dimy = bm->dimension(); 97 set_rv( par->_rv()); 98 set_dim( par->dimension()); 99 100 rvc = par->_rvc().subt(par->_rv().copy_t(-1)); 101 rvc.add(bm->_rvc()); // 101 est_emp.set_point(zeros(par->dimension())); 102 est.validate(); 103 104 yrv = bm->_yrv(); 105 dimy = bm->dimensiony(); 106 set_rv( concat(bm->_rv(), par->_rv())); 107 set_dim( par->dimension()+bm->dimension()); 108 109 rvc = par->_rvc(); 110 rvc.add(bm->_rvc()); 111 rvc=rvc.subt(par->_rv()); 112 rvc=rvc.subt(par->_rv().copy_t(-1)); 113 rvc=rvc.subt(bm->_rv().copy_t(-1)); // 102 114 103 115 cond2bm=new datalink_part; … … 107 119 cond2bm->set_connection(bm->_rvc(), rvc); 108 120 cond2par->set_connection(par->_rvc(), rvc); 109 emp2bm->set_connection(bm->_rvc(), _rv());110 emp2par->set_connection(par->_rvc(), _rv().copy_t(-1));121 emp2bm->set_connection(bm->_rvc(), par->_rv()); 122 emp2par->set_connection(par->_rvc(), par->_rv().copy_t(-1)); 111 123 112 124 dimc = rvc._dsize();