root/tests/testKF.cpp @ 17

Revision 17, 1.1 kB (checked in by smidl, 16 years ago)

drobne zmeny v Makefile a pridani testKF.it

RevLine 
[7]1#include <itpp/itbase.h>
[15]2#include "../bdm/estim/libKF.h"
[7]3
4using namespace itpp;
5
6//These lines are needed for use of cout and endl
7using std::cout;
8using std::endl;
9
10int main() {
11
[8]12        // Klaman filter
13        mat A, B,C,D,R,Q,P0;
14        vec mu0;
15        mat Mu0;;
16        // input from Matlab
[9]17        it_file fin( "testKF.it" );
[11]18
[8]19        mat Dt, Xt,Xt2;
20        int Ndat;
[7]21
[17]22        fin.seek( "d" );
23        fin >> Dt;
[8]24        fin.seek( "A" ); 
25        fin >> A;
26        fin.seek( "B" ); 
27        fin >> B;
28        fin.seek( "C" ); 
29        fin >> C;
30        fin.seek( "D" ); 
31        fin >> D;
32        fin.seek( "R" ); 
33        fin >> R;
34        fin.seek( "Q" ); fin >> Q;
35        fin.seek( "P0" ); fin >> P0;
36        fin.seek( "mu0" ); fin >> Mu0; mu0=Mu0;
[7]37       
[8]38        Ndat = Dt.cols();
39        Xt=zeros( 2,Ndat );
40        Xt2=zeros( 2,Ndat );
[7]41
[8]42        Kalman<ldmat> KF( A,B,C,D,ldmat(R),ldmat(Q),ldmat(P0),mu0 );
43//      cout << KF;
44        KalmanFull KF2( A,B,C,D,R,Q,P0,mu0 );
45
[7]46        Xt.set_col( 0,KF.mu );
[8]47        Xt2.set_col( 0,KF.mu );
[7]48        for ( int t=1;t<Ndat;t++ ) {
49                KF.bayes( Dt.get_col( t ));
[8]50                KF2.bayes( Dt.get_col( t ));
[7]51                Xt.set_col(t,KF.mu);
[8]52                Xt2.set_col(t,KF2.mu);
[7]53//              Kmu = KF.mu;
54//              cout <<  "t:" <<t<< "  " << dt<<"  "<<Kmu <<endl;
55        }
56
[9]57        it_file fou( "testKF_res.it" );
[7]58        fou << Name("xth") << Xt;
[8]59        fou << Name("xth2") << Xt2;
[7]60        //Exit program:
61        return 0;
62
63}
Note: See TracBrowser for help on using the browser.