Legend:
- Unmodified
- Added
- Removed
-
bdm/estim/ekf_templ.h
r141 r229 29 29 }; 30 30 31 //!Extended Kalman filter in Choleski form with unknown \c Q 32 class EKFCh_unQ : public EKFCh , public BMcond { 33 public: 34 //! Default constructor 35 EKFCh_unQ ( RV rx, RV ry,RV ru,RV rQ ) :EKFCh ( rx,ry,ru ),BMcond ( rQ ) {}; 36 void condition ( const vec &Q0 ) { 37 Q.setD ( Q0,0 ); 38 //from EKF 39 preA.set_submatrix ( dimy+dimx,dimy,Q._Ch() ); 40 }; 41 }; 31 42 32 43 #endif //EKF_TEMP_H -
bdm/estim/libPF.h
r225 r229 88 88 // ugly 89 89 vec pom=zeros ( ( Coms ( 0 )->_rv() ).count() ); 90 91 90 for ( int i=0; i<_w.length(); i++ ) {pom += Coms ( i )->mean() * _w ( i );} 92 93 91 return concat ( E.mean(),pom ); 92 } 93 vec variance() const { 94 // ugly 95 vec pom=zeros ( ( Coms ( 0 )->_rv() ).count() ); 96 vec pom2=zeros ( ( Coms ( 0 )->_rv() ).count() ); 97 for ( int i=0; i<_w.length(); i++ ) { 98 pom += Coms ( i )->mean() * _w ( i ); 99 pom2 += (Coms ( i )->variance() + pow(Coms(i)->mean(),2)) * _w ( i );} 100 return concat ( E.variance(),pom2-pow(pom,2) ); 94 101 } 95 102 -
bdm/estim/merger.h
r211 r229 102 102 return tmp; 103 103 } 104 mat variance() const {104 mat covariance() const { 105 105 const vec &w = eSmp._w(); 106 106 const Array<vec> &S = eSmp._samples(); … … 115 115 } 116 116 return Tmp-outer_product(mea,mea); 117 } 118 vec variance() const { 119 const vec &w = eSmp._w(); 120 const Array<vec> &S = eSmp._samples(); 121 122 vec tmp=zeros(rv.count()); 123 for ( int i=0; i<Ns; i++ ) { 124 tmp+=w ( i ) *pow(S ( i ),2); 125 } 126 return tmp-pow(mean(),2); 117 127 } 118 128 //! for future use