Show
Ignore:
Timestamp:
08/05/09 14:40:03 (15 years ago)
Author:
mido
Message:

panove, vite, jak jsem peclivej na upravu kodu.. snad se vam bude libit:) konfigurace je v souboru /system/astylerc

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/tests/test_kalman_QR.cpp

    r461 r477  
    1111int main() { 
    1212        // Klaman filter 
    13         mat A, B,C,D,R,Q,P0; 
     13        mat A, B, C, D, R, Q, P0; 
    1414        vec mu0; 
    1515        mat Mu0;// read from matlab 
    1616        // input from Matlab 
    17         it_file fin( "testKF.it" ); 
     17        it_file fin ( "testKF.it" ); 
    1818 
    19         mat Dt, XQRt,eR,eQ; 
     19        mat Dt, XQRt, eR, eQ; 
    2020        int Ndat; 
    2121 
    22         bool xxx= fin.seek( "d" ); 
    23         if (!xxx){ it_error("testKF.it not found");} 
    24         fin >>Dt; 
    25         fin.seek( "A" );  
     22        bool xxx = fin.seek ( "d" ); 
     23        if ( !xxx ) { 
     24                it_error ( "testKF.it not found" ); 
     25        } 
     26        fin >> Dt; 
     27        fin.seek ( "A" ); 
    2628        fin >> A; 
    27         fin.seek( "B" );  
     29        fin.seek ( "B" ); 
    2830        fin >> B; 
    29         fin.seek( "C" );  
     31        fin.seek ( "C" ); 
    3032        fin >> C; 
    31         fin.seek( "D" );  
     33        fin.seek ( "D" ); 
    3234        fin >> D; 
    33         fin.seek( "R" );  
     35        fin.seek ( "R" ); 
    3436        fin >> R; 
    35         fin.seek( "Q" ); fin >> Q; 
    36         fin.seek( "P0" ); fin >> P0; 
    37         fin.seek( "mu0" ); fin >> Mu0;  
    38         mu0=Mu0.get_col(0); 
    39          
     37        fin.seek ( "Q" ); 
     38        fin >> Q; 
     39        fin.seek ( "P0" ); 
     40        fin >> P0; 
     41        fin.seek ( "mu0" ); 
     42        fin >> Mu0; 
     43        mu0 = Mu0.get_col ( 0 ); 
     44 
    4045        Ndat = Dt.cols(); 
    41         XQRt=zeros( 5,Ndat ); 
    42         mat Xt=zeros( 2,Ndat ); 
     46        XQRt = zeros ( 5, Ndat ); 
     47        mat Xt = zeros ( 2, Ndat ); 
    4348 
    4449//      cout << KF; 
    45         RV rx("{x }","2"); 
    46         RV ru("{u }","1"); 
    47         RV ry("{y }","1"); 
    48         RV rQR("{Q,R }","3"); 
     50        RV rx ( "{x }", "2" ); 
     51        RV ru ( "{u }", "1" ); 
     52        RV ry ( "{y }", "1" ); 
     53        RV rQR ( "{Q,R }", "3" ); 
    4954        // 
    5055        KFcondQR KF; 
    5156        // KF with R unknown 
    52         KF.set_parameters(A,B,C,D,ldmat(R),ldmat(Q)); 
    53         KF.set_est(mu0,ldmat(P0) ); 
     57        KF.set_parameters ( A, B, C, D, ldmat ( R ), ldmat ( Q ) ); 
     58        KF.set_est ( mu0, ldmat ( P0 ) ); 
    5459        // 
    5560        Kalman<ldmat> KFtr; 
    5661        // KF with R unknown 
    57         KFtr.set_parameters(A,B,C,D,ldmat(R),ldmat(Q)); 
    58         KFtr.set_est(mu0,ldmat(P0) ); 
    59                  
     62        KFtr.set_parameters ( A, B, C, D, ldmat ( R ), ldmat ( Q ) ); 
     63        KFtr.set_est ( mu0, ldmat ( P0 ) ); 
     64 
    6065        mgamma evolQR; 
    61         evolQR.set_parameters(10.0,"1 1 1"); //sigma = 1/10 mu 
    62          
     66        evolQR.set_parameters ( 10.0, "1 1 1" ); //sigma = 1/10 mu 
     67 
    6368        MPF<KFcondQR> KF_QR; 
    64         KF_QR.set_parameters(&evolQR,&evolQR,100); 
    65         evolQR.condition("1 1 1"); 
    66         KF_QR.set_statistics(evolQR.e(), &KF); 
    67         const epdf& mpost=KF_QR.posterior(); 
    68         const epdf& mposttr=KFtr.posterior(); 
     69        KF_QR.set_parameters ( &evolQR, &evolQR, 100 ); 
     70        evolQR.condition ( "1 1 1" ); 
     71        KF_QR.set_statistics ( evolQR.e(), &KF ); 
     72        const epdf& mpost = KF_QR.posterior(); 
     73        const epdf& mposttr = KFtr.posterior(); 
    6974 
    70         XQRt.set_col( 0,mpost.mean()); 
    71         Xt.set_col( 0,mposttr.mean()); 
    72         for ( int t=1;t<Ndat;t++ ) { 
    73                 KF_QR.bayes( Dt.get_col( t )); 
    74                 KFtr.bayes( Dt.get_col( t )); 
    75                  
    76                 XQRt.set_col(t,mpost.mean()); 
    77                 Xt.set_col(t,mposttr.mean()); 
     75        XQRt.set_col ( 0, mpost.mean() ); 
     76        Xt.set_col ( 0, mposttr.mean() ); 
     77        for ( int t = 1; t < Ndat; t++ ) { 
     78                KF_QR.bayes ( Dt.get_col ( t ) ); 
     79                KFtr.bayes ( Dt.get_col ( t ) ); 
     80 
     81                XQRt.set_col ( t, mpost.mean() ); 
     82                Xt.set_col ( t, mposttr.mean() ); 
    7883        } 
    79          
    80         it_file fou( "testKF_QR_res.it" ); 
    81         fou << Name("xqrth") << XQRt; 
    82         fou << Name("xth") << Xt; 
     84 
     85        it_file fou ( "testKF_QR_res.it" ); 
     86        fou << Name ( "xqrth" ) << XQRt; 
     87        fou << Name ( "xth" ) << Xt; 
    8388        //Exit program: 
    8489        return 0;