root/library/tests/tutorial/kalman_simple.cpp @ 1395

Revision 1064, 0.8 kB (checked in by mido, 14 years ago)

astyle applied all over the library

  • Property svn:eol-style set to native
Line 
1#include "estim/kalman.h"
2using namespace bdm;
3
4// estimation of AR(0) model
5int main() {
6    //dimensions
7    int dx = 3, dy = 3, du = 1;
8    // matrices
9    mat A = eye ( dx );
10    mat B = zeros ( dx, du );
11    mat C = eye ( dx );
12    mat D = zeros ( dy, du );
13    mat Q = eye ( dx );
14    mat R = 0.1 * eye ( dy );
15    //prior
16    mat P0 = 100 * eye ( dx );
17    vec mu0 = zeros ( dx );
18    // Estimator
19    KalmanCh KF;
20    KF.set_parameters ( A, B, C, D,/*covariances*/ Q, R );
21    KF.set_statistics ( mu0, P0 );
22    KF.validate();
23    // Estimation loop
24    for ( int i = 0; i < 100; i++ ) {
25        KF.bayes ( randn ( dy ), randn ( du ) );
26    }
27    //print results
28    cout << "Posterior estimate of x is: "  << endl;
29    cout << "mean: " << KF.posterior().mean() << endl;
30    cout << "variance: " << KF.posterior().variance() << endl;
31}
Note: See TracBrowser for help on using the browser.