Changeset 28 for bdm/estim/libPF.cpp
- Timestamp:
- 02/22/08 16:40:12 (16 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
bdm/estim/libPF.cpp
r14 r28 81 81 } 82 82 83 TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0, mpdf&prop0, int n0 ) : PF(1/n*ones(n)) {83 TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0, BM &prop0, int n0 ) : PF(1/n*ones(n)) { 84 84 is_proposal = true; 85 85 prop = &prop0; … … 99 99 Sort<double> S; 100 100 ivec ind, iw; 101 /*101 102 102 //generate new samples 103 103 for ( i=0;i<n;i++ ) { 104 prop->evalcond( ptcls( i ), &prop_cond ); 105 ptcls( i ) = prop_cond.sample(); 106 gl = prop_cond.eval( ptcls( i ) ); 104 if(is_proposal) { 105 epdf* prop_epdf; 106 // prop_epdf = prop._epdf(); 107 prop->bayes(dt); 108 ptcls( i ) = prop_epdf->sample(); 109 } 110 // gl = prop_cond.eval( ptcls( i ) ); 107 111 108 obs.evalcond( ptcls( i ), &obs_cond );109 ll = obs_cond.eval( dt );112 // obs.evalcond( ptcls( i ), &obs_cond ); 113 // ll = obs_cond.eval( dt ); 110 114 w( i ) *= ll/gl; 111 115 } … … 113 117 for ( i=0;i<n;i++ ){sum+=w( i );}; 114 118 w( i ) /=sum; //? 115 //119 116 120 ind = resample(); 117 121 iw = S.sort_index( 0,n-1,w ); // the first one in iw is the strongest … … 120 124 ptcls( i ) = ptcls( i ); //potentionally dangerous! 121 125 } 122 */126 123 127 }