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

doc

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/doc/tutorial/01userguide.dox

    r659 r661  
    22\page userguide BDM Use - System, Data, Simulation 
    33 
    4 This section serves as introdustion to the scenario of data simulation. Since it is the simpliest of all scenarios defined in \ref 005userguide0 it also serves as introduction to configuration of an experiment (see \ref ui) and basic decision making objects (bdm::RV and bdm::DS). 
     4This section serves as introdustion to the scenario of data simulation. Since it is the simpliest of all scenarios defined in \ref user_guide0 it also serves as introduction to configuration of an experiment (see \ref ui_page) and basic decision making objects (bdm::RV and bdm::DS). 
    55 
    66All experiments are demonstarted on scenario simulator which can be either standalone application or mex file (simulator.mex**). 
     
    7575\section ug_memds DataSource of pre-recorded data -- MemDS 
    7676 
    77 The first experiment run in \ref first was actually an instance of DataSource of pre-recorded data that were stored in memory, i.e. the bdm::MemDS class. 
     77The first experiment run in \ref ug_first was actually an instance of DataSource of pre-recorded data that were stored in memory, i.e. the bdm::MemDS class. 
    7878 
    7979Operation of such object is trivial, the data are stored as a matrix and the general operations defined above are specialized as follows: 
     
    140140 
    141141 
    142 \section loggers Loggers for flexible handling of results 
     142\section ug_loggers Loggers for flexible handling of results 
    143143Loggers are universal objects for storing and manipulating the results of an experiment. Similar to DataSource, every logger has to provide basic functionality: 
    144144 -# initialize its storage (bdm::logger.init()), 
     
    165165 - bdm::stateDS 
    166166 
    167 The MemDS has already been introduced in the example in \ref memds. 
     167The MemDS has already been introduced in the example in \ref ug_memds. 
    168168However, any of the classes listed above can be used to replace it in the example. 
    169169This will be demonstrated on the \c EpdfDS class. 
     
    230230u = RV({'u'}); 
    231231 
    232 fy.class = 'mlnorm<ldmat>'; 
     232fy.class = 'mlnorm\<ldmat\>'; 
    233233fy.rv    = y; 
    234234fy.rvc   = RV({'y','u'}, [1 1], [-3, -1]); 
     
    238238 
    239239 
    240 fu.class = 'enorm<ldmat>'; 
     240fu.class = 'enorm\<ldmat\>'; 
    241241fu.rv    = u; 
    242242fu.mu    = 0; 
     
    249249 
    250250Explanation of this example will require few remarks: 
    251  - class of the \c fy object is 'mlnorm<ldmat>' which is Normal pdf with mean value given by linear function, and covariance matrix stored in LD decomposition, see bdm::mlnorm for details. 
    252  - naming convention 'mlnorm<ldmat>' relates to the concept of templates in C++. For those unfamiliar with this concept, it is basicaly a way how to share code for different flavours of the same object. Note that mlnorm exist in three versions: mlnorm<ldmat>, mlnorm<chmat>, mlnorm<fsqmat>. Those classes act identically the only difference is that the internal data are stored either in LD decomposition, choleski decomposition or full matrices, respectively.  
     251 - class of the \c fy object is 'mlnorm\<ldmat\>' which is Normal pdf with mean value given by linear function, and covariance matrix stored in LD decomposition, see bdm::mlnorm for details. 
     252 - naming convention 'mlnorm\<ldmat\>' relates to the concept of templates in C++. For those unfamiliar with this concept, it is basicaly a way how to share code for different flavours of the same object. Note that mlnorm exist in three versions: mlnorm\<ldmat\>, mlnorm<chmat>, mlnorm<fsqmat>. Those classes act identically the only difference is that the internal data are stored either in LD decomposition, choleski decomposition or full matrices, respectively.  
    253253 - the same concept is used for enorm, where enorm<chmat> and enorm<fsqmat> are also possible. In this particular use, these objects are equivalent. In specific situation, e.g. Kalman filter implemented on Choleski decomposition (bdm::KalmanCh), only enorm<chmat> is approprate. 
    254254 - class 'mprod' represents the chain rule of probability. Attribute \c mpdfs of its configuration structure is a list of conditional densities. Conditional density \f$ f(a|b)\f$ is represented by class \c mpdf and its offsprings. Class \c RV is used to describe both variables before conditioning (field \c rv ) and after conditioning sign (field \c rvc).