Changeset 283 for doprava/model.h
- Timestamp:
- 02/24/09 14:14:01 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
doprava/model.h
r278 r283 5 5 6 6 using namespace bdm; 7 8 //Tady se naplni "popis" jednotlivych nahodnych velicin na kterych se pracuje9 // Moznosti je velmi mnoho (viz doc/html/index.html): napriklad10 RV RVstav ( "{stav }", "4"); // Vyrabim stav velikosti 411 RV RVut ( "{ut }", "2"); // Vstup velikosti 212 RV RVpozor ( "{I1 O1 }"); //Vystup je intenzita a obsazenost13 7 14 8 //! Model stredni hodnoty vyvoje stavu pro k1 … … 19 13 public: 20 14 //! Constructor 21 IMk1() :diffbifn ( RVstav.count(), RVstav, RVut ) {};15 IMk1() :diffbifn () {dimy=4; dimx=3; dimu=1;}; 22 16 //! set CONSTANT parameters 23 17 void set_parameters ( double alp10, double alp20) {alp1=alp10; alp2=alp20;} … … 25 19 vec eval ( const vec &x0, const vec &u0 ) { 26 20 // napln stav nulami 27 vec xk=zeros ( RVstav.count());21 vec xk=zeros ( dimy ); 28 22 29 23 xk ( 0 ) = 0.2* x0(1) - 0.1* x0(2)+ u0(0); // vycucane z prstu … … 39 33 40 34 if (full) { // priznak full se nastavi na zacatku => je treba naplnit celou matici 41 A = eye( RVstav.count());35 A = eye(dimy); 42 36 A(0,1) = 0.2; 43 37 A(0,2) = -0.1; … … 54 48 public: 55 49 //! Constructor 56 OMk1() :diffbifn ( RVpozor.count(), RVstav, RVut ) {};50 OMk1() :diffbifn ( ) {dimy=2;dimx=3;dimu=2;}; //<======= TODO 57 51 // Model pozorovani je trivialni jen se zkopiruji stavy 58 52 vec eval(const vec &x0, const vec &u0 ){ 59 vec dt( RVpozor.count());53 vec dt(dimy); 60 54 // Pozoruji pouze prvni dva stavy 61 55 dt(0) = x0(0); … … 68 62 69 63 if (full) { // priznak full se nastavi na zacatku => je treba naplnit celou matici 70 A = zeros( RVpozor.count(),RVstav.count());64 A = zeros(dimy,dimx); 71 65 A(0,0)=1.0; 72 66 A(1,1)=1.0;