Changeset 471 for library/bdm/estim/kalman.cpp
- Timestamp:
- 08/05/09 00:01:58 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/estim/kalman.cpp
r384 r471 251 251 252 252 void EKFCh::from_setting( const Setting &set ) 253 { 254 diffbifn* IM = UI::build<diffbifn>(set, "IM" );255 diffbifn* OM = UI::build<diffbifn>(set, "OM" );253 { 254 diffbifn* IM = UI::build<diffbifn>(set, "IM", UI::compulsory); 255 diffbifn* OM = UI::build<diffbifn>(set, "OM", UI::compulsory); 256 256 257 257 //statistics 258 258 int dim=IM->dimension(); 259 259 vec mu0; 260 if(set.exists("mu0")) 261 UI::get( mu0, set, "mu0"); 262 else 260 if(!UI::get( mu0, set, "mu0")) 263 261 mu0=zeros(dim); 264 262 265 263 mat P0; 266 if(set.exists("dP0")) 267 { 268 vec dP0; 269 UI::get( dP0, set, "dP0"); 264 vec dP0; 265 if(UI::get( dP0, set, "dP0")) 270 266 P0=diag(dP0); 271 } 272 else if ( set.exists( "P0" ) ) 273 UI::get(P0, set, "P0"); 274 else 267 else if ( !UI::get(P0, set, "P0") ) 275 268 P0=eye(dim); 276 269 … … 278 271 279 272 //parameters 280 vec dQ, dR; 281 UI::get( dQ, set, "dQ" );282 UI::get( dR, set, "dR" );273 vec dQ, dR; 274 UI::get( dQ, set, "dQ", UI::compulsory); 275 UI::get( dR, set, "dR", UI::compulsory); 283 276 set_parameters(IM, OM, diag(dQ), diag(dR)); 284 277 285 278 //connect 286 RV* drv = UI::build<RV>(set, "drv" );279 RV* drv = UI::build<RV>(set, "drv", UI::compulsory); 287 280 set_drv(*drv); 288 RV* rv = UI::build<RV>(set, "rv" );281 RV* rv = UI::build<RV>(set, "rv", UI::compulsory); 289 282 set_rv(*rv); 290 283 284 string options; 285 if( UI::get( options, set, "options" ) ) 286 set_options(options); 287 } 288 289 void MultiModel::from_setting( const Setting &set ) 290 { 291 Array<EKFCh*> A; 292 UI::get( A, set, "models", UI::compulsory); 293 294 set_parameters(A); 295 set_drv(A(0)->_drv()); 296 //set_rv(A(0)->_rv()); 297 291 298 string options; 292 299 if(set.lookupValue( "options", options )) … … 294 301 } 295 302 296 /*void EKFCh::to_setting( Setting &set ) const 297 { 298 Transport::to_setting( set ); 299 300 Setting &kilometers_setting = set.add("kilometers", Setting::TypeInt ); 301 kilometers_setting = kilometers; 302 303 UI::save( passengers, set, "passengers" ); 304 }*/ 305 306 void MultiModel::from_setting( const Setting &set ) 307 { 308 Array<EKFCh*> A; 309 UI::get( A, set, "models"); 310 311 set_parameters(A); 312 set_drv(A(0)->_drv()); 313 //set_rv(A(0)->_rv()); 314 315 string options; 316 if(set.lookupValue( "options", options )) 317 set_options(options); 318 } 319 320 /*void MultiModel::to_setting( Setting &set ) const 321 { 322 Transport::to_setting( set ); 323 324 Setting &kilometers_setting = set.add("kilometers", Setting::TypeInt ); 325 kilometers_setting = kilometers; 326 327 UI::save( passengers, set, "passengers" ); 328 }*/ 329 330 331 } 303 }