Changeset 1058 for library

Show
Ignore:
Timestamp:
06/07/10 22:36:56 (14 years ago)
Author:
smidl
Message:

doc + DS cleanup

Location:
library/bdm
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/base/bdmbase.cpp

    r1021 r1058  
    530530 
    531531void DS::from_setting ( const Setting &set ) { 
    532         RV rv; 
    533         if( UI::get( rv, set, "drv", UI::optional ) ) 
    534                 set_drv ( rv, RV() ); 
     532        UI::get( Drv, set, "drv", UI::optional ); 
     533        UI::get(log_level, set, "log_level",UI::optional); 
    535534} 
    536535 
     
    538537        if( !Drv._dsize() && dtsize > 0 ) 
    539538        { 
    540                 RV *r = new RV(); 
     539                Drv = RV(); 
    541540                for ( int i = 0; i < dtsize; i++ ) { 
    542                         r->add ( RV ( "ch" + num2str ( i ), 1, 0 ) ); 
    543                 } 
    544                 set_drv ( *r, RV() ); 
    545                 delete r; 
     541                        Drv.add ( RV("", dtsize )); 
     542                } 
    546543        } 
    547544} 
  • library/bdm/base/bdmbase.h

    r1055 r1058  
    11621162 
    11631163The DataSource has three main data interaction structures: 
    1164 \li input, \f$ u_t \f$, 
    1165 \li output \f$ d_t \f$, 
    1166 In simulators, d_t may contain "hidden" variables as well. 
     1164\li input, \f$ u_t \f$, which are described via RVs in attribute \c urv 
     1165\li observations \f$ d_t \f$, which are described in \c drv 
     1166In simulators, dt may contain "hidden" variables as well. 
     1167 
    11671168*/ 
    11681169 
     
    12341235        } 
    12351236 
    1236         //! set random variables 
    1237         virtual void set_drv ( const  RV &drv, const RV &urv) { 
    1238                 Drv = drv; 
    1239                 Urv = urv; 
    1240         } 
    1241  
     1237        /*!  
     1238        \code 
     1239        drv  = bdm::RV::from_setting             // decription of observed data  
     1240        urv  = bdm::RV::from_setting             // decription of input data 
     1241        log_level = "logdt,logut"                // when set, both the simulated data and the inputs are stored to the logger 
     1242                                                 // By default both are on. It makes sense to switch them off for MemDS where the data are already stored. 
     1243        \endcode 
     1244        */ 
    12421245        void from_setting ( const Setting &set ); 
    12431246 
  • library/bdm/base/datasources.cpp

    r1057 r1058  
    2323} 
    2424 
    25 void MemDS::set_drv ( const RV &drv ) { 
    26         bdm_assert_debug ( drv._dsize() == Data.rows(), "MemDS::set_rvs incompatible drv" ); 
    27         DS::set_drv ( drv, RV() ); 
    28 } 
    29  
    3025void MemDS::from_setting ( const Setting &set ) { 
    3126        DS::from_setting ( set ); 
     
    4035void MemDS::validate() 
    4136{ 
     37        if (Urv._dsize()>0){ 
     38                bdm_error ( "MemDS::urv is not supported" ); 
     39        } 
    4240        dtsize = Data.rows(); 
    4341        utsize = 0; 
  • library/bdm/base/datasources.h

    r1056 r1058  
    2020namespace bdm { 
    2121/*! 
    22 * \brief Memory storage of off-line data column-wise 
    23  
    24 The data are stored in an internal matrix \c Data . Each column of Data corresponds to one discrete time observation \f$t\f$. Access to this matrix is via indices \c rowid. 
    25  
    26 The data can be loaded from a file. 
     22* \brief Memory storage of off-line data column-wise (used mostly in C++) 
     23 
     24The data are stored in an internal matrix \c Data . E 
     25ach column of Data corresponds to one discrete time observation \f$t\f$.  
     26 
    2727*/ 
    2828class MemDS : public DS { 
     
    4949        void getdata ( vec &dt, const ivec &indices ); 
    5050 
    51         void set_drv ( const RV &drv ); 
    52  
    53         void set_drv ( const RV &drv, const RV &urv ) 
    54         { 
    55                 if (urv._dsize()>0){ 
    56                 bdm_error ( "MemDS::urv is not supported" ); 
    57                 } else { 
    58                         DS::set_drv(drv,urv); 
    59                 } 
    60                          
    61         } 
    62  
    6351        void write ( const vec &ut ) { 
    6452                if (ut.size()>0){ 
     
    7765        /*! Create object from the following structure 
    7866        \code 
    79         DS.class = "MemDS"; 
    80         DS.Data = (...);               % Data matrix or data vector 
     67        class = "MemDS"; 
     68        Data = (...);               % Data matrix or data vector 
    8169           --- optional --- 
    82         DS.drv = {class="RV"; ...}     % Identification how rows of the matrix Data will be known to others 
    83         DS.time = 0;                   % Index of the first column to user_info, 
    84         DS.log_level = "logdt,logut";  % switches to log (or not log) dt or ut 
    85         } 
     70        time = 0;                   % Index of the first column to user_info, 
     71        ...                         % fields from  bdm::DS::from_setting 
    8672        \endcode 
    8773 
     
    10490UIREGISTER ( MemDS ); 
    10591 
    106 /*! Pseudovirtual class for reading data from files 
     92/*! \brief Pseudovirtual class for reading data from files 
    10793 
    10894*/ 
     
    11197        string filename; 
    11298public: 
     99        /*! reads what DS::from_setting  
     100        \code 
     101        filename = 'data_file.ext';           // name of the file where the data sare stored 
     102        the same as #bdm::DS 
     103        \endcode 
     104        */ 
    113105        void from_setting ( const Setting & set ); 
    114106}; 
     
    144136/*! 
    145137* \brief CSV file data storage 
     138 
    146139The constructor creates \c Data matrix from the records in a CSV file \c fname. The orientation can be of two types: 
    1471401. \c BY_COL which is default - the data are stored in columns; one column per time \f$t\f$, one row per data item. 
     
    201194                dt =  zeros ( iepdf->dimension() ); 
    202195                dtsize = dt.length(); 
    203                 set_drv ( iepdf->_rv(), RV() ); 
     196                Drv = iepdf->_rv(); 
    204197                utsize = 0; 
    205198        } 
     
    251244        \code 
    252245        class = "PdfDS"; 
    253         pdf = {class="pdf_offspring", ...};  // pdf to simulate 
     246        pdf = bdm::pdf::from_setting;          // pdf to simulate, any offspring of pdf 
    254247        --- optional --- 
    255         init_rv = {class="RV",names=...};      // define what rv to initialize - typically delayed values! 
     248        init_rv = bdm::RV::from_setting;       // define what rv to initialize - typically delayed values! 
    256249        init_values = [...];                   // vector of initial values corresponding to init_rv 
    257250        \endcode 
     
    267260                // input is what in not in Yrv 
    268261                Urv = rgrv0.subt ( Yrv ); 
    269                 set_drv ( concat(Yrv,Urv), Urv ); 
     262                Drv=  concat(Yrv,Urv); 
    270263                // connect input and output to rvc 
    271264                ut2rgr.set_connection ( ipdf->_rvc(), Urv ); 
  • library/bdm/mex/mex_datasource.h

    r1056 r1058  
    5252                 
    5353                if (Drv._dsize()!=dtsize){ 
    54                         RV def ( ( const char* ) set["varname"], dtsize ); 
    55                         set_drv ( def, Urv ); 
     54                        Drv=RV( ( const char* ) set["varname"], dtsize ); 
    5655                } 
    5756                column = 0; 
  • library/bdm/stat/exp_family.h

    r1033 r1058  
    682682/*! \brief Random Walk with vector Beta distribution 
    683683Using simple assignment 
    684 \f{align}  
    685 \alpha &= rvc / k + \beta_c \\ 
    686 \beta &= (1-rvc) / k + \beta_c \\ 
    687 \f{align} 
     684\f{eqnarray}  
     685\alpha &=& rvc / k + \beta_c \\ 
     686\beta &= &(1-rvc) / k + \beta_c \\ 
     687\f{eqnarray} 
    688688for each element of alpha and beta, mean value = rvc, variance = (k+1)*mean*mean; 
    689689