Changeset 744 for applications/bdmtoolbox
- Timestamp:
- 11/28/09 14:38:48 (15 years ago)
- Location:
- applications/bdmtoolbox
- Files:
-
- 1 added
- 4 modified
Legend:
- Unmodified
- Added
- Removed
-
applications/bdmtoolbox/Doxyfile
r613 r744 26 26 INLINE_INHERITED_MEMB = YES 27 27 FULL_PATH_NAMES = NO 28 STRIP_FROM_PATH = /home/smidl/ 28 STRIP_FROM_PATH = /home/smidl/work/git/mixpp 29 29 STRIP_FROM_INC_PATH = 30 30 SHORT_NAMES = NO … … 246 246 # configuration options related to the XML output 247 247 #--------------------------------------------------------------------------- 248 GENERATE_XML = yes248 GENERATE_XML = NO 249 249 XML_OUTPUT = xml 250 250 XML_SCHEMA = -
applications/bdmtoolbox/mex/controlloop.cpp
r723 r744 7 7 digraph estimation{ 8 8 node [shape=box]; 9 {rank="same"; "Data Source"; "Bayesian Model"} 10 "Data Source" -> "Bayesian Model" [label="data"]; 11 "Bayesian Model" -> "Result Logger" [label="estimated\n statistics"]; 9 subgraph cl0 { 10 "Data Source" -> "Controller" [label="observations"]; 11 "Controller" -> "Data Source" [label="actions"]; 12 } 13 {rank="same"; "Controller"; "Result Logger"} 14 "Controller" -> "Result Logger" [label="internals"]; 12 15 "Data Source" -> "Result Logger" [label="Simulated\n data"]; 13 16 } … … 87 90 if ( n_input>3 ) { 88 91 Cfg.addGroup ( input[3],"logger" ); 89 }/*else{ 90 // define logger as mexlog 91 Setting &S=Cfg.getRoot(); 92 S.add("logger",Setting::TypeGroup); 93 S["logger"].add("class",Setting::TypeString); 94 S["logger"]["class"]="mexlog"; 95 S["logger"].add("maxlen",Setting::TypeInt); 96 int maxlen; 97 S["experiment"].lookupValue("ndat",maxlen); 98 S["logger"]["maxlen"]=maxlen; 99 }*/ 92 } 100 93 } catch ( SettingException e ) { 101 94 it_error ( "error: "+string ( e.getPath() ) ); … … 116 109 #endif 117 110 111 RNG_randomize(); 112 118 113 shared_ptr<DS> Ds = UI::build<DS> ( Cfg, "system" ); 119 114 Array<shared_ptr<Controller> > Cs; 120 115 UI::get ( Cs,Cfg, "controllers" ); 121 116 int Ndat=100; 117 int burnin=10; 122 118 if ( Cfg.exists ( "experiment" ) ) { 123 119 if ( Cfg.getRoot().lookupValue ( "experiment.ndat",Ndat ) ) { … … 178 174 } 179 175 176 vec ut(Ds->_urv()._dsize()); 180 177 for ( int tK=0;tK<Ndat;tK++ ) { 181 178 Ds->getdata ( dt ); // read data … … 186 183 Cs(i) -> redesign(); 187 184 Cs(i) -> adapt( Dlsc(i) ->pushdown(dt)); 188 vec ut=Cs ( i )->ctrlaction ( Dlsc(i) ->pushdown(dt) ); // update estimates 189 Ds->write(ut, vec_1(0)); 185 } 186 if (tK > burnin){ 187 vec uti=Cs ( i )->ctrlaction ( Dlsc(i) ->pushdown(dt) ); // update estimates 188 Dlsu(i)->filldown(uti, ut); 190 189 } else { 191 Ds->write(0.001*randn(Ds->_urv()._dsize()));190 ut = 0.1*randn(Ds->_urv()._dsize()); 192 191 } 193 192 194 193 Cs ( i )->log_write (); 195 194 } 195 Ds->write(ut); 196 196 197 197 L->step(); -
applications/bdmtoolbox/tutorial/merging/merge_frag.m
r706 r744 16 16 Merger.ncoms=20; 17 17 Merger.stop_niter=50; 18 Merger.effss_coef= 1;18 Merger.effss_coef=0.9; 19 19 %Merger.dbg_file='merger_mix_dbg'; 20 20 … … 32 32 'R',1); 33 33 % 2D support 34 support2.grid={[-5,5],[0.001,9]}; 35 support2.nbins=[30,30]; 34 support2.class='rectangular_support'; 35 support2.ranges={[-5,5],[0.001,9]}; 36 support2.gridsizes=[30,30]; 36 37 37 38 % 2D -
applications/bdmtoolbox/tutorial/userguide/arx_ctrl_example.m
r724 r744 1 1 % name random variables 2 2 y = RV({'y'},1); 3 u = RV({'u'},1); 3 u1 = RV({'u1'},1); 4 u2 = RV({'u2'},1); 4 5 5 6 % create f(y_t| y_{t-3}, u_{t-1}) 6 7 fy.class = 'mlnorm<ldmat>'; 7 8 fy.rv = y; 8 fy.rvc = RVtimes([y,u ], [-3, -1]);9 fy.A = [0.5, -0.9 ];9 fy.rvc = RVtimes([y,u1,u2], [-3, 0, 0]); 10 fy.A = [0.5, -0.9, 0.9]; 10 11 fy.const = 0; 11 12 fy.R = 1e-2; … … 17 18 A1.class = 'ARX'; 18 19 A1.rv = y; 19 A1.rgr = RVtimes([y,u ],[-3,-1]) ; % correct structure is {y,y}20 A1.rgr = RVtimes([y,u1,u2],[-3,0,0]) ; % correct structure is {y,y} 20 21 A1.options ='logbounds,logll'; 21 22 22 23 C1.class = 'LQG_ARX'; 23 24 C1.ARX = A1; 24 C1.Qu = 0.1*eye( 1);25 C1.Qu = 0.1*eye(2); 25 26 C1.Qy = eye(1); 26 27 C1.yreq = 1; 27 28 C1.horizon = 100; 28 29 30 % participant 1 31 Cp1. 32 29 33 M= controlloop(DS,{C1});