Show
Ignore:
Timestamp:
10/15/09 00:04:30 (15 years ago)
Author:
smidl
Message:

doc - doxygen warnings

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/base/datasources.h

    r618 r660  
    4040                void getdata ( vec &dt ); 
    4141                void getdata ( vec &dt, const ivec &indeces ); 
    42                 void set_rvs ( RV &drv, RV &urv ); 
    43  
    44                 void write ( vec &ut ) { 
     42                void set_drv (const RV &drv,const RV &urv ); 
     43 
     44                void write ( const vec &ut ) { 
    4545                        bdm_error ( "MemDS::write is not supported" ); 
    4646                } 
    4747 
    48                 void write ( vec &ut, ivec &indices ) { 
     48                void write ( const vec &ut, const ivec &indices ) { 
    4949                        bdm_error ( "MemDS::write is not supported" ); 
    5050                } 
     
    5353                //!Default constructor 
    5454                MemDS () {}; 
     55                //! Convenience constructor 
    5556                MemDS ( mat &Dat, ivec &rowid0); 
    5657                /*! Create object from the following structure 
     
    114115                        dt_out = dt ( ids ); 
    115116                } 
    116                 const RV& _drv() { 
     117                const RV& _drv() const { 
    117118                        return iepdf->_rv(); 
    118119                } 
     
    262263 
    263264        public: 
     265                //! Convenience constructor 
    264266                ITppFileDS ( const string &fname, const string &varname ) : FileDS() { 
    265267                        it_file it ( fname ); 
     
    298300 
    299301 
    300 /*! 
    301 \brief Generator of ARX data 
    302  
    303 */ 
    304 class ArxDS : public DS { 
    305         protected: 
    306                 //! Rv of the regressor 
    307                 RV Rrv; 
    308                 //! History, ordered as \f$[y_t, u_t, y_{t-1 }, u_{t-1}, \ldots]\f$ 
    309                 vec H; 
    310                 //! (future) input 
    311                 vec U; 
    312                 //! temporary variable for regressor 
    313                 vec rgr; 
    314                 //! data link: H -> rgr 
    315                 datalink rgrlnk; 
    316                 //! model of Y - linear Gaussian 
    317                 mlnorm<chmat> model; 
    318                 //! options 
    319                 bool opt_L_theta; 
    320                 //! loggers 
    321                 int L_theta; 
    322                 int L_R; 
    323                 int dt_size; 
    324         public: 
    325                 void getdata ( vec &dt ) { 
    326                         dt = H; 
    327                 } 
    328  
    329                 void getdata ( vec &dt, const ivec &indices ) { 
    330                         dt = H ( indices ); 
    331                 } 
    332  
    333                 void write ( vec &ut ) { 
    334                         U = ut; 
    335                 } 
    336  
    337                 void write ( vec &ut, const ivec &indices ) { 
    338                         bdm_assert_debug ( ut.length() == indices.length(), "ArxDS" ); 
    339                         set_subvector ( U, indices, ut ); 
    340                 } 
    341  
    342                 void step(); 
    343  
    344                 //!Default constructor 
    345                 ArxDS ( ) {}; 
    346                 //! Set parameters of the internal model, H is maximum time delay 
    347                 void set_parameters ( const mat &Th0, const vec mu0, const chmat &sqR0 ) { 
    348                         model.set_parameters ( Th0, mu0, sqR0 ); 
    349                 }; 
    350                 //! Set 
    351                 void set_drv ( const RV &yrv, const RV &urv, const RV &rrv ) { 
    352                         Rrv = rrv; 
    353                         Urv = urv; 
    354                         dt_size = yrv._dsize() + urv._dsize(); 
    355  
    356                         RV drv = concat ( yrv, urv ); 
    357                         Drv = drv; 
    358                         int td = rrv.mint(); 
    359                         H.set_size ( drv._dsize() * ( -td + 1 ) ); 
    360                         U.set_size ( Urv._dsize() ); 
    361                         for ( int i = -1; i >= td; i-- ) { 
    362                                 drv.t_plus ( -1 ); 
    363                                 Drv.add ( drv ); //shift u1 
    364                         } 
    365                         rgrlnk.set_connection ( rrv, Drv ); 
    366  
    367                         dtsize = Drv._dsize(); 
    368                         utsize = Urv._dsize(); 
    369                 } 
    370                 //! set options from a string 
    371                 void set_options ( const string &s ) { 
    372                         opt_L_theta = ( s.find ( "L_theta" ) != string::npos ); 
    373                 }; 
    374                 virtual void log_add ( logger &L ) { 
    375                         //DS::log_add ( L ); too long!! 
    376                         L_dt = L.add ( Drv ( 0, dt_size ), "" ); 
    377                         L_ut = L.add ( Urv, "" ); 
    378  
    379                         const mat &A = model._A(); 
    380                         const mat R = model._R(); 
    381                         if ( opt_L_theta ) { 
    382                                 L_theta = L.add ( RV ( "{th }", vec_1 ( A.rows() * A.cols() ) ), "t" ); 
    383                         } 
    384                         if ( opt_L_theta ) { 
    385                                 L_R = L.add ( RV ( "{R }", vec_1 ( R.rows() * R.cols() ) ), "r" ); 
    386                         } 
    387                 } 
    388                 virtual void logit ( logger &L ) { 
    389                         //DS::logit ( L ); 
    390                         L.logit ( L_dt, H.left ( dt_size ) ); 
    391                         L.logit ( L_ut, U ); 
    392  
    393                         const mat &A = model._A(); 
    394                         const mat R = model._R(); 
    395                         if ( opt_L_theta ) { 
    396                                 L.logit ( L_theta, vec ( A._data(), A.rows() *A.cols() ) ); 
    397                         }; 
    398                         if ( opt_L_theta ) { 
    399                                 L.logit ( L_R, vec ( R._data(), R.rows() *R.rows() ) ); 
    400                         }; 
    401                 } 
    402  
    403                 // TODO dokumentace - aktualizovat 
    404                 /*! UI for ArxDS using factorized description! 
    405  
    406                 The ArxDS is constructed from a structure with fields: 
    407                 \code 
    408                 system = { 
    409                         type = "ArxDS"; 
    410                         // description of y variables 
    411                         y = {type="rv"; names=["y", "u"];}; 
    412                         // description of u variable 
    413                         u = {type="rv"; names=[];} 
    414                         // description of regressor 
    415                         rgr = {type="rv"; 
    416                                 names = ["y","y","y","u"]; 
    417                                 times = [-1, -2, -3, -1]; 
    418                         } 
    419  
    420                         // theta 
    421                         theta = [0.8, -0.3, 0.4, 1.0, 
    422                                          0.0, 0.0, 0.0, 0.0]; 
    423                         // offset (optional) 
    424                         offset = [0.0, 0.0]; 
    425                         //variance 
    426                         r = [0.1, 0.0, 
    427                                  0.0, 1.0]; 
    428                         //options: L_theta = log value of theta, 
    429                         opt = "L_theta"; 
    430                 }; 
    431                 \endcode 
    432  
    433                 Result is ARX data source offering with full history as Drv. 
    434                 */ 
    435                 void from_setting ( const Setting &set ); 
    436  
    437                 // TODO dodelat void to_setting( Setting &set ) const; 
    438 }; 
    439  
    440 UIREGISTER ( ArxDS ); 
    441 SHAREDPTR ( ArxDS ); 
    442  
     302// ARXDs - DELETED 
     303 
     304//! State-space data source simulating two densities 
    443305class stateDS : public DS { 
    444306        private: 
     
    467329                        dt0 = dt ( indices ); 
    468330                } 
    469  
     331                //! convenience constructor 
    470332                stateDS ( const shared_ptr<mpdf> &IM0, const shared_ptr<mpdf> &OM0, int usize ) : IM ( IM0 ), OM ( OM0 ), 
    471333                                dt ( OM0->dimension() ), xt ( IM0->dimension() ),