Changeset 357 for applications/pmsm/TR2245
- Timestamp:
- 06/08/09 02:15:30 (16 years ago)
- Location:
- applications/pmsm/TR2245
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
applications/pmsm/TR2245/pmsm_wishart.cpp
r332 r357 17 17 #include <stat/libFN.h> 18 18 19 #include <stat/loggers_ui.h> 20 #include <stat/libEF_ui.h> 21 22 #include "../pmsm_ui.h" 19 #include "user_info.h" 20 #include "../pmsmDS.h" 23 21 24 22 using namespace bdm; … … 28 26 if ( argc>1 ) {fname = argv[1]; } 29 27 else { fname = "pmsm_wishart.cfg"; } 30 UIFile F ( fname ); 28 UI_File F ( fname ); 29 30 double h = 1e-6; 31 int Nsimstep = 125; 32 33 // Kalman filter 34 double k; 35 double l; 36 F.lookupValue ( "k",k); 37 F.lookupValue ( "l",l); 31 38 32 39 int Ndat; 33 40 int Npart; 34 double h = 1e-6;35 int Nsimstep = 125;41 F.lookupValue ( "ndat", Ndat ); 42 F.lookupValue ( "Npart", Npart ); 36 43 37 44 vec Qdiag; 38 45 vec Rdiag; 46 UI::get( Qdiag, F, "dQ" ); //( "1e-6 1e-6 0.001 0.0001" ); //zdenek: 0.01 0.01 0.0001 0.0001 47 UI::get( Rdiag, F, "dR" );// ( "1e-8 1e-8" ); //var(diff(xth)) = "0.034 0.034" 48 49 pmsmDS* DS = UI::build<pmsmDS>(F,"system"); 50 // mpdf* evolQ = UI::build<mpdf>( F, "Qrw" ); 39 51 40 pmsmDS* DS; 41 42 double k; 43 double l; 44 // mpdf* evolQ ; 45 try { 46 // Kalman filter 47 F.lookupValue ( "ndat", Ndat ); 48 F.lookupValue ( "Npart",Npart ); 49 50 F.lookupValue ( "k", k); 51 F.lookupValue ( "l",l); 52 53 // UIbuild ( F.lookup ( "Qrw" ),evolQ ); 54 Qdiag= getvec ( F.lookup ( "dQ" ) ); //( "1e-6 1e-6 0.001 0.0001" ); //zdenek: 0.01 0.01 0.0001 0.0001 55 Rdiag=getvec ( F.lookup ( "dR" ) );// ( "1e-8 1e-8" ); //var(diff(xth)) = "0.034 0.034" 56 57 UIbuild(F.lookup("system"),DS); 58 } 59 catch UICATCH; 60 // internal model 61 62 IMpmsm fxu; 63 // Rs Ls dt Fmag(Ypm) kp p J Bf(Mz) 64 fxu.set_parameters ( 0.28, 0.003465, Nsimstep*h, 0.1989, 1.5 ,4.0, 0.04, 0.0 ); 52 // internal model 53 IMpmsm fxu; 54 // Rs Ls dt Fmag(Ypm) kp p J Bf(Mz) 55 fxu.set_parameters ( 0.28, 0.003465, Nsimstep*h, 0.1989, 1.5 ,4.0, 0.04, 0.0 ); 65 56 // observation model 66 57 OMpmsm hxu; … … 91 82 M.set_rv ( concat ( rQ,rx ) ); 92 83 93 dirfilelog *L ; UIbuild ( F.lookup ( "logger" ), L);// ( "exp/mpf_test",100 );84 dirfilelog *L = UI::build<dirfilelog> ( F, "logger" );// ( "exp/mpf_test",100 ); 94 85 95 86 KFE.set_options ( "logbounds" ); -
applications/pmsm/TR2245/unitsteps.cpp
r317 r357 17 17 #include <stat/libFN.h> 18 18 19 #include <stat/loggers_ui.h>20 #include <stat/libEF_ui.h>21 19 22 20 #include "../pmsm.h" 23 21 #include "simulator.h" 24 22 #include "../sim_profiles.h" 23 #include "user_info.h" 24 #include "stat/loggers.h" 25 25 26 26 using namespace bdm; … … 30 30 if ( argc>1 ) {fname = argv[1]; } 31 31 else { fname = "unitsteps.cfg"; } 32 UI File F ( fname );32 UI_File F ( fname ); 33 33 34 int Ndat;35 int Npart;36 34 double h = 1e-6; 37 35 int Nsimstep = 125; 38 36 37 38 // Kalman filter 39 int Ndat; 40 int Npart; 41 F.lookupValue ( "ndat", Ndat ); 42 F.lookupValue ( "Npart",Npart ); 43 mpdf* evolQ = UI::build<mpdf>( F, "Qrw" ); 39 44 vec Qdiag; 40 45 vec Rdiag; 46 UI::get( Qdiag, F, "dQ" ); //( "1e-6 1e-6 0.001 0.0001" ); //zdenek: 0.01 0.01 0.0001 0.0001 47 UI::get( Rdiag, F, "dR" );// ( "1e-8 1e-8" ); //var(diff(xth)) = "0.034 0.034" 41 48 42 mpdf* evolQ ; 43 try { 44 // Kalman filter 45 F.lookupValue ( "ndat", Ndat ); 46 F.lookupValue ( "Npart",Npart ); 47 48 UIbuild ( F.lookup ( "Qrw" ),evolQ ); 49 Qdiag= getvec ( F.lookup ( "dQ" ) ); //( "1e-6 1e-6 0.001 0.0001" ); //zdenek: 0.01 0.01 0.0001 0.0001 50 Rdiag=getvec ( F.lookup ( "dR" ) );// ( "1e-8 1e-8" ); //var(diff(xth)) = "0.034 0.034" 51 } 52 catch UICATCH; 53 // internal model 49 // internal model 54 50 55 51 IMpmsm fxu; … … 81 77 M.set_rv ( concat ( rQ,rx ) ); 82 78 83 dirfilelog *L ; UIbuild ( F.lookup ( "logger" ), L);// ( "exp/mpf_test",100 );79 dirfilelog *L = UI::build<dirfilelog>( F, "logger" );// ( "exp/mpf_test",100 ); 84 80 int l_X = L->add ( rx, "xt" ); 85 81 int l_D = L->add ( concat ( ry,ru ), "" ); … … 99 95 vec xtm=zeros ( 4 ); 100 96 double Ww=0.0; 101 vec vecW=getvec ( F.lookup ( "profile" ) ); 97 vec vecW; 98 UI::get( vecW, F, "profile" ); 102 99 103 100 for ( int tK=1;tK<Ndat;tK++ ) { -
applications/pmsm/TR2245/wishart.cpp
r317 r357 17 17 #include <stat/libFN.h> 18 18 19 #include <stat/loggers_ui.h>20 #include <stat/libEF_ui.h>21 22 19 #include "../pmsm.h" 23 20 #include "simulator.h" 24 21 #include "../sim_profiles.h" 22 #include "user_info.h" 23 #include "stat/loggers.h" 25 24 26 25 using namespace bdm; … … 30 29 if ( argc>1 ) {fname = argv[1]; } 31 30 else { fname = "unitsteps.cfg"; } 32 UI File F ( fname );31 UI_File F ( fname ); 33 32 33 double h = 1e-6; 34 34 int Ndat; 35 35 int Npart; 36 double h = 1e-6; 36 F.lookupValue ( "ndat", Ndat ); 37 F.lookupValue ( "Npart",Npart ); 37 38 int Nsimstep = 125; 38 39 40 // Kalman filter 39 41 vec Qdiag; 42 UI::get( Qdiag, F, "dQ" ); //( "1e-6 1e-6 0.001 0.0001" ); //zdenek: 0.01 0.01 0.0001 0.0001 43 40 44 vec Rdiag; 45 UI::get( Rdiag, F, "dR" );// ( "1e-8 1e-8" ); //var(diff(xth)) = "0.034 0.034" 41 46 42 // mpdf* evolQ ; 43 try { 44 // Kalman filter 45 F.lookupValue ( "ndat", Ndat ); 46 F.lookupValue ( "Npart",Npart ); 47 48 // UIbuild ( F.lookup ( "Qrw" ),evolQ ); 49 Qdiag= getvec ( F.lookup ( "dQ" ) ); //( "1e-6 1e-6 0.001 0.0001" ); //zdenek: 0.01 0.01 0.0001 0.0001 50 Rdiag=getvec ( F.lookup ( "dR" ) );// ( "1e-8 1e-8" ); //var(diff(xth)) = "0.034 0.034" 51 } 52 catch UICATCH; 53 // internal model 54 55 IMpmsm fxu; 56 // Rs Ls dt Fmag(Ypm) kp p J Bf(Mz) 57 fxu.set_parameters ( 0.28, 0.003465, Nsimstep*h, 0.1989, 1.5 ,4.0, 0.04, 0.0 ); 47 // internal model 48 IMpmsm fxu; 49 // Rs Ls dt Fmag(Ypm) kp p J Bf(Mz) 50 fxu.set_parameters ( 0.28, 0.003465, Nsimstep*h, 0.1989, 1.5 ,4.0, 0.04, 0.0 ); 58 51 // observation model 59 52 OMpmsm hxu; … … 84 77 M.set_rv ( concat ( rQ,rx ) ); 85 78 86 dirfilelog *L ; UIbuild ( F.lookup ( "logger" ), L);// ( "exp/mpf_test",100 );79 dirfilelog *L = UI::build<dirfilelog> ( F, "logger" );// ( "exp/mpf_test",100 ); 87 80 int l_X = L->add ( rx, "xt" ); 88 81 int l_D = L->add ( concat ( ry,ru ), "" ); … … 103 96 vec xtm=zeros ( 4 ); 104 97 double Ww=0.0; 105 vec vecW=getvec ( F.lookup ( "profile" ) ); 98 vec vecW; 99 UI::get( vecW, F ,"profile" ); 106 100 107 101 mat tQ=diag(Qdiag);