Changeset 283 for doprava/model.h

Show
Ignore:
Timestamp:
02/24/09 14:14:01 (15 years ago)
Author:
smidl
Message:

get rid of BMcond + adaptation in doprava/

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • doprava/model.h

    r278 r283  
    55 
    66using namespace bdm; 
    7  
    8 //Tady se naplni "popis" jednotlivych nahodnych velicin na kterych se pracuje 
    9 // Moznosti je velmi mnoho (viz doc/html/index.html): napriklad 
    10 RV RVstav ( "{stav }", "4");  // Vyrabim stav velikosti 4 
    11 RV RVut ( "{ut }", "2");     // Vstup velikosti 2 
    12 RV RVpozor ( "{I1 O1 }");     //Vystup je intenzita a obsazenost 
    137 
    148//! Model stredni hodnoty vyvoje stavu pro k1  
     
    1913public: 
    2014        //! Constructor 
    21         IMk1() :diffbifn (RVstav.count(), RVstav, RVut ) {};  
     15        IMk1() :diffbifn () {dimy=4; dimx=3; dimu=1;};  
    2216        //! set CONSTANT parameters 
    2317        void set_parameters ( double alp10,  double alp20) {alp1=alp10; alp2=alp20;} 
     
    2519        vec eval ( const vec &x0, const vec &u0 ) { 
    2620                // napln stav nulami 
    27                 vec xk=zeros ( RVstav.count() ); 
     21                vec xk=zeros ( dimy ); 
    2822 
    2923                xk ( 0 ) = 0.2* x0(1) - 0.1* x0(2)+ u0(0);  // vycucane z prstu 
     
    3933 
    4034                if (full) { // priznak full se nastavi na zacatku => je treba naplnit celou matici 
    41                         A = eye(RVstav.count()); 
     35                        A = eye(dimy); 
    4236                        A(0,1) = 0.2; 
    4337                        A(0,2) = -0.1; 
     
    5448public: 
    5549        //! Constructor 
    56         OMk1() :diffbifn (RVpozor.count(), RVstav, RVut ) {};  
     50        OMk1() :diffbifn ( ) {dimy=2;dimx=3;dimu=2;}; //<======= TODO  
    5751        // Model pozorovani  je trivialni jen se zkopiruji stavy 
    5852        vec eval(const vec &x0, const vec &u0 ){ 
    59                 vec dt(RVpozor.count()); 
     53                vec dt(dimy); 
    6054                // Pozoruji pouze prvni dva stavy 
    6155                dt(0) = x0(0); 
     
    6862 
    6963                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); 
    7165                        A(0,0)=1.0; 
    7266                        A(1,1)=1.0;