libPF.cpp libPF.h #include"libPF.h" usingnamespaceitpp; usingstd::endl; voidPF::bayes(constvec&dt){ inti; veclls(n); ivecind; doublemlls=-std::numeric_limits<double>::infinity(),sum=0.0; for(i=0;i<n;i++){ //generatenewsamplesfromparamaterevolutionmodel; _samples(i)=par.samplecond(_samples(i),lls(i)); lls(i)*=obs.evalcond(dt,_samples(i)); if(lls(i)>mlls)mlls=lls(i);//findmaximum } //computeweights for(i=0;i<n;i++){ _w(i)*=exp(lls(i)-mlls);//multiplywbylikelihood } //renormalize for(i=0;i<n;i++){sum+=_w(i);}; _w(i)/=sum;//? ind=est.resample(); } voidPF::set_est(constepdf&epdf0){ inti; for(i=0;i<n;i++){ _samples(i)=epdf0.sample(); } } //MPF::MPF:{}