Changeset 967

Show
Ignore:
Timestamp:
05/21/10 10:53:23 (14 years ago)
Author:
smidl
Message:

More checks in controlloop

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • applications/bdmtoolbox/mex/controlloop.cpp

    r883 r967  
    7676                                                "                struct('class','controller',...),...} \n" 
    7777                                                "  === optional ===" 
    78                                                 "  experiment = struct('ndat',100,...               % number of data in experiment, full length of finite datasources, 100 otherwise \n" 
     78                                                "  experiment = struct('ndat',100,...              % number of data in experiment, full length of finite datasources, 100 otherwise \n" 
     79                                                "               'seed',[],...                      % seed for random number generator\n" 
    7980                                                "               'burnin',10,...                    % initial time with different control\n" 
    8081                                                "               'burn_pdf', struct('class','epdf_offspring') );\n" 
     
    124125        if ( Cfg.exists ( "experiment" ) ) { 
    125126                Setting &exper=Cfg.getRoot()["experiment"]; 
     127                // get number of data 
    126128                if (UI::get(Ndat, exper, "Ndat", UI::optional ) ) { 
    127129                        bdm_assert ( Ndat<=Ds->max_length(), "Data source has less data then required" ); 
    128130                }; 
     131                // check for seed 
     132                int seed; 
     133                if (UI::get(seed, exper, "seed", UI::optional)){ 
     134                        RNG_reset(seed); 
     135                } 
     136                // process burnin 
    129137                if (UI::get(burnin, exper, "burnin",UI::optional )){ 
    130138                        burn_pdf = UI::build<epdf>(exper,"burn_pdf", UI::compulsory); 
     
    184192                        Dlsc(i) = Dls_buf(ith_buf); 
    185193                        Dlsc(i)->set_connection ( Cs ( i )->_rvc(),Ds->_drv() ); //datalink between a datasource and estimator 
     194                         
     195                        bdm_assert_debug(Dlsc(i)->_downsize() == Cs ( i )->_rvc()._dsize(), "Data required by Controler[" + num2str(i) + "], " +  
     196                        Cs(i)->_rvc().to_string() + ", are not available in DS drv:" + Ds->_drv().to_string();); 
    186197                         
    187198                } else {