Changeset 477 for library/tests/tutorial
- Timestamp:
- 08/05/09 14:40:03 (16 years ago)
- Location:
- library/tests/tutorial
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
library/tests/tutorial/arx_simple.cpp
r386 r477 1 1 #include "estim/arx.h" 2 2 using namespace bdm; 3 3 4 4 // estimation of AR(0) model 5 5 int main() { 6 //prior 7 mat V0 = 0.00001*eye(2); V0(0,0)= 0.1; // 8 ARX Ar; 9 Ar.set_statistics(1, V0); //nu is default (set to have finite moments) 10 // forgetting is default: 1.0 11 mat Data = concat_vertical( randn(1,100), ones(1,100) ); 12 Ar.bayesB( Data); 13 14 cout << "Expected value of Theta is: " << Ar.posterior().mean() <<endl; 6 //prior 7 mat V0 = 0.00001 * eye ( 2 ); 8 V0 ( 0, 0 ) = 0.1; // 9 ARX Ar; 10 Ar.set_statistics ( 1, V0 ); //nu is default (set to have finite moments) 11 // forgetting is default: 1.0 12 mat Data = concat_vertical ( randn ( 1, 100 ), ones ( 1, 100 ) ); 13 Ar.bayesB ( Data ); 14 15 cout << "Expected value of Theta is: " << Ar.posterior().mean() << endl; 15 16 } -
library/tests/tutorial/kalman_simple.cpp
r386 r477 1 1 #include "estim/kalman.h" 2 2 using namespace bdm; 3 3 4 4 // estimation of AR(0) model 5 5 int main() { 6 6 //dimensions 7 int dx =3, dy=3, du=1;7 int dx = 3, dy = 3, du = 1; 8 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);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 15 //prior 16 mat P0 = 100 *eye(dx);17 vec mu0 = zeros (dx);16 mat P0 = 100 * eye ( dx ); 17 vec mu0 = zeros ( dx ); 18 18 // Estimator 19 19 KalmanCh KF; 20 KF.set_parameters (A,B,C,D,/*covariances*/ Q,R);21 KF.set_statistics (mu0,P0);20 KF.set_parameters ( A, B, C, D,/*covariances*/ Q, R ); 21 KF.set_statistics ( mu0, P0 ); 22 22 // Estimation loop 23 for ( int i=0;i<100;i++){24 KF.bayes (randn(dx+du));23 for ( int i = 0; i < 100; i++ ) { 24 KF.bayes ( randn ( dx + du ) ); 25 25 } 26 26 //print results 27 27 cout << "Posterior estimate of x is: " << endl; 28 cout << "mean: " << KF.posterior().mean()<< endl;29 cout << "variance: " << KF.posterior().variance()<< endl;28 cout << "mean: " << KF.posterior().mean() << endl; 29 cout << "variance: " << KF.posterior().variance() << endl; 30 30 }