Show
Ignore:
Timestamp:
08/17/10 22:06:50 (14 years ago)
Author:
smidl
Message:

Kalman with UD (bierman, thorton) and tests

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/tests/stresssuite/kalman_stress.cpp

    r1064 r1158  
    5151    RV ry ( "{y }", vec_1 ( C.rows() ) ); 
    5252 
    53 //      // LDMAT 
    54 //      Kalman<ldmat> KF(rx,ry,ru); 
    55 //      KF.set_parameters(A,B,C,D,ldmat(R),ldmat(Q)); 
    56 //      KF.set_est(mu0,ldmat(P0) ); 
    57 //      epdf& KFep = KF.posterior(); 
    58 //      mat Xt(2,Ndat); 
    59 //      Xt.set_col( 0,KFep.mean() ); 
     53        // LDMAT 
     54        EKF_UD KFu; 
     55        KFu.set_rv(rx); 
     56        KFu.set_yrv(ry); 
     57        KFu.set_rvc(ru); 
     58        shared_ptr<bilinfn> f=new bilinfn; f->set_parameters(A,B); 
     59        shared_ptr<bilinfn> h=new bilinfn; h->set_parameters(C,D); 
     60        KFu.set_parameters(f,h,Q,diag(R)); 
     61        KFu.prior()._mu()=mu0; 
     62        KFu.prior()._R()=ldmat(P0); 
     63        const epdf& KFuep = KFu.posterior(); 
     64        mat Xtu(dimx,Ndat); 
     65        Xtu.set_col( 0,KFuep.mean() ); 
    6066 
    6167    //Chol 
     
    99105    for ( int t = 1; t < Ndat; t++ ) { 
    100106        dt = Dt.get_col ( t ); 
    101         KF.bayes ( dt.get ( 0, C.rows() - 1 ), dt.get ( C.rows(), dt.length() - 1 ) ); 
    102         Xt.set_col ( t, KFep.mean() ); 
     107        KFu.bayes ( dt.get ( 0, C.rows() - 1 ), dt.get ( C.rows(), dt.length() - 1 ) ); 
     108        Xtu.set_col ( t, KFuep.mean() ); 
    103109    } 
    104110    exec_times ( 0 ) = tt.toc(); 
     
    122128 
    123129    it_file fou ( "kalman_stress_res.it" ); 
    124     fou << Name ( "xth" ) << Xt; 
     130    fou << Name ( "xthu" ) << Xtu; 
    125131    fou << Name ( "xth2" ) << Xt2; 
    126132    fou << Name ( "xthE" ) << XtE;