Changeset 22 for tests/testKF.cpp

Show
Ignore:
Timestamp:
02/18/08 17:50:37 (16 years ago)
Author:
smidl
Message:

upravy Kalmana

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • tests/testKF.cpp

    r19 r22  
    11#include <itpp/itbase.h> 
    2 #include "../bdm/estim/libKF.h" 
     2#include <estim/libKF.h> 
    33 
    44using namespace itpp; 
     
    1818        it_file fin( "testKF.it" ); 
    1919 
    20         mat Dt, Xt,Xt2; 
     20        mat Dt, Xt,Xt2,XtE; 
    2121        int Ndat; 
    2222 
     
    4141        Xt=zeros( 2,Ndat ); 
    4242        Xt2=zeros( 2,Ndat ); 
     43        XtE=zeros( 2,Ndat ); 
    4344 
    44         Kalman<ldmat> KF( A,B,C,D,ldmat(diag(R)),ldmat(diag(Q)),ldmat(diag(P0)),mu0 ); 
     45        Kalman<fsqmat> KF( A,B,C,D,fsqmat(R),fsqmat(Q),fsqmat(P0),mu0 ); 
    4546//      cout << KF; 
    4647        KalmanFull KF2( A,B,C,D,R,Q,P0,mu0 ); 
     48        RV rx("1","{x}","2","0","0"); 
     49        RV ru("2","{u}","1","0","0"); 
     50        RV ry("3","{y}","1","0","0"); 
     51        bilinfn fxu(rx,ru,A,B); 
     52        bilinfn hxu(rx,ru,C,D); 
     53        EKF<fsqmat> KFE(&fxu,&hxu,Q,R,mu0,P0); 
    4754 
    4855        Xt.set_col( 0,KF.mu ); 
    4956        Xt2.set_col( 0,KF.mu ); 
     57        XtE.set_col( 0,KF.mu ); 
    5058        for ( int t=1;t<Ndat;t++ ) { 
    5159                KF.bayes( Dt.get_col( t )); 
    5260                KF2.bayes( Dt.get_col( t )); 
     61                KFE.bayes( Dt.get_col( t )); 
    5362                Xt.set_col(t,KF.mu); 
    5463                Xt2.set_col(t,KF2.mu); 
     64                XtE.set_col(t,KFE.mu); 
    5565//              Kmu = KF.mu; 
    5666//              cout <<  "t:" <<t<< "  " << dt<<"  "<<Kmu <<endl; 
     
    6070        fou << Name("xth") << Xt; 
    6171        fou << Name("xth2") << Xt2; 
     72        fou << Name("xthE") << XtE; 
    6273        //Exit program: 
    6374        return 0;