Changeset 28 for bdm/estim/libPF.cpp

Show
Ignore:
Timestamp:
02/22/08 16:40:12 (16 years ago)
Author:
smidl
Message:

prelozitelna verze

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • bdm/estim/libPF.cpp

    r14 r28  
    8181} 
    8282 
    83 TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0, mpdf &prop0, int n0 ) : PF(1/n*ones(n)) { 
     83TrivialPF::TrivialPF( mpdf &par0, mpdf &obs0, BM &prop0, int n0 ) : PF(1/n*ones(n)) { 
    8484        is_proposal = true; 
    8585        prop = &prop0; 
     
    9999        Sort<double> S; 
    100100        ivec ind, iw; 
    101         /* 
     101         
    102102        //generate new samples 
    103103        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 ) ); 
    107111 
    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 ); 
    110114                w( i ) *= ll/gl; 
    111115        } 
     
    113117        for ( i=0;i<n;i++ ){sum+=w( i );}; 
    114118        w( i ) /=sum; //? 
    115         // 
     119         
    116120        ind = resample(); 
    117121        iw = S.sort_index( 0,n-1,w ); // the first one in iw is the strongest 
     
    120124                ptcls( i ) = ptcls( i ); //potentionally dangerous! 
    121125        } 
    122         */ 
     126         
    123127}