Changeset 477 for library/bdm/estim/particles.cpp
- Timestamp:
- 08/05/09 14:40:03 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/particles.cpp
r461 r477 9 9 vec lls ( n ); 10 10 ivec ind; 11 double mlls =-std::numeric_limits<double>::infinity(), sum=0.0;11 double mlls = -std::numeric_limits<double>::infinity(), sum = 0.0; 12 12 13 for ( i =0;i<n;i++ ) {13 for ( i = 0; i < n; i++ ) { 14 14 //generate new samples from paramater evolution model; 15 15 _samples ( i ) = par->samplecond ( _samples ( i ) ); 16 16 lls ( i ) = par->e()->evallog ( _samples ( i ) ); 17 lls ( i ) *= obs->evallogcond ( dt, _samples ( i ) );17 lls ( i ) *= obs->evallogcond ( dt, _samples ( i ) ); 18 18 19 if ( lls ( i ) > mlls ) mlls=lls ( i ); //find maximum19 if ( lls ( i ) > mlls ) mlls = lls ( i ); //find maximum 20 20 } 21 21 22 22 // compute weights 23 for ( i =0;i<n;i++ ) {23 for ( i = 0; i < n; i++ ) { 24 24 _w ( i ) *= exp ( lls ( i ) - mlls ); // multiply w by likelihood 25 25 } 26 26 27 27 //renormalize 28 for ( i=0;i<n;i++ ) {sum+=_w ( i );}; 28 for ( i = 0; i < n; i++ ) { 29 sum += _w ( i ); 30 }; 29 31 30 _w ( i ) /= sum; //?32 _w ( i ) /= sum; //? 31 33 32 ind = est.resample (resmethod);34 ind = est.resample ( resmethod ); 33 35 34 36 } … … 36 38 // void PF::set_est ( const epdf &epdf0 ) { 37 39 // int i; 38 // 40 // 39 41 // for ( i=0;i<n;i++ ) { 40 42 // _samples ( i ) = epdf0.sample();