From 0345245e860375a32c9a437c4a9d9cae807134e9 Mon Sep 17 00:00:00 2001 From: Shashank Date: Mon, 29 May 2017 12:40:26 +0530 Subject: CMSCOPE changed --- modules/cacsd/help/en_US/abinv.xml | 279 +++++++++++++++ modules/cacsd/help/en_US/addchapter.sce | 11 + modules/cacsd/help/en_US/arhnk.xml | 80 +++++ modules/cacsd/help/en_US/arl2.xml | 173 +++++++++ modules/cacsd/help/en_US/arma.xml | 187 ++++++++++ modules/cacsd/help/en_US/arma2p.xml | 80 +++++ modules/cacsd/help/en_US/arma2ss.xml | 102 ++++++ modules/cacsd/help/en_US/armac.xml | 114 ++++++ modules/cacsd/help/en_US/armax.xml | 189 ++++++++++ modules/cacsd/help/en_US/armax1.xml | 160 +++++++++ modules/cacsd/help/en_US/arsimul.xml | 123 +++++++ modules/cacsd/help/en_US/augment.xml | 158 +++++++++ modules/cacsd/help/en_US/balreal.xml | 82 +++++ modules/cacsd/help/en_US/bilin.xml | 76 ++++ modules/cacsd/help/en_US/bstap.xml | 66 ++++ modules/cacsd/help/en_US/cainv.xml | 183 ++++++++++ modules/cacsd/help/en_US/calfrq.xml | 123 +++++++ modules/cacsd/help/en_US/canon.xml | 125 +++++++ modules/cacsd/help/en_US/ccontrg.xml | 98 ++++++ modules/cacsd/help/en_US/cls2dls.xml | 77 ++++ modules/cacsd/help/en_US/colinout.xml | 86 +++++ modules/cacsd/help/en_US/colregul.xml | 75 ++++ modules/cacsd/help/en_US/cont_mat.xml | 70 ++++ modules/cacsd/help/en_US/contr.xml | 152 ++++++++ modules/cacsd/help/en_US/contrss.xml | 75 ++++ modules/cacsd/help/en_US/copfac.xml | 97 +++++ modules/cacsd/help/en_US/csim.xml | 229 ++++++++++++ modules/cacsd/help/en_US/ctr_gram.xml | 94 +++++ modules/cacsd/help/en_US/damp.xml | 186 ++++++++++ modules/cacsd/help/en_US/dcf.xml | 77 ++++ modules/cacsd/help/en_US/ddp.xml | 172 +++++++++ modules/cacsd/help/en_US/dhinf.xml | 229 ++++++++++++ modules/cacsd/help/en_US/dhnorm.xml | 77 ++++ modules/cacsd/help/en_US/dscr.xml | 98 ++++++ modules/cacsd/help/en_US/dsimul.xml | 84 +++++ modules/cacsd/help/en_US/dt_ility.xml | 124 +++++++ modules/cacsd/help/en_US/dtsi.xml | 116 ++++++ modules/cacsd/help/en_US/equil.xml | 73 ++++ modules/cacsd/help/en_US/equil1.xml | 100 ++++++ modules/cacsd/help/en_US/feedback.xml | 94 +++++ modules/cacsd/help/en_US/findABCD.xml | 239 +++++++++++++ modules/cacsd/help/en_US/findAC.xml | 191 ++++++++++ modules/cacsd/help/en_US/findBD.xml | 329 +++++++++++++++++ modules/cacsd/help/en_US/findBDK.xml | 278 +++++++++++++++ modules/cacsd/help/en_US/findR.xml | 272 ++++++++++++++ modules/cacsd/help/en_US/findx0BD.xml | 231 ++++++++++++ modules/cacsd/help/en_US/flts.xml | 221 ++++++++++++ .../cacsd/help/en_US/formal_representation/CHAPTER | 2 + .../help/en_US/formal_representation/abcd.xml | 82 +++++ .../help/en_US/formal_representation/cont_frm.xml | 75 ++++ .../help/en_US/formal_representation/dbphi.xml | 58 +++ .../help/en_US/formal_representation/des2ss.xml | 104 ++++++ .../help/en_US/formal_representation/des2tf.xml | 108 ++++++ .../help/en_US/formal_representation/frep2tf.xml | 175 +++++++++ .../help/en_US/formal_representation/lsslist.xml | 51 +++ .../help/en_US/formal_representation/markp2ss.xml | 87 +++++ .../help/en_US/formal_representation/sm2des.xml | 65 ++++ .../help/en_US/formal_representation/sm2ss.xml | 62 ++++ .../help/en_US/formal_representation/ss2des.xml | 93 +++++ .../help/en_US/formal_representation/ss2ss.xml | 195 +++++++++++ .../help/en_US/formal_representation/ss2tf.xml | 102 ++++++ .../help/en_US/formal_representation/tf2des.xml | 94 +++++ .../help/en_US/formal_representation/tf2ss.xml | 95 +++++ modules/cacsd/help/en_US/fourplan.xml | 87 +++++ modules/cacsd/help/en_US/freq.xml | 95 +++++ modules/cacsd/help/en_US/freson.xml | 77 ++++ modules/cacsd/help/en_US/fspec.xml | 75 ++++ modules/cacsd/help/en_US/fspecg.xml | 77 ++++ modules/cacsd/help/en_US/fstabst.xml | 129 +++++++ modules/cacsd/help/en_US/g_margin.xml | 138 ++++++++ modules/cacsd/help/en_US/gamitg.xml | 112 ++++++ modules/cacsd/help/en_US/gcare.xml | 83 +++++ modules/cacsd/help/en_US/gfare.xml | 83 +++++ modules/cacsd/help/en_US/gfrancis.xml | 123 +++++++ modules/cacsd/help/en_US/gtild.xml | 128 +++++++ modules/cacsd/help/en_US/h2norm.xml | 69 ++++ modules/cacsd/help/en_US/h_cl.xml | 95 +++++ modules/cacsd/help/en_US/h_inf.xml | 136 +++++++ modules/cacsd/help/en_US/h_inf_st.xml | 59 ++++ modules/cacsd/help/en_US/h_norm.xml | 78 +++++ modules/cacsd/help/en_US/hankelsv.xml | 79 +++++ modules/cacsd/help/en_US/hinf.xml | 203 +++++++++++ modules/cacsd/help/en_US/imrep2ss.xml | 97 +++++ modules/cacsd/help/en_US/inistate.xml | 168 +++++++++ modules/cacsd/help/en_US/invsyslin.xml | 68 ++++ modules/cacsd/help/en_US/kpure.xml | 118 +++++++ modules/cacsd/help/en_US/krac2.xml | 67 ++++ modules/cacsd/help/en_US/lcf.xml | 77 ++++ modules/cacsd/help/en_US/leqr.xml | 116 ++++++ modules/cacsd/help/en_US/lft.xml | 141 ++++++++ modules/cacsd/help/en_US/lin.xml | 112 ++++++ modules/cacsd/help/en_US/linf.xml | 71 ++++ modules/cacsd/help/en_US/linfn.xml | 120 +++++++ modules/cacsd/help/en_US/linmeq.xml | 359 +++++++++++++++++++ modules/cacsd/help/en_US/lqe.xml | 147 ++++++++ modules/cacsd/help/en_US/lqg.xml | 129 +++++++ modules/cacsd/help/en_US/lqg2stan.xml | 150 ++++++++ modules/cacsd/help/en_US/lqg_ltr.xml | 95 +++++ modules/cacsd/help/en_US/lqr.xml | 140 ++++++++ modules/cacsd/help/en_US/ltitr.xml | 99 ++++++ modules/cacsd/help/en_US/macglov.xml | 94 +++++ modules/cacsd/help/en_US/minreal.xml | 89 +++++ modules/cacsd/help/en_US/minss.xml | 80 +++++ modules/cacsd/help/en_US/mucomp.xml | 123 +++++++ modules/cacsd/help/en_US/narsimul.xml | 44 +++ modules/cacsd/help/en_US/nehari.xml | 75 ++++ modules/cacsd/help/en_US/noisegen.xml | 109 ++++++ .../cacsd/help/en_US/nyquistfrequencybounds.xml | 144 ++++++++ modules/cacsd/help/en_US/obs_gram.xml | 101 ++++++ modules/cacsd/help/en_US/obscont.xml | 172 +++++++++ modules/cacsd/help/en_US/observer.xml | 191 ++++++++++ modules/cacsd/help/en_US/obsv_mat.xml | 66 ++++ modules/cacsd/help/en_US/obsvss.xml | 78 +++++ modules/cacsd/help/en_US/p_margin.xml | 122 +++++++ modules/cacsd/help/en_US/parrot.xml | 59 ++++ modules/cacsd/help/en_US/pfss.xml | 129 +++++++ modules/cacsd/help/en_US/phasemag.xml | 125 +++++++ modules/cacsd/help/en_US/plot_display/CHAPTER | 2 + modules/cacsd/help/en_US/plot_display/black.xml | 180 ++++++++++ modules/cacsd/help/en_US/plot_display/bode.xml | 233 ++++++++++++ .../cacsd/help/en_US/plot_display/bode_asymp.xml | 180 ++++++++++ modules/cacsd/help/en_US/plot_display/evans.xml | 103 ++++++ modules/cacsd/help/en_US/plot_display/gainplot.xml | 130 +++++++ .../cacsd/help/en_US/plot_display/hallchart.xml | 154 ++++++++ modules/cacsd/help/en_US/plot_display/m_circle.xml | 110 ++++++ .../cacsd/help/en_US/plot_display/nicholschart.xml | 138 ++++++++ modules/cacsd/help/en_US/plot_display/nyquist.xml | 256 ++++++++++++++ .../cacsd/help/en_US/plot_display/phaseplot.xml | 219 ++++++++++++ modules/cacsd/help/en_US/plot_display/sgrid.xml | 123 +++++++ .../cacsd/help/en_US/plot_display/show_margins.xml | 91 +++++ modules/cacsd/help/en_US/plot_display/svplot.xml | 97 +++++ modules/cacsd/help/en_US/plot_display/zgrid.xml | 134 +++++++ modules/cacsd/help/en_US/plzr.xml | 75 ++++ modules/cacsd/help/en_US/pol2des.xml | 69 ++++ modules/cacsd/help/en_US/ppol.xml | 85 +++++ modules/cacsd/help/en_US/prbs_a.xml | 43 +++ modules/cacsd/help/en_US/projsl.xml | 85 +++++ modules/cacsd/help/en_US/repfreq.xml | 139 ++++++++ modules/cacsd/help/en_US/ric_desc.xml | 123 +++++++ modules/cacsd/help/en_US/ricc.xml | 181 ++++++++++ modules/cacsd/help/en_US/riccati.xml | 122 +++++++ modules/cacsd/help/en_US/routh_t.xml | 185 ++++++++++ modules/cacsd/help/en_US/rowinout.xml | 114 ++++++ modules/cacsd/help/en_US/rowregul.xml | 72 ++++ modules/cacsd/help/en_US/rtitr.xml | 207 +++++++++++ modules/cacsd/help/en_US/sensi.xml | 124 +++++++ modules/cacsd/help/en_US/sident.xml | 321 +++++++++++++++++ modules/cacsd/help/en_US/sorder.xml | 334 ++++++++++++++++++ modules/cacsd/help/en_US/specfact.xml | 69 ++++ modules/cacsd/help/en_US/ssprint.xml | 73 ++++ modules/cacsd/help/en_US/st_ility.xml | 120 +++++++ modules/cacsd/help/en_US/stabil.xml | 128 +++++++ modules/cacsd/help/en_US/sysfact.xml | 102 ++++++ modules/cacsd/help/en_US/syslin.xml | 186 ++++++++++ modules/cacsd/help/en_US/syssize.xml | 86 +++++ modules/cacsd/help/en_US/time_id.xml | 124 +++++++ modules/cacsd/help/en_US/trzeros.xml | 128 +++++++ modules/cacsd/help/en_US/ui_observer.xml | 172 +++++++++ modules/cacsd/help/en_US/unobs.xml | 97 +++++ modules/cacsd/help/en_US/zeropen.xml | 77 ++++ modules/cacsd/help/fr_FR/addchapter.sce | 11 + .../cacsd/help/fr_FR/formal_representation/CHAPTER | 2 + .../help/fr_FR/formal_representation/lsslist.xml | 42 +++ modules/cacsd/help/fr_FR/noisegen.xml | 109 ++++++ modules/cacsd/help/fr_FR/plot_display/CHAPTER | 2 + .../cacsd/help/fr_FR/plot_display/bode_asymp.xml | 180 ++++++++++ modules/cacsd/help/fr_FR/pol2des.xml | 60 ++++ modules/cacsd/help/fr_FR/syslin.xml | 175 +++++++++ modules/cacsd/help/ja_JP/abinv.xml | 320 +++++++++++++++++ modules/cacsd/help/ja_JP/addchapter.sce | 11 + modules/cacsd/help/ja_JP/arhnk.xml | 81 +++++ modules/cacsd/help/ja_JP/arl2.xml | 171 +++++++++ modules/cacsd/help/ja_JP/arma.xml | 154 ++++++++ modules/cacsd/help/ja_JP/arma2p.xml | 80 +++++ modules/cacsd/help/ja_JP/arma2ss.xml | 98 ++++++ modules/cacsd/help/ja_JP/armac.xml | 114 ++++++ modules/cacsd/help/ja_JP/armax.xml | 170 +++++++++ modules/cacsd/help/ja_JP/armax1.xml | 157 +++++++++ modules/cacsd/help/ja_JP/arsimul.xml | 113 ++++++ modules/cacsd/help/ja_JP/augment.xml | 162 +++++++++ modules/cacsd/help/ja_JP/balreal.xml | 82 +++++ modules/cacsd/help/ja_JP/bilin.xml | 80 +++++ modules/cacsd/help/ja_JP/bstap.xml | 68 ++++ modules/cacsd/help/ja_JP/cainv.xml | 189 ++++++++++ modules/cacsd/help/ja_JP/calfrq.xml | 116 ++++++ modules/cacsd/help/ja_JP/canon.xml | 127 +++++++ modules/cacsd/help/ja_JP/ccontrg.xml | 96 +++++ modules/cacsd/help/ja_JP/cls2dls.xml | 75 ++++ modules/cacsd/help/ja_JP/colinout.xml | 88 +++++ modules/cacsd/help/ja_JP/colregul.xml | 77 ++++ modules/cacsd/help/ja_JP/cont_mat.xml | 71 ++++ modules/cacsd/help/ja_JP/contr.xml | 157 +++++++++ modules/cacsd/help/ja_JP/contrss.xml | 76 ++++ modules/cacsd/help/ja_JP/copfac.xml | 106 ++++++ modules/cacsd/help/ja_JP/csim.xml | 224 ++++++++++++ modules/cacsd/help/ja_JP/ctr_gram.xml | 93 +++++ modules/cacsd/help/ja_JP/damp.xml | 186 ++++++++++ modules/cacsd/help/ja_JP/dcf.xml | 78 +++++ modules/cacsd/help/ja_JP/ddp.xml | 172 +++++++++ modules/cacsd/help/ja_JP/dhinf.xml | 235 +++++++++++++ modules/cacsd/help/ja_JP/dhnorm.xml | 77 ++++ modules/cacsd/help/ja_JP/dscr.xml | 99 ++++++ modules/cacsd/help/ja_JP/dsimul.xml | 87 +++++ modules/cacsd/help/ja_JP/dt_ility.xml | 129 +++++++ modules/cacsd/help/ja_JP/dtsi.xml | 118 +++++++ modules/cacsd/help/ja_JP/equil.xml | 74 ++++ modules/cacsd/help/ja_JP/equil1.xml | 101 ++++++ modules/cacsd/help/ja_JP/feedback.xml | 98 ++++++ modules/cacsd/help/ja_JP/findABCD.xml | 263 ++++++++++++++ modules/cacsd/help/ja_JP/findAC.xml | 207 +++++++++++ modules/cacsd/help/ja_JP/findBD.xml | 354 +++++++++++++++++++ modules/cacsd/help/ja_JP/findBDK.xml | 305 ++++++++++++++++ modules/cacsd/help/ja_JP/findR.xml | 294 ++++++++++++++++ modules/cacsd/help/ja_JP/findx0BD.xml | 234 +++++++++++++ modules/cacsd/help/ja_JP/flts.xml | 191 ++++++++++ .../cacsd/help/ja_JP/formal_representation/CHAPTER | 2 + .../help/ja_JP/formal_representation/abcd.xml | 83 +++++ .../help/ja_JP/formal_representation/cont_frm.xml | 75 ++++ .../help/ja_JP/formal_representation/dbphi.xml | 58 +++ .../help/ja_JP/formal_representation/des2ss.xml | 107 ++++++ .../help/ja_JP/formal_representation/des2tf.xml | 110 ++++++ .../help/ja_JP/formal_representation/frep2tf.xml | 151 ++++++++ .../help/ja_JP/formal_representation/lsslist.xml | 54 +++ .../help/ja_JP/formal_representation/markp2ss.xml | 89 +++++ .../help/ja_JP/formal_representation/sm2des.xml | 65 ++++ .../help/ja_JP/formal_representation/sm2ss.xml | 62 ++++ .../help/ja_JP/formal_representation/ss2des.xml | 96 +++++ .../help/ja_JP/formal_representation/ss2ss.xml | 186 ++++++++++ .../help/ja_JP/formal_representation/ss2tf.xml | 101 ++++++ .../help/ja_JP/formal_representation/tf2des.xml | 93 +++++ .../help/ja_JP/formal_representation/tf2ss.xml | 95 +++++ modules/cacsd/help/ja_JP/fourplan.xml | 89 +++++ modules/cacsd/help/ja_JP/freq.xml | 99 ++++++ modules/cacsd/help/ja_JP/freson.xml | 77 ++++ modules/cacsd/help/ja_JP/fspec.xml | 75 ++++ modules/cacsd/help/ja_JP/fspecg.xml | 79 +++++ modules/cacsd/help/ja_JP/fstabst.xml | 141 ++++++++ modules/cacsd/help/ja_JP/g_margin.xml | 125 +++++++ modules/cacsd/help/ja_JP/gamitg.xml | 119 +++++++ modules/cacsd/help/ja_JP/gcare.xml | 87 +++++ modules/cacsd/help/ja_JP/gfare.xml | 73 ++++ modules/cacsd/help/ja_JP/gfrancis.xml | 127 +++++++ modules/cacsd/help/ja_JP/gtild.xml | 138 ++++++++ modules/cacsd/help/ja_JP/h2norm.xml | 74 ++++ modules/cacsd/help/ja_JP/h_cl.xml | 103 ++++++ modules/cacsd/help/ja_JP/h_inf.xml | 148 ++++++++ modules/cacsd/help/ja_JP/h_inf_st.xml | 60 ++++ modules/cacsd/help/ja_JP/h_norm.xml | 79 +++++ modules/cacsd/help/ja_JP/hankelsv.xml | 83 +++++ modules/cacsd/help/ja_JP/hinf.xml | 206 +++++++++++ modules/cacsd/help/ja_JP/imrep2ss.xml | 97 +++++ modules/cacsd/help/ja_JP/inistate.xml | 154 ++++++++ modules/cacsd/help/ja_JP/invsyslin.xml | 59 ++++ modules/cacsd/help/ja_JP/kpure.xml | 117 +++++++ modules/cacsd/help/ja_JP/krac2.xml | 69 ++++ modules/cacsd/help/ja_JP/lcf.xml | 79 +++++ modules/cacsd/help/ja_JP/leqr.xml | 120 +++++++ modules/cacsd/help/ja_JP/lft.xml | 149 ++++++++ modules/cacsd/help/ja_JP/lin.xml | 115 ++++++ modules/cacsd/help/ja_JP/linf.xml | 71 ++++ modules/cacsd/help/ja_JP/linfn.xml | 121 +++++++ modules/cacsd/help/ja_JP/linmeq.xml | 380 ++++++++++++++++++++ modules/cacsd/help/ja_JP/lqe.xml | 150 ++++++++ modules/cacsd/help/ja_JP/lqg.xml | 93 +++++ modules/cacsd/help/ja_JP/lqg2stan.xml | 153 ++++++++ modules/cacsd/help/ja_JP/lqg_ltr.xml | 94 +++++ modules/cacsd/help/ja_JP/lqr.xml | 143 ++++++++ modules/cacsd/help/ja_JP/ltitr.xml | 100 ++++++ modules/cacsd/help/ja_JP/macglov.xml | 98 ++++++ modules/cacsd/help/ja_JP/minreal.xml | 89 +++++ modules/cacsd/help/ja_JP/minss.xml | 81 +++++ modules/cacsd/help/ja_JP/mucomp.xml | 82 +++++ modules/cacsd/help/ja_JP/narsimul.xml | 32 ++ modules/cacsd/help/ja_JP/nehari.xml | 81 +++++ modules/cacsd/help/ja_JP/noisegen.xml | 44 +++ .../cacsd/help/ja_JP/nyquistfrequencybounds.xml | 128 +++++++ modules/cacsd/help/ja_JP/obs_gram.xml | 102 ++++++ modules/cacsd/help/ja_JP/obscont.xml | 186 ++++++++++ modules/cacsd/help/ja_JP/observer.xml | 208 +++++++++++ modules/cacsd/help/ja_JP/obsv_mat.xml | 66 ++++ modules/cacsd/help/ja_JP/obsvss.xml | 81 +++++ modules/cacsd/help/ja_JP/p_margin.xml | 124 +++++++ modules/cacsd/help/ja_JP/parrot.xml | 61 ++++ modules/cacsd/help/ja_JP/pfss.xml | 110 ++++++ modules/cacsd/help/ja_JP/phasemag.xml | 111 ++++++ modules/cacsd/help/ja_JP/plot_display/CHAPTER | 2 + modules/cacsd/help/ja_JP/plot_display/black.xml | 188 ++++++++++ modules/cacsd/help/ja_JP/plot_display/bode.xml | 203 +++++++++++ .../cacsd/help/ja_JP/plot_display/bode_asymp.xml | 178 ++++++++++ modules/cacsd/help/ja_JP/plot_display/evans.xml | 100 ++++++ modules/cacsd/help/ja_JP/plot_display/gainplot.xml | 128 +++++++ .../cacsd/help/ja_JP/plot_display/hallchart.xml | 155 ++++++++ modules/cacsd/help/ja_JP/plot_display/m_circle.xml | 108 ++++++ .../cacsd/help/ja_JP/plot_display/nicholschart.xml | 138 ++++++++ modules/cacsd/help/ja_JP/plot_display/nyquist.xml | 262 ++++++++++++++ .../cacsd/help/ja_JP/plot_display/phaseplot.xml | 224 ++++++++++++ modules/cacsd/help/ja_JP/plot_display/sgrid.xml | 128 +++++++ .../cacsd/help/ja_JP/plot_display/show_margins.xml | 91 +++++ modules/cacsd/help/ja_JP/plot_display/svplot.xml | 91 +++++ modules/cacsd/help/ja_JP/plot_display/zgrid.xml | 131 +++++++ modules/cacsd/help/ja_JP/plzr.xml | 66 ++++ modules/cacsd/help/ja_JP/pol2des.xml | 69 ++++ modules/cacsd/help/ja_JP/ppol.xml | 88 +++++ modules/cacsd/help/ja_JP/prbs_a.xml | 40 +++ modules/cacsd/help/ja_JP/projsl.xml | 86 +++++ modules/cacsd/help/ja_JP/repfreq.xml | 141 ++++++++ modules/cacsd/help/ja_JP/ric_desc.xml | 117 +++++++ modules/cacsd/help/ja_JP/ricc.xml | 172 +++++++++ modules/cacsd/help/ja_JP/riccati.xml | 92 +++++ modules/cacsd/help/ja_JP/routh_t.xml | 179 ++++++++++ modules/cacsd/help/ja_JP/rowinout.xml | 120 +++++++ modules/cacsd/help/ja_JP/rowregul.xml | 77 ++++ modules/cacsd/help/ja_JP/rtitr.xml | 196 +++++++++++ modules/cacsd/help/ja_JP/sensi.xml | 128 +++++++ modules/cacsd/help/ja_JP/sident.xml | 357 +++++++++++++++++++ modules/cacsd/help/ja_JP/sorder.xml | 390 +++++++++++++++++++++ modules/cacsd/help/ja_JP/specfact.xml | 73 ++++ modules/cacsd/help/ja_JP/ssprint.xml | 73 ++++ modules/cacsd/help/ja_JP/st_ility.xml | 123 +++++++ modules/cacsd/help/ja_JP/stabil.xml | 131 +++++++ modules/cacsd/help/ja_JP/sysfact.xml | 105 ++++++ modules/cacsd/help/ja_JP/syslin.xml | 187 ++++++++++ modules/cacsd/help/ja_JP/syssize.xml | 55 +++ modules/cacsd/help/ja_JP/time_id.xml | 133 +++++++ modules/cacsd/help/ja_JP/trzeros.xml | 131 +++++++ modules/cacsd/help/ja_JP/ui_observer.xml | 180 ++++++++++ modules/cacsd/help/ja_JP/unobs.xml | 97 +++++ modules/cacsd/help/ja_JP/zeropen.xml | 81 +++++ modules/cacsd/help/mml/ss2ss_equation1.mml | 86 +++++ modules/cacsd/help/mml/ss2ss_equation2.mml | 86 +++++ modules/cacsd/help/mml/ss2ss_equation3.mml | 96 +++++ modules/cacsd/help/mml/ss2ss_equation4.mml | 35 ++ modules/cacsd/help/mml/syslin_equation_1.mml | 69 ++++ modules/cacsd/help/pt_BR/addchapter.sce | 11 + .../help/pt_BR/formal_representation/lsslist.xml | 54 +++ modules/cacsd/help/pt_BR/plot_display/CHAPTER | 2 + modules/cacsd/help/pt_BR/plot_display/black.xml | 182 ++++++++++ modules/cacsd/help/pt_BR/plot_display/bode.xml | 193 ++++++++++ modules/cacsd/help/pt_BR/plot_display/evans.xml | 97 +++++ modules/cacsd/help/pt_BR/plot_display/gainplot.xml | 122 +++++++ modules/cacsd/help/pt_BR/plot_display/m_circle.xml | 114 ++++++ modules/cacsd/help/pt_BR/plot_display/nyquist.xml | 168 +++++++++ modules/cacsd/help/pt_BR/plot_display/sgrid.xml | 77 ++++ modules/cacsd/help/pt_BR/plot_display/zgrid.xml | 72 ++++ modules/cacsd/help/pt_BR/plzr.xml | 65 ++++ modules/cacsd/help/pt_BR/pol2des.xml | 74 ++++ modules/cacsd/help/pt_BR/routh_t.xml | 47 +++ modules/cacsd/help/pt_BR/ssprint.xml | 73 ++++ modules/cacsd/help/pt_BR/syslin.xml | 185 ++++++++++ modules/cacsd/help/ru_RU/addchapter.sce | 11 + .../help/ru_RU/formal_representation/lsslist.xml | 51 +++ modules/cacsd/help/ru_RU/plzr.xml | 74 ++++ modules/cacsd/help/ru_RU/syslin.xml | 174 +++++++++ 353 files changed, 42423 insertions(+) create mode 100755 modules/cacsd/help/en_US/abinv.xml create mode 100755 modules/cacsd/help/en_US/addchapter.sce create mode 100755 modules/cacsd/help/en_US/arhnk.xml create mode 100755 modules/cacsd/help/en_US/arl2.xml create mode 100755 modules/cacsd/help/en_US/arma.xml create mode 100755 modules/cacsd/help/en_US/arma2p.xml create mode 100755 modules/cacsd/help/en_US/arma2ss.xml create mode 100755 modules/cacsd/help/en_US/armac.xml create mode 100755 modules/cacsd/help/en_US/armax.xml create mode 100755 modules/cacsd/help/en_US/armax1.xml create mode 100755 modules/cacsd/help/en_US/arsimul.xml create mode 100755 modules/cacsd/help/en_US/augment.xml create mode 100755 modules/cacsd/help/en_US/balreal.xml create mode 100755 modules/cacsd/help/en_US/bilin.xml create mode 100755 modules/cacsd/help/en_US/bstap.xml create mode 100755 modules/cacsd/help/en_US/cainv.xml create mode 100755 modules/cacsd/help/en_US/calfrq.xml create mode 100755 modules/cacsd/help/en_US/canon.xml create mode 100755 modules/cacsd/help/en_US/ccontrg.xml create mode 100755 modules/cacsd/help/en_US/cls2dls.xml create mode 100755 modules/cacsd/help/en_US/colinout.xml create mode 100755 modules/cacsd/help/en_US/colregul.xml create mode 100755 modules/cacsd/help/en_US/cont_mat.xml create mode 100755 modules/cacsd/help/en_US/contr.xml create mode 100755 modules/cacsd/help/en_US/contrss.xml create mode 100755 modules/cacsd/help/en_US/copfac.xml create mode 100755 modules/cacsd/help/en_US/csim.xml create mode 100755 modules/cacsd/help/en_US/ctr_gram.xml create mode 100755 modules/cacsd/help/en_US/damp.xml create mode 100755 modules/cacsd/help/en_US/dcf.xml create mode 100755 modules/cacsd/help/en_US/ddp.xml create mode 100755 modules/cacsd/help/en_US/dhinf.xml create mode 100755 modules/cacsd/help/en_US/dhnorm.xml create mode 100755 modules/cacsd/help/en_US/dscr.xml create mode 100755 modules/cacsd/help/en_US/dsimul.xml create mode 100755 modules/cacsd/help/en_US/dt_ility.xml create mode 100755 modules/cacsd/help/en_US/dtsi.xml create mode 100755 modules/cacsd/help/en_US/equil.xml create mode 100755 modules/cacsd/help/en_US/equil1.xml create mode 100755 modules/cacsd/help/en_US/feedback.xml create mode 100755 modules/cacsd/help/en_US/findABCD.xml create mode 100755 modules/cacsd/help/en_US/findAC.xml create mode 100755 modules/cacsd/help/en_US/findBD.xml create mode 100755 modules/cacsd/help/en_US/findBDK.xml create mode 100755 modules/cacsd/help/en_US/findR.xml create mode 100755 modules/cacsd/help/en_US/findx0BD.xml create mode 100755 modules/cacsd/help/en_US/flts.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/CHAPTER create mode 100755 modules/cacsd/help/en_US/formal_representation/abcd.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/cont_frm.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/dbphi.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/des2ss.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/des2tf.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/frep2tf.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/lsslist.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/markp2ss.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/sm2des.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/sm2ss.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/ss2des.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/ss2ss.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/ss2tf.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/tf2des.xml create mode 100755 modules/cacsd/help/en_US/formal_representation/tf2ss.xml create mode 100755 modules/cacsd/help/en_US/fourplan.xml create mode 100755 modules/cacsd/help/en_US/freq.xml create mode 100755 modules/cacsd/help/en_US/freson.xml create mode 100755 modules/cacsd/help/en_US/fspec.xml create mode 100755 modules/cacsd/help/en_US/fspecg.xml create mode 100755 modules/cacsd/help/en_US/fstabst.xml create mode 100755 modules/cacsd/help/en_US/g_margin.xml create mode 100755 modules/cacsd/help/en_US/gamitg.xml create mode 100755 modules/cacsd/help/en_US/gcare.xml create mode 100755 modules/cacsd/help/en_US/gfare.xml create mode 100755 modules/cacsd/help/en_US/gfrancis.xml create mode 100755 modules/cacsd/help/en_US/gtild.xml create mode 100755 modules/cacsd/help/en_US/h2norm.xml create mode 100755 modules/cacsd/help/en_US/h_cl.xml create mode 100755 modules/cacsd/help/en_US/h_inf.xml create mode 100755 modules/cacsd/help/en_US/h_inf_st.xml create mode 100755 modules/cacsd/help/en_US/h_norm.xml create mode 100755 modules/cacsd/help/en_US/hankelsv.xml create mode 100755 modules/cacsd/help/en_US/hinf.xml create mode 100755 modules/cacsd/help/en_US/imrep2ss.xml create mode 100755 modules/cacsd/help/en_US/inistate.xml create mode 100755 modules/cacsd/help/en_US/invsyslin.xml create mode 100755 modules/cacsd/help/en_US/kpure.xml create mode 100755 modules/cacsd/help/en_US/krac2.xml create mode 100755 modules/cacsd/help/en_US/lcf.xml create mode 100755 modules/cacsd/help/en_US/leqr.xml create mode 100755 modules/cacsd/help/en_US/lft.xml create mode 100755 modules/cacsd/help/en_US/lin.xml create mode 100755 modules/cacsd/help/en_US/linf.xml create mode 100755 modules/cacsd/help/en_US/linfn.xml create mode 100755 modules/cacsd/help/en_US/linmeq.xml create mode 100755 modules/cacsd/help/en_US/lqe.xml create mode 100755 modules/cacsd/help/en_US/lqg.xml create mode 100755 modules/cacsd/help/en_US/lqg2stan.xml create mode 100755 modules/cacsd/help/en_US/lqg_ltr.xml create mode 100755 modules/cacsd/help/en_US/lqr.xml create mode 100755 modules/cacsd/help/en_US/ltitr.xml create mode 100755 modules/cacsd/help/en_US/macglov.xml create mode 100755 modules/cacsd/help/en_US/minreal.xml create mode 100755 modules/cacsd/help/en_US/minss.xml create mode 100755 modules/cacsd/help/en_US/mucomp.xml create mode 100755 modules/cacsd/help/en_US/narsimul.xml create mode 100755 modules/cacsd/help/en_US/nehari.xml create mode 100755 modules/cacsd/help/en_US/noisegen.xml create mode 100755 modules/cacsd/help/en_US/nyquistfrequencybounds.xml create mode 100755 modules/cacsd/help/en_US/obs_gram.xml create mode 100755 modules/cacsd/help/en_US/obscont.xml create mode 100755 modules/cacsd/help/en_US/observer.xml create mode 100755 modules/cacsd/help/en_US/obsv_mat.xml create mode 100755 modules/cacsd/help/en_US/obsvss.xml create mode 100755 modules/cacsd/help/en_US/p_margin.xml create mode 100755 modules/cacsd/help/en_US/parrot.xml create mode 100755 modules/cacsd/help/en_US/pfss.xml create mode 100755 modules/cacsd/help/en_US/phasemag.xml create mode 100755 modules/cacsd/help/en_US/plot_display/CHAPTER create mode 100755 modules/cacsd/help/en_US/plot_display/black.xml create mode 100755 modules/cacsd/help/en_US/plot_display/bode.xml create mode 100755 modules/cacsd/help/en_US/plot_display/bode_asymp.xml create mode 100755 modules/cacsd/help/en_US/plot_display/evans.xml create mode 100755 modules/cacsd/help/en_US/plot_display/gainplot.xml create mode 100755 modules/cacsd/help/en_US/plot_display/hallchart.xml create mode 100755 modules/cacsd/help/en_US/plot_display/m_circle.xml create mode 100755 modules/cacsd/help/en_US/plot_display/nicholschart.xml create mode 100755 modules/cacsd/help/en_US/plot_display/nyquist.xml create mode 100755 modules/cacsd/help/en_US/plot_display/phaseplot.xml create mode 100755 modules/cacsd/help/en_US/plot_display/sgrid.xml create mode 100755 modules/cacsd/help/en_US/plot_display/show_margins.xml create mode 100755 modules/cacsd/help/en_US/plot_display/svplot.xml create mode 100755 modules/cacsd/help/en_US/plot_display/zgrid.xml create mode 100755 modules/cacsd/help/en_US/plzr.xml create mode 100755 modules/cacsd/help/en_US/pol2des.xml create mode 100755 modules/cacsd/help/en_US/ppol.xml create mode 100755 modules/cacsd/help/en_US/prbs_a.xml create mode 100755 modules/cacsd/help/en_US/projsl.xml create mode 100755 modules/cacsd/help/en_US/repfreq.xml create mode 100755 modules/cacsd/help/en_US/ric_desc.xml create mode 100755 modules/cacsd/help/en_US/ricc.xml create mode 100755 modules/cacsd/help/en_US/riccati.xml create mode 100755 modules/cacsd/help/en_US/routh_t.xml create mode 100755 modules/cacsd/help/en_US/rowinout.xml create mode 100755 modules/cacsd/help/en_US/rowregul.xml create mode 100755 modules/cacsd/help/en_US/rtitr.xml create mode 100755 modules/cacsd/help/en_US/sensi.xml create mode 100755 modules/cacsd/help/en_US/sident.xml create mode 100755 modules/cacsd/help/en_US/sorder.xml create mode 100755 modules/cacsd/help/en_US/specfact.xml create mode 100755 modules/cacsd/help/en_US/ssprint.xml create mode 100755 modules/cacsd/help/en_US/st_ility.xml create mode 100755 modules/cacsd/help/en_US/stabil.xml create mode 100755 modules/cacsd/help/en_US/sysfact.xml create mode 100755 modules/cacsd/help/en_US/syslin.xml create mode 100755 modules/cacsd/help/en_US/syssize.xml create mode 100755 modules/cacsd/help/en_US/time_id.xml create mode 100755 modules/cacsd/help/en_US/trzeros.xml create mode 100755 modules/cacsd/help/en_US/ui_observer.xml create mode 100755 modules/cacsd/help/en_US/unobs.xml create mode 100755 modules/cacsd/help/en_US/zeropen.xml create mode 100755 modules/cacsd/help/fr_FR/addchapter.sce create mode 100755 modules/cacsd/help/fr_FR/formal_representation/CHAPTER create mode 100755 modules/cacsd/help/fr_FR/formal_representation/lsslist.xml create mode 100755 modules/cacsd/help/fr_FR/noisegen.xml create mode 100755 modules/cacsd/help/fr_FR/plot_display/CHAPTER create mode 100755 modules/cacsd/help/fr_FR/plot_display/bode_asymp.xml create mode 100755 modules/cacsd/help/fr_FR/pol2des.xml create mode 100755 modules/cacsd/help/fr_FR/syslin.xml create mode 100755 modules/cacsd/help/ja_JP/abinv.xml create mode 100755 modules/cacsd/help/ja_JP/addchapter.sce create mode 100755 modules/cacsd/help/ja_JP/arhnk.xml create mode 100755 modules/cacsd/help/ja_JP/arl2.xml create mode 100755 modules/cacsd/help/ja_JP/arma.xml create mode 100755 modules/cacsd/help/ja_JP/arma2p.xml create mode 100755 modules/cacsd/help/ja_JP/arma2ss.xml create mode 100755 modules/cacsd/help/ja_JP/armac.xml create mode 100755 modules/cacsd/help/ja_JP/armax.xml create mode 100755 modules/cacsd/help/ja_JP/armax1.xml create mode 100755 modules/cacsd/help/ja_JP/arsimul.xml create mode 100755 modules/cacsd/help/ja_JP/augment.xml create mode 100755 modules/cacsd/help/ja_JP/balreal.xml create mode 100755 modules/cacsd/help/ja_JP/bilin.xml create mode 100755 modules/cacsd/help/ja_JP/bstap.xml create mode 100755 modules/cacsd/help/ja_JP/cainv.xml create mode 100755 modules/cacsd/help/ja_JP/calfrq.xml create mode 100755 modules/cacsd/help/ja_JP/canon.xml create mode 100755 modules/cacsd/help/ja_JP/ccontrg.xml create mode 100755 modules/cacsd/help/ja_JP/cls2dls.xml create mode 100755 modules/cacsd/help/ja_JP/colinout.xml create mode 100755 modules/cacsd/help/ja_JP/colregul.xml create mode 100755 modules/cacsd/help/ja_JP/cont_mat.xml create mode 100755 modules/cacsd/help/ja_JP/contr.xml create mode 100755 modules/cacsd/help/ja_JP/contrss.xml create mode 100755 modules/cacsd/help/ja_JP/copfac.xml create mode 100755 modules/cacsd/help/ja_JP/csim.xml create mode 100755 modules/cacsd/help/ja_JP/ctr_gram.xml create mode 100755 modules/cacsd/help/ja_JP/damp.xml create mode 100755 modules/cacsd/help/ja_JP/dcf.xml create mode 100755 modules/cacsd/help/ja_JP/ddp.xml create mode 100755 modules/cacsd/help/ja_JP/dhinf.xml create mode 100755 modules/cacsd/help/ja_JP/dhnorm.xml create mode 100755 modules/cacsd/help/ja_JP/dscr.xml create mode 100755 modules/cacsd/help/ja_JP/dsimul.xml create mode 100755 modules/cacsd/help/ja_JP/dt_ility.xml create mode 100755 modules/cacsd/help/ja_JP/dtsi.xml create mode 100755 modules/cacsd/help/ja_JP/equil.xml create mode 100755 modules/cacsd/help/ja_JP/equil1.xml create mode 100755 modules/cacsd/help/ja_JP/feedback.xml create mode 100755 modules/cacsd/help/ja_JP/findABCD.xml create mode 100755 modules/cacsd/help/ja_JP/findAC.xml create mode 100755 modules/cacsd/help/ja_JP/findBD.xml create mode 100755 modules/cacsd/help/ja_JP/findBDK.xml create mode 100755 modules/cacsd/help/ja_JP/findR.xml create mode 100755 modules/cacsd/help/ja_JP/findx0BD.xml create mode 100755 modules/cacsd/help/ja_JP/flts.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/CHAPTER create mode 100755 modules/cacsd/help/ja_JP/formal_representation/abcd.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/cont_frm.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/dbphi.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/des2ss.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/des2tf.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/frep2tf.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/lsslist.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/markp2ss.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/sm2des.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/sm2ss.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/ss2des.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/ss2ss.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/ss2tf.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/tf2des.xml create mode 100755 modules/cacsd/help/ja_JP/formal_representation/tf2ss.xml create mode 100755 modules/cacsd/help/ja_JP/fourplan.xml create mode 100755 modules/cacsd/help/ja_JP/freq.xml create mode 100755 modules/cacsd/help/ja_JP/freson.xml create mode 100755 modules/cacsd/help/ja_JP/fspec.xml create mode 100755 modules/cacsd/help/ja_JP/fspecg.xml create mode 100755 modules/cacsd/help/ja_JP/fstabst.xml create mode 100755 modules/cacsd/help/ja_JP/g_margin.xml create mode 100755 modules/cacsd/help/ja_JP/gamitg.xml create mode 100755 modules/cacsd/help/ja_JP/gcare.xml create mode 100755 modules/cacsd/help/ja_JP/gfare.xml create mode 100755 modules/cacsd/help/ja_JP/gfrancis.xml create mode 100755 modules/cacsd/help/ja_JP/gtild.xml create mode 100755 modules/cacsd/help/ja_JP/h2norm.xml create mode 100755 modules/cacsd/help/ja_JP/h_cl.xml create mode 100755 modules/cacsd/help/ja_JP/h_inf.xml create mode 100755 modules/cacsd/help/ja_JP/h_inf_st.xml create mode 100755 modules/cacsd/help/ja_JP/h_norm.xml create mode 100755 modules/cacsd/help/ja_JP/hankelsv.xml create mode 100755 modules/cacsd/help/ja_JP/hinf.xml create mode 100755 modules/cacsd/help/ja_JP/imrep2ss.xml create mode 100755 modules/cacsd/help/ja_JP/inistate.xml create mode 100755 modules/cacsd/help/ja_JP/invsyslin.xml create mode 100755 modules/cacsd/help/ja_JP/kpure.xml create mode 100755 modules/cacsd/help/ja_JP/krac2.xml create mode 100755 modules/cacsd/help/ja_JP/lcf.xml create mode 100755 modules/cacsd/help/ja_JP/leqr.xml create mode 100755 modules/cacsd/help/ja_JP/lft.xml create mode 100755 modules/cacsd/help/ja_JP/lin.xml create mode 100755 modules/cacsd/help/ja_JP/linf.xml create mode 100755 modules/cacsd/help/ja_JP/linfn.xml create mode 100755 modules/cacsd/help/ja_JP/linmeq.xml create mode 100755 modules/cacsd/help/ja_JP/lqe.xml create mode 100755 modules/cacsd/help/ja_JP/lqg.xml create mode 100755 modules/cacsd/help/ja_JP/lqg2stan.xml create mode 100755 modules/cacsd/help/ja_JP/lqg_ltr.xml create mode 100755 modules/cacsd/help/ja_JP/lqr.xml create mode 100755 modules/cacsd/help/ja_JP/ltitr.xml create mode 100755 modules/cacsd/help/ja_JP/macglov.xml create mode 100755 modules/cacsd/help/ja_JP/minreal.xml create mode 100755 modules/cacsd/help/ja_JP/minss.xml create mode 100755 modules/cacsd/help/ja_JP/mucomp.xml create mode 100755 modules/cacsd/help/ja_JP/narsimul.xml create mode 100755 modules/cacsd/help/ja_JP/nehari.xml create mode 100755 modules/cacsd/help/ja_JP/noisegen.xml create mode 100755 modules/cacsd/help/ja_JP/nyquistfrequencybounds.xml create mode 100755 modules/cacsd/help/ja_JP/obs_gram.xml create mode 100755 modules/cacsd/help/ja_JP/obscont.xml create mode 100755 modules/cacsd/help/ja_JP/observer.xml create mode 100755 modules/cacsd/help/ja_JP/obsv_mat.xml create mode 100755 modules/cacsd/help/ja_JP/obsvss.xml create mode 100755 modules/cacsd/help/ja_JP/p_margin.xml create mode 100755 modules/cacsd/help/ja_JP/parrot.xml create mode 100755 modules/cacsd/help/ja_JP/pfss.xml create mode 100755 modules/cacsd/help/ja_JP/phasemag.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/CHAPTER create mode 100755 modules/cacsd/help/ja_JP/plot_display/black.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/bode.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/bode_asymp.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/evans.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/gainplot.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/hallchart.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/m_circle.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/nicholschart.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/nyquist.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/phaseplot.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/sgrid.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/show_margins.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/svplot.xml create mode 100755 modules/cacsd/help/ja_JP/plot_display/zgrid.xml create mode 100755 modules/cacsd/help/ja_JP/plzr.xml create mode 100755 modules/cacsd/help/ja_JP/pol2des.xml create mode 100755 modules/cacsd/help/ja_JP/ppol.xml create mode 100755 modules/cacsd/help/ja_JP/prbs_a.xml create mode 100755 modules/cacsd/help/ja_JP/projsl.xml create mode 100755 modules/cacsd/help/ja_JP/repfreq.xml create mode 100755 modules/cacsd/help/ja_JP/ric_desc.xml create mode 100755 modules/cacsd/help/ja_JP/ricc.xml create mode 100755 modules/cacsd/help/ja_JP/riccati.xml create mode 100755 modules/cacsd/help/ja_JP/routh_t.xml create mode 100755 modules/cacsd/help/ja_JP/rowinout.xml create mode 100755 modules/cacsd/help/ja_JP/rowregul.xml create mode 100755 modules/cacsd/help/ja_JP/rtitr.xml create mode 100755 modules/cacsd/help/ja_JP/sensi.xml create mode 100755 modules/cacsd/help/ja_JP/sident.xml create mode 100755 modules/cacsd/help/ja_JP/sorder.xml create mode 100755 modules/cacsd/help/ja_JP/specfact.xml create mode 100755 modules/cacsd/help/ja_JP/ssprint.xml create mode 100755 modules/cacsd/help/ja_JP/st_ility.xml create mode 100755 modules/cacsd/help/ja_JP/stabil.xml create mode 100755 modules/cacsd/help/ja_JP/sysfact.xml create mode 100755 modules/cacsd/help/ja_JP/syslin.xml create mode 100755 modules/cacsd/help/ja_JP/syssize.xml create mode 100755 modules/cacsd/help/ja_JP/time_id.xml create mode 100755 modules/cacsd/help/ja_JP/trzeros.xml create mode 100755 modules/cacsd/help/ja_JP/ui_observer.xml create mode 100755 modules/cacsd/help/ja_JP/unobs.xml create mode 100755 modules/cacsd/help/ja_JP/zeropen.xml create mode 100755 modules/cacsd/help/mml/ss2ss_equation1.mml create mode 100755 modules/cacsd/help/mml/ss2ss_equation2.mml create mode 100755 modules/cacsd/help/mml/ss2ss_equation3.mml create mode 100755 modules/cacsd/help/mml/ss2ss_equation4.mml create mode 100755 modules/cacsd/help/mml/syslin_equation_1.mml create mode 100755 modules/cacsd/help/pt_BR/addchapter.sce create mode 100755 modules/cacsd/help/pt_BR/formal_representation/lsslist.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/CHAPTER create mode 100755 modules/cacsd/help/pt_BR/plot_display/black.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/bode.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/evans.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/gainplot.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/m_circle.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/nyquist.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/sgrid.xml create mode 100755 modules/cacsd/help/pt_BR/plot_display/zgrid.xml create mode 100755 modules/cacsd/help/pt_BR/plzr.xml create mode 100755 modules/cacsd/help/pt_BR/pol2des.xml create mode 100755 modules/cacsd/help/pt_BR/routh_t.xml create mode 100755 modules/cacsd/help/pt_BR/ssprint.xml create mode 100755 modules/cacsd/help/pt_BR/syslin.xml create mode 100755 modules/cacsd/help/ru_RU/addchapter.sce create mode 100755 modules/cacsd/help/ru_RU/formal_representation/lsslist.xml create mode 100755 modules/cacsd/help/ru_RU/plzr.xml create mode 100755 modules/cacsd/help/ru_RU/syslin.xml (limited to 'modules/cacsd/help') diff --git a/modules/cacsd/help/en_US/abinv.xml b/modules/cacsd/help/en_US/abinv.xml new file mode 100755 index 000000000..e9308593d --- /dev/null +++ b/modules/cacsd/help/en_US/abinv.xml @@ -0,0 +1,279 @@ + + + + + abinv + AB invariant subspace + + + Calling Sequence + [X,dims,F,U,k,Z]=abinv(Sys,alpha,beta,flag) + + + Arguments + + + Sys + + + syslin list containing the matrices [A,B,C,D]. + + + + + alpha + + (optional) real number or vector (possibly complex, location of closed loop poles) + + + + beta + + (optional) real number or vector (possibly complex, location of closed loop poles) + + + + flag + + + (optional) character string 'ge' (default) or 'st' or 'pp' + + + + + X + + orthogonal matrix of size nx (dim of state space). + + + + dims + + + integer row vector dims=[dimR,dimVg,dimV,noc,nos] with dimR<=dimVg<=dimV<=noc<=nos. If flag='st', (resp. 'pp'), dims has 4 (resp. 3) components. + + + + + F + + real matrix (state feedback) + + + + k + + + integer (normal rank of Sys) + + + + + Z + + + non-singular linear system (syslin list) + + + + + + + Description + + Output nulling subspace (maximal unobservable subspace) for + Sys = linear system defined by a syslin list containing + the matrices [A,B,C,D] of Sys. + The vector dims=[dimR,dimVg,dimV,noc,nos] gives the dimensions + of subspaces defined as columns of X according to partition given + below. + The dimV first columns of X i.e V=X(:,1:dimV), + span the AB-invariant subspace of Sys i.e the unobservable subspace of + (A+B*F,C+D*F). (dimV=nx iff C^(-1)(D)=X). + + + The dimR first columns of X i.e. R=X(:,1:dimR) spans + the controllable part of Sys in V, (dimR<=dimV). (dimR=0 + for a left invertible system). R is the maximal controllability + subspace of Sys in kernel(C). + + + The dimVg first columns of X spans + Vg=maximal AB-stabilizable subspace of Sys. (dimR<=dimVg<=dimV). + + + F is a decoupling feedback: for X=[V,X2] (X2=X(:,dimV+1:nx)) one has + X2'*(A+B*F)*V=0 and (C+D*F)*V=0. + + + The zeros od Sys are given by : X0=X(:,dimR+1:dimV); spec(X0'*(A+B*F)*X0) + i.e. there are dimV-dimR closed-loop fixed modes. + + + If the optional parameter alpha is given as input, + the dimR controllable modes of (A+BF) in V + are set to alpha (or to [alpha(1), alpha(2), ...]. + (alpha can be a vector (real or complex pairs) or a (real) number). + Default value alpha=-1. + + + If the optional real parameter beta is given as input, + the noc-dimV controllable modes of (A+BF) "outside" V + are set to beta (or [beta(1),beta(2),...]). Default value beta=-1. + + + In the X,U bases, the matrices + [X'*(A+B*F)*X,X'*B*U;(C+D*F)*X,D*U] + are displayed as follows: + + + + where the X-partitioning is defined by dims and + the U-partitioning is defined by k. + + + A11 is (dimR x dimR) and has its eigenvalues set to alpha(i)'s. + The pair (A11,B11) is controllable and B11 has nu-k columns. + A22 is a stable (dimVg-dimR x dimVg-dimR) matrix. + A33 is an unstable (dimV-dimVg x dimV-dimVg) matrix (see st_ility). + + + A44 is (noc-dimV x noc-dimV) and has its eigenvalues set to beta(i)'s. + The pair (A44,B42) is controllable. + A55 is a stable (nos-noc x nos-noc) matrix. + A66 is an unstable (nx-nos x nx-nos) matrix (see st_ility). + + + Z is a column compression of Sys and k is + the normal rank of Sys i.e Sys*Z is a column-compressed linear + system. k is the column dimensions of B42,B52,B62 and D2. + [B42;B52;B62;D2] is full column rank and has rank k. + + + If flag='st' is given, a five blocks partition of the matrices is + returned and dims has four components. If flag='pp' is + given a four blocks partition is returned. In case flag='ge' one has + dims=[dimR,dimVg,dimV,dimV+nc2,dimV+ns2] where nc2 + (resp. ns2) is the dimension of the controllable (resp. + stabilizable) pair (A44,B42) (resp. ([A44,*;0,A55],[B42;0])). + In case flag='st' one has dims=[dimR,dimVg,dimVg+nc,dimVg+ns] + and in case flag='pp' one has dims=[dimR,dimR+nc,dimR+ns]. + nc (resp. ns) is here the dimension of the controllable + (resp. stabilizable) subspace of the blocks 3 to 6 (resp. 2 to 6). + + + This function can be used for the (exact) disturbance decoupling problem. + + row-compression of Q2 +Then C*[(sI-A-B*F)^(-1)+D]*(Q+B*R) =0 (<=>G*(Q+B*R)=0) + ]]> + + + Examples + + y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) //The plant is not stabilizable! +[ns,nc,W,sl1]=st_ility(sl); +[A,B,C,D]=abcd(sl1);A=A(1:ns,1:ns);B=B(1:ns,:);C=C(:,1:ns); +slnew=syslin('c',A,B,C,D); //Now stabilizable +//Fnew=stabil(slnew('A'),slnew('B'),-11); +//slnew('A')=slnew('A')+slnew('B')*Fnew; +//slnew('C')=slnew('C')+slnew('D')*Fnew; +[X,dims,F,U,k,Z]=abinv(slnew,my_alpha,my_beta);dimVg=dims(2); +[A,B,C,D]=abcd(slnew); +G=(X(:,dimVg+1:$))'; +B2=G*B;nd=3; +R=rand(nu,nd);Q2T=-[B2;D]*R; +p=size(G,1);Q2=Q2T(1:p,:);T=Q2T(p+1:$,:); +Q=G\Q2; //a valid [Q;T] since +[G*B;D]*R + [G*Q;T] // is zero +closed=syslin('c',A+B*F,Q+B*R,C+D*F,T+D*R); // closed loop: d-->y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) + ]]> + + + See Also + + + cainv + + + st_ility + + + ssrand + + + ss2ss + + + ddp + + + + diff --git a/modules/cacsd/help/en_US/addchapter.sce b/modules/cacsd/help/en_US/addchapter.sce new file mode 100755 index 000000000..632d45f25 --- /dev/null +++ b/modules/cacsd/help/en_US/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD (Computer Aided Control Systems Design)",SCI+"/modules/cacsd/help/en_US",%T); + diff --git a/modules/cacsd/help/en_US/arhnk.xml b/modules/cacsd/help/en_US/arhnk.xml new file mode 100755 index 000000000..060059544 --- /dev/null +++ b/modules/cacsd/help/en_US/arhnk.xml @@ -0,0 +1,80 @@ + + + + + arhnk + Hankel norm approximant + + + Calling Sequence + [slm]=arhnk(sl,ord,[tol]) + + + Arguments + + + sl + + + linear system (syslin list) + + + + + ord + + integer, order of the approximant + + + + tol + + + threshold for rank determination in equil1 + + + + + + + Description + + computes slm, the optimal Hankel norm approximant of the + stable continuous-time linear system sl with matrices [A,B,C,D]. + + + + Examples + + + + See Also + + + equil + + + equil1 + + + hankelsv + + + + diff --git a/modules/cacsd/help/en_US/arl2.xml b/modules/cacsd/help/en_US/arl2.xml new file mode 100755 index 000000000..e4492c4e5 --- /dev/null +++ b/modules/cacsd/help/en_US/arl2.xml @@ -0,0 +1,173 @@ + + + + + arl2 + SISO model realization by L2 transfer approximation + + + Calling Sequence + h=arl2(y,den0,n [,imp]) + h=arl2(y,den0,n [,imp],'all') + [den,num,err]=arl2(y,den0,n [,imp]) + [den,num,err]=arl2(y,den0,n [,imp],'all') + + + + Arguments + + + y + + + real vector or polynomial in z^-1, it contains the coefficients of the Fourier's series of the rational system to approximate (the impulse response) + + + + + den0 + + + a polynomial which gives an initial guess of the solution, it may be poly(1,'z','c') + + + + + n + + integer, the degree of approximating transfer function (degree of den) + + + + imp + + + integer in (0,1,2) (verbose mode) + + + + + h + + + transfer function num/den or transfer matrix (column vector) when flag 'all' is given. + + + + + den + + polynomial or vector of polynomials, contains the denominator(s) of the solution(s) + + + + num + + polynomial or vector of polynomials, contains the numerator(s) of the solution(s) + + + + err + + real constant or vector , the l2-error achieved for each solutions + + + + + + Description + + [den,num,err]=arl2(y,den0,n [,imp]) finds a pair of polynomials + num and den such that the transfer function num/den + is stable and its impulse response approximates (with a minimal l2 + norm) the vector y assumed to be completed by an infinite number + of zeros. + + + If y(z) = y(1)(1/z)+y(2)(1/z^2)+ ...+ y(ny)(1/z^ny) + + + then l2-norm of num/den - y(z) is err. + + + n is the degree of the polynomial den. + + + The num/den transfer function is a L2 approximant of the + Fourier's series of the rational system. + + + Various intermediate results are printed according to imp. + + + [den,num,err]=arl2(y,den0,n [,imp],'all') returns in the + vectors of polynomials num and den a set of local + optimums for the problem. The solutions are sorted with increasing + errors err. In this case den0 is already assumed to be + poly(1,'z','c') + + + + Examples + + + v=ones(1,20); + plot2d1('enn',0,[v';zeros(80,1)],2,'051',' ',[1,-0.5,100,1.5]) + + [d,n,e]=arl2(v,poly(1,'z','c'),1) + plot2d1('enn',0,ldiv(n,d,100),2,'000') + [d,n,e]=arl2(v,d,3) + plot2d1('enn',0,ldiv(n,d,100),3,'000') + [d,n,e]=arl2(v,d,8) + plot2d1('enn',0,ldiv(n,d,100),5,'000') + + [d,n,e]=arl2(v,poly(1,'z','c'),4,'all') + plot2d1('enn',0,ldiv(n(1),d(1),100),10,'000') + + + + + See Also + + + ldiv + + + imrep2ss + + + time_id + + + armax + + + frep2tf + + + + diff --git a/modules/cacsd/help/en_US/arma.xml b/modules/cacsd/help/en_US/arma.xml new file mode 100755 index 000000000..afc6ec9fb --- /dev/null +++ b/modules/cacsd/help/en_US/arma.xml @@ -0,0 +1,187 @@ + + + + + arma + Scilab arma library + + + Description + + Armax processes can be coded with Scilab tlist of type 'ar'. + armac is used to build Armax scilab object. An 'ar' + tlist contains the fields ['a','b','d','ny','nu','sig']. + + + + armac + + this function creates a Scilab tlist which code an Armax + process A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t) + + ar=armac([1,2],[3,4],1,1,1,sig); + +-->ar('a') + ans = + +! 1. 2. ! +-->ar('sig') + ans = + + 1. + ]]> + + + + armap(ar [,out]) + + + Display the armax equation associated with ar + + + + + armap_p(ar [,out]) + + + Display the armax equation associated with ar using polynomial matrix display. + + + + + [A,B,D]=armap2p(ar) + + extract polynomial matrices from ar representation + + + + armax + + + is used to identify the coefficients of a n-dimensional ARX process A(z^-1)y= B(z^-1)u + sig*e(t) + + + + + armax1 + + armax1 is used to identify the coefficients of a 1-dimensional ARX process + A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t) + + + + + arsimul + + armax trajectory simulation. + + + + narsimul + + armax simulation ( using rtitr) + + + + odedi + + Simple tests of ode and arsimul. Tests the option 'discret' of ode + + + + prbs_a + + pseudo random binary sequences generation + + + + reglin + + Linear regression + + + + + + Example + + + m = 18; + a = [1,-1.3136,1.4401,-1.0919,+0.83527]; + b = [0.0,0.13137,0.023543,0.10775,0.03516]; + u = rand(1,1000,'n'); + z = arsimul(a,b,[0],0,u); + + [sm,fr]=mese(z,m); + + function gx=gxx(z,a,b) + w = exp(-%i*2*%pi*z*(0:4))' + gx = abs(b*w)^2/(abs(a*w)^2); + endfunction + + res=[]; + for x=fr + res=[ res, gxx(x,a,b)]; + end + + [arc,la,lb,sig,resid]=armax(4,4,z,u); + res1=[]; + for x=fr + res1=[ res1, gxx(x,la(1),lb(1))]; + end + + plot2d([fr;fr;fr]',[20*log10(sm/sm(1));20*log10(res/res(1));20*log10(res1/res1(1))]',[2,1,-1]) + legend(["Using macro mese";"Theoretical value";"Arma identification"]) + xtitle("Spectral power","frequency","spectral estimate") + + + diff --git a/modules/cacsd/help/en_US/arma2p.xml b/modules/cacsd/help/en_US/arma2p.xml new file mode 100755 index 000000000..e2c5bf3a0 --- /dev/null +++ b/modules/cacsd/help/en_US/arma2p.xml @@ -0,0 +1,80 @@ + + + + + arma2p + extract polynomial matrices from ar representation + + + Calling Sequence + [A,B,D]=arma2p(ar) + + + Arguments + + + A,B,D + + three polynomial matrices + + + + ar + + + Scilab 'ar' tlist for arma storage (see armac). + + + + + + + Description + + this function extract polynomial matrices (A,B,D) from an armax + description. + + + + Examples + + + + See Also + + + arma + + + armax + + + armax1 + + + arsimul + + + armac + + + + diff --git a/modules/cacsd/help/en_US/arma2ss.xml b/modules/cacsd/help/en_US/arma2ss.xml new file mode 100755 index 000000000..a1e0975ad --- /dev/null +++ b/modules/cacsd/help/en_US/arma2ss.xml @@ -0,0 +1,102 @@ + + + + + arma2ss + transform an armax data structure into state space + representation. + + + + Calling Sequence + [S,Sn] = arma2ss(Ar) + S = arma2ss(Ar) + + + + Parameters + + + Ar + + + an armax data structure (see armac. + + + + + S + + + a discrete time state space data structure (see syslin. The regular input to output + transfer. + + + + + Sn + + + a discrete time state space data structure (see syslin. The noise input to output + transfer. + + + + + + + Description + + [S,Sn] = arma2ss(Ar) transform an armax data + structure into a state space representation. The full armax transfer + Fcan be obtained by F=[S,Sn]. + + + + Examples + A = [eye(2,2),[-1.5 0.1;-0.2 1.5],[0.7 -0.3;0.1 0.7]]; + B = [[0;0] [1;-1] [0.5;1.2]]; + Ar = armac(A, B, zeros(2, 2), 2, 1, 0) + [S, Sn] = arma2ss(Ar) + + + + See Also + + + armac + + + arma + + + syslin + + + + + Authors + + Serge Steer, INRIA + + + + History + + + 5.4.0 + arma2ss added. + + + + diff --git a/modules/cacsd/help/en_US/armac.xml b/modules/cacsd/help/en_US/armac.xml new file mode 100755 index 000000000..0f3273944 --- /dev/null +++ b/modules/cacsd/help/en_US/armac.xml @@ -0,0 +1,114 @@ + + + + + armac + Scilab description of an armax process + + + Calling Sequence + [ar]=armac(a,b,d,ny,nu,sig) + + + Arguments + + + a=[Id,a1,..,a_r] + + is a matrix of size (ny,r*ny) + + + + b=[b0,.....,b_s] + + is a matrix of size (ny,(s+1)*nu) + + + + d=[Id,d1,..,d_p] + + is a matrix of size (ny,p*ny); + + + + ny + + dimension of the output y + + + + nu + + dimension of the output u + + + + sig + + a matrix of size (ny,ny) + + + + + + Description + + This function creates a description as a tlist of an ARMAX process + + + ar is defined by + + + + and thus the coefficients of ar can be retrieved by e.g. + ar('a') . + + + + Examples + + + + See Also + + + arma + + + armax + + + armax1 + + + arsimul + + + arma2p + + + tlist + + + + diff --git a/modules/cacsd/help/en_US/armax.xml b/modules/cacsd/help/en_US/armax.xml new file mode 100755 index 000000000..2e978a46b --- /dev/null +++ b/modules/cacsd/help/en_US/armax.xml @@ -0,0 +1,189 @@ + + + + + armax + armax identification + + + Calling Sequence + [arc,la,lb,sig,resid]=armax(r,s,y,u,[b0f,prf]) + + + Arguments + + + y + + output process y(ny,n); ( ny: dimension of y , n : sample size) + + + + u + + input process u(nu,n); ( nu: dimension of u , n : sample size) + + + + r and s + + auto-regression orders r >=0 et s >=-1 + + + + b0f + + optional parameter. Its default value is 0 and it means that the coefficient b0 must be identified. if bof=1 the b0 is supposed to be zero and is not identified + + + + prf + + optional parameter for display control. If prf =1, the default value, a display of the identified Arma is given. + + + + arc + + a Scilab arma object (see armac) + + + + la + + is the list(a,a+eta,a-eta) ( la = a in dimension 1) ; where eta is the estimated standard deviation. , a=[Id,a1,a2,...,ar] where each ai is a matrix of size (ny,ny) + + + + lb + + is the list(b,b+etb,b-etb) (lb =b in dimension 1) ; where etb is the estimated standard deviation. b=[b0,.....,b_s] where each bi is a matrix of size (nu,nu) + + + + sig + + is the estimated standard deviation of the noise and resid=[ sig*e(t0),....] ( + + + + + + Description + + armax is used to identify the coefficients of a n-dimensional + ARX process + + + + where e(t) is a n-dimensional white noise with variance I. + sig an nxn matrix and A(z) and B(z): + + A(z)=1) +B(z) = b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) + ]]> + + for the method see Eykhoff in trends and progress in system identification, page 96. + with + z(t)=[y(t-1),..,y(t-r),u(t),...,u(t-s)] + and + coef= [-a1,..,-ar,b0,...,b_s] + we can write + y(t)= coef* z(t) + sig*e(t) and the algorithm minimises + sum_{t=1}^N ( [y(t)- coef'z(t)]^2) + where t0=max(max(r,s)+1,1))). + + + + Examples + + + + + a = [1, -2.851, 2.717, -0.865]; + b = [0, 1, 1, 1]; + d = [1, 0.7, 0.2]; + ar = armac(a, b, d, 1, 1, 1); + n = 300; + u = -prbs_a(n, 1, int([2.5,5,10,17.5,20,22,27,35]*100/12)); + zd = narsimul(ar, u); + plot2d(1:n,[zd',1000*u'],style=[1,3]);curves = gce(); + legend(["Simulated output";"Input [scaled]"]); + + + + See Also + + + imrep2ss + + + time_id + + + arl2 + + + armax + + + frep2tf + + + + diff --git a/modules/cacsd/help/en_US/armax1.xml b/modules/cacsd/help/en_US/armax1.xml new file mode 100755 index 000000000..336ef3d96 --- /dev/null +++ b/modules/cacsd/help/en_US/armax1.xml @@ -0,0 +1,160 @@ + + + + + armax1 + armax identification + + + Calling Sequence + [arc,resid]=armax1(r,s,q,y,u [,b0f]) + + + Arguments + + + y + + output signal + + + + u + + input signal + + + + r,s,q + + auto regression orders with r >=0, s >=-1. + + + + b0f + + optional parameter. Its default value is 0 and it + means that the coefficient b0 must be identified. if bof=1 + the b0 is supposed to be zero and is not identified + + + + + arc + + is tlist with type "ar" and fields a, b, d, ny, nu, sig + + + a + + + is the vector [1,a1,...,a_r] + + + + + b + + + is the vector [b0,......,b_s] + + + + + d + + + is the vector [1,d1,....,d_q] + + + + + sig + + resid=[ sig*echap(1),....,]; + + + + + + + + + Description + + armax1 is used to identify the coefficients of a 1-dimensional + ARX process: + + A(z)=1) +B(z)= b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) +D(z)= 1+d1*z+...+d_q*z^q ( q=0 => D(z)=1) + ]]> + + for the method, see Eykhoff in trends and progress in system + identification) page 96. with + + + + and + + + + a sequential version of the AR estimation where e(t-i) is replaced + by an estimated value is used (RLLS). With q=0 this method is exactly + a sequential version of armax + + + + + Examples + + + + + + Important notice + In Scilab versions up to 4.1.2 the returned value in + arc.sig is the square of sig + square. To be conform with the help, the display of arma models + and the armax function, starting from Scilab-5.0 version the + returned arc.sig is sig. + + + diff --git a/modules/cacsd/help/en_US/arsimul.xml b/modules/cacsd/help/en_US/arsimul.xml new file mode 100755 index 000000000..9d4a388ee --- /dev/null +++ b/modules/cacsd/help/en_US/arsimul.xml @@ -0,0 +1,123 @@ + + + + + arsimul + armax simulation + + + Calling Sequence + [z]=arsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=arsimul(ar,u,[up,yp,ep]) + + + + Arguments + + + ar + + an armax process. See armac. + + + + a + + + is the matrix [Id,a1,...,a_r] of dimension (n,(r+1)*n) + + + + + b + + + is the matrix [b0,......,b_s] of dimension (n,(s+1)*m) + + + + + d + + + is the matrix [Id,d_1,......,d_t] of dimension (n,(t+1)*n) + + + + + u + + is a matrix (m,N), which gives the entry u(:,j)=u_j + + + + sig + + is a (n,n) matrix e_{k} is an n-dimensional Gaussian process with variance I + + + + up, yp + + + optional parameter which describe the past. up=[ u_0,u_{-1},...,u_{s-1}]; + yp=[ y_0,y_{-1},...,y_{r-1}]; ep=[ e_0,e_{-1},...,e_{r-1}]; + if they are omitted, the past value are supposed to be zero + + + + + z + + + z=[y(1),....,y(N)] + + + + + + + Description + + simulation of an n-dimensional armax process + A(z^-1) z(k)= B(z^-1)u(k) + D(z^-1)*sig*e(k) + + A(z)=Id) +B(z)= b0+b1*z+...+b_s z^s; ( s=-1 => B(z)=[]) +D(z)= Id+d1*z+...+d_t z^t; ( t=0 => D(z)=Id) + ]]> + + z et e are in R^n et u in R^m + + + + Method + + a state-space representation is constructed and an ode with the option + "discrete" is used to compute z. + + + + Examples + + + diff --git a/modules/cacsd/help/en_US/augment.xml b/modules/cacsd/help/en_US/augment.xml new file mode 100755 index 000000000..ee1aea4ea --- /dev/null +++ b/modules/cacsd/help/en_US/augment.xml @@ -0,0 +1,158 @@ + + + + + augment + augmented plant + + + Calling Sequence + [P,r]=augment(G) + [P,r]=augment(G,flag1) + [P,r]=augment(G,flag1,flag2) + + + + Arguments + + + G + + + linear system (syslin list), the nominal plant + + + + + flag1 + + + one of the following (upper case) character string: 'S' , 'R' , 'T' 'SR' , 'ST' , 'RT' 'SRT' + + + + + flag2 + + + one of the following character string: 'o' (stands for 'output', this is the default value) or 'i' (stands for 'input'). + + + + + P + + + linear system (syslin list), the ``augmented'' plant + + + + + r + + + 1x2 row vector, dimension of P22 = G + + + + + + + Description + + If flag1='SRT' (default value), returns the "full" augmented plant + + 'S' + [ 0 | I] -->'R' +P = [ 0 | G] -->'T' + [-------] + [ I | -G] + ]]> + + 'S' , 'R' , 'T' refer to the first three (block) rows + of P respectively. + + + If one of these letters is absent in flag1, the corresponding + row in P is missing. + + + If G is given in state-space form, the returned P is minimal. + P is calculated by: [I,0,0;0,I,0;-I,0,I;I,0,0]*[I,-G;0,I;I,0]. + + + The augmented plant associated with input sensitivity functions, namely + + 'S' (input sensitivity) + [ G | -G] -->'R' (G*input sensitivity) +P = [ 0 | I] -->'T' (K*G*input sensitivity) + [-------] + [ G | -G] + ]]> + + is obtained by the command [P,r]=augment(G,flag,'i'). For + state-space G, this P + is calculated by: [I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I] + and is thus generically minimal. + + + Note that weighting functions can be introduced by left-multiplying + P by a diagonal system of appropriate dimension, e.g., + P = sysdiag(W1,W2,W3,eye(G))*P. + + + Sensitivity functions can be calculated by lft. One has: + + + For output sensitivity functions [P,r]=augment(P,'SRT'): + lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)]; + + + For input sensitivity functions [P,r]=augment(P,'SRT','i'): + lft(P,r,K)=[inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+G*K)]; + + + + Examples + + + + See Also + + + lft + + + sensi + + + + diff --git a/modules/cacsd/help/en_US/balreal.xml b/modules/cacsd/help/en_US/balreal.xml new file mode 100755 index 000000000..387bed9bd --- /dev/null +++ b/modules/cacsd/help/en_US/balreal.xml @@ -0,0 +1,82 @@ + + + + + balreal + balanced realization + + + Calling Sequence + [slb [,U] ] = balreal(sl) + + + Arguments + + + sl,slb + + + linear systems (syslin lists) + + + + + + + Description + + Balanced realization of linear system sl=[A,B,C,D]. sl + can be a continuous-time or discrete-time state-space system. + sl is assumed stable. + + + + is the balanced realization. + + + slb is returned as a syslin list. + + + + Examples + + + + See Also + + + ctr_gram + + + obs_gram + + + hankelsv + + + equil + + + equil1 + + + + diff --git a/modules/cacsd/help/en_US/bilin.xml b/modules/cacsd/help/en_US/bilin.xml new file mode 100755 index 000000000..aee5804f3 --- /dev/null +++ b/modules/cacsd/help/en_US/bilin.xml @@ -0,0 +1,76 @@ + + + + + bilin + general bilinear transform + + + Calling Sequence + [sl1]=bilin(sl,v) + + + Arguments + + + sl,sl1 + + + linear systems (syslin lists) + + + + + v + + + real vector with 4 entries (v=[a,b,c,d]) + + + + + + + Description + + Given a linear system in state space form, sl=syslin(dom,A,B,C,D) + (syslin list), sl1=bilin(sl,v) returns in sl1 a + linear system with matrices [A1,B1,C1,D1] such that + the transfer function H1(s)=C1*inv(s*eye()-A1)*B1+D1 is + obtained from H(z)=C*inv(z*eye()-A)*B+D by replacing z + by z=(a*s+b)/(c*s+d). + One has w=bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a]) + + + + Examples + + + + See Also + + + horner + + + cls2dls + + + + diff --git a/modules/cacsd/help/en_US/bstap.xml b/modules/cacsd/help/en_US/bstap.xml new file mode 100755 index 000000000..721dd21c9 --- /dev/null +++ b/modules/cacsd/help/en_US/bstap.xml @@ -0,0 +1,66 @@ + + + + + bstap + hankel approximant + + + Calling Sequence + [Q]=bstap(Sl) + + + Arguments + + + sl + + + linear system (syslin list) assumed continuous-time and anti-stable. + + + + + Q + + + best stable approximation of Sl (syslin list). + + + + + + + Description + + Computes the best approximant Q of the linear system Sl + + + where + + + ||T|| + + + is the H-infinity norm of the Hankel operator associated with Sl. + + + + See Also + + + syslin + + + + diff --git a/modules/cacsd/help/en_US/cainv.xml b/modules/cacsd/help/en_US/cainv.xml new file mode 100755 index 000000000..610d076db --- /dev/null +++ b/modules/cacsd/help/en_US/cainv.xml @@ -0,0 +1,183 @@ + + + + + cainv + Dual of abinv + + + Calling Sequence + [X,dims,J,Y,k,Z]=cainv(Sl,alfa,beta,flag) + + + Arguments + + + Sl + + + syslin list containing the matrices [A,B,C,D]. + + + + + alfa + + real number or vector (possibly complex, location of closed loop poles) + + + + beta + + real number or vector (possibly complex, location of closed loop poles) + + + + flag + + + (optional) character string 'ge' (default) or 'st' or 'pp' + + + + + X + + orthogonal matrix of size nx (dim of state space). + + + + dims + + + integer row vector dims=[nd1,nu1,dimS,dimSg,dimN] (5 entries, nondecreasing order).If flag='st', (resp. 'pp'), dims has 4 (resp. 3) components. + + + + + J + + real matrix (output injection) + + + + Y + + orthogonal matrix of size ny (dim of output space). + + + + k + + + integer (normal rank of Sl) + + + + + Z + + + non-singular linear system (syslin list) + + + + + + + Description + + cainv finds a bases (X,Y) (of state space and output space resp.) + and output injection matrix J such that the matrices of Sl in + bases (X,Y) are displayed as: + + + + The partition of X is defined by the vector + dims=[nd1,nu1,dimS,dimSg,dimN] and the partition of Y + is determined by k. + + + Eigenvalues of A11 (nd1 x nd1) are unstable. + Eigenvalues of A22 (nu1-nd1 x nu1-nd1) are stable. + + + The pair (A33, C13) (dimS-nu1 x dimS-nu1, k x dimS-nu1) is observable, + and eigenvalues of A33 are set to alfa. + + + Matrix A44 (dimSg-dimS x dimSg-dimS) is unstable. + Matrix A55 (dimN-dimSg,dimN-dimSg) is stable + + + The pair (A66,C26) (nx-dimN x nx-dimN) is observable, + and eigenvalues of A66 set to beta. + + + The dimS first columns of X span S= smallest (C,A) invariant + subspace which contains Im(B), dimSg first columns of X + span Sg the maximal "complementary detectability subspace" of Sl + + + The dimN first columns of X span the maximal + "complementary observability subspace" of Sl. + (dimS=0 if B(ker(D))=0). + + + If flag='st' is given, a five blocks partition of the matrices is + returned and dims has four components. If flag='pp' is + given a four blocks partition is returned (see abinv). + + + This function can be used to calculate an unknown input observer: + + + + + See Also + + + abinv + + + dt_ility + + + ui_observer + + + + diff --git a/modules/cacsd/help/en_US/calfrq.xml b/modules/cacsd/help/en_US/calfrq.xml new file mode 100755 index 000000000..a4442af21 --- /dev/null +++ b/modules/cacsd/help/en_US/calfrq.xml @@ -0,0 +1,123 @@ + + + + + calfrq + frequency response discretization + + + Calling Sequence + [frq,bnds,split]=calfrq(h,fmin,fmax) + + + Arguments + + + h + + Linear system in state space or transfer representation + ( + + see syslin + + ) + + + + + fmin,fmax + + real scalars (min and max frequencies in Hz) + + + + frq + + row vector (discretization of the frequency interval) + + + + bnds + + + vector [Rmin Rmax Imin Imax] where + Rmin and Rmax are the lower + and upper bounds of the frequency response real part, + Imin and Imax are the lower + and upper bounds of the frequency response imaginary part, + + + + + split + + vector of frq splitting points indexes + + + + + + Description + + frequency response discretization; frq is the + discretization of [fmin,fmax] such that the peaks in + the frequency response are well represented. + + + Singularities are located between frq(split(k)-1) + and frq(split(k)) for k>1. + + + + Examples + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + [f1,bnds,spl]=calfrq(h1,0.01,1000); + rf=repfreq(h1,f1); + plot2d(real(rf)',imag(rf)') + + + + See Also + + + bode + + + black + + + nyquist + + + freq + + + repfreq + + + logspace + + + + diff --git a/modules/cacsd/help/en_US/canon.xml b/modules/cacsd/help/en_US/canon.xml new file mode 100755 index 000000000..10c7e2015 --- /dev/null +++ b/modules/cacsd/help/en_US/canon.xml @@ -0,0 +1,125 @@ + + + + + canon + canonical controllable form + + + Calling Sequence + [Ac,Bc,U,ind]=canon(A,B) + + + Arguments + + + Ac,Bc + + canonical form + + + + U + + current basis (square nonsingular matrix) + + + + ind + + vector of integers, controllability indices + + + + + + Description + + gives the canonical controllable form of the pair (A,B). + + + Ac=inv(U)*A*U, Bc=inv(U)*B + + + The vector ind is made of the epsilon_i's indices + of the pencil [sI - A , B] (decreasing order). + For example with ind=[3,2], Ac and Bc are as follows: + + + + If (A,B) is controllable, by an appropriate choice + of F the * entries of Ac+Bc*F + can be arbitrarily set to desired values (pole placement). + + + + Examples + ind=[3.2]; +index=1;for k=1:size(ind,'*')-1,index=[index,1+sum(ind(1:k))];end +Acstar=Ac(index,:);Bcstar=Bc(index,:); +s=poly(0,'s'); +p1=s^3+2*s^2-5*s+3;p2=(s-5)*(s-3); +//p1 and p2 are desired closed-loop polynomials with degrees 3,2 +c1=coeff(p1);c1=c1($-1:-1:1);c2=coeff(p2);c2=c2($-1:-1:1); +Acstardesired=[-c1,0,0;0,0,0,-c2]; +//Acstardesired(index,:) is companion matrix with char. pol=p1*p2 +F=Bcstar\(Acstardesired-Acstar); //Feedbak gain +Ac+Bc*F // Companion form +spec(A+B*F/U) // F/U is the gain matrix in original basis. + ]]> + + + See Also + + + obsv_mat + + + cont_mat + + + ctr_gram + + + contrss + + + ppol + + + contr + + + stabil + + + + diff --git a/modules/cacsd/help/en_US/ccontrg.xml b/modules/cacsd/help/en_US/ccontrg.xml new file mode 100755 index 000000000..0f07480cf --- /dev/null +++ b/modules/cacsd/help/en_US/ccontrg.xml @@ -0,0 +1,98 @@ + + + + + ccontrg + Central H-infinity continuous time controller + + + Calling Sequence + [K]=ccontrg(P,r,gamma); + + + Arguments + + + P + + a continuous time linear dynamical system in state-space representation. + + + + r + + + a two elements vector with integer values: the dimension of the 2,2 part of P + + + + + gamma + + real number + + + + + + Description + + returns a realization K of the central controller for the + general standard problem in state-space form. + + + + Note that gamma must be > gopt (output of gamitg) + + + + P contains the parameters of plant realization (A,B,C,D) + (syslin list) with + + + + r(1) and r(2) are the + dimensions of D22 (rows x columns) + + + + See Also + + + gamitg + + + h_inf + + + + + Authors + P. Gahinet (INRIA); + + + History + + + 5.4.0 + + Sl is now checked for continuous time linear dynamical system. + This modification has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/cls2dls.xml b/modules/cacsd/help/en_US/cls2dls.xml new file mode 100755 index 000000000..8faf4550c --- /dev/null +++ b/modules/cacsd/help/en_US/cls2dls.xml @@ -0,0 +1,77 @@ + + + + + cls2dls + bilinear transform + + + Calling Sequence + [sl1]=cls2dls(sl,T [,fp]) + + + Arguments + + + sl,sl1 + + + linear systems (syslin lists) + + + + + T + + real number, the sampling period + + + + fp + + pre-warping frequency in hertz + + + + + + Description + + given sl=[A,B,C,D] (syslin list),a continuous time system + cls2dls returns the sampled system obtained by the + bilinear transform s=(2/T)*(z-1)/(z+1). + + + + Examples + + + + See Also + + + horner + + + syslin + + + + diff --git a/modules/cacsd/help/en_US/colinout.xml b/modules/cacsd/help/en_US/colinout.xml new file mode 100755 index 000000000..f8cd63f83 --- /dev/null +++ b/modules/cacsd/help/en_US/colinout.xml @@ -0,0 +1,86 @@ + + + + + colinout + inner-outer factorization + + + Calling Sequence + [Inn,X,Gbar]=colinout(G) + + + Arguments + + + G + + + linear system (syslin list) [A,B,C,D] + + + + + Inn + + + inner factor (syslin list) + + + + + Gbar + + + outer factor (syslin list) + + + + + X + + + row-compressor of G (syslin list) + + + + + + + Description + + Inner-outer factorization (and column compression) of (lxp) G =[A,B,C,D] with l<=p. + + + G is assumed to be fat (l<=p) without zero on the imaginary axis + and with a D matrix which is full row rank. + + + G must also be stable for having Gbar stable. + + + Dual of rowinout. + + + + See Also + + + syslin + + + rowinout + + + + diff --git a/modules/cacsd/help/en_US/colregul.xml b/modules/cacsd/help/en_US/colregul.xml new file mode 100755 index 000000000..eacf84aa1 --- /dev/null +++ b/modules/cacsd/help/en_US/colregul.xml @@ -0,0 +1,75 @@ + + + + + colregul + removing poles and zeros at infinity + + + Calling Sequence + [Stmp,Ws]=colregul(Sl,alfa,beta) + + + Arguments + + + Sl,Stmp + + + syslin lists + + + + + alfa,beta + + reals (new pole and zero positions) + + + + + + Description + + computes a prefilter Ws such that Stmp=Sl*Ws is proper and + with full rank D matrix. + + + Poles at infinity of Sl are moved to alfa; + + + Zeros at infinity of Sl are moved to beta; + + + Sl is assumed to be a left invertible linear system (syslin list) + in state-space representation with possibly a polynomial D matrix. + + + + See Also + + + invsyslin + + + inv + + + rowregul + + + rowshuff + + + + diff --git a/modules/cacsd/help/en_US/cont_mat.xml b/modules/cacsd/help/en_US/cont_mat.xml new file mode 100755 index 000000000..998a2763a --- /dev/null +++ b/modules/cacsd/help/en_US/cont_mat.xml @@ -0,0 +1,70 @@ + + + + + cont_mat + controllability matrix + + + Calling Sequence + Cc=cont_mat(A,B) + Cc=cont_mat(sl) + + + + Arguments + + + a,b + + two real matrices of appropriate dimensions + + + + sl + + + linear system (syslin list) + + + + + + + Description + + cont_mat returns the controllability + matrix of the pair A,B (resp. of the system sl=[A,B,C,D]). + + + + + See Also + + + ctr_gram + + + contr + + + canon + + + st_ility + + + + diff --git a/modules/cacsd/help/en_US/contr.xml b/modules/cacsd/help/en_US/contr.xml new file mode 100755 index 000000000..57314e4fc --- /dev/null +++ b/modules/cacsd/help/en_US/contr.xml @@ -0,0 +1,152 @@ + + + + + contr + controllability, controllable subspace, staircase + + + Calling Sequence + n=contr(A,B [,tol]) + [n,U]=contr(A,B [,tol]) + [n,U,ind,V,Ac,Bc]=contr(A,B,[,tol]) + + + + Arguments + + + A, B + + real matrices + + + + tol + + tolerance parameter + + + + n + + dimension of controllable subspace. + + + + U + + + orthogonal change of basis which puts (A,B) in canonical form. + + + + + V + + orthogonal matrix, change of basis in the control space. + + + + Ac + + + block Hessenberg matrix Ac=U'*A*U + + + + + Bc + + + is U'*B*V. + + + + + ind + + + p integer vector associated with controllability indices (dimensions of subspaces B, B+A*B,...=ind(1),ind(1)+ind(2),...) + + + + + + + Description + + [n,[U]]=contr(A,B,[tol]) gives the controllable form of an (A,B) + pair.(dx/dt = A x + B u or x(n+1) = A x(n) +b u(n)). + The n first columns of U make a basis for the controllable + subspace. + + + If V=U(:,1:n), then V'*A*V and V'*B give the controllable part + of the (A,B) pair. + + + The pair (Bc, Ac) is in staircase controllable form. + + + + + Reference + + Slicot library (see ab01od in SCI/modules/cacsd/src/slicot). + + + + Examples + + + + See Also + + + canon + + + cont_mat + + + unobs + + + stabil + + + st_ility + + + + diff --git a/modules/cacsd/help/en_US/contrss.xml b/modules/cacsd/help/en_US/contrss.xml new file mode 100755 index 000000000..76b7456b8 --- /dev/null +++ b/modules/cacsd/help/en_US/contrss.xml @@ -0,0 +1,75 @@ + + + + + contrss + controllable part + + + Calling Sequence + [slc]=contrss(sl [,tol]) + + + Arguments + + + sl + + + linear system (syslin list) + + + + + tol + + + is a threshold for controllability (see contr). default value is sqrt(%eps). + + + + + + + Description + + returns the controllable part of the linear + system sl = (A,B,C,D) in state-space form. + + + + Examples + + + + See Also + + + cont_mat + + + ctr_gram + + + cont_frm + + + contr + + + + diff --git a/modules/cacsd/help/en_US/copfac.xml b/modules/cacsd/help/en_US/copfac.xml new file mode 100755 index 000000000..129e79aa8 --- /dev/null +++ b/modules/cacsd/help/en_US/copfac.xml @@ -0,0 +1,97 @@ + + + + + copfac + right coprime factorization of continuous time dynamical systems + + + Calling Sequence + [N,M,XT,YT]=copfac(G [,polf,polc,tol]) + + + Arguments + + + G + + a continuous-time linear dynamical system. + + + + polf, polc + + + respectively the poles of XT and YT and the poles of n and M (default values =-1). + + + + + tol + + + real threshold for detecting stable poles (default value 100*%eps) + + + + + N,M,XT,YT + + continuous-time linear dynamical systems. + + + + + + Description + + [N,M,XT,YT]=copfac(G,[polf,polc,[tol]]) returns a right coprime factorization of G. + + + G= N*M^-1 where N and M are stable, proper and right coprime. + (i.e. [N M] left-invertible with stability) + + + XT and YT satisfy: + + + [XT -YT].[M N]' = eye (Bezout identity) + + + G is assumed stabilizable and detectable. + + + + See Also + + + syslin + + + lcf + + + + + History + + + 5.4.0 + + Sl is now checked for continuous time linear dynamical system. + This modification has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/csim.xml b/modules/cacsd/help/en_US/csim.xml new file mode 100755 index 000000000..7ffb02e36 --- /dev/null +++ b/modules/cacsd/help/en_US/csim.xml @@ -0,0 +1,229 @@ + + + + + csim + simulation (time response) of linear system + + + Calling Sequence + [y [,x]]=csim(u,t,sl,[x0 [,tol]]) + + + Arguments + + + u + + function, list or string (control) + + + + t + + + real vector specifying times with, + t(1) is the initial time + (x0=x(t(1))). + + + + + sl + + + syslin list (SIMO linear system) + in continuous time. + + + + + y + + + a matrix such that y=[y(t(i)], i=1,..,n + + + + + x + + + a matrix such that x=[x(t(i)], i=1,..,n + + + + + tol + + a 2 vector [atol rtol] defining absolute and relative tolerances for ode solver (see ode) + + + + + + Description + + simulation of the controlled linear system sl. + sl is assumed to be a continuous-time system + represented by a syslin list. + + + u is the control and x0 the initial state. + + + y is the output and x the state. + + + The control can be: + + + 1. a function : [inputs]=u(t) + + + 2. a list : list(ut,parameter1,....,parametern) such that: + inputs=ut(t,parameter1,....,parametern) (ut is a function) + + + 3. the string "impuls" for impulse + response calculation (here sl must have + a single input and x0=0). For systems + with direct feedthrough, the infinite pulse at t=0 is + ignored. + + + 4. the string "step" for step response calculation + (here sl must have a single input and + x0=0) + + + 5. a vector giving the values of u corresponding to each t value. + + + + Examples + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,tf2ss(s)*w))',0*t']) + + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,w))',0*t']) + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,w))',0*t']) + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,tf2ss(1/s)*w))',0*t']) + + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + deff('u=timefun(t)','u=abs(sin(t))') + clf();plot2d([t',t'],[(csim(timefun,t,w))',0*t']) + + + + See Also + + + syslin + + + dsimul + + + flts + + + ltitr + + + rtitr + + + ode + + + impl + + + + diff --git a/modules/cacsd/help/en_US/ctr_gram.xml b/modules/cacsd/help/en_US/ctr_gram.xml new file mode 100755 index 000000000..71b9b5e29 --- /dev/null +++ b/modules/cacsd/help/en_US/ctr_gram.xml @@ -0,0 +1,94 @@ + + + + + ctr_gram + controllability gramian + + + Calling Sequence + [Gc]=ctr_gram(A,B [,dom]) + [Gc]=ctr_gram(sl) + + + + Arguments + + + A,B + + two real matrices of appropriate dimensions + + + + dom + + + character string ('c' (default value) or 'd') + + + + + sl + + + linear system, syslin list + + + + + + + Description + + Controllability gramian of (A,B) or sl (a syslin + linear system). + + + dom character string giving the time domain : "d" for a + discrete time system and "c" for continuous time (default case). + + + + Examples + + + + See Also + + + equil1 + + + obs_gram + + + contr + + + cont_mat + + + cont_frm + + + contrss + + + + diff --git a/modules/cacsd/help/en_US/damp.xml b/modules/cacsd/help/en_US/damp.xml new file mode 100755 index 000000000..385ba93f1 --- /dev/null +++ b/modules/cacsd/help/en_US/damp.xml @@ -0,0 +1,186 @@ + + + + damp + Natural frequencies and damping factors. + + + Calling Sequence + + [wn,z] = damp(sys) + [wn,z] = damp(P [,dt]) + [wn,z] = damp(R [,dt]) + + + + Parameters + + + sys + + + A linear dynamical system (see syslin). + + + + + P + + + An array of polynomials. + + + + + R + + + An array of real or complex floating point numbers. + + + + + dt + + + A non negative scalar, with default value 0. + + + + + wn + + + vector of floating point numbers in increasing + order: the natural pulsation in rad/s. + + + + + z + + + vector of floating point numbers: the damping factors. + + + + + + + Description + + The denominator second order continuous time transfer function + with complex poles can be written as s^2 + 2*z*wn*s + wn^2 where z + is the damping factor and wn the natural pulsation. + + + If sys is a continuous time system, + [wn,z] = damp(sys) returns in wn the natural + pulsation \omega_n(in rad/s) and in z the damping factors + \xi of the poles of the linear dynamical system + sys. The wn and + z arrays are ordered according to the increasing + pulsation order. + + + If sys is a discrete time system + [wn,z] = damp(sys) returns in + wn the natural pulsation + \omega_n(in rad/s) and in z the + damping factors \xi of the continuous time + equivalent poles of sys. The + wn and z arrays are + ordered according to the increasing pulsation order. + + + [wn,z] = damp(P) returns in + wn the natural pulsation + \omega_n(in rad/s) and in z the + damping factors \xi of the set of roots of the polynomials + stored in the P array. If + dt is given and non 0, the roots are first + converted to their continuous time equivalents. + + The wn and z arrays are ordered + according to the increasing pulsation order. + + + [wn,z] = damp(R) returns in + wn the natural pulsation + \omega_n(in rad/s) and in z the + damping factors \xi of the set of roots stored in the + R array. + + If dt is given and non 0, the roots are first + converted to their continuous time equivalents. + wn(i) and z(i) are the the + natural pulsation and damping factor of R(i). + + + + Examples + + + The following example illustrates the effect of the damping factor on + the frequency response of a second order system. + + + + + s=%s; + wn=1; + clf(); + Z=[0.95 0.7 0.5 0.3 0.13 0.0001]; + for k=1:size(Z,'*') + z=Z(k) + H=syslin('c',1+5*s+10*s^2,s^2+2*z*wn*s+wn^2); + gainplot(H,0.01,1) + p=gce();p=p.children; + p.foreground=k; + end + title("$\frac{1+5 s+10 s^2}{\omega_n^2+2\omega_n\xi s+s^2}, \quad \omega_n=1$") + legend('$\xi='+string(Z)+'$') + plot(wn/(2*%pi)*[1 1],[0 70],'r') + + + + Computing the natural pulsations and daping ratio for a set of roots: + + + + + See Also + + + spec + + + roots + + + + diff --git a/modules/cacsd/help/en_US/dcf.xml b/modules/cacsd/help/en_US/dcf.xml new file mode 100755 index 000000000..47066e4ac --- /dev/null +++ b/modules/cacsd/help/en_US/dcf.xml @@ -0,0 +1,77 @@ + + + + + dcf + double coprime factorization + + + Calling Sequence + [N,M,X,Y,NT,MT,XT,YT]=dcf(G,[polf,polc,[tol]]) + + + Arguments + + + G + + + syslin list (continuous-time linear system) + + + + + polf, polc + + + respectively the poles of XT and YT and the poles of N and M (default values =-1). + + + + + tol + + + real threshold for detecting stable poles (default value 100*%eps). + + + + + N,M,XT,YT,NT,MT,X,Y + + + linear systems represented by syslin lists + + + + + + + Description + + returns eight stable systems (N,M,X,Y,NT,MT,XT,YT) + for the doubly coprime factorization + + + G must be stabilizable and detectable. + + + + See Also + + + copfac + + + + diff --git a/modules/cacsd/help/en_US/ddp.xml b/modules/cacsd/help/en_US/ddp.xml new file mode 100755 index 000000000..10087768a --- /dev/null +++ b/modules/cacsd/help/en_US/ddp.xml @@ -0,0 +1,172 @@ + + + + + ddp + disturbance decoupling + + + Calling Sequence + [Closed,F,G]=ddp(Sys,zeroed,B1,D1) + [Closed,F,G]=ddp(Sys,zeroed,B1,D1,flag,alfa,beta) + + + + Arguments + + + Sys + + + syslin list containing the matrices (A,B2,C,D2). + + + + + zeroed + + + integer vector, indices of outputs of Sys which are zeroed. + + + + + B1 + + real matrix + + + + D1 + + + real matrix. B1 and D1 have the same number of columns. + + + + + flag + + + string 'ge' or 'st' (default) or 'pp'. + + + + + alpha + + real or complex vector (loc. of closed loop poles) + + + + beta + + real or complex vector (loc. of closed loop poles) + + + + + + Description + + Exact disturbance decoupling (output nulling algorithm). + Given a linear system, and a subset of outputs, z, which are to + be zeroed, characterize the inputs w of Sys such that the + transfer function from w to z is zero. + Sys is a linear system {A,B2,C,D2} with one input and two outputs + ( i.e. Sys: u-->(z,y) ), part the following system defined from Sys + and B1,D1: + + + + outputs of Sys are partitioned into (z,y) where z is to be zeroed, + i.e. the matrices C and D2 are: + + + + The matrix D1 is partitioned similarly as D1=[D11;D21] + with D11=D1(zeroed,:). + The control is u=Fx+Gw and one looks for matriced F,G such that the + closed loop system: w-->z given by + + + + has zero transfer transfer function. + + + flag='ge'no stability constraints. + flag='st' : look for stable closed loop system (A+B2*F stable). + flag='pp' : eigenvalues of A+B2*F are assigned to alfa and + beta. + + + Closed is a realization of the w-->y closed loop system + + + + Stability (resp. pole placement) requires stabilizability + (resp. controllability) of (A,B2). + + + + Examples + + + + See Also + + + abinv + + + ui_observer + + + + diff --git a/modules/cacsd/help/en_US/dhinf.xml b/modules/cacsd/help/en_US/dhinf.xml new file mode 100755 index 000000000..7d0bf5127 --- /dev/null +++ b/modules/cacsd/help/en_US/dhinf.xml @@ -0,0 +1,229 @@ + + + + + dhinf + H_infinity design of discrete-time systems + + + Calling Sequence + [AK,BK,CK,DK,(RCOND)] = dishin(A,B,C,D,ncon,nmeas,gamma) + + + Arguments + + + A + + the n-by-n system state matrix A. + + + + B + + the n-by-m system input matrix B. + + + + C + + the p-by-n system output matrix C. + + + + D + + the p-by-m system matrix D. + + + + ncon + + the number of control inputs. m >= ncon >= 0, p-nmeas >= ncon. + + + + nmeas + + the number of measurements. p >= nmeas >= 0, m-ncon >= nmeas. + + + + gamma + + + the parameter gamma used in H_infinity design. It is assumed that gamma is sufficiently large so that the controller is admissible. gamma >= 0. + + + + + AK + + the n-by-n controller state matrix AK. + + + + BK + + the n-by-nmeas controller input matrix BK. + + + + CK + + the ncon-by-n controller output matrix CK. + + + + DK + + the ncon-by-nmeas controller matrix DK. + + + + RCOND + + a vector containing estimates of the reciprocal condition numbers of the matrices which are to be inverted and estimates of the reciprocal condition numbers of the Riccati equations which have to be solved during the computation of the controller. (See the description of the algorithm in [1].) + + + RCOND + + (1) contains the reciprocal condition number of the matrix R3, + + + + RCOND + + (2) contains the reciprocal condition number of the matrix R1 - R2'*inv(R3)*R2 + + + + RCOND + + (3) contains the reciprocal condition number of the matrix V21, + + + + RCOND + + (4) contains the reciprocal condition number of the matrix St3, + + + + RCOND + + (5) contains the reciprocal condition number of the matrix V12, + + + + RCOND + + (6) contains the reciprocal condition number of the matrix Im2 + DKHAT*D22, + + + + RCOND + + (7) contains the reciprocal condition number of the X-Riccati equation, + + + + RCOND + + (8) contains the reciprocal condition number of the Z-Riccati equation. + + + + + + + + + Description + + [AK,BK,CK,DK,(RCOND)] = dhinf(A,B,C,D,ncon,nmeas, gamma) + To compute the matrices of an H-infinity (sub)optimal n-state + controller + + + + for the discrete-time system + + + + and for a given value of gamma, where B2 has column size of the + number of control inputs (ncon) and C2 has row size of the number + of measurements (nmeas) being provided to the controller. + + + + References + + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of linear discrete-time control systems. Report99-8, Department of Engineering, Leicester University, April 1999. + + + + Examples + + + + See Also + + + hinf + + + h_inf + + + + diff --git a/modules/cacsd/help/en_US/dhnorm.xml b/modules/cacsd/help/en_US/dhnorm.xml new file mode 100755 index 000000000..d6212e790 --- /dev/null +++ b/modules/cacsd/help/en_US/dhnorm.xml @@ -0,0 +1,77 @@ + + + + + dhnorm + discrete H-infinity norm + + + Calling Sequence + hinfnorm=dhnorm(sl,[tol],[normax]) + + + Arguments + + + sl + + + the state space system (syslin list) (discrete-time) + + + + + tol + + + tolerance in bisection step, default value 0.01 + + + + + normax + + + upper bound for the norm , default value is 1000 + + + + + hinfnorm + + + the discrete infinity norm of Sl + + + + + + + Description + + produces the discrete-time infinity norm of a state-space system + (the maximum over all frequencies on the unit circle of the maximum singular value). + + + + See Also + + + h_norm + + + linfn + + + + diff --git a/modules/cacsd/help/en_US/dscr.xml b/modules/cacsd/help/en_US/dscr.xml new file mode 100755 index 000000000..4efa369d0 --- /dev/null +++ b/modules/cacsd/help/en_US/dscr.xml @@ -0,0 +1,98 @@ + + + + + dscr + discretization of linear system + + + Calling Sequence + [sld [,r]]=dscr(sl,dt [,m]) + + + Arguments + + + sl + + + syslin list containing [A,B,C,D]. + + + + + dt + + real number, sampling period + + + + m + + covariance of the input noise (continuous time)(default value=0) + + + + r + + + covariance of the output noise (discrete time) given if m is given as input + + + + + sld + + + sampled (discrete-time) linear system, syslin list + + + + + + + Description + + Discretization of linear system. sl is a continuous-time system: + + + dx/dt=A*x+B*u (+ noise). + + + sld is the discrete-time system obtained by + sampling sl with the sampling period dt. + + + + Examples + + + + See Also + + + syslin + + + flts + + + dsimul + + + + diff --git a/modules/cacsd/help/en_US/dsimul.xml b/modules/cacsd/help/en_US/dsimul.xml new file mode 100755 index 000000000..0eb7b2c4c --- /dev/null +++ b/modules/cacsd/help/en_US/dsimul.xml @@ -0,0 +1,84 @@ + + + + + dsimul + state space discrete time simulation + + + Calling Sequence + y=dsimul(sl,u) + + + Arguments + + + sl + + + syslin list describing a discrete time linear system + + + + + u + + real matrix of appropriate dimension + + + + y + + + output of sl + + + + + + + Description + + Utility function. + If [A,B,C,D]=abcd(sl) and x0=sl('X0'), dsimul returns y=C*ltitr(A,B,u,x0)+D*u i.e. + the time response of sl to the input u. + sl is assumed to be in state space form (syslin list). + + + + Examples + + + + See Also + + + syslin + + + flts + + + ltitr + + + + diff --git a/modules/cacsd/help/en_US/dt_ility.xml b/modules/cacsd/help/en_US/dt_ility.xml new file mode 100755 index 000000000..3851e2e69 --- /dev/null +++ b/modules/cacsd/help/en_US/dt_ility.xml @@ -0,0 +1,124 @@ + + + + + dt_ility + detectability test + + + Calling Sequence + [k, [n [,U [,Sld ] ] ]]=dt_ility(Sl [,tol]) + + + Arguments + + + Sl + + + linear system (syslin list) + + + + + n + + dimension of unobservable subspace + + + + k + + + dimension of unstable, unobservable subspace ( k<=n). + + + + + U + + orthogonal matrix + + + + Sld + + + linear system (syslin list) + + + + + tol + + threshold for controllability test. + + + + + + Description + + Detectability test for sl, a linear system in state-space + representation. + U is a basis whose k first columns span the + unstable, unobservable subspace of Sl (intersection + of unobservable subspace of (A,C) and unstable subspace + of A). Detectability means k=0. + + + Sld = (U'*A*U,U'*B,C*U,D) displays the "detectable part" + of Sl=(A,B,C,D), i.e. + + + + with (A33,C3) observable (dimension nx-n), A22 stable + (dimension n-k) and A11 unstable (dimension k). + + + + Examples + + + + See Also + + + contr + + + st_ility + + + unobs + + + stabil + + + + diff --git a/modules/cacsd/help/en_US/dtsi.xml b/modules/cacsd/help/en_US/dtsi.xml new file mode 100755 index 000000000..aea4b31e3 --- /dev/null +++ b/modules/cacsd/help/en_US/dtsi.xml @@ -0,0 +1,116 @@ + + + + + dtsi + Continuous time dynamical systems stable anti-stable decomposition + + + Calling Sequence + [Ga,Gs,Gi]=dtsi(G,[tol]) + + + Arguments + + + G + + a continuous time linear system. + + + + Ga + + a continuous time linear system antistable and strictly proper. + + + + Gs + + a continuous time linear system stable and strictly proper. + + + + Gi + + real matrix (or polynomial matrix for improper systems) + + + + tol + + + optional parameter for detecting stables poles. Default value: 100*%eps + + + + + + + Description + + returns the stable-antistable decomposition of G: + + + G= Ga + Gs + Gi, (Gi = G(oo)) + + + G can be given in state-space form or in transfer form. + + + Ga and Gs are returned in the same + representation (transfer function or state-space) than + G. + + + + See Also + + + syslin + + + pbig + + + psmall + + + pfss + + + + + + Examples + + + + History + + + 5.4.0 + + Sl is now checked for continuous time linear dynamical system. + This modification has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/equil.xml b/modules/cacsd/help/en_US/equil.xml new file mode 100755 index 000000000..8b08eb946 --- /dev/null +++ b/modules/cacsd/help/en_US/equil.xml @@ -0,0 +1,73 @@ + + + + + equil + balancing of pair of symmetric matrices + + + Calling Sequence + T=equil(P,Q) + + + Arguments + + + P, Q + + two positive definite symmetric matrices + + + + T + + nonsingular matrix + + + + + + Description + + equil returns t such that: + + + T*P*T' and inv(T)'*Q*inv(T) are both equal to a same + diagonal and positive matrix. + + + + Examples + + + + See Also + + + equil1 + + + balanc + + + ctr_gram + + + + diff --git a/modules/cacsd/help/en_US/equil1.xml b/modules/cacsd/help/en_US/equil1.xml new file mode 100755 index 000000000..f3224a94b --- /dev/null +++ b/modules/cacsd/help/en_US/equil1.xml @@ -0,0 +1,100 @@ + + + + + equil1 + balancing (nonnegative) pair of matrices + + + Calling Sequence + [T [,siz]]=equil1(P,Q [,tol]) + + + Arguments + + + P, Q + + two non-negative symmetric matrices + + + + T + + nonsingular matrix + + + + siz + + vector of three integers + + + + tol + + threshold + + + + + + Description + + equil1 computes t such that: + + + P1=T*P*T' and Q1=inv(T)'*Q*inv(T) are as follows: + + + P1 = diag(S1,S2,0,0) and Q1 = diag(S1,0,S3,0) with + S1,S2,S3 positive and diagonal matrices with respective + dimensions siz=[n1,n2,n3] + + + tol is a threshold for rank determination in SVD + + + + Examples + + + + See Also + + + balreal + + + minreal + + + equil + + + hankelsv + + + + diff --git a/modules/cacsd/help/en_US/feedback.xml b/modules/cacsd/help/en_US/feedback.xml new file mode 100755 index 000000000..36913ccd6 --- /dev/null +++ b/modules/cacsd/help/en_US/feedback.xml @@ -0,0 +1,94 @@ + + + + + feedback + feedback operation + + + Calling Sequence + Sl=Sl1/.Sl2 + + + Arguments + + + Sl1,Sl2 + + + linear systems (syslin list) in state-space or transfer form, or ordinary gain matrices. + + + + + Sl + + + linear system (syslin list) in state-space or transfer form + + + + + + + Description + + The feedback operation is denoted by /. (slashdot). + This command returns Sl=Sl1*(I+Sl2*Sl1)^-1, i.e the (negative) + feedback of Sl1 and Sl2. Sl is the transfer + v -> y for y = Sl1 u, u = v - Sl2 y. + + + The result is the same as Sl=LFT([0,I;I,-Sl2],Sl1). + + + + Caution: do not use with decimal point (e.g. 1/.1 is ambiguous!) + + + + + Examples + + + + See Also + + + lft + + + sysdiag + + + augment + + + obscont + + + + diff --git a/modules/cacsd/help/en_US/findABCD.xml b/modules/cacsd/help/en_US/findABCD.xml new file mode 100755 index 000000000..949d9a335 --- /dev/null +++ b/modules/cacsd/help/en_US/findABCD.xml @@ -0,0 +1,239 @@ + + + + + findABCD + discrete-time system subspace identification + + + Calling Sequence + [SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + SYS = findABCD(S,N,L,R,METH) + + [SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + [SYS,RCND] = findABCD(S,N,L,R,METH) + + + + Arguments + + + S + + integer, the number of block rows in the block-Hankel matrices + + + + N + + integer, the system order + + + + L + + integer, the number of output + + + + R + + matrix, relevant part of the R factor of the concatenated block-Hankel matrices computed by a call to findr. + + + + METH + + integer, an option for the method to use + + + = 1 + + MOESP method with past inputs and outputs; + + + + = 2 + + N4SID method; + + + + = 3 + + combined method: A and C via MOESP, B and D via N4SID. + + + + + Default: METH = 3. + + + + + NSMPL + + integer, the total number of samples used for calculating the covariance matrices and the Kalman predictor gain. This parameter is not needed if the covariance matrices and/or the Kalman predictor gain matrix are not desired. If NSMPL = 0, then K, Q, Ry, and S are not computed. Default: NSMPL = 0. + + + + TOL + + the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + + + + PRINTW + + integer, switch for printing the warning messages. + + + PRINTW + + = 1: print warning messages; + + + + PRINTW + + = 0: do not print warning messages. + + + + + Default: PRINTW = 0. + + + + + SYS + + computes a state-space realization SYS = (A,B,C,D) (an syslin object) + + + + K + + the Kalman predictor gain K (if NSMPL > 0) + + + + Q + + state covariance + + + + Ry + + output covariance + + + + S + + state-output cross-covariance + + + + RCND + + vector, reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions + + + + + + Description + + Finds the system matrices and the Kalman gain of a discrete-time + system, given the system order and the relevant part of the + R factor of the concatenated block-Hankel matrices, using subspace + identification techniques (MOESP and/or N4SID). + + + + [SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) computes a state- space realization SYS = (A,B,C,D) (an ss object), and the Kalman predictor gain K (if NSMPL > 0). The model structure is: + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + where x(k) and y(k) are vectors of length N and L, respectively. + + + + [SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) also returns the state, output, and state-output (cross-)covariance matrices Q, Ry, and S (used for computing the Kalman gain), as well as the vector RCND of length lr containing the reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions, where + + + + + Matrix R, computed by findR, should be determined with suitable arguments + METH and JOBD. METH = 1 and JOBD = 1 must be used in findR, for METH = 1 + in findABCD; METH = 1 must be used in findR, for METH = 3 in findABCD. + + + + Examples + + + + See Also + + + findAC + + + findBD + + + findBDK + + + findR + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/en_US/findAC.xml b/modules/cacsd/help/en_US/findAC.xml new file mode 100755 index 000000000..cd704beae --- /dev/null +++ b/modules/cacsd/help/en_US/findAC.xml @@ -0,0 +1,191 @@ + + + + + findAC + discrete-time system subspace identification + + + Calling Sequence + [A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) + [A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) + + + + Arguments + + + S + + integer, the number of block rows in the block-Hankel matrices + + + + N + + integer + + + + L + + integer + + + + R + + matrix, relevant part of the R factor of the concatenated block-Hankel matrices computed by a call to findr. + + + + METH + + integer, an option for the method to use + + + = 1 + + MOESP method with past inputs and outputs; + + + + = 2 + + N4SID method; + + + + + Default: METH = 3. + + + + + TOL + + the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + + + + PRINTW + + integer, switch for printing the warning messages. + + + PRINTW + + = 1: print warning messages; + + + + = 0 + + do not print warning messages. + + + + + Default: PRINTW = 0. + + + + + A + + matrix, state system matrix + + + + C + + matrix, output system matrix + + + + RCND + + vector of length 4, condition numbers of the matrices involved in rank decision + + + + + + Description + + finds the system matrices A and C of a discrete-time system, given the + system order and the relevant part of the R factor of the concatenated + block-Hankel matrices, using subspace identification techniques (MOESP + or N4SID). + + + + [A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) computes the system matrices A and C. The model structure is: x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, y(k) = Cx(k) + Du(k) + e(k), where x(k) and y(k) are vectors of length N and L, respectively. + + + [A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) also returns the vector RCND of length 4 containing the condition numbers of the matrices involved in rank decisions. + + + + Matrix R, computed by findR, should be determined with suitable arguments + METH and JOBD. + + + + Examples + + + + See Also + + + findABCD + + + findBD + + + findBDK + + + findR + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/en_US/findBD.xml b/modules/cacsd/help/en_US/findBD.xml new file mode 100755 index 000000000..a5be14885 --- /dev/null +++ b/modules/cacsd/help/en_US/findBD.xml @@ -0,0 +1,329 @@ + + + + + findBD + initial state and system matrices B and D of a discrete-time system + + + Calling Sequence + [[x0] [,B [,D]] [,V] [,rcnd]] = findBD(jobx0,comuse [,job],A [,B],C [,D],Y [,U,tol,printw,ldwork]) + + + Arguments + + + jobx0 + + integer option to specify whether or not the initial state should be computed: + + + = + + 1 : compute the initial state x0; + + + + = + + 2 : do not compute the initial state (possibly, because x0 is known to be zero). + + + + + + + comuse + + integer option to specify whether the system matrices B and D should be computed or used: + + + = + + 1 : compute the matrices B and D, as specified by job; + + + + = + + 2 : use the matrices B and D, as specified by job; + + + + = + + 3 : do not compute/use the matrices B and D. + + + + + + + job + + integer option to determine which of the system matrices B and D should be computed or used: + + + = + + 1 : compute/use the matrix B only (D is known to be zero); + + + + = + + 2 : compute/use the matrices B and D. + + + + + job must not be specified if jobx0 = 2 and comuse = 2, or if comuse = 3. + + + + + A + + state matrix of the given system + + + + B + + optional, input matrix of the given system + + + + C + + output matrix of the given system + + + + D + + optional, direct feedthrough of the given system + + + + Y + + the t-by-l output-data sequence matrix. Column j of Y contains the t values of the j-th output component for consecutive time increments. + + + + U + + the t-by-m input-data sequence matrix (input when jobx0 = 1 and comuse = 2, or comuse = 1). Column j of U contains the t values of the j-th input component for consecutive time increments. + + + + tol + + optional, tolerance used for estimating the rank of + matrices. If tol > 0, then the given value of tol is used as + a lower bound for the reciprocal condition number; an m-by-n matrix + whose estimated condition number is less than 1/tol is considered + to be of full rank. Default: m*n*epsilon_machine where + epsilon_machine is the relative machine precision. + + + + + printw + + optional, switch for printing the warning messages. + + + = + + 1: print warning messages; + + + + = + + 0: do not print warning messages. + + + + + Default: printw = 0. + + + + + ldwork + + (optional) the workspace size. Default : computed by the formula LDWORK = MAX( minimum workspace size needed, 2*CSIZE/3, CSIZE - ( m + l )*t - 2*n*( n + m + l ) - l*m ) where CSIZE is the cache size in double precision words. + + + + x0 + + initial state vector + + + + Br + + system input matrix + + + + Dr + + system direct feedthrough matrix + + + + V + + the n-by-n orthogonal matrix which reduces A to a real Schur form (output when jobx0 = 1 or comuse = 1). + + + + rcnd + + (optional) the reciprocal condition numbers of the matrices involved in rank decisions. + + + + + + Description + + findBD function for estimating the initial state and the system + matrices B and D of a discrete-time system, using SLICOT routine + IB01CD. + + + + Note: the example lines above may contain at the end the parameters + tol, printw, ldwork. + + + FINDBD estimates the initial state and/or the system matrices Br and Dr + of a discrete-time system, given the system matrices A, C, and possibly + B, D, and the input and output trajectories of the system. + + + The model structure is : + + = 1, +y(k) = Cx(k) + Du(k), + ]]> + + where + + x(k) is the n-dimensional state vector (at time k), + + + u(k) is the m-dimensional input vector, + + + y(k) is the l-dimensional output vector, + + + and A, B, C, and D are real matrices of appropriate dimensions. + + + + Comments + + + 1. + + The n-by-m system input matrix B is an input parameter when jobx0 = 1 and comuse = 2, and it is an output parameter when comuse = 1. + + + + 2. + + The l-by-m system matrix D is an input parameter when jobx0 = 1, comuse = 2 and job = 2, and it is an output parameter when comuse = 1 and job = 2. + + + + 3. + + The n-vector of estimated initial state x(0) is an output parameter when jobx0 = 1, but also when jobx0 = 2 and comuse <= 2, in which case it is set to 0. + + + + 4. + + If ldwork is specified, but it is less than the minimum workspace size needed, that minimum value is used instead. + + + + + + Examples + + + + See Also + + + inistate + + + findx0BD + + + findABCD + + + findAC + + + findBD + + + + diff --git a/modules/cacsd/help/en_US/findBDK.xml b/modules/cacsd/help/en_US/findBDK.xml new file mode 100755 index 000000000..4e36c61a9 --- /dev/null +++ b/modules/cacsd/help/en_US/findBDK.xml @@ -0,0 +1,278 @@ + + + + + findBDK + Kalman gain and B D system matrices of a discrete-time system + + + Calling Sequence + [B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + [B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) + [B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + + + + Arguments + + + S + + integer, the number of block rows in the block-Hankel matrices + + + + N + + integer + + + + L + + integer + + + + R + + matrix, relevant part of the R factor of the concatenated block-Hankel matrices computed by a call to findR. + + + + A + + square matrix + + + + C + + matrix + + + + METH + + integer, an option for the method to use + + + = 1 + + MOESP method with past inputs and outputs; + + + + = 2 + + N4SID method; + + + + + Default: METH = 2. + + + + + JOB + + an option specifying which system matrices should be computed: + + + = 1 + + compute the matrix B; + + + + = 2 + + compute the matrices B and D. + + + + + Default: JOB = 2. + + + + + NSMPL + + integer, the total number of samples used for calculating the covariance matrices and the Kalman predictor gain. This parameter is not needed if the covariance matrices and/or the Kalman predictor gain matrix are not desired. If NSMPL = 0, then K, Q, Ry, and S are not computed. Default: NSMPL = 0. + + + + TOL + + the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + + + + PRINTW + + integer, switch for printing the warning messages. + + + PRINTW + + = 1: print warning messages; + + + + PRINTW + + = 0: do not print warning messages. + + + + + Default: PRINTW = 0. + + + + + SYS + + computes a state-space realization SYS = (A,B,C,D) (an syslin object) + + + + K + + the Kalman predictor gain K (if NSMPL > 0) + + + + Q + + state covariance + + + + Ry + + output covariance + + + + S + + state-output cross-covariance + + + + RCND + + he vector of length 12 containing the reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions. + + + + + + Description + + finds the system matrices B and D and the Kalman gain of a discrete-time + system, given the system order, the matrices A and C, and the relevant + part of the R factor of the concatenated block-Hankel matrices, using + subspace identification techniques (MOESP or N4SID). + + + + [B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) computes the system matrices B (if JOB = 1), B and D (if JOB = 2), and the Kalman predictor gain K (if NSMPL > 0). The model structure is: + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + where x(k) and y(k) are vectors of length N and L, respectively. + + + + [B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) also returns the vector RCND of length 4 containing the reciprocal condition numbers of the matrices involved in rank decisions. + + + [B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) also returns the state, output, and state-output (cross-)covariance matrices Q, Ry, and S (used for computing the Kalman gain), as well as the vector RCND of length 12 containing the reciprocal condition numbers of the matrices involved in rank decisions, least squares or Riccati equation solutions. + + + + Matrix R, computed by findR, should be determined with suitable arguments + METH and JOBD. METH = 1 and JOBD = 1 must be used in findR, for METH = 1 + in findBDK. Using METH = 1 in FINDR and METH = 2 in findBDK is allowed. + + + The number of output arguments may vary, but should correspond to the + input arguments, e.g., + + + + + Examples + + + + See Also + + + findABCD + + + findAC + + + findBD + + + findR + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/en_US/findR.xml b/modules/cacsd/help/en_US/findR.xml new file mode 100755 index 000000000..c34b71ceb --- /dev/null +++ b/modules/cacsd/help/en_US/findR.xml @@ -0,0 +1,272 @@ + + + + + findR + Preprocessor for estimating the matrices of a linear time-invariant dynamical system + + + Calling Sequence + [R,N [,SVAL,RCND]] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) + [R,N] = findR(S,Y) + + + + Arguments + + + S + + the number of block rows in the block-Hankel matrices. + + + + Y + + + + + + U + + + + + + METH + + an option for the method to use: + + + 1 + + MOESP method with past inputs and outputs; + + + + 2 + + N4SI15 0 1 1 1000D method. + + + + + Default: METH = 1. + + + + + ALG + + an option for the algorithm to compute the triangular factor of the concatenated block-Hankel matrices built from the input-output data: + + + 1 + + Cholesky algorithm on the correlation matrix; + + + + 2 + + fast QR algorithm; + + + + 3 + + standard QR algorithm. + + + + + Default: ALG = 1. + + + + + JOBD + + an option to specify if the matrices B and D should later be computed using the MOESP approach: + + + = + + 1 : the matrices B and D should later be computed using the MOESP approach; + + + + = + + 2 : the matrices B and D should not be computed using the MOESP approach. + + + + + Default: JOBD = 2. This parameter is not relevant for METH = 2. + + + + + TOL + + a vector of length 2 containing tolerances: + + + TOL + + (1) is the tolerance for estimating the rank of matrices. If TOL(1) > 0, the given value of TOL(1) is used as a lower bound for the reciprocal condition number. + + Default: TOL(1) = prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + + + + + TOL + + (2) is the tolerance for estimating the system order. If TOL(2) >= 0, the estimate is indicated by the index of the last singular value greater than or equal to TOL(2). (Singular values less than TOL(2) are considered as zero.) + + When TOL(2) = 0, then S*epsilon_machine*sval(1) is used instead TOL(2), where sval(1) is the maximal singular value. When TOL(2) < 0, the estimate is indicated by the index of the singular value that has the largest logarithmic gap to its successor. Default: TOL(2) = -1. + + + + + + + + PRINTW + + a switch for printing the warning messages. + + + = + + 1: print warning messages; + + + + = + + 0: do not print warning messages. + + + + + Default: PRINTW = 0. + + + + + R + + + + + + N + + the order of the discrete-time realization + + + + SVAL + + singular values SVAL, used for estimating the order. + + + + RCND + + vector of length 2 containing the reciprocal condition numbers of the matrices involved in rank decisions or least squares solutions. + + + + + + Description + + findR Preprocesses the input-output data for estimating the matrices + of a linear time-invariant dynamical system, using Cholesky or + (fast) QR factorization and subspace identification techniques + (MOESP or N4SID), and estimates the system order. + + + [R,N] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) returns the processed + upper triangular factor R of the concatenated block-Hankel matrices + built from the input-output data, and the order N of a discrete-time + realization. The model structure is: + + = 1, +y(k) = Cx(k) + Du(k) + e(k). + ]]> + + The vectors y(k) and u(k) are transposes of the k-th rows of Y and U, + respectively. + + + [R,N,SVAL,RCND] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) also returns + the singular values SVAL, used for estimating the order, as well as, + if meth = 2, the vector RCND of length 2 containing the reciprocal + condition numbers of the matrices involved in rank decisions or least + squares solutions. + + + [R,N] = findR(S,Y) assumes U = [] and default values for the + remaining input arguments. + + + + Examples + + + + See Also + + + findABCD + + + findAC + + + findBD + + + findBDK + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/en_US/findx0BD.xml b/modules/cacsd/help/en_US/findx0BD.xml new file mode 100755 index 000000000..a52a34757 --- /dev/null +++ b/modules/cacsd/help/en_US/findx0BD.xml @@ -0,0 +1,231 @@ + + + + + findx0BD + Estimates state and B and D matrices of a discrete-time linear system + + + Calling Sequence + [X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) + + + + Arguments + + + A + + state matrix of the system + + + + C + + C matrix of the system + + + + Y + + system output + + + + U + + system input + + + + WITHX0 + + a switch for estimating the initial state x0. + + + = + + 1: estimate x0; + + + + = + + 0: do not estimate x0. + + + + + Default: WITHX0 = 1. + + + + + WITHD + + a switch for estimating the matrix D. + + + = + + 1: estimate the matrix D; + + + + = + + 0: do not estimate the matrix D. + + + + + Default: WITHD = 1. + + + + + TOL + + the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + + + + PRINTW + + a switch for printing the warning messages. + + + = + + 1: print warning messages; + + + + = + + 0: do not print warning messages. + + + + + Default: PRINTW = 0. + + + + + X0 + + intial state of the estimated linear system. + + + + B + + B matrix of the estimated linear system. + + + + D + + D matrix of the estimated linear system. + + + + V + + orthogonal matrix which reduces the system state matrix A to a real Schur form + + + + rcnd + + estimates of the reciprocal condition numbers of the matrices involved in rank decisions. + + + + + + Description + + findx0BD Estimates the initial state and/or the matrices B and D of a + discrete-time linear system, given the (estimated) system + matrices A, C, and a set of input/output data. + + + [X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) estimates the + initial state X0 and the matrices B and D of a discrete-time + system using the system matrices A, C, output data Y and the input + data U. The model structure is : + + = 1, +y(k) = Cx(k) + Du(k), + ]]> + + The vectors y(k) and u(k) are transposes of the k-th rows of Y and U, + respectively. + + + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) also returns the orthogonal + matrix V which reduces the system state matrix A to a real Schur + form, as well as some estimates of the reciprocal condition numbers + of the matrices involved in rank decisions. + + + + + Examples + + + + See Also + + + findBD + + + inistate + + + + diff --git a/modules/cacsd/help/en_US/flts.xml b/modules/cacsd/help/en_US/flts.xml new file mode 100755 index 000000000..3acb09a87 --- /dev/null +++ b/modules/cacsd/help/en_US/flts.xml @@ -0,0 +1,221 @@ + + + + + flts + time response (discrete time, sampled system) + + + Calling Sequence + [y [,x]]=flts(u,sl [,x0]) + [y]=flts(u,sl [,past]) + + + + Arguments + + + u + + matrix (input vector) + + + + sl + + + list (linear system syslin) + + + + + x0 + + vector (initial state ; default + value=0) + + + + + past + + matrix (of the past ; default + value=0) + + + + + x,y + + matrices (state and output) + + + + + + Description + + + State-space form: + + + + sl is a discrete linear system given by its state + space representation (see syslin ): + + + sl=syslin('d',A,B,C,D) : + + + + or, more generally, if D is a polynomial matrix + (p = degree(D(z))) : + + + + + Transfer form: + + + + y=flts(u,sl[,past]). Here sl + is a linear system in transfer matrix representation i.e + + + sl=syslin('d',transfer_matrix) (see + + syslin + + ). + + + is the matrix of past values of u and y. + + nd is the maximum of degrees of lcm's of each row + of the denominator matrix of sl. + + + p is the difference between maximum degree of numerator and maximum + degree of denominator + + + + Examples + + + sl=syslin('d',1,1,1);u=1:10; + y=flts(u,sl); + plot2d(y) + [y1,x1]=flts(u(1:5),sl);y2=flts(u(6:10),sl,x1); + y-[y1,y2] + + z=poly(0,'z'); + D=1+z+z^2; p =degree(D); + sl=syslin('d',1,1,1,D); + y=flts(u,sl);[y1,x1]=flts(u(1:5),sl); + y2=flts(u(5-p+1:10),sl,x1); + y-[y1,y2] + + z=poly(0,'z'); + h=syslin(0.1,(1-2*z)/(z^2+0.3*z+1)) + imprep=flts(eye(1,20),tf2ss(h)); + clf(); + plot(imprep,'b') + u=ones(1,20); + stprep=flts(ones(1,20),tf2ss(h)); + plot(stprep,'g') + + + + + See Also + + + ltitr + + + dsimul + + + rtitr + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/CHAPTER b/modules/cacsd/help/en_US/formal_representation/CHAPTER new file mode 100755 index 000000000..f59bdcc83 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/CHAPTER @@ -0,0 +1,2 @@ +title = Formal representations and conversions + diff --git a/modules/cacsd/help/en_US/formal_representation/abcd.xml b/modules/cacsd/help/en_US/formal_representation/abcd.xml new file mode 100755 index 000000000..9a92b3864 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/abcd.xml @@ -0,0 +1,82 @@ + + + + + abcd + state-space matrices + + + Calling Sequence + [A,B,C,D]=abcd(sl) + + + Arguments + + + sl + + + linear system (syslin list) in state-space or transfer form + + + + + A,B,C,D + + real matrices of appropriate dimensions + + + + + + Description + + returns the A,B,C,D matrices from a linear system Sl. + + + Utility function. For transfer matrices Sl is converted + into state-space form by tf2ss. + + + The matrices A,B,C,D are the elements 2 to 5 of + the syslin list Sl, i.e. [A,B,C,D] = Sl(2:5) . + + + + Examples + + + + See Also + + + syslin + + + ssrand + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/cont_frm.xml b/modules/cacsd/help/en_US/formal_representation/cont_frm.xml new file mode 100755 index 000000000..49db72d24 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/cont_frm.xml @@ -0,0 +1,75 @@ + + + + + cont_frm + transfer to controllable state-space + + + Calling Sequence + [sl]=cont_frm(NUM,den) + + + Arguments + + + NUM + + polynomial matrix + + + + den + + polynomial + + + + sl + + + syslin list, sl=[A,B,C,D]. + + + + + + + Description + + controllable state-space form of the transfer NUM/den. + + + + Examples + + + + See Also + + + tf2ss + + + canon + + + contr + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/dbphi.xml b/modules/cacsd/help/en_US/formal_representation/dbphi.xml new file mode 100755 index 000000000..0bd812d45 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/dbphi.xml @@ -0,0 +1,58 @@ + + + + + dbphi + frequency response to phase and magnitude representation + + + Calling Sequence + [db,phi] =dbphi(repf) + + + Arguments + + + db,phi + + vector of gains (db) and phases (degrees) + + + + repf + + vector of complex frequency response + + + + + + Description + + db(k) is the magnitude of repf(k) expressed in dB i.e. + db(k)=20*log(abs(repf(k)))/log(10) and phi(k) is the phase + of repf(k) expressed in degrees. + + + + See Also + + + repfreq + + + bode + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/des2ss.xml b/modules/cacsd/help/en_US/formal_representation/des2ss.xml new file mode 100755 index 000000000..e91a83553 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/des2ss.xml @@ -0,0 +1,104 @@ + + + + + des2ss + descriptor to state-space + + + Calling Sequence + [Sl]=des2ss(A,B,C,D,E [,tol]) + [Sl]=des2ss(Des) + + + + Arguments + + + A,B,C,D,E + + real matrices of appropriate dimensions + + + + Des + + list + + + + Sl + + + syslin list + + + + + tol + + + real parameter (threshold) (default value 100*%eps). + + + + + + + Description + + Descriptor to state-space transform. + + + Sl=des2ss(A,B,C,D,E) returns + a linear system Sl equivalent to the descriptor system + (E,A,B,C,D). + + + For index one (E,A) pencil, explicit formula is used and + for higher index pencils rowshuff is used. + + + Sl=des2ss(Des) with Des=list('des',A,B,C,D,E) returns + a linear system Sl in state-space form with possibly + a polynomial D matrix. + + + A generalized Leverrier algorithm is used. + + + + Examples + + + + See Also + + + des2tf + + + glever + + + rowshuff + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/des2tf.xml b/modules/cacsd/help/en_US/formal_representation/des2tf.xml new file mode 100755 index 000000000..1605b53dd --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/des2tf.xml @@ -0,0 +1,108 @@ + + + + + des2tf + descriptor to transfer function conversion + + + Calling Sequence + [S]=des2tf(sl) + [Bfs,Bis,chis]=des2tf(sl) + + + + Arguments + + + sl + + list (linear system in descriptor form) + + + + Bfs, Bis + + two polynomial matrices + + + + chis + + polynomial + + + + S + + rational matrix + + + + + + Description + + Given the linear system in descriptor form i.e. + Sl=list('des',A,B,C,D,E), des2tf converts sl into + its transfer function representation: + + + + Called with 3 outputs arguments des2tf returns + Bfs and Bis two polynomial matrices, and chis + polynomial such that: + + + + chis is the determinant of (s*E-A) (up to a xcative constant); + + + + Examples + + + + See Also + + + glever + + + pol2des + + + tf2des + + + ss2tf + + + des2ss + + + rowshuff + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/frep2tf.xml b/modules/cacsd/help/en_US/formal_representation/frep2tf.xml new file mode 100755 index 000000000..a4d771d65 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/frep2tf.xml @@ -0,0 +1,175 @@ + + + + + frep2tf + transfer function realization from frequency response + + + Calling Sequence + [h [,err]]=frep2tf(frq,repf,dg [,dom,tols,weight]) + + + Arguments + + + frq + + vector of frequencies in Hz. + + + + repf + + vector of frequency response + + + + dg + + degree of linear system + + + + dom + + + time domain ('c' or 'd' or dt) + + + + + tols + + + a vector of size 3 giving the relative and absolute tolerance and the maximum number of iterations (default values are rtol=1.e-2; atol=1.e-4, N=10). + + + + + weight + + vector of weights on frequencies + + + + h + + SISO transfer function + + + + err + + + error (for example if dom='c' sum(abs(h(2i*pi*frq) - rep)^2)/size(frq,*)) + + + + + + + Description + + Frequency response to transfer function conversion. The order of h + is a priori given in dg which must be provided. + The following linear system is solved in the least square sense. + + + + where phi_k= 2*%i*%pi*frq when dom='c' and phi_k=exp(2*%i*%pi*dom*frq if not. If the weight vector is not given a default + penalization is used (when dom='c'). + + + A stable and minimum phase system can be obtained by using function factors. + + + + Examples + + + + + Sys=ssrand(1,1,10); + frq=logspace(-3,2,200); + [frq,rep]=repfreq(Sys,frq); + [Sys2,err]=frep2tf(frq,rep,10); + Sys2=clean(Sys2) + + [frq,rep2]=repfreq(Sys2,frq); + bode(frq,[rep;rep2]) + [gsort(spec(Sys('A'))), gsort(roots(Sys2('den')))] + + + + dom=1/1000; + z=poly(0,'z'); + h=syslin(dom,(z^2+0.5)/(z^3+0.1*z^2-0.5*z+0.08)) + frq=(0:0.01:0.5)/dom; + repf=repfreq(h,frq); + [Sys2,err]=frep2tf(frq,repf,3,dom); + [frq,rep2]=repfreq(Sys2,frq); + plot2d1("onn",frq',abs([repf;rep2])'); + + + + See Also + + + imrep2ss + + + arl2 + + + time_id + + + armax + + + frfit + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/lsslist.xml b/modules/cacsd/help/en_US/formal_representation/lsslist.xml new file mode 100755 index 000000000..5377da18f --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/lsslist.xml @@ -0,0 +1,51 @@ + + + + + lsslist + Scilab linear state space function definition + + + Calling Sequence + lsslist() + lsslist(A, B, C, X0, dt) + + + + Description + + lsslist(A, B, C, X0, dt) is a shortcut to + tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt). + + + Creates a tlist with ["lss", "A", "B", "C", "D", "X0", "dt"] as + first entry and A, B, C,X0,dt + as next entries if any. No type nor size + checking is done on input variables. + + + + See Also + + + abcd + + + syslin + + + tlist + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/markp2ss.xml b/modules/cacsd/help/en_US/formal_representation/markp2ss.xml new file mode 100755 index 000000000..984d6de08 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/markp2ss.xml @@ -0,0 +1,87 @@ + + + + + markp2ss + Markov parameters to state-space + + + Calling Sequence + [sl]=markp2ss(markpar,n,nout,nin) + + + Arguments + + + markpar + + matrix + + + + n,nout,nin + + integers + + + + Sl + + + syslin list + + + + + + + Description + + given a set of n Markov parameters stacked in the (row)-matrix + markpar of size noutX(n*nin) markp2ss + returns a state-space linear system sl (syslin list) + such that with [A,B,C,D]=abcd(sl): + + + + + Examples + + + + See Also + + + frep2tf + + + tf2ss + + + imrep2ss + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/sm2des.xml b/modules/cacsd/help/en_US/formal_representation/sm2des.xml new file mode 100755 index 000000000..2d085581e --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/sm2des.xml @@ -0,0 +1,65 @@ + + + + + sm2des + system matrix to descriptor + + + Calling Sequence + [Des]=sm2des(Sm); + + + Arguments + + + Sm + + polynomial matrix (pencil system matrix) + + + + Des + + + descriptor system (list('des',A,B,C,D,E)) + + + + + + + Description + + Utility function: converts the system matrix: + + + + to descriptor system Des=list('des',A,B,C,D,E)). + + + + See Also + + + ss2des + + + sm2ss + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/sm2ss.xml b/modules/cacsd/help/en_US/formal_representation/sm2ss.xml new file mode 100755 index 000000000..e3874bd87 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/sm2ss.xml @@ -0,0 +1,62 @@ + + + + + sm2ss + system matrix to state-space + + + Calling Sequence + [Sl]=sm2ss(Sm); + + + Arguments + + + Sm + + polynomial matrix (pencil system matrix) + + + + Sl + + + linear system (syslin list) + + + + + + + Description + + Utility function: converts the system matrix: + + + + to linear system in state-space representation (syslin) list. + + + + See Also + + + ss2des + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/ss2des.xml b/modules/cacsd/help/en_US/formal_representation/ss2des.xml new file mode 100755 index 000000000..c59ca2bf6 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/ss2des.xml @@ -0,0 +1,93 @@ + + + + + ss2des + (polynomial) state-space to descriptor form + + + Calling Sequence + S=ss2des(Sl) + S=ss2des(Sl,flag) + + + + Arguments + + + Sl + + + syslin list: proper or improper linear system. + + + + + flag + + + character string "withD" + + + + + S + + list + + + + + + Description + + Given the linear system in state-space representation + Sl (syslin list), with a D matrix which is either + polynomial or constant, but not zero ss2des + returns a descriptor system as list('des',A,B,C,0,E) + such that: + + + + If the flag "withD" is given, S=list('des',A,B,C,D,E) + with a D matrix of maximal rank. + + + + Examples + + + + See Also + + + pol2des + + + tf2des + + + des2ss + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/ss2ss.xml b/modules/cacsd/help/en_US/formal_representation/ss2ss.xml new file mode 100755 index 000000000..ae9dccd91 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/ss2ss.xml @@ -0,0 +1,195 @@ + + + + + ss2ss + state-space to state-space conversion, feedback, + injection + + + + Calling Sequence + [Sl1,right,left]=ss2ss(Sl,T, [F, [G , [flag]]]) + + + Arguments + + + Sl + + + linear system (syslin list) in state-space + form + + + + + T + + square (non-singular) matrix + + + + Sl1, right, left + + linear systems (syslin lists) in state-space form + + + + F + + real matrix (state feedback gain) + + + + G + + real matrix (output injection gain) + + + + + + Description + + Returns the linear system Sl1=[A1,B1,C1,D1] where + A1=inv(T)*A*T, B1=inv(T)*B, C1=C*T, D1=D. + + + Optional parameters F and G + are state feedback and output injection respectively. + + + For example, Sl1=ss2ss(Sl,T,F) returns + Sl1 with: + + + + + + + + and right is a non singular linear system such + that Sl1=Sl*right. + + + Sl1*inv(right) is a factorization of + Sl. + + + Sl1=ss2ss(Sl,T,0*F,G) returns + Sl1 with: + + + + + + + + and left is a non singular linear system such + that Sl1=left*Sl (right=Id if + F=0). + + + When both F and G are given, + Sl1=left*Sl*right. + + + + + When flag is used and + flag=1 an output injection as follows is used + + + + + + + + and then a feedback is performed, F must be + of size (m+p,n) + + + + + + + + right and left have the + following property: + + + + + + When flag is used and + flag=2 a feedback (F must be of + size (m,n)) is performed and then the above output + injection is applied. right and + left have the following property: + + + + + + + Examples + + + + See Also + + + projsl + + + feedback + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/ss2tf.xml b/modules/cacsd/help/en_US/formal_representation/ss2tf.xml new file mode 100755 index 000000000..8f3adebe0 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/ss2tf.xml @@ -0,0 +1,102 @@ + + + + + ss2tf + conversion from state-space to transfer function + + + Calling Sequence + [h]=ss2tf(sl) + [Ds,NUM,chi]=ss2tf(sl) + + [h]=ss2tf(sl,"b") + [Ds,NUM,chi]=ss2tf(sl,"b") + + + [h]=ss2tf(sl,rmax) + [Ds,NUM,chi]=ss2tf(sl,rmax) + + + + + Arguments + + + sl + + + linear system (syslin list) + + + + + h + + transfer matrix + + + + + + Description + + Called with three outputs [Ds,NUM,chi]=ss2tf(sl) returns + the numerator polynomial matrix NUM, the characteristic + polynomial chi and the polynomial part Ds separately i.e.: + + + + Method: + + + One uses the characteristic polynomial and + det(A+Eij)=det(A)+C(i,j) where C is the adjugate + matrix of A. + + + With rmax or "b" argument uses a block diagonalization of + sl.A matrix and applies "Leverrier" algorithm on blocks. + If given, rmax controls the conditionning (see bdiag). + + + + Examples + + + + See Also + + + tf2ss + + + syslin + + + nlev + + + glever + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/tf2des.xml b/modules/cacsd/help/en_US/formal_representation/tf2des.xml new file mode 100755 index 000000000..e419fe9f7 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/tf2des.xml @@ -0,0 +1,94 @@ + + + + + tf2des + transfer function to descriptor + + + Calling Sequence + S=tf2des(G) + S=tf2des(G,flag) + + + + Arguments + + + G + + + linear system (syslin list) with possibly polynomial D matrix + + + + + flag + + + character string "withD" + + + + + S + + list + + + + + + Description + + Transfer function to descriptor form: S=list('d',A,B,C,D,E) + + + + + Note that D=0 if the optional parameter flag="withD" is not + given. Otherwise a maximal rank D matrix is returned in the fifth + entry of the list S. + + + + + Examples + + + + See Also + + + pol2des + + + tf2ss + + + ss2des + + + des2tf + + + + diff --git a/modules/cacsd/help/en_US/formal_representation/tf2ss.xml b/modules/cacsd/help/en_US/formal_representation/tf2ss.xml new file mode 100755 index 000000000..88a94fa37 --- /dev/null +++ b/modules/cacsd/help/en_US/formal_representation/tf2ss.xml @@ -0,0 +1,95 @@ + + + + + tf2ss + transfer to state-space + + + Calling Sequence + sl=tf2ss(h [,tol]) + + + Arguments + + + h + + rational matrix + + + + tol + + + may be the constant rtol or the 2 vector [rtol atol] + + + + rtol + + tolerance used when evaluating observability. + + + + atol + + absolute tolerance used when evaluating observability. + + + + + + + sl + + + linear system (syslin list sl=[A,B,C,D(s)]) + + + + + + + Description + + transfer to state-space conversion: + + + h=C*(s*eye()-A)^-1*B+D(s) + + + + Examples + + + + See Also + + + ss2tf + + + tf2des + + + des2tf + + + + diff --git a/modules/cacsd/help/en_US/fourplan.xml b/modules/cacsd/help/en_US/fourplan.xml new file mode 100755 index 000000000..4aa556517 --- /dev/null +++ b/modules/cacsd/help/en_US/fourplan.xml @@ -0,0 +1,87 @@ + + + + + fourplan + augmented plant to four plants + + + Calling Sequence + [P11,P12,P21,P22]=fourplan(P,r) + + + Arguments + + + P + + + syslin list (linear system) + + + + + r + + + 1x2 row vector, dimension of P22 + + + + + P11,P12,P21,P22 + + + syslin lists. + + + + + + + Description + + Utility function. + + + P being partitioned as follows: + + + + with size(P22)=r this function returns the four linear systems P11,P12,P21,P22. + + + + See Also + + + lqg + + + lqg2stan + + + lqr + + + lqe + + + lft + + + + diff --git a/modules/cacsd/help/en_US/freq.xml b/modules/cacsd/help/en_US/freq.xml new file mode 100755 index 000000000..2b7a091ee --- /dev/null +++ b/modules/cacsd/help/en_US/freq.xml @@ -0,0 +1,95 @@ + + + + + freq + frequency response + + + Calling Sequence + [x]=freq(A,B,C [,D],f) + [x]=freq(NUM,DEN,f) + + + + Arguments + + + A, B, C, D + + + real matrices of respective dimensions nxn, nxp, mxn, mxp. + + + + + NUM,DEN + + + polynomial matrices of dimension mxp + + + + + x + + real or complex matrix + + + + + + Description + + x=freq(A,B,C [,D],f) returns a real or complex mxp*t matrix + such that: + + + x(:,k*p:(k+1)*p)= C*inv(f(k)*eye()-A)*B + D. + + + Thus, for f taking values along the imaginary axis or + on the unit circle x is the continuous or discrete time + frequency response of (A,B,C,D). + + + x=freq(NUM,DEN,f) returns a real or complex matrix x such + that columns k*(p-1)+1 to k*p of x contain the matrix + NUM(f(k))./DEN(f(k)) + + + + Examples + + + + See Also + + + repfreq + + + horner + + + + diff --git a/modules/cacsd/help/en_US/freson.xml b/modules/cacsd/help/en_US/freson.xml new file mode 100755 index 000000000..c84e90b92 --- /dev/null +++ b/modules/cacsd/help/en_US/freson.xml @@ -0,0 +1,77 @@ + + + + + freson + peak frequencies + + + Calling Sequence + fr=freson(h) + + + Arguments + + + h + + + syslin list + + + + + fr + + vector of peak frequencies in Hz + + + + + + Description + + returns the vector of peak frequencies in Hz for the SISO plant + h + + + + Examples + + + h=syslin('c',-1+%s,(3+2*%s+%s^2)*(50+0.1*%s+%s^2)) + fr=freson(h) + bode(h) + g=20*log(abs(repfreq(h,fr)))/log(10) + + + + See Also + + + frep2tf + + + zgrid + + + h_norm + + + + diff --git a/modules/cacsd/help/en_US/fspec.xml b/modules/cacsd/help/en_US/fspec.xml new file mode 100755 index 000000000..dde85bfa5 --- /dev/null +++ b/modules/cacsd/help/en_US/fspec.xml @@ -0,0 +1,75 @@ + + + + + fspec + spectral factorization of continuous time dynamical systems + + + Calling Sequence + gm=fspec(g) + + + Arguments + + + g + + a continuous time linear dynamical system. + + + + gm + + a continuous time linear dynamical system. + + + + + + Description + + returns gm with gm and gm^-1 stable such that: + + + + gtild(gm) returns a state-space representation of gm(-s)'. + + + + g is inversible. + + + Imaginary-axis poles are forbidden. + + + gtild(g)=g (poles and zeros of g are symetric wrt imaginary axis). + + + g(inf) is positive definite. + + + + Examples + + + diff --git a/modules/cacsd/help/en_US/fspecg.xml b/modules/cacsd/help/en_US/fspecg.xml new file mode 100755 index 000000000..b2166356c --- /dev/null +++ b/modules/cacsd/help/en_US/fspecg.xml @@ -0,0 +1,77 @@ + + + + + fspecg + stable factorization of continuous time dynamical systems + + + Calling Sequence + gm=fspecg(g). + + + Arguments + + + g + + a continuous time linear dynamical system. + + + + gm + + a continuous time linear dynamical system. + + + + + + Description + + returns gm with gm and gm^-1 stable such that: + + + + g and gm are continuous-time linear systems in state-space form. + + + Imaginary-axis poles are forbidden. + + + + + Examples + + + + History + + + 5.4.0 + + Sl is now checked for continuous time linear dynamical system. + This modification has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/fstabst.xml b/modules/cacsd/help/en_US/fstabst.xml new file mode 100755 index 000000000..05a1447a1 --- /dev/null +++ b/modules/cacsd/help/en_US/fstabst.xml @@ -0,0 +1,129 @@ + + + + + fstabst + Youla's parametrization of continuous time linear dynmaical systems + + + Calling Sequence + J = fstabst(P,r) + + + Arguments + + + P + + a continuous time linear dynamical system. + + + + r + + + 1x2 row vector, dimension of P22 + + + + + J + + + a continuous time linear dynamical system (with same representation as P. + + + + + + + Description + + Parameterization of all stabilizing feedbacks. + + + P is partitioned as follows: + + + + (in state-space or transfer form: automatic conversion in state-space is + done for the computations) + + + r = size of P22 subsystem, (2,2) block of P + + + + K is a stabilizing controller for P (i.e. P22) iff + K=lft(J,r,Q) with Q stable. + + + The central part of J , J11 is the lqg regulator for P + + + This J is such that defining T as the 2-port lft of P + and J : [T,rt]=lft(P,r,J,r) one has that T12 is inner + and T21 is co-inner. + + + + Examples + + + + See Also + + + obscont + + + lft + + + lqg + + + lqg2stan + + + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/g_margin.xml b/modules/cacsd/help/en_US/g_margin.xml new file mode 100755 index 000000000..26775f6b5 --- /dev/null +++ b/modules/cacsd/help/en_US/g_margin.xml @@ -0,0 +1,138 @@ + + + + + g_margin + gain margin and associated crossover frequency + + + Calling Sequence + + gm=g_margin(h) + [gm,fr]=g_margin(h) + + + + Arguments + + + h + + + a SISO linear system (see :syslin). + + + + + gm + + a number, the gain margin (in dB) if any of + Inf + + + + + fr + + a number, the associated frequency in hertz, or an + empty matrix if the gain margin does not exist. + + + + + + + Description + Given a SISO linear system in continuous or discrete time, + g_margin returns gm, the + gain margin in dB of h and + fr, the achieved corresponding frequency in + Hz. + + The gain margin, if it exists, is the minimal value of the + system gain at points where the nyquist plot crosses the negative + real axis. In other words the gain margin is + 20*log10(1/g) where g is the + open loop gain of h when the frequency response + phase of h equals -180° + + The algorithm uses polynomial root finder to solve the equations: + + + h(s)=h(-s) + + for the continuous time case. + + + + h(z)=h(1/z) + + for the discrete time case. + + + + + + Examples + + + h=syslin('c',-1+%s,3+2*%s+%s^2) + [g,fr]=g_margin(h) + [g,fr]=g_margin(h-10) + nyquist(h-10) + + + + h = syslin(0.1,0.04798*%z+0.0464,%z^2-1.81*%z+0.9048); + [g ,fr]=g_margin(h); + warning("off") + show_margins(h) + warning("on") + + + + See Also + + + p_margin + + + show_margins + + + repfreq + + + black + + + bode + + + nicholschart + + + nyquist + + + + diff --git a/modules/cacsd/help/en_US/gamitg.xml b/modules/cacsd/help/en_US/gamitg.xml new file mode 100755 index 000000000..5e6dcc0d3 --- /dev/null +++ b/modules/cacsd/help/en_US/gamitg.xml @@ -0,0 +1,112 @@ + + + + + gamitg + H-infinity gamma iterations for continuous time systems + + + Calling Sequence + [gopt]=gamitg(G,r,prec [,options]); + + + Arguments + + + G + + a continuous time dynamical system (plant realization). + + + + r + + + 1x2 row vector (dimension of G22) + + + + + prec + + desired relative accuracy on the norm + + + + option + + + string 't' + + + + + gopt + + real scalar, optimal H-infinity gain + + + + + + Description + + gopt=gamitg(G,r,prec [,options]) + returns the H-infinity optimal gain gopt. + + + G contains the state-space matrices [A,B,C,D] of + the plant with the usual partitions: + + + + These partitions are implicitly given in r: r(1) + and r(2) are the dimensions of D22 (rows x columns) + + + With option='t', gamitg traces each bisection step, i.e., + displays the lower and upper bounds and the current test point. + + + + See Also + + + ccontrg + + + h_inf + + + + + Authors + P. Gahinet + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/gcare.xml b/modules/cacsd/help/en_US/gcare.xml new file mode 100755 index 000000000..6319291be --- /dev/null +++ b/modules/cacsd/help/en_US/gcare.xml @@ -0,0 +1,83 @@ + + + + + gcare + Continuous time control Riccati equation + + + Calling Sequence + [X,F]=gcare(Sl) + + + Arguments + + + Sl + + a continuous time linear dynamical system in state-space representation + + + + X + + symmetric matrix + + + + F + + real matrix + + + + + + Description + + Generalized Control Algebraic Riccati Equation (GCARE). + X = solution , F = gain. + + + The GCARE for Sl=[A,B,C,D] is: + + + + where S=(eye()+D'*D), Si=inv(S), R=(eye()+D*D'), Ri=inv(R) + and F=-Si*(D'*C+B'*X) is such that A+B*F is stable. + + + + See Also + + + gfare + + + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/gfare.xml b/modules/cacsd/help/en_US/gfare.xml new file mode 100755 index 000000000..b9451d9c6 --- /dev/null +++ b/modules/cacsd/help/en_US/gfare.xml @@ -0,0 +1,83 @@ + + + + + gfare + Continuous time filter Riccati equation + + + Calling Sequence + [Z,H]=gfare(Sl) + + + Arguments + + + Sl + + a continuous time linear dynamical system in state-space representation + + + + Z + + symmetric matrix + + + + H + + real matrix + + + + + + Description + + Generalized Filter Algebraic Riccati Equation (GFARE). + Z = solution, H = gain. + + + The GFARE for Sl=[A,B,C,D] is: + + + + where S=(eye()+D'*D), Si=inv(S), R=(eye()+D*D'), Ri=inv(R) + and H=-(B*D'+Z*C')*Ri is such that A+H*C is stable. + + + + See Also + + + gcare + + + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/gfrancis.xml b/modules/cacsd/help/en_US/gfrancis.xml new file mode 100755 index 000000000..4974b9b8c --- /dev/null +++ b/modules/cacsd/help/en_US/gfrancis.xml @@ -0,0 +1,123 @@ + + + + + gfrancis + Francis equations for tracking + + + Calling Sequence + [L,M,T]=gfrancis(Plant,Model) + + + Arguments + + + Plant + + a continuous time dynamical system in state-space representation. + + + + Model + + a continuous time dynamical system in state-space representation. + + + + L,M,T + + real matrices + + + + + + Description + + Given the linear plant: + + + + and the linear model + + + + the goal is for the plant to track the model i.e. e = y - ym ---> 0 + while keeping stable the state x(t) of the plant. + u is given by feedforward and feedback + + + + The matrices T,L,M satisfy generalized Francis equations + + + + The matrix K must be chosen as stabilizing the pair (F,G) + See example of use in directory demos/tracking. + + + + Examples + + + + See Also + + + lqg + + + ppol + + + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/gtild.xml b/modules/cacsd/help/en_US/gtild.xml new file mode 100755 index 000000000..e342c2630 --- /dev/null +++ b/modules/cacsd/help/en_US/gtild.xml @@ -0,0 +1,128 @@ + + + + + gtild + tilde operation + + + Calling Sequence + Gt=gtild(G) + Gt=gtild(G,flag) + + + + Arguments + + + G + + + either a polynomial or a linear system (syslin list) or a rational matrix + + + + + Gt + + same as G + + + + flag + + + character string: either 'c' or 'd' (optional parameter). + + + + + + + Description + + If G is a polynomial matrix (or a polynomial), Gt=gtild(G,'c') + returns the polynomial matrix Gt(s)=G(-s)'. + + + If G is a polynomial matrix (or a polynomial), Gt=gtild(G,'d') + returns the polynomial matrix Gt=G(1/z)*z^n where n is the maximum + degree of G. + + + For continuous-time systems represented in state-space by a syslin list, + Gt = gtild(G,'c') returns a state-space representation + of G(-s)' i.e the ABCD matrices of Gt are + A',-C', B', D'. If G is improper ( D= D(s)) + the D matrix of Gt is D(-s)'. + + + For discrete-time systems represented in state-space by a syslin list, + Gt = gtild(G,'d') returns a state-space representation + of G(-1/z)' i.e the (possibly improper) state-space + representation of -z*C*inv(z*A-B)*C + D(1/z) . + + + For rational matrices, Gt = gtild(G,'c') returns the rational + matrix Gt(s)=G(-s) and Gt = gtild(G,'d') returns the + rational matrix Gt(z)= G(1/z)'. + + + The parameter flag is necessary when gtild is called with + a polynomial argument. + + + + Examples + + + + See Also + + + syslin + + + horner + + + factors + + + + diff --git a/modules/cacsd/help/en_US/h2norm.xml b/modules/cacsd/help/en_US/h2norm.xml new file mode 100755 index 000000000..578b9b41c --- /dev/null +++ b/modules/cacsd/help/en_US/h2norm.xml @@ -0,0 +1,69 @@ + + + + + h2norm + H2 norm of a continuous time proper dynamical system + + + Calling Sequence + [n]=h2norm(Sl [,tol]) + + + Arguments + + + Sl + + continuous time proper linear dynamical system + + + + n + + real scalar + + + + + + Description + + produces the H2 norm of a linear continuous time system Sl. + + + (For Sl in state-space form h2norm uses the observability + gramian and for Sl in transfer form h2norm uses a residue method) + + + + Examples + + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/h_cl.xml b/modules/cacsd/help/en_US/h_cl.xml new file mode 100755 index 000000000..c8019bc7c --- /dev/null +++ b/modules/cacsd/help/en_US/h_cl.xml @@ -0,0 +1,95 @@ + + + + + h_cl + closed loop matrix + + + Calling Sequence + [Acl]=h_cl(P,r,K) + [Acl]=h_cl(P22,K) + + + + Arguments + + + P, P22 + + continuous time linear dynamical systems: augmented plant or nominal plant respectively + + + + r + + + a two elements vector, dimensions of 2,2 part of P (r=[rows,cols]=size(P22)) + + + + + K + + a continuous time linear dynamical system: the controller + + + + Acl + + real square matrix + + + + + + Description + + Given the standard plant P (with r=size(P22)) and the controller + K, this function returns the closed loop matrix Acl. + + + The poles of Acl must be stable for the internal stability + of the closed loop system. + + + Acl is the A-matrix of the linear system [I -P22;-K I]^-1 i.e. + the A-matrix of lft(P,r,K) + + + + See Also + + + lft + + + + + Authors + F. D. + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/h_inf.xml b/modules/cacsd/help/en_US/h_inf.xml new file mode 100755 index 000000000..1b43e846f --- /dev/null +++ b/modules/cacsd/help/en_US/h_inf.xml @@ -0,0 +1,136 @@ + + + + + h_inf + Continuous time H-infinity (central) controller + + + Calling Sequence + [Sk,ro]=h_inf(P,r,romin,romax,nmax) + [Sk,rk,ro]=h_inf(P,r,romin,romax,nmax) + + + + Arguments + + + P + + a continuous-time linear dynamical system ("augmented" plant given in state-space form or in transfer form) + + + + r + + + size of the P22 plant i.e. 2-vector [#outputs,#inputs] + + + + + romin,romax + + + a priori bounds on ro with ro=1/gama^2; (romin=0 usually) + + + + + nmax + + integer, maximum number of iterations in the gama-iteration. + + + + + + Description + + h_inf computes H-infinity optimal controller for the + continuous-time plant P. + + + The partition of P into four sub-plants is given through + the 2-vector r which is the size of the 22 part of P. + + + P is given in state-space + e.g. P=syslin('c',A,B,C,D) with A,B,C,D = constant matrices + or P=syslin('c',H) with H a transfer matrix. + + + [Sk,ro]=H_inf(P,r,romin,romax,nmax) returns + ro in [romin,romax] and the central + controller Sk in the same representation as + P. + + + (All calculations are made in state-space, i.e conversion to + state-space is done by the function, if necessary). + + + Invoked with three LHS parameters, + + + [Sk,rk,ro]=H_inf(P,r,romin,romax,nmax) returns + ro and the Parameterization of all stabilizing + controllers: + + + a stabilizing controller K is obtained by + K=lft(Sk,r,PHI) where PHI is a linear + system with dimensions r' and satisfy: + + + H_norm(PHI) < gamma. rk (=r) is the + size of the Sk22 block and ro = 1/gama^2 + after nmax iterations. + + + Algorithm is adapted from Safonov-Limebeer. Note that P is assumed to be + a continuous-time plant. + + + + See Also + + + gamitg + + + ccontrg + + + leqr + + + + + Authors + F.Delebecque INRIA (1990) + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/h_inf_st.xml b/modules/cacsd/help/en_US/h_inf_st.xml new file mode 100755 index 000000000..956051de7 --- /dev/null +++ b/modules/cacsd/help/en_US/h_inf_st.xml @@ -0,0 +1,59 @@ + + + + + h_inf_st + static H_infinity problem + + + Calling Sequence + [Kopt,gamaopt]=h_inf_stat(D,r) + + + Arguments + + + D + + real matrix + + + + r + + 1x2 vector + + + + Kopt + + matrix + + + + + + Description + + computes a matrix Kopt such that largest singular value of: + + + lft(D,r,K)=D11+D12* K*inv(I-D22*K)* D21 + is minimal (Static H_infinity four blocks problem). + + + D is partionned as D=[D11 D12; D21 D22] + where size(D22)=r=[r1 r2] + + + diff --git a/modules/cacsd/help/en_US/h_norm.xml b/modules/cacsd/help/en_US/h_norm.xml new file mode 100755 index 000000000..f78d77ebe --- /dev/null +++ b/modules/cacsd/help/en_US/h_norm.xml @@ -0,0 +1,78 @@ + + + + + h_norm + H-infinity norm + + + Calling Sequence + [hinfnorm [,frequency]]=h_norm(sl [,rerr]) + + + Arguments + + + sl + + + the state space system (syslin list) + + + + + rerr + + + max. relative error, default value 1e-8 + + + + + hinfnorm + + + the infinity norm of Sl + + + + + frequency + + frequency at which maximum is achieved + + + + + + Description + + produces the infinity norm of a state-space system + (the maximum over all frequencies of the maximum singular value). + + + + See Also + + + linfn + + + linf + + + svplot + + + + diff --git a/modules/cacsd/help/en_US/hankelsv.xml b/modules/cacsd/help/en_US/hankelsv.xml new file mode 100755 index 000000000..a0f8622fa --- /dev/null +++ b/modules/cacsd/help/en_US/hankelsv.xml @@ -0,0 +1,79 @@ + + + + + hankelsv + Hankel singular values + + + Calling Sequence + [nk2,W]=hankelsv(sl [,tol]) + [nk2]=hankelsv(sl [,tol]) + + + + Arguments + + + sl + + + syslin list representing the linear system (state-space). + + + + + tol + + + tolerance parameter for detecting imaginary axis modes (default value is 1000*%eps). + + + + + + + Description + + returns nk2, the squared Hankel singular values of sl + and W = P*Q = controllability gramian times observability + gramian. + + + nk2 is the vector of eigenvalues of W. + + + + Examples + + + + See Also + + + balreal + + + equil + + + equil1 + + + + diff --git a/modules/cacsd/help/en_US/hinf.xml b/modules/cacsd/help/en_US/hinf.xml new file mode 100755 index 000000000..c54db7891 --- /dev/null +++ b/modules/cacsd/help/en_US/hinf.xml @@ -0,0 +1,203 @@ + + + + + hinf + H_infinity design of continuous-time systems + + + Calling Sequence + [AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma) + + + Arguments + + + A + + the n-by-n system state matrix A. + + + + B + + the n-by-m system input matrix B. + + + + C + + the p-by-n system output matrix C. + + + + D + + the p-by-m system matrix D. + + + + ncon + + the number of control inputs. m >= ncon >= 0, p-nmeas >= ncon. + + + + nmeas + + the number of measurements. p >= nmeas >= 0, m-ncon >= nmeas. + + + + gamma + + + the parameter gamma used in H_infinity design. + It is assumed that gamma is sufficiently large so that the controller is admissible. gamma >= 0. + + + + + AK + + the n-by-n controller state matrix AK. + + + + BK + + the n-by-nmeas controller input matrix BK. + + + + CK + + the ncon-by-n controller output matrix CK. + + + + DK + + the ncon-by-nmeas controller matrix DK. + + + + RCOND + + a vector containing estimates of the reciprocal condition numbers of the matrices which are to be inverted and estimates of the reciprocal condition numbers of the Riccati equations which have to be solved during the computation of the controller. (See the description of the algorithm in [1].) + + + RCOND + + (1) contains the reciprocal condition number of the control transformation matrix TU, + + + + RCOND + + (2) contains the reciprocal condition number of the measurement transformation matrix TY, + + + + RCOND + + (3) contains an estimate of the reciprocal condition number of the X-Riccati equation, + + + + RCOND + + (4) contains an estimate of the reciprocal condition number of the Y-Riccati equation. + + + + + + + + + Description + + [AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma) + To compute the matrices of an H-infinity (sub)optimal n-state + controller + + + + for the continuous-time system + + + + and for a given value of gamma, where B2 has column size of the + number of control inputs (ncon) and C2 has row size of the number + of measurements (nmeas) being provided to the controller. + + + + References + + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of continuous-time linear control systems. Report98-14, Department of Engineering, Leicester University, August 1998. + + + + Examples + + + + See Also + + + dhinf + + + + diff --git a/modules/cacsd/help/en_US/imrep2ss.xml b/modules/cacsd/help/en_US/imrep2ss.xml new file mode 100755 index 000000000..db44dd52d --- /dev/null +++ b/modules/cacsd/help/en_US/imrep2ss.xml @@ -0,0 +1,97 @@ + + + + + imrep2ss + state-space realization of an impulse response + + + Calling Sequence + [sl]=imrep2ss(v [,deg]) + + + Arguments + + + v + + + vector coefficients of impulse response, v(:,k) is the kth sample + + + + + deg + + integer (order required) + + + + sl + + + syslin list + + + + + + + Description + + Impulse response to linear system conversion (one input). + v must have an even number of columns. + + + + Examples + rep=ldiv(H('num'),H('den'),20) +w=z*imrep2ss(rep) //Realization with shifted impulse response +// i.e strictly proper to proper +H2=ss2tf(w); + ]]> + + + See Also + + + frep2tf + + + arl2 + + + time_id + + + armax + + + markp2ss + + + ldiv + + + + diff --git a/modules/cacsd/help/en_US/inistate.xml b/modules/cacsd/help/en_US/inistate.xml new file mode 100755 index 000000000..c664ce17b --- /dev/null +++ b/modules/cacsd/help/en_US/inistate.xml @@ -0,0 +1,168 @@ + + + + + inistate + Estimates the initial state of a discrete-time system + + + Calling Sequence + X0 = inistate(SYS,Y,U,TOL,PRINTW) + X0 = inistate(A,B,C,Y,U); + X0 = inistate(A,C,Y); + + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) + + + + Arguments + + + SYS + + given system, syslin(dt,A,B,C,D) + + + + Y + + the output of the system + + + + U + + the input of the system + + + + TOL + + TOL is the tolerance used for estimating the rank of matrices. If TOL > 0, then the given value of TOL is used as a lower bound for the reciprocal condition number. + + Default: prod(size(matrix))*epsilon_machine where epsilon_machine is the relative machine precision. + + + + + PRINTW + + PRINTW is a switch for printing the warning messages. + + + = + + 1: print warning messages; + + + + = + + 0: do not print warning messages. + + + + + Default: PRINTW = 0. + + + + + X0 + + the estimated initial state vector + + + + V + + orthogonal matrix which reduces the system state matrix A to a real Schur form + + + + rcnd + + estimate of the reciprocal condition number of the coefficient matrix of the least squares problem solved. + + + + + + Description + + inistate Estimates the initial state of a discrete-time system, given the + (estimated) system matrices, and a set of input/output data. + + + X0 = inistate(SYS,Y,U,TOL,PRINTW) estimates the initial state X0 of + the discrete-time system SYS = (A,B,C,D), using the output data Y + and the input data U. The model structure is : + + = 1, +y(k) = Cx(k) + Du(k), + ]]> + + The vectors y(k) and u(k) are transposes of the k-th rows of Y and U, + respectively. + + + Instead of the first input parameter SYS (an syslin object), equivalent + information may be specified using matrix parameters, for instance, + X0 = inistate(A,B,C,Y,U); or X0 = inistate(A,C,Y); + + + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) returns, besides x0, + the orthogonal matrix V which reduces the system state matrix A to + a real Schur form, as well as an estimate of the reciprocal condition + number of the coefficient matrix of the least squares problem solved. + + + + Examples + + + + See Also + + + findBD + + + findx0BD + + + + diff --git a/modules/cacsd/help/en_US/invsyslin.xml b/modules/cacsd/help/en_US/invsyslin.xml new file mode 100755 index 000000000..878d4ed91 --- /dev/null +++ b/modules/cacsd/help/en_US/invsyslin.xml @@ -0,0 +1,68 @@ + + + + + invsyslin + system inversion + + + Calling Sequence + [sl2]=invsyslin(sl1) + + + Arguments + + + sl1,sl2 + + + syslin lists (linear systems in state space representation) + + + + + + + Description + + Utility function. Computes the state form of the inverse sl2 of + the linear system sl1 (which is also given in state form). + + + The D-matrix is supposed to be full rank. Old stuff used by + inv(S) when S is a syslin list. + + + + + Examples + + + + See Also + + + rowregul + + + inv + + + + diff --git a/modules/cacsd/help/en_US/kpure.xml b/modules/cacsd/help/en_US/kpure.xml new file mode 100755 index 000000000..3f7d60a3c --- /dev/null +++ b/modules/cacsd/help/en_US/kpure.xml @@ -0,0 +1,118 @@ + + + + + kpure + continuous SISO system limit feedback gain + + + Calling Sequence + + K=kpure(sys [,tol]) + [K,R]=kpure(sys [,tol]) + + + + Arguments + + + sys + + SISO linear system (syslin) + + + + tol + + a positive scalar. tolerance used to determine if a + root is imaginary or not. The default value is + 1e-6 + + + + + K + + Real vector, the vector of gains for which at least + one closed loop pole is imaginary. + + + + + R + + Complex vector, the imaginary closed loop poles + associated with the values of K. + + + + + + + Description + + K=kpure(sys) computes the gains K such that the system + sys feedback by K(i) (sys/.K(i)) has poles on imaginary axis. + + + + Examples + + + num=real(poly([-1+%i, -1-%i, -1+8*%i -1-8*%i],'s')); + den=real(poly([0.5 0.5 -6+7*%i -6-7*%i -3 -7 -11],'s')); + h=num/den; + + [K,Y]=kpure(h) + clf();evans(h) + plot(real(Y),imag(Y),'+r') + + + + num=real(poly([-1+%i*1, -1-%i*1, 2+%i*8 2-%i*8 -2.5+%i*13 -2.5-%i*13],'s')); + den=real(poly([1 1 3+%i*3 3-%i*3 -15+%i*7 -15-%i*7 -3 -7 -11],'s')); + h=num/den; + + [K,Y]=kpure(h) + clf();evans(h,100000) + plot(real(Y),imag(Y),'+r') + + + + See Also + + + evans + + + krac2 + + + + diff --git a/modules/cacsd/help/en_US/krac2.xml b/modules/cacsd/help/en_US/krac2.xml new file mode 100755 index 000000000..5bf773382 --- /dev/null +++ b/modules/cacsd/help/en_US/krac2.xml @@ -0,0 +1,67 @@ + + + + + krac2 + continuous SISO system limit feedback gain + + + Calling Sequence + g=krac2(sys) + + + Arguments + + + sys + + SISO linear system (syslin) + + + + g + + constant + + + + + + Description + + krac2(sys) computes the gains g such that the system + sys feedback by g (sys/.g) has 2 real equal poles. + + + + Examples + + + + See Also + + + evans + + + kpure + + + + diff --git a/modules/cacsd/help/en_US/lcf.xml b/modules/cacsd/help/en_US/lcf.xml new file mode 100755 index 000000000..01f91999d --- /dev/null +++ b/modules/cacsd/help/en_US/lcf.xml @@ -0,0 +1,77 @@ + + + + + lcf + Continuous time dynamical systems normalized coprime factorization + + + Calling Sequence + [N,M]=lcf(sl) + + + Arguments + + + sl + + a continuous time linear dynamical system. + + + + N + + a continuous linear dynamical system. + + + + M + + a continuous linear dynamical system. + + + + + + Description + + Computes normalized coprime factorization of the linear dynamic + system sl. + + + sl = M^-1 N + + + M and N are returned in the same + representation (transfer function or state-space) than + sl. + + + + Authors + F. D.; ; + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/leqr.xml b/modules/cacsd/help/en_US/leqr.xml new file mode 100755 index 000000000..f4fb590cd --- /dev/null +++ b/modules/cacsd/help/en_US/leqr.xml @@ -0,0 +1,116 @@ + + + + + leqr + H-infinity LQ gain (full state) + + + Calling Sequence + [K,X,err]=leqr(P12,Vx) + + + Arguments + + + P12 + + + syslin list + + + + + Vx + + symmetric nonnegative matrix (should be small enough) + + + + K,X + + two real matrices + + + + err + + a real number (l1 norm of LHS of Riccati equation) + + + + + + Description + + leqr computes the linear suboptimal H-infinity LQ full-state gain + for the plant P12=[A,B2,C1,D12] in continuous or discrete time. + + + P12 is a syslin list (e.g. P12=syslin('c',A,B2,C1,D12)). + + + + Vx is related to the variance matrix of the noise w perturbing x; + (usually Vx=gama^-2*B1*B1'). + + + The gain K is such that A + B2*K is stable. + + + X is the stabilizing solution of the Riccati equation. + + + For a continuous plant: + + + + + For a discrete time plant: + + + + + with Abar=A-B2*inv(R)*S' and Qbar=Q-S*inv(R)*S' + + + The 3-blocks matrix pencils associated with these Riccati equations are: + + + + + See Also + + + lqr + + + + diff --git a/modules/cacsd/help/en_US/lft.xml b/modules/cacsd/help/en_US/lft.xml new file mode 100755 index 000000000..be7f06091 --- /dev/null +++ b/modules/cacsd/help/en_US/lft.xml @@ -0,0 +1,141 @@ + + + + + lft + linear fractional transformation + + + Calling Sequence + [P1]=lft(P,K) + [P1]=lft(P,r,K) + [P1,r1]=lft(P,r,Ps,rs) + + + + Arguments + + + P + + + linear system (syslin list), the ``augmented'' plant, implicitly partitioned into four blocks (two input ports and two output ports). + + + + + K + + + linear system (syslin list), the controller (possibly an ordinary gain). + + + + + r + + + 1x2 row vector, dimension of P22 + + + + + Ps + + + linear system (syslin list), implicitly partitioned into four blocks (two input ports and two output ports). + + + + + rs + + + 1x2 row vector, dimension of Ps22 + + + + + + + Description + + Linear fractional transform between two standard plants + P and Ps in state space form or in + transfer form (syslin lists). + + + r= size(P22) rs=size(P22s) + + + lft(P,r, K) is the linear fractional transform + between P and a controller K + (K may be a gain or a controller in state space form + or in transfer form); + + + lft(P,K) is lft(P,r,K) with + r=size of K transpose; + + + P1= P11+P12*K* (I-P22*K)^-1 *P21 + + + [P1,r1]=lft(P,r,Ps,rs) returns the generalized (2 + ports) lft of P and Ps. + + + P1 is the pair two-port interconnected plant and the + partition of P1 into 4 blocks in given by + r1 which is the dimension of the 22 + block of P1. + + + P and R can be PSSDs i.e. may admit a + polynomial D matrix. + + + + Examples + + + + See Also + + + sensi + + + augment + + + feedback + + + sysdiag + + + + diff --git a/modules/cacsd/help/en_US/lin.xml b/modules/cacsd/help/en_US/lin.xml new file mode 100755 index 000000000..64557ed85 --- /dev/null +++ b/modules/cacsd/help/en_US/lin.xml @@ -0,0 +1,112 @@ + + + + + lin + linearization + + + Calling Sequence + [A,B,C,D]=lin(sim,x0,u0) + [sl]=lin(sim,x0,u0) + + + + Arguments + + + sim + + function + + + + x0, u0 + + vectors of compatible dimensions + + + + A,B,C,D + + real matrices + + + + sl + + + syslin list + + + + + + + Description + + linearization of the non-linear system [y,xdot]=sim(x,u) + around x0,u0. + + + sim is a function which computes y and xdot. + + + The output is a linear system (syslin list) sl or the + four matrices (A,B,C,D) + + + For example, if ftz is the function passed to ode e.g. + + + + and if we assume that y=x + + + [z]=ode(x0,t0,tf,list(ftz,u) compute x(tf). + + + If simula is the following function: + + + + the tangent linear system sl can be obtained by: + + + + + Examples + + + + See Also + + + external + + + derivat + + + + diff --git a/modules/cacsd/help/en_US/linf.xml b/modules/cacsd/help/en_US/linf.xml new file mode 100755 index 000000000..35d52cd57 --- /dev/null +++ b/modules/cacsd/help/en_US/linf.xml @@ -0,0 +1,71 @@ + + + + + linf + infinity norm + + + Calling Sequence + linf(g [,eps],[tol]) + + + Arguments + + + g + + + is a syslin linear system. + + + + + eps + + is error tolerance on n. + + + + tol + + threshold for imaginary axis poles. + + + + + + Description + + returns the L_infinity norm of g. + + + + (sigmax largest singular value). + + + + See Also + + + h_norm + + + linfn + + + + diff --git a/modules/cacsd/help/en_US/linfn.xml b/modules/cacsd/help/en_US/linfn.xml new file mode 100755 index 000000000..18599ff85 --- /dev/null +++ b/modules/cacsd/help/en_US/linfn.xml @@ -0,0 +1,120 @@ + + + + + linfn + infinity norm + + + Calling Sequence + [x,freq]=linfn(G,PREC,RELTOL,options); + + + Arguments + + + G + + + is a syslin list + + + + + PREC + + desired relative accuracy on the norm + + + + RELTOL + + relative threshold to decide when an eigenvalue can be considered on the imaginary axis. + + + + options + + + available options are 'trace' or 'cond' + + + + + x + + is the computed norm. + + + + freq + + vector + + + + + + Description + + Computes the Linf (or Hinf) norm of G + This norm is well-defined as soon as the realization + G=(A,B,C,D) has no imaginary eigenvalue which is both + controllable and observable. + + + freq is a list of the frequencies for which ||G|| is + attained,i.e., such that ||G (j om)|| = ||G||. + + + If -1 is in the list, the norm is attained at infinity. + + + If -2 is in the list, G is all-pass in some direction so that + ||G (j omega)|| = ||G|| for all frequencies omega. + + + The algorithm follows the paper by G. Robel + (AC-34 pp. 882-884, 1989). + The case D=0 is not treated separately due to superior + accuracy of the general method when (A,B,C) is nearly + non minimal. + + + The 'trace' option traces each bisection step, i.e., displays + the lower and upper bounds and the current test point. + + + The 'cond' option estimates a confidence index on the computed + value and issues a warning if computations are + ill-conditioned + + + In the general case (A neither stable nor anti-stable), + no upper bound is prespecified. + + + If by contrast A is stable or anti stable, lower + and upper bounds are computed using the associated + Lyapunov solutions. + + + + See Also + + + h_norm + + + + diff --git a/modules/cacsd/help/en_US/linmeq.xml b/modules/cacsd/help/en_US/linmeq.xml new file mode 100755 index 000000000..1bfc9190f --- /dev/null +++ b/modules/cacsd/help/en_US/linmeq.xml @@ -0,0 +1,359 @@ + + + + linmeq + Sylvester and Lyapunov equations solver + + + Calling Sequence + [X(,sep)] = linmeq(task,A,(B,)C,flag,trans(,schur)) + + + Arguments + + + task + + integer option to determine the equation type: + + + =1 + + solve the Sylvester equation (1a) or (1b); + + + + =2 + + solve the Lyapunov equation (2a) or (2b); + + + + =3 + + solve for the Cholesky factor op(X) the Lyapunov equation (3a) or (3b). + + + + + + + A + + real matrix + + + + B + + real matrix + + + + C + + real matrix + + + + flag + + (optional) integer vector of length 3 or 2 containing options. + + + task + + = 1 : flag has length 3 + + + flag(1) + + = 0 : solve the continuous-time equation (1a); otherwise, solve the discrete-time equation (1b). + + + + flag(2) + + = 1 : A is (quasi) upper triangular; + + + + flag(2) + + = 2 : A is upper Hessenberg; + + + + otherwise + + A is in general form. + + + + flag(3) + + = 1 : B is (quasi) upper triangular; + + + + flag(3) + + = 2 : B is upper Hessenberg; + + + + otherwise, + + B is in general form. + + + + + + + task + + = 2 : flag has length 2 + + + flag(1) + + if 0 solve continuous-time equation + (2a), otherwise, solve discrete-time equation (2b). + + + + + flag(2) + + = 1 : A is (quasi) upper triangular otherwise, A is in general form. + + + + + + + task + + = 3 : flag has length 2 + + + flag(1) + + = 0 : solve continuous-time equation (3a); otherwise, solve discrete-time equation (3b). + + + + flag(2) + + = 1 : A is (quasi) upper triangular; otherwise, A is in general form. + + + + + + + + Default: flag(1) = 0, flag(2) = 0 (, flag(3) = 0). + + + + + trans + + (optional) integer specifying a transposition option. + + + = + + 0 : solve the equations (1) - (3) with op(M) = M. + + + + = + + 1 : solve the equations (1) - (3) with op(M) = M'. + + + + = + + 2 : solve the equations (1) with op(A) = A'; op(B) = B; + + + + = + + 3 : solve the equations (1) with op(A) = A; op(B) = B'. + + + + + Default: trans = 0. + + + + + schur + + (optional) integer specifying whether the Hessenberg-Schur or Schur method should be used. Available for task = 1. + + + = 1 : Hessenberg-Schur method (one matrix is reduced + + to Schur form). + + + + = 2 : Schur method (two matrices are reduced to Schur + + form). + + + + + Default: schur = 1. + + + + + X + + + + + + sep + + (optional) estimator of Sep(op(A),-op(A)') for (2.a) or Sepd(A,A') for (2.b). + + + + + + Description + + linmeq function for solving Sylvester and Lyapunov equations + using SLICOT routines SB04MD, SB04ND, SB04PD, SB04QD, + SB04RD, SB03MD, and SB03OD. + + + + linmeq solves various Sylvester and Lyapunov matrix equations: + + + + where op(M) = M, or M'. + + + + Comments + + + 1. + + For equation (1a) or (1b), when schur = 1, the Hessenberg-Schur + method is used, reducing one matrix to Hessenberg form and the other + one to a real Schur form. Otherwise, both matrices are reduced to real + Schur forms. If one or both matrices are already reduced to + Schur/Hessenberg forms, this could be specified by flag(2) and + flag(3). For general matrices, the Hessenberg-Schur method could be + significantly more efficient than the Schur method. + + + + + 2. + + For equation (2a) or (2b), matrix C is assumed symmetric. + + + + 3. + + For equation (3a) or (3b), matrix A must be stable or convergent, respectively. + + + + 4. + + For equation (3a) or (3b), the computed matrix X is the Cholesky factor of the solution, i.e., the real solution is op(X)'*op(X), where X is an upper triangular matrix. + + + + + + Revisions + + V. Sima, Katholieke Univ. Leuven, Belgium, May 1999, May, Sep. 2000. V. Sima, University of Bucharest, Romania, May 2000. + + + + Examples + + + + See Also + + + sylv + + + lyap + + + + diff --git a/modules/cacsd/help/en_US/lqe.xml b/modules/cacsd/help/en_US/lqe.xml new file mode 100755 index 000000000..adf1d1d2a --- /dev/null +++ b/modules/cacsd/help/en_US/lqe.xml @@ -0,0 +1,147 @@ + + + + + lqe + linear quadratic estimator (Kalman Filter) + + + Calling Sequence + [K,X]=lqe(P21) + + + Arguments + + + P21 + + + syslin list + + + + + K, X + + real matrices + + + + + + Description + + lqe returns the Kalman gain for the filtering + problem in continuous or discrete time. + + + P21 is a syslin list representing the system P21=[A,B1,C2,D21] P21=syslin('c',A,B1,C2,D21) or P21=syslin('d',A,B1,C2,D21) + + + The input to P21 is a white noise with variance: + + + + X is the solution of the stabilizing Riccati + equation and A+K*C2 is stable. + + + In continuous time: + + + + + In discrete time: + + + + K=-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21') + + + xhat(t+1)= E(x(t+1)| y(0),...,y(t)) (one-step predicted x) + satisfies the recursion: + + + + + Examples + + + + See Also + + + lqr + + + observer + + + + diff --git a/modules/cacsd/help/en_US/lqg.xml b/modules/cacsd/help/en_US/lqg.xml new file mode 100755 index 000000000..7d2bfe56d --- /dev/null +++ b/modules/cacsd/help/en_US/lqg.xml @@ -0,0 +1,129 @@ + + + + + lqg + LQG compensator + + + Calling Sequence + [K]=lqg(P,r) + + + Arguments + + + P + + + syslin list (augmented plant) in state-space form + + + + + r + + + 1x2 row vector = (number of measurements, number of inputs) (dimension of the 2,2 part of P) + + + + + K + + + syslin list (controller) + + + + + + + Description + + lqg computes the linear optimal LQG (H2) controller for the + "augmented" plant P=syslin('c',A,B,C,D) (continuous time) or + P=syslin('d',A,B,C,D) (discrete time). + + + The function lqg2stan returns P and r given the + nominal plant, weighting terms and variances of noises. + + + K is given by the following ABCD matrices: + [A+B*Kc+Kf*C+Kf*D*Kc,-Kf,Kc,0] where Kc=lqr(P12) + is the controller gain and Kf=lqe(P21) is the filter gain. + See example in lqg2stan. + + + + + Examples + + + s=poly(0,'s'); + Plant=syslin('c',[1/(s+1)*s/(s-1)^2]); //Nominal Plant + P22=tf2ss(Plant); //...in state-space form + [ny,nu,nx]=size(P22); + rand('seed',0);rand('normal'); + bigQ=rand(nx+nu,nx+nu); + bigQ=bigQ*bigQ'; + bigR=rand(nx+ny,nx+ny); + bigR=bigR*bigR'; //random weighting matrices + [Plqg,r]=lqg2stan(P22,bigQ,bigR); //LQG pb as a standard problem + Klqg=lqg(Plqg,r); //Controller + spec(h_cl(Plqg,r,Klqg)) //Check internal stability + [Slqg,Rlqg,Tlqg]=sensi(P22,Klqg); //Sensitivity functions + frq=logspace(-3,3); //10^-3 to 10^3 + y=svplot(Slqg); //Computes singular values; + gainplot(frq,y) //Plot sing. values + + + + See Also + + + lqg2stan + + + lqr + + + lqe + + + h_inf + + + obscont + + + + diff --git a/modules/cacsd/help/en_US/lqg2stan.xml b/modules/cacsd/help/en_US/lqg2stan.xml new file mode 100755 index 000000000..96c07c242 --- /dev/null +++ b/modules/cacsd/help/en_US/lqg2stan.xml @@ -0,0 +1,150 @@ + + + + + lqg2stan + LQG to standard problem + + + Calling Sequence + [P,r]=lqg2stan(P22,bigQ,bigR) + + + Arguments + + + P22 + + + syslin list (nominal plant) in state-space form + + + + + bigQ + + + [Q,S;S',N] (symmetric) weighting matrix + + + + + bigR + + + [R,T;T',V] (symmetric) covariance matrix + + + + + r + + + 1x2 row vector = (number of measurements, number of inputs) (dimension of the 2,2 part of P) + + + + + P + + + syslin list (augmented plant) + + + + + + + Description + + lqg2stan returns the augmented plant for linear LQG (H2) controller + design. + + + P22=syslin(dom,A,B2,C2) is the nominal plant; it can be in continuous + time (dom='c') or discrete time (dom='d'). + + + + for continuous time plant. + + + + for discrete time plant. + + + The (instantaneous) cost function is [x' u'] bigQ [x;u]. + + + The covariance of [w1;w2] is E[w1;w2] [w1',w2'] = bigR + + + If [B1;D21] is a factor of bigQ, [C1,D12] + is a factor of bigR and [A,B2,C2,D22] is + a realization of P22, then P is a realization of + [A,[B1,B2],[C1,-C2],[0,D12;D21,D22]. + The (negative) feedback computed by lqg stabilizes P22, + i.e. the poles of cl=P22/.K are stable. + + + + Examples + + + + See Also + + + lqg + + + lqr + + + lqe + + + obscont + + + h_inf + + + augment + + + fstabst + + + feedback + + + + diff --git a/modules/cacsd/help/en_US/lqg_ltr.xml b/modules/cacsd/help/en_US/lqg_ltr.xml new file mode 100755 index 000000000..a0289daee --- /dev/null +++ b/modules/cacsd/help/en_US/lqg_ltr.xml @@ -0,0 +1,95 @@ + + + + + lqg_ltr + LQG with loop transform recovery + + + Calling Sequence + [kf,kc]=lqg_ltr(sl,mu,ro) + + + Arguments + + + sl + + + linear system in state-space form (syslin list) + + + + + mu,ro + + real positive numbers chosen ``small enough'' + + + + kf,kc + + controller and observer Kalman gains. + + + + + + Description + + returns the Kalman gains for: + + + + Cost function: + + + + The lqg/ltr approach looks for L,mu,H,ro such that: + J(lqg) = J(freq) where + + + + and + + + + + See Also + + + syslin + + + + diff --git a/modules/cacsd/help/en_US/lqr.xml b/modules/cacsd/help/en_US/lqr.xml new file mode 100755 index 000000000..9b28b9e85 --- /dev/null +++ b/modules/cacsd/help/en_US/lqr.xml @@ -0,0 +1,140 @@ + + + + + lqr + LQ compensator (full state) + + + Calling Sequence + [K,X]=lqr(P12) + + + Arguments + + + P12 + + + syslin list (state-space linear system) + + + + + K,X + + two real matrices + + + + + + Description + + lqr computes the linear optimal LQ full-state gain + for the plant P12=[A,B2,C1,D12] in continuous or + discrete time. + + + P12 is a syslin list (e.g. P12=syslin('c',A,B2,C1,D12)). + + + The cost function is l2-norm of z'*z with z=C1 x + D12 u + i.e. [x,u]' * BigQ * [x;u] where + + + + The gain K is such that A + B2*K is stable. + + + X is the stabilizing solution of the Riccati equation. + + + For a continuous plant: + + + + + For a discrete plant: + + + + + An equivalent form for X is + + + + with Abar=A-B2*inv(R)*S' and Qbar=Q-S*inv(R)*S' + + + The 3-blocks matrix pencils associated with these Riccati equations are: + + + + + Caution: It is assumed that matrix R is non singular. In particular, + the plant must be tall (number of outputs >= number of inputs). + + + + + Examples + + + + See Also + + + lqe + + + gcare + + + leqr + + + + diff --git a/modules/cacsd/help/en_US/ltitr.xml b/modules/cacsd/help/en_US/ltitr.xml new file mode 100755 index 000000000..a29ef7f14 --- /dev/null +++ b/modules/cacsd/help/en_US/ltitr.xml @@ -0,0 +1,99 @@ + + + + + ltitr + discrete time response (state space) + + + Calling Sequence + [X]=ltitr(A,B,U,[x0]) + [xf,X]=ltitr(A,B,U,[x0]) + + + + Arguments + + + A,B + + real matrices of appropriate dimensions + + + + U,X + + real matrices + + + + x0,xf + + + real vectors (default value=0 for x0)) + + + + + + + Description + + calculates the time response of the discrete time system + + + + The inputs ui's are the columns of the U matrix + + + + x0 is the vector of initial state (default value : 0) ; + + + X is the matrix of outputs (same number of columns as U). + + + + xf is the vector of final state xf=X[n+1] + + + + Examples + + + + See Also + + + rtitr + + + flts + + + + diff --git a/modules/cacsd/help/en_US/macglov.xml b/modules/cacsd/help/en_US/macglov.xml new file mode 100755 index 000000000..9b85f024c --- /dev/null +++ b/modules/cacsd/help/en_US/macglov.xml @@ -0,0 +1,94 @@ + + + + + macglov + Continuous time dynamical systems Mac Farlane Glover problem + + + Calling Sequence + [P,r]=macglov(Sl) + + + Arguments + + + Sl + + a continuous time linear dynamical system + + + + P + + a continuous time linear dynamical system, the "augmented" plant + + + + r + + + 1x2 vector, dimension of P22 + + + + + + + Description + + [P,r]=macglov(Sl) returns the standard plant + P for the Glover-McFarlane problem. + + + For this problem ro_optimal = 1-hankel_norm([N,M]) + with [N,M]=lcf(sl) (Normalized coprime factorization) i.e. + + + gama_optimal = 1/sqrt(ro_optimal) + + + P is returned in the same + representation (transfer function or state-space) than + Sl. + + + + Examples + MAC-FARLANE PROBLEM for G=1/s^3; + + + + Authors + F. Delebecque INRIA + + + History + + + 5.4.0 + + Sl is now checked for continuous time linear dynamical system. + This modification has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/minreal.xml b/modules/cacsd/help/en_US/minreal.xml new file mode 100755 index 000000000..f311ad855 --- /dev/null +++ b/modules/cacsd/help/en_US/minreal.xml @@ -0,0 +1,89 @@ + + + + + minreal + minimal balanced realization + + + Calling Sequence + slb=minreal(sl [,tol]) + + + Arguments + + + sl,slb + + + syslin lists + + + + + tol + + real (threshold) + + + + + + Description + + [ae,be,ce]=minreal(a,b,c,domain [,tol]) + returns the balanced realization of linear + system sl (syslin list). + + + sl is assumed stable. + + + tol threshold used in equil1. + + + + Examples + + + + See Also + + + minss + + + balreal + + + arhnk + + + equil + + + equil1 + + + + diff --git a/modules/cacsd/help/en_US/minss.xml b/modules/cacsd/help/en_US/minss.xml new file mode 100755 index 000000000..58e897391 --- /dev/null +++ b/modules/cacsd/help/en_US/minss.xml @@ -0,0 +1,80 @@ + + + + + minss + minimal realization + + + Calling Sequence + [slc]=minss( sl [,tol]) + + + Arguments + + + sl,slc + + + syslin lists (linear systems in state-space form) + + + + + tol + + + real (threshold for rank determination (see contr)) + + + + + + + Description + + minss returns in slc a minimal realization of sl. + + + + Examples + + + + See Also + + + contr + + + minreal + + + arhnk + + + contrss + + + obsvss + + + balreal + + + + diff --git a/modules/cacsd/help/en_US/mucomp.xml b/modules/cacsd/help/en_US/mucomp.xml new file mode 100755 index 000000000..266eaa6ef --- /dev/null +++ b/modules/cacsd/help/en_US/mucomp.xml @@ -0,0 +1,123 @@ + + + + + mucomp + mu (structured singular value) calculation + + + Calling Sequence + [BOUND, D, G] = mucomp(Z, K, T) + + + Arguments + + + Z + + the complex n-by-n matrix for which the + structured singular value is to be computed + + + + + K + + the vector of length m containing the block + dimensions of the structured uncertainty + \Delta. The uncertainty + \Delta is supposed to be a block + diagonal matrix. + + + + + T + + the vector of length m indicating the type + of each uncertainty block. T(I) = 1 if the + corresponding block is real T(I) = 2 if the + corresponding block is complex. + + + + + BOUND + + the upper bound on the structured singular value. + + + + D, G + + vectors of length n containing the diagonal + entries of the diagonal matrices D and G, + respectively, such that the matrix + Z'*diag(D)^2*Z + sqrt(-1)*(diag(G)*Z-Z'*diag(G)) - + bound^2*diag(D)^2 + + is negative + semidefinite. + + + + + + + Description + + This function computes an upper bound on the structured + singular value for a given square complex matrix and given + block structure of the uncertainty. + + + The structured singular value \mu(Z) is + defined as the inverse of the norm of the smallest + uncertainty \Delta that makes + det(I-\Delta Z)=0. Here \Delta + is supposed to be a block diagonal matrix. + + + + Examples + + + + Used functions + + This function is based on the Slicot routine AB13MD. + + + + References + + Fan, M.K.H., Tits, A.L., and Doyle, J.C. + Robustness in the presence of mixed parametric uncertainty + and unmodeled dynamics. + IEEE Trans. Automatic Control, vol. AC-36, 1991, pp. 25-38. + Slicot routine AB13MD. + + + diff --git a/modules/cacsd/help/en_US/narsimul.xml b/modules/cacsd/help/en_US/narsimul.xml new file mode 100755 index 000000000..e77816fe0 --- /dev/null +++ b/modules/cacsd/help/en_US/narsimul.xml @@ -0,0 +1,44 @@ + + + + + narsimul + armax simulation (using rtitr) + + + Calling Sequence + [z]=narsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=narsimul(ar,u,[up,yp,ep]) + + + + Description + + ARMAX simulation. Same as arsimul but the method is different + the simulation is made with rtitr + + + + + Examples + + + diff --git a/modules/cacsd/help/en_US/nehari.xml b/modules/cacsd/help/en_US/nehari.xml new file mode 100755 index 000000000..e0c16c507 --- /dev/null +++ b/modules/cacsd/help/en_US/nehari.xml @@ -0,0 +1,75 @@ + + + + + nehari + Nehari approximant of continuous time dynamical systems + + + Calling Sequence + [x]=nehari(R [,tol]) + + + Arguments + + + R + + a continuous time linear dynamical system in state-space representation. + + + + x + + a continuous time linear dynamical system in state-space representation. + + + + tol + + optional threshold, default value is 1e-6. + + + + + + Description + + [x]=nehari(R [,tol])returns the Nehari approximant of R. + + + R = linear system in state-space representation (syslin list). + + + R is strictly proper and - R~ is stable + (i.e. R is anti stable). + + + + + History + + + 5.4.0 + + Sl is now checked for + continuous time linear dynamical system. This modification + has been introduced by this commit + + + + + diff --git a/modules/cacsd/help/en_US/noisegen.xml b/modules/cacsd/help/en_US/noisegen.xml new file mode 100755 index 000000000..baf0082dc --- /dev/null +++ b/modules/cacsd/help/en_US/noisegen.xml @@ -0,0 +1,109 @@ + + + + + noisegen + noise generation + + + Calling Sequence + b = noisegen(pas, Tmax, sig) + + + Arguments + + + pas + + real scalar, the time increment + + + + Tmax + + real scalar, the final time of the interval of noise generation + + + + sig + + real scalar, the standard deviation of the noise + + + + + + Description + + noisegen() generates a Scilab function b = Noise(t) + where Noise(t) is a piecewise constant function + (constant on [k*pas, (k+1)*pas]). The value on each constant + interval are random values from i.i.d Gaussian variables of + standard deviation sig. The function is constant for t <= 0 and + t >= Tmax. + + + + Note: Random number generator functions such as rand and + grand are another alternative to generate noises + from a wide variety of probability distribution (see example 2 below). + + + + + Examples + + Example #1: noisegen() + + + + noisegen(0.5, 30, 1.0); + x = -5:0.01:35; + y = feval(x, Noise); + plot(x, y); + + + Example #2: rand() + + + + t = 0:.5:30; + sig = 1; + noise = sig*rand(t, "normal"); + plot2d2(t, noise) + + + + See Also + + + rand + + + grand + + + + diff --git a/modules/cacsd/help/en_US/nyquistfrequencybounds.xml b/modules/cacsd/help/en_US/nyquistfrequencybounds.xml new file mode 100755 index 000000000..f83eba805 --- /dev/null +++ b/modules/cacsd/help/en_US/nyquistfrequencybounds.xml @@ -0,0 +1,144 @@ + + + + + nyquistfrequencybounds + Computes the frequencies for which the nyquist locus enters and leaves a given rectangle. + + + Calling Sequence + [fmin,fmax] = nyquistfrequencybounds(H,bounds) + + + Parameters + + + H + + + A SISO linear dynamical system. + + + + + bounds + + + A 2 by 2 array: [Rmin Imin;Rmax Imax] that defines a complex-plane rectangle. + + + + + fmin + + + a real: the lowest frequency (Hz) such that the nyquist + locus enters the given rectangle or 0 if the 0 Hz point + lies in the rectangle or [] if the locus is completely + outside the rectangle. + + + + + fmax + + + a real: the highest frequency (Hz) such that the nyquist + locus leaves the given rectangle or %inf if the %inf (hz) + point is in the rectangle or [] if the locus is completely + outside the rectangle. + + + + + + + Description + Given a C plane rectangle, + nyquistfrequencybounds Computes the lowest + frequency for which the nyquist locus enters the rectangle and + the highest frequency for which the nyquist locus leaves the + rectangle. + + This function is useful for high definition zoom of a nyquist locus. + + + + + Examples + + + + s=%s + num=2+9*s-9*s^2-11*s^3+0.01*s^4; + den=43*s^2+65*s^3+34*s^4+8*s^5+s^6+0.1*s^7 + H=syslin('c',num,den)-1 + + clf;set(gcf(),'axes_size',[805,549]) + subplot(221) + nyquist(H) + + + subplot(222) + bounds=[-2 -2;2 2] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + + + subplot(223) + bounds=[-1.3 -0.3;0 0.3] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + + subplot(224) + bounds=[-1.1 -0.1;-0.8 0.1] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,1d8) + title("bounds:"+sci2exp(bounds,0)); + + + + + + See Also + + + nyquist + + + + diff --git a/modules/cacsd/help/en_US/obs_gram.xml b/modules/cacsd/help/en_US/obs_gram.xml new file mode 100755 index 000000000..b0d21d68b --- /dev/null +++ b/modules/cacsd/help/en_US/obs_gram.xml @@ -0,0 +1,101 @@ + + + + + obs_gram + observability gramian + + + Calling Sequence + Go=obs_gram(A,C [,dom]) + Go=obs_gram(sl) + + + + Arguments + + + A,C + + real matrices (of appropriate dimensions) + + + + dom + + + string ("d' or "c" (default value)) + + + + + sl + + + syslin list + + + + + + + Description + + Observability gramian of the pair (A,C) or linear + system sl (syslin list). + dom is the domain which can be + + + + "c" + + continuous system (default) + + + + "d" + + discrete system + + + + + + Examples + w=syslin('c',A,[],C); Go=obs_gram(w); +norm(Go*A+A'*Go+C'*C,1) +norm(lyap(A,-C'*C,'c')-Go,1) +A=A/4; Go=obs_gram(A,C,'d'); //discrete time case +norm(lyap(A,-C'*C,'d')-Go,1) + ]]> + + + See Also + + + ctr_gram + + + obsvss + + + obsv_mat + + + lyap + + + + diff --git a/modules/cacsd/help/en_US/obscont.xml b/modules/cacsd/help/en_US/obscont.xml new file mode 100755 index 000000000..b0cc473af --- /dev/null +++ b/modules/cacsd/help/en_US/obscont.xml @@ -0,0 +1,172 @@ + + + + + obscont + observer based controller + + + Calling Sequence + [K]=obscont(P,Kc,Kf) + [J,r]=obscont(P,Kc,Kf) + + + + Arguments + + + P + + + syslin list (nominal plant) in state-space form, continuous or discrete time + + + + + Kc + + real matrix, (full state) controller gain + + + + Kf + + real matrix, filter gain + + + + K + + + syslin list (controller) + + + + + J + + + syslin list (extended controller) + + + + + r + + 1x2 row vector + + + + + + Description + + obscont returns the observer-based controller associated with a + nominal plant P with matrices [A,B,C,D] (syslin list). + + + The full-state control gain is Kc and the filter gain is Kf. + These gains can be computed, for example, by pole placement. + + + A+B*Kc and A+Kf*C are (usually) assumed stable. + + + K is a state-space representation of the + compensator K: y->u in: + + + xdot = A x + B u, y=C x + D u, zdot= (A + Kf C)z -Kf y +B u, u=Kc z + + + K is a linear system (syslin list) with matrices given by: + K=[A+B*Kc+Kf*C+Kf*D*Kc,Kf,-Kc]. + + + The closed loop feedback system Cl: v ->y with + (negative) feedback K (i.e. y = P u, u = v - K y, or + + + + ) is given by Cl = P/.(-K) + + + The poles of Cl ( spec(cl('A')) ) are located at the eigenvalues of A+B*Kc + and A+Kf*C. + + + Invoked with two output arguments obscont returns a + (square) linear system K which parametrizes all the stabilizing + feedbacks via a LFT. + + + Let Q an arbitrary stable linear system of dimension r(2)xr(1) + i.e. number of inputs x number of outputs in P. + Then any stabilizing controller K for P can be expressed as + K=lft(J,r,Q). The controller which corresponds to Q=0 is + K=J(1:nu,1:ny) (this K is returned by K=obscont(P,Kc,Kf)). + r is size(P) i.e the vector [number of outputs, number of inputs]; + + + + Examples + + + + See Also + + + ppol + + + lqg + + + lqr + + + lqe + + + h_inf + + + lft + + + syslin + + + feedback + + + observer + + + + diff --git a/modules/cacsd/help/en_US/observer.xml b/modules/cacsd/help/en_US/observer.xml new file mode 100755 index 000000000..ac8865f24 --- /dev/null +++ b/modules/cacsd/help/en_US/observer.xml @@ -0,0 +1,191 @@ + + + + + observer + observer design + + + Calling Sequence + Obs=observer(Sys,J) + [Obs,U,m]=observer(Sys [,flag,alfa]) + + + + Arguments + + + Sys + + + syslin list (linear system) + + + + + J + + nx x ny constant matrix (output injection matrix) + + + + flag + + + character strings ('pp' or 'st' (default)) + + + + + alfa + + location of closed-loop poles (optional parameter, default=-1) + + + + Obs + + + linear system (syslin list), the observer + + + + + U + + + orthogonal matrix (see dt_ility) + + + + + m + + + integer (dimension of unstable unobservable (st) or unobservable (pp) subspace) + + + + + + + Description + + Obs=observer(Sys,J) returns the observer + Obs=syslin(td,A+J*C,[B+J*D,-J],eye(A)) obtained from Sys + by a J output injection. (td is the time domain of Sys). + More generally, observer returns in Obs an observer for + the observable part of linear system + Sys: dotx=A x + Bu, y=Cx + Du represented by a syslin list. + Sys has nx state variables, nu inputs and ny outputs. + Obs is a linear system with matrices [Ao,Bo,Identity], + where Ao is no x no, Bo is no x (nu+ny), Co is + no x no and no=nx-m. + + + Input to Obs is [u,y] and output of Obs is: + + + xhat=estimate of x modulo unobservable subsp. (case flag='pp') + or + + + xhat=estimate of x modulo unstable unobservable subsp. (case flag='st') + + + case flag='st': + z=H*x can be estimated with stable observer iff H*U(:,1:m)=0 + and assignable poles of the observer are set to alfa(1),alfa(2),... + + + case flag='pp': + z=H*x can be estimated with given error spectrum iff H*U(:,1:m)=0 + all poles of the observer are assigned and set to alfa(1),alfa(2),... + + + If H satifies the constraint: H*U(:,1:m)=0 (ker(H) contains unobs-subsp. + of Sys) one has H*U=[0,H2] and the observer for + z=H*x is H2*Obs with H2=H*U(:,m+1:nx) i.e. Co, the C-matrix of the + observer for H*x, is Co=H2. + + + In the particular case where the pair (A,C) of Sys is + observable, one has m=0 and the linear system U*Obs (resp. + H*U*Obs) is an observer for x (resp. Hx). + The error spectrum is alpha(1),alpha(2),...,alpha(nx). + + + + Examples + z +Idu=eye(nu,nu);Sys3=ss2tf(H*U(:,m+1:$)*Obs*[Idu;Sys]) +//Transfer u-->[u;y=Sys*u]-->Obs-->xhat-->HUxhat=zhat i.e. u-->output of Obs +//this transfer must equal Sys2, the u-->z transfer (H2=eye). + +//Assume a Kalman model +//dotx = A x + B u + G w +// y = C x + D u + H w + v +//with Eww' = QN, Evv' = RN, Ewv' = NN +//To build a Kalman observer: +//1-Form BigR = [G*QN*G' G*QN*H'+G*NN; +// H*QN*G'+NN*G' H*QN*H'+RN]; +//the covariance matrix of the noise vector [Gw;Hw+v] +//2-Build the plant P21 : dotx = A x + B1 e ; y = C2 x + D21 e +//with e a unit white noise. +// [W,Wt]=fullrf(BigR); +//B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +//C2=C; +//P21=syslin('c',A,B1,C2,D21); +//3-Compute the Kalman gain +//L = lqe(P21); +//4- Build an observer for the plant [A,B,C,D]; +//Plant = syslin('c',A,B,C,D); +//Obs = observer(Plant,L); +//Test example: +A=-diag(1:4); +B=ones(4,1); +C=B'; D= 0; G=2*B; H=-3; QN=2; +RN=5; NN=0; +BigR = [G*QN*G' G*QN*H'+G*NN; + H*QN*G'+NN*G' H*QN*H'+RN]; +[W,Wt]=fullrf(BigR); +B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +C2=C; +P21=syslin('c',A,B1,C2,D21); +L = lqe(P21); +Plant = syslin('c',A,B,C,D); +Obs = observer(Plant,L); +spec(Obs.A) + ]]> + + + See Also + + + dt_ility + + + unobs + + + stabil + + + + diff --git a/modules/cacsd/help/en_US/obsv_mat.xml b/modules/cacsd/help/en_US/obsv_mat.xml new file mode 100755 index 000000000..b4586e292 --- /dev/null +++ b/modules/cacsd/help/en_US/obsv_mat.xml @@ -0,0 +1,66 @@ + + + + + obsv_mat + observability matrix + + + Calling Sequence + [O]=obsv_mat(A,C) + [O]=obsv_mat(sl) + + + + Arguments + + + A,C,O + + real matrices + + + + sl + + + syslin list + + + + + + + Description + + obsv_mat returns the observability matrix: + + + + + See Also + + + contrss + + + obsvss + + + obs_gram + + + + diff --git a/modules/cacsd/help/en_US/obsvss.xml b/modules/cacsd/help/en_US/obsvss.xml new file mode 100755 index 000000000..f7d915955 --- /dev/null +++ b/modules/cacsd/help/en_US/obsvss.xml @@ -0,0 +1,78 @@ + + + + + obsvss + observable part + + + Calling Sequence + [Ao,Bo,Co]=obsvss(A,B,C [,tol]) + [slo]=obsvss(sl [,tol]) + + + + Arguments + + + A,B,C,Ao,Bo,Co + + real matrices + + + + sl,slo + + + syslin lists + + + + + tol + + + real (threshold) (default value 100*%eps) + + + + + + + Description + + slo=(Ao,Bo,Co) is the observable part of linear system sl=(A,B,C) (syslin list) + + + tol threshold to test controllability (see contr); + default value = 100*%eps + + + + See Also + + + contr + + + contrss + + + obsv_mat + + + obs_gram + + + + diff --git a/modules/cacsd/help/en_US/p_margin.xml b/modules/cacsd/help/en_US/p_margin.xml new file mode 100755 index 000000000..8740180fd --- /dev/null +++ b/modules/cacsd/help/en_US/p_margin.xml @@ -0,0 +1,122 @@ + + + + + p_margin + phase margin and associated crossover frequency + + + Calling Sequence + + [phm,fr] = p_margin(h) + phm=p_margin(h) + + + + Arguments + + + h + + + a SISO linear system (see :syslin). + + + + + phm + + a number, the phase margin in degree if it exists or an empty matrix. + + + + fr + + a number, the corresponding frequency (in Hz) or an empty matrix. + + + + + + Description + Given a SISO linear system in continuous or discrete time, + p_margin returns phm, the + phase margin in degree of h and + fr, the achieved corresponding frequency in + Hz. + + The phase margin is the values of the phase at frequency + points where the nyquist plot of h crosses the + unit circle. In other words the phase margin is the difference + between the phase of the frequency response of + h and -180° when the gain of + h is 1. + + The algorithm uses polynomial root finder to solve the equations: + + + h(s)*h(-s)=1 + + for the continuous time case. + + + + h(z)*h(1/z)=1 + + for the discrete time case. + + + + + + Examples + + + + See Also + + + g_margin + + + show_margins + + + repfreq + + + black + + + bode + + + nicholschart + + + nyquist + + + + diff --git a/modules/cacsd/help/en_US/parrot.xml b/modules/cacsd/help/en_US/parrot.xml new file mode 100755 index 000000000..7714570d7 --- /dev/null +++ b/modules/cacsd/help/en_US/parrot.xml @@ -0,0 +1,59 @@ + + + + + parrot + Parrot's problem + + + Calling Sequence + K=parrot(D,r) + + + Arguments + + + D,K + + matrices + + + + r + + + 1X2 vector (dimension of the 2,2 part of D) + + + + + + + Description + + Given a matrix D partionned as [D11 D12; D21 D22] + where size(D22)=r=[r1,r2] + compute a matrix K such that + largest singular value of [D11 D12; D21 D22+K] + is minimal (Parrot's problem) + + + + See Also + + + h_inf_st + + + + diff --git a/modules/cacsd/help/en_US/pfss.xml b/modules/cacsd/help/en_US/pfss.xml new file mode 100755 index 000000000..893773593 --- /dev/null +++ b/modules/cacsd/help/en_US/pfss.xml @@ -0,0 +1,129 @@ + + + + + pfss + partial fraction decomposition + + + Calling Sequence + elts=pfss(Sl) + elts=pfss(Sl,rmax) + elts=pfss(Sl,cord) + elts=pfss(Sl,rmax,cord) + + + + Arguments + + + Sl + + + A linear dynamical system in state-space or transfer + function representation (see syslin). + + + + + rmax + + + A real number controlling the conditioning of block + diagonalization (see bdiag). + + + + + cord + + + A character string with possible values 'c' + or 'd'. + + + + + + + Description + + Partial fraction decomposition of the linear system Sl. + + + elts is the list of linear systems which add up to Sl + i.e. elts=list(S1,S2,S3,...,Sn) with: + + + Sl = S1 + S2 +... +Sn. + + + Each Si contains some poles of + Saccording to the + block-diagonalization of the A matrix of S. + + + For non proper systems the polynomial part of Sl is put + in the last entry of elts. + + + If Sl is given in transfer form, it is first + converted into state-space by tf2ss + and each subsystem Si is then converted in + transfer form by ss2tf. + + + The A matrix is of the state-space is put into block diagonal form + by function bdiag. The optional parameter + rmax is sent to bdiag, + rmax should be set to a large number to enforce + block-diagonalization. + + + If the optional flag cord='c' is given the elements in elts + are sorted according to the real part (resp. magnitude if cord='d') + of the eigenvalues of A matrices. + + + + Examples + + + + + See Also + + + pbig + + + bdiag + + + coffg + + + dtsi + + + + diff --git a/modules/cacsd/help/en_US/phasemag.xml b/modules/cacsd/help/en_US/phasemag.xml new file mode 100755 index 000000000..b2b6784dc --- /dev/null +++ b/modules/cacsd/help/en_US/phasemag.xml @@ -0,0 +1,125 @@ + + + + + phasemag + phase and magnitude + computation + + + + Calling Sequence + [phi,db]=phasemag(z [,mod]) + + + Arguments + + + z + + matrix or row vector of complex numbers. + + + + mod + + character string + + + mod='c' + + "continuous" representation between -infinity and +360 + degrees (default) + + + + + mod='m' + + representation between -360 and 0 degrees + + + + + + + phi + + + phases (in degree) of z. + + + + + db + + magnitude (in Db) + + + + + + Description + + phasemag computes the phases and magnitudes of the entries + of a complex matrix. For mod='c'phasemag + computes phi(:,i+1) to minimize the distance with + phi(:,i), i.e. it tries to obtain a "continuous + representation" of the phase. + + To obtain the phase between -%pi and %pi use + phi=atan(imag(z),real(z)) + + + + Examples + + + s=poly(0,'s'); + h=syslin('c',1/((s+5)*(s+10)*(100+6*s+s*s)*(s+.3))); + [frq,rf]=repfreq(h,0.1,20,0.005); + plot2d(frq',phasemag(rf,'c')'); + + + s=poly(0,'s'); + h=syslin('c',1/((s+5)*(s+10)*(100+6*s+s*s)*(s+.3))); + [frq,rf]=repfreq(h,0.1,20,0.005); + plot2d(frq',phasemag(rf,'m')'); + + + + See Also + + + repfreq + + + gainplot + + + atan + + + bode + + + + diff --git a/modules/cacsd/help/en_US/plot_display/CHAPTER b/modules/cacsd/help/en_US/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/en_US/plot_display/black.xml b/modules/cacsd/help/en_US/plot_display/black.xml new file mode 100755 index 000000000..a0c769faf --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/black.xml @@ -0,0 +1,180 @@ + + + + + black + Black-Nichols diagram of a linear dynamical system + + + Calling Sequence + + black( sl,[fmin,fmax] [,step] [,comments] ) + black( sl,frq [,comments] ) + black(frq,db,phi [,comments]) + black(frq,repf [,comments]) + + + + Arguments + + + sl + + a continuous or discrete time SIMO linear dynamical + system ( see: syslin). + + + + + fmin,fmax + + real scalars (frequency bounds) + + + + frq + + row vector or matrix (frequencies) + + + + db,phi + + row vectors or matrices (modulus, phase) + + + + repf + + row vectors or matrices (complex frequency response) + + + + step + + real + + + + comments + + string + + + + + + Description + + Black's diagram (Nichols'chart) for a linear system ( see: syslin). sl can be a continuous-time or + discrete-time SIMO system. In case of + multi-output the outputs are plotted with different colors. + + The frequencies are given by the bounds + fmin,fmax (in Hz) or by a row-vector + (or a matrix for multi-output) frq. + + + step is the ( logarithmic ) discretization step. + (see calfrq for the choice of default value). + + + comments is a vector of character strings + (captions). + + + db,phi are the matrices of modulus (in Db) and + phases (in degrees). (One row for each response). + + + repf matrix of complex numbers. One row for each + response. + + To plot the grid of iso-gain and iso-phase of + y/(1+y) use nicolschart(). + + + Default values for fmin and + fmax are 1.d-3, + 1.d+3 if sl is continuous-time or + 1.d-3, 0.5/sl.dt (nyquist frequency) + if sl is discrete-time. + + + + Examples + + + + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + black(sl,0.01,10); + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + + + + + See Also + + + nicholschart + + + bode + + + nyquist + + + syslin + + + calfrq + + + datatips + + + + diff --git a/modules/cacsd/help/en_US/plot_display/bode.xml b/modules/cacsd/help/en_US/plot_display/bode.xml new file mode 100755 index 000000000..0ed18acab --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/bode.xml @@ -0,0 +1,233 @@ + + + + + bode + Bode plot + + + Calling Sequence + + bode(sl, [fmin, fmax] [,step] [,comments] ) + bode(sl, [fmin, fmax] [,step] [,comments] [,"rad"] ) + bode(sl, frq [,comments] ) + bode(sl, frq [,comments] [,"rad"] ) + bode(frq, db, phi [,comments] ) + bode(frq, repf [,comments] [,"rad"] ) + + + + Arguments + + + sl + + + syslin list (SISO or SIMO linear system) + in continuous or discrete time. + + + + + fmin,fmax + + real (frequency bounds (in Hz)) + + + + step + + real (logarithmic step.) + + + + comments + + vector of character strings (captions). + + + + frq + + row vector or matrix (frequencies (in Hz) ) (one row for each + SISO subsystem). + + + + + db + + row vector or matrix ( magnitudes (in Db)). (one row for each + SISO subsystem). + + + + + phi + + row vector or matrix ( phases (in degree)) (one row for each + SISO subsystem). + + + + + repf + + row vector or matrix of complex numbers (complex frequency + response). + + + + + "rad" + + converts the frequency from Hz into rad/s (multiplies by 2π), + + + + + + + Description + Bode plot, i.e magnitude and phase of the frequency response of + sl. + + + sl can be a continuous-time or discrete-time SIMO + system (see syslin). In case of multi-output the + outputs are plotted with different symbols. + + + The frequencies are given by the bounds fmin,fmax + (in Hz) or by a row-vector (or a matrix for multi-output) + frq. + + + step is the ( logarithmic ) discretization step. + (see calfrq for the choice of default value). + + + comments is a vector of character strings + (captions). + + + db,phi are the matrices of modulus (in Db) and + phases (in degrees). (One row for each response). + + + repf matrix of complex numbers. One row for each + response. + + + Default values for fmin and + fmax are 1.d-3, + 1.d+3 if sl is continuous-time or + 1.d-3, 0.5/sl.dt (nyquist frequency) + if sl is discrete-time. Automatic discretization of + frequencies is made by calfrq. + + + The + datatips + tool may be used + to display data along the phase and modulus curves. + + + + Examples + + + + s = poly(0, 's'); + h = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); + + + + + + s = poly(0, 's'); + h1 = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + num = 22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den = 22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4; + h2 = syslin('c', num/den); + clf(); bode([h1; h2], 0.01, 100, ['h1'; 'h2']); + + + + + + s = %s; + G = (10*(s+3))/(s*(s+2)*(s^2+s+2)); // A rational matrix + sys = syslin('c', G); // A continuous-time linear system in transfer matrix representation. + f_min = .0001; f_max = 16; // Frequencies in Hz + clf(); bode(sys, f_min, f_max, "rad"); // Converts Hz to rad/s + + + + + See Also + + + bode_asymp + + + black + + + nyquist + + + gainplot + + + repfreq + + + g_margin + + + p_margin + + + calfrq + + + phasemag + + + datatips + + + + diff --git a/modules/cacsd/help/en_US/plot_display/bode_asymp.xml b/modules/cacsd/help/en_US/plot_display/bode_asymp.xml new file mode 100755 index 000000000..f18fcfd92 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/bode_asymp.xml @@ -0,0 +1,180 @@ + + + + + bode_asymp + Bode plot asymptote + + + Calling Sequence + + bode_asymp(sl, [wmin, wmax]) + + + + Arguments + + + sl + + + syslin list (SISO or SIMO linear system) + in continuous time (type state-space or rational). + + + + + wmin, wmax + + Real scalars: lower and upper frequency bounds (in rad/s). + + + + + + Description + Plots the asymptote of the system + sl. + + + The optional arguments wmin and wmax (in rad/s) can be used to plot asymptote in a specific range of frequency. + + + + Note that the function bode() or gainplot() must be called before bode_asymp(). + + + + + Warning: this function is not applicable when the first input argument is a real matrix. + + + + + Examples + + + + s = poly(0, "s"); + h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); bode_asymp(h); + + + + + + s = poly(0, "s"); + h1 = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + + + + + + s = %s; + G = (s+10)/(s*(s+100)); + sys = syslin("c", G); + f_min = .0001; f_max = 1600; + clf(); bode(sys, f_min, f_max, "rad"); + bode_asymp(sys, 10, 1000); + + + + + + s = poly(0,"s"); + h = syslin("c",(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h = tf2ss(h); + clf(); + gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); + bode_asymp(h) + + + + + See Also + + + bode + + + black + + + nyquist + + + gainplot + + + repfreq + + + g_margin + + + p_margin + + + calfrq + + + phasemag + + + datatips + + + show_margins + + + + + History + + + 5.5.0 + bode_asymp() function introduced. + + + + diff --git a/modules/cacsd/help/en_US/plot_display/evans.xml b/modules/cacsd/help/en_US/plot_display/evans.xml new file mode 100755 index 000000000..24e72caee --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/evans.xml @@ -0,0 +1,103 @@ + + + + + evans + Evans root locus + + + Calling Sequence + evans(H [,kmax]) + + + Arguments + + + H + + SISO linear system given by a transfer or a state + space representation (see:syslin). + + + + + kmax + + real (maximum gain desired for the plot ) + + + + + + Description + + Gives the Evans root locus for a SISO linear system in state-space or + transfer form H(s) (syslin). This is + the locus of the roots of + 1+k*H(s)=1+k*N(s)/D(s), in the complex + plane. For a selected sample of gains k <= + kmax + + ,the imaginary part of the roots of + D(s)+k*N(s) is plotted vs the real part. + + To obtain the gain at a given point of the locus you can + activate the datatips manager and + click the desired point on the root locus. + + + + Examples + + + + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + + [Kr,s]=krac2(H) + + + + + See Also + + + syslin + + + sgrid + + + zgrid + + + kpure + + + krac2 + + + datatips + + + + diff --git a/modules/cacsd/help/en_US/plot_display/gainplot.xml b/modules/cacsd/help/en_US/plot_display/gainplot.xml new file mode 100755 index 000000000..a43ca09f4 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/gainplot.xml @@ -0,0 +1,130 @@ + + + + + gainplot + magnitude plot + + + Calling Sequence + gainplot(sl,fmin,fmax [,step] [,comments] ) + gainplot(frq,db,phi [,comments]) + gainplot(frq, repf [,comments]) + + + + Arguments + + + sl + + + list (syslin SIMO linear system). + + + + + fmin,fmax + + real scalars (frequency interval). + + + + step + + real (discretization step (logarithmic scale)) + + + + comments + + string + + + + frq + + matrix (row by row frequencies) + + + + db,phi + + matrices (magnitudes and phases corresponding to + frq) + + + + + repf + + complex matrix. One row for each frequency response. + + + + + + Description + + Same as bode but plots only the magnitude. + + + + Examples + + + + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();gainplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Gainplot') + + + + + + See Also + + + bode + + + black + + + nyquist + + + repfreq + + + g_margin + + + datatips + + + + diff --git a/modules/cacsd/help/en_US/plot_display/hallchart.xml b/modules/cacsd/help/en_US/plot_display/hallchart.xml new file mode 100755 index 000000000..fc80d9388 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/hallchart.xml @@ -0,0 +1,154 @@ + + + + + hallchart + Draws the Hall chart + + + Calling Sequence + hallchart([ modules [,args [,colors]]]) + + + + Arguments + + + modules + + real vector ( modules (in dB)) + + + + args + + real vector (phases (in degree)) + + + + colors + + a scalar or a vector, the color indices for isogain and iso phase curves + + + + + + Description + plot the Hall'chart: iso-module and iso-argument contours of + y/(1+y) in the real(y), imag(y) plane + + + hallchart may be used in cunjunction with + nyquist. + + + The default values for modules and + args are respectively : + + + [-20 -10 -6 -4 -2 2 4 6 10 20] + + + [-90 -60 -45 -30 -15 15 30 45 60 90] + + + This function superseeds the m_circle function + + + + Graphics entities organization + + The hallchart function create a single + compound object which is generaly the last child of the current + axes. This compound object contains a set of compound objects, one + for each grid curve. The first ones are the iso module curves and + the last one the iso-argument contours. Each of these compound + objects contains a Polyline object (the curve) and a Text object + (the label). The following piece of code can be used to change the color of the ith iso module curve: + + + + clf();hallchart() + ax=gca(); + c=ax.children($).children; + i=4; + ci=c(i); + ci.children(1).foreground=color('red'); + j=3; + cj=c(10+j); + cj.children(1).thickness=3; + + + + + Examples + + + + hallchart() + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + + + + + See Also + + + nyquist + + + nicholschart + + + + diff --git a/modules/cacsd/help/en_US/plot_display/m_circle.xml b/modules/cacsd/help/en_US/plot_display/m_circle.xml new file mode 100755 index 000000000..931bd5e6b --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/m_circle.xml @@ -0,0 +1,110 @@ + + + + + m_circle + plots the complex plane iso-gain contours of y/(1+y) (obsolete) + + + Calling Sequence + m_circle() + m_circle(gain) + + + + Arguments + + + gain + + vector of gains (in DB). The default value is + + + gain + + =[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12] + + + + + + + + + Description + + m_circle draws the iso-gain contours + given by then gain argument in the complex + plane (Re,Im). + + + The default value for gain is: + + + [-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12] + + + m_circle is used with nyquist. + + + This function is superseded by the hallchart function. + + + + Examples + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') + m_circle(); + + + + + clf(); + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist([h1;h],0.01,100,['h1';'h']) + m_circle([-8 -6 -4]); + + + + See Also + + + nyquist + + + nicholschart + + + black + + + + diff --git a/modules/cacsd/help/en_US/plot_display/nicholschart.xml b/modules/cacsd/help/en_US/plot_display/nicholschart.xml new file mode 100755 index 000000000..2e5555ba5 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/nicholschart.xml @@ -0,0 +1,138 @@ + + + + + nicholschart + Nichols chart + + + Calling Sequence + nicholschart([modules] [,args] [,colors]) + + + + Arguments + + + modules + + real vector ( modules (in dB)) + + + + args + + real vector (phases (in degree)) + + + + colorss + + a scalar or a vector, the color indices for isogain and iso phase curves + + + + + + Description + plot the Nichols'chart: iso-module and iso-argument contours of + y/(1+y) in y phase/gain plane + + + nicholschart may be used in cunjunction with + black. + + + The default values for modules and + args are respectively : + + + [-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12] + + + [-(1:10) , -(20:10:160)] + + + + Remark + + Traditionally, the type of a calling sequence for nicholschart is: nicholschart(modules=gains, args=phases, colors=colors), + but the following calling sequence is also allowed: nicholschart(gains, phases, colors). + + + + Examples + + + + nicholschart(modules=[-6 -3 -1 1 3 6], args=[-1 -20 20 40 80 160 180]); + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + //two degree of freedom PID + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + //move the caption in the lower rigth corner + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + + + + + See Also + + + black + + + nyquist + + + hallchart + + + + + History + + + 5.5.0 + Calling sequence allowed: nicholschart(gains, phases, colors). + + + + diff --git a/modules/cacsd/help/en_US/plot_display/nyquist.xml b/modules/cacsd/help/en_US/plot_display/nyquist.xml new file mode 100755 index 000000000..79ce7622e --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/nyquist.xml @@ -0,0 +1,256 @@ + + + + + nyquist + nyquist plot + + + Calling Sequence + + nyquist( sl,[fmin,fmax] [,step] [,comments] [,symmetry]) + nyquist( sl, frq [,comments] [,symmetry]) + nyquist(frq,db,phi [,comments] [,symmetry]) + nyquist(frq, repf [,comments] [,symmetry]) + + + + Arguments + + + sl + + + a continuous or discrete time SIMO linear dynamical system ( see: syslin). + + + + + fmin,fmax + + real scalars (frequency lower and upper bounds (in Hz)). + + + + step + + real (logarithmic discretization step), if not given + an adaptative discretization is used. + + + + + comments + + string vector (captions). + + + + symmetry + + a boolean, default value is %t. + + + + frq + + vector or matrix of frequencies (in Hz) (one row for each + output of sl). + + + + + db,phi + + real matrices of modulus (in dB) and phases (in degree) (one + row for each output of sl). + + + + + repf + + matrix of complex numbers. Frequency response (one row for + each output of sl) + + + + + + + Description + Nyquist plot i.e Imaginary part versus Real part of the + frequency response of sl. If the + symmetry argument is true or omitted the + Nyquist plot displays the symetric graph (positive and negative + frequencies). + + + For continuous time systems sl(2*%i*%pi*w) is + plotted. For discrete time system or discretized systems + sl(exp(2*%i*%pi*w*fd) is used ( fd=1 + for discrete time systems and fd=sl('dt') for + discretized systems ) + + + sl can be a continuous-time or discrete-time SIMO + system (see syslin). In case of multi-output the + outputs are plotted with different symbols. + + + The frequencies are given by the bounds fmin,fmax + (in Hz) or by a row-vector (or a matrix for multi-output) + frq. + + + step is the ( logarithmic ) discretization step. + (see calfrq for the choice of default value). + + + comments is a vector of character strings + (captions). + + + db,phi are the matrices of modulus (in Db) and + phases (in degrees). (One row for each response). + + + repf is a matrix of complex numbers. One row for + each response. + + + Default values for fmin and + fmax are 1.d-3, + 1.d+3 if sl is continuous-time or + 1.d-3, 0.5/sl.dt (nyquist frequency) + if sl is discrete-time. + + Automatic discretization of frequencies is made by + calfrq. + + To obtain the value of the frequency at a selected point(s) you can + activate the datatips manager and + click the desired point on the nyquist curve(s). + + + + Graphics entities organization + + The nyquist function creates a compound + object for each SISO system. The following piece of code allows + to get the handle on the compound object of the ith system: + + + + This compound object has two children: a compound object that + defines the small arrows (a compound of small polylines) and the curve labels (a compound of texts) and a polyline + which is the curve itself. The following piece of code shows how + one can customize a particular nyquist curve display. + + + + + Examples + + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist(h1) + ax=gca(); + h_h=ax.children($).children(2); + tip=datatipCreate(h_h,[1.331,0.684]); + datatipSetOrientation(tip,"upper left"); + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_upper_left"; + + + + + + See Also + + + syslin + + + bode + + + black + + + nyquistfrequencybounds + + + calfrq + + + freq + + + repfreq + + + phasemag + + + datatips + + + + diff --git a/modules/cacsd/help/en_US/plot_display/phaseplot.xml b/modules/cacsd/help/en_US/plot_display/phaseplot.xml new file mode 100755 index 000000000..409f57d9b --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/phaseplot.xml @@ -0,0 +1,219 @@ + + + + + phaseplot + frequency phase plot + + + Calling Sequence + + phaseplot(sl) + phaseplot(sl,fmin,fmax [,step] [,comments] ) + phaseplot(frq,db,phi [,comments]) + phaseplot(frq, repf [,comments]) + + + + Arguments + + + sl + + + a single input multiple output (SIMO) linear dynamical system (see syslin). + + + + + fmin + + real scalar: the minimum frequency (in Hz) to be represented. + + + + fmax + + real scalar: the maximum frequency (in Hz) to be represented. + + + + step + + real scalar: the frequency discretization step (logarithmic scale)). If it is not specified the alorithm uses adaptative frequency steps. + + + + comments + + a character string vector: the legend label to be associated with each curve. Optional value is the empty array. + + + + frq + + a row vector or an n x m array: The frequency discretization in Hz. + + + + db + + an n x m array: the magnitudes corresponding to + frq. This argument is not used, it only + appears to make phaseplot have the same + calling sequence as gainplot and + bode. + + + + + phi + + an n x m array: the phases in degree corresponding to + frq. The phaseplot + function plots the curves phi(i,:) versus + frq(i,:) + + + + + repf + + an n x m complex array. The + phaseplot function plots the curves + phase(repf(i,:)) versus + frq(i,:) + + + + + + + Description + This function draws the phase of the frequency response of a + system. The system can be given under different + representations: + + + + + phaseplot(sl,...) case + + + sl can be a continuous-time or discrete-time SIMO + system (see syslin). In case of multi-output the + outputs are plotted with different symbols. + + In this case the frequencies can be given by: + + + the lower and upper bounds in Hz + fmin, fmax and an + optional frequency step step. The + default values for fmin and + fmaxare 1.e-3, + 1.e3 if sl is + continuous-time or 1.e-3, + 0.5/sl.dt (nyquist frequency) if + sl is discrete-time. If the + step argument is omitted the function + use an adaptative frequency step (see calfrq). + + + + + a row vector or a 2D array frq which + gives the frequency values in Hz. 2D array can be used for + multi-output systems if one wants to have different frequency + discretization for each input/output couple. + + + + + + + phaseplot(frq,...) case + + + This case allows to draw frequency phase plots for previously + computed frequency responses. The frequency response can be + given either by it's complex representation + repf or by it's magnitude phase + representation db, + phi. + + + frq and repf must + be row vectors or n x m arrays (each row represent an + input/output couple). + + + + + The datatips tool may be used to display data along the phase curves. + + + + Examples + + + + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();phaseplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Phaseplot') + + + + + See Also + + + bode + + + gainplot + + + repfreq + + + calfrq + + + datatips + + + + + History + + + 5.4.0 + Function phaseplot introduced. + + + + diff --git a/modules/cacsd/help/en_US/plot_display/sgrid.xml b/modules/cacsd/help/en_US/plot_display/sgrid.xml new file mode 100755 index 000000000..73170bc79 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/sgrid.xml @@ -0,0 +1,123 @@ + + + + + sgrid + s-plane grid lines. + + + Calling Sequence + + sgrid() + sgrid(zeta,wn [,colors]) + sgrid(['new',] zeta,wn [,colors]) + sgrid(zeta,wn [,'new'] [,colors]) + + + + Arguments + + + zeta + + + array of damping factors. Only values in [0 + 1] + + are taken into account. The default value is + [0 0.16 0.34 0.5 0.64 0.76 0.86 0.94 0.985 + 1] + + . + + + + + wn + + array of natural frequencies in Hz. only positive values are + taken into account. If not given it is computed by the + program to fit with the boundaries of the plot. + + + + + colors + + a scalar or an 2 element array with integer values (color index). + + + + + + Description + + Plots selected curves of constant damping ratio (selection given + by zeta) and constant natural frequency + (selection given by wn). + + + The colors argument may be used to assign a + color for constant damping ratio curves + (colors(2)) and for constant natural + frequency curves (colors(1)). + + + The sgrid function is often used to draw a grid + for evens root locus of continuous time linear systems. In such a + case the sgrid function should be called after + the call to evans. For discrete time linear + systems one should use zgrid function instead. + + + The optional argument 'new' can be used to + erase the graphic window before plotting the grid. + + + + Examples + + + + sgrid(0:0.2:1,[0.2 0.6 1 1.7 2]) + + + + + + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + + + + + See Also + + + evans + + + zgrid + + + datatips + + + + diff --git a/modules/cacsd/help/en_US/plot_display/show_margins.xml b/modules/cacsd/help/en_US/plot_display/show_margins.xml new file mode 100755 index 000000000..898bed506 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/show_margins.xml @@ -0,0 +1,91 @@ + + + + + show_margins + display gain and phase margin and associated crossover frequencies + + + Calling Sequence + + show_margins(h) + show_margins(h,'bode') + show_margins(h,'nyquist') + + + + Arguments + + + h + + + a SISO linear system (see :syslin). + + + + + + + Description + Given a SISO linear system in continuous or discrete time, + show_margins display gain and phase margin and + associated crossover frequencies on a bode (the defaut) or nyquist + representation of the frequency response of the system. + + + + Examples + + + h=syslin('c',0.02909+0.11827*%s+0.12823*%s^2+0.35659*%s^3+0.256*%s^4+0.1*%s^5,.. + 0.0409+0.1827*%s+1.28225*%s^2+3.1909*%s^3+2.56*%s^4+%s^5); + show_margins(h) + show_margins(h,'nyquist') + + + + h = syslin(0.1,0.01547+0.01599*%z ,%z^2-1.81*%z+0.9048) + show_margins(h) + show_margins(h,'nyquist') + + + + See Also + + + p_margin + + + g_margin + + + bode + + + nyquist + + + + diff --git a/modules/cacsd/help/en_US/plot_display/svplot.xml b/modules/cacsd/help/en_US/plot_display/svplot.xml new file mode 100755 index 000000000..e7241ece1 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/svplot.xml @@ -0,0 +1,97 @@ + + + + + svplot + singular-value sigma-plot + + + Calling Sequence + [SVM]=svplot(sl,[w]) + + + Arguments + + + sl + + + syslin list (continuous, discrete or sampled system) + + + + + w + + real vector (optional parameter) + + + + + + Description + + computes for the system sl=(A,B,C,D) + the singular values of its transfer function matrix: + + + + evaluated over the frequency range specified by w. (T is the sampling + period, T=sl('dt') for sampled systems). + + + sl is a syslin list representing the system + [A,B,C,D] in state-space form. sl can be continuous or + discrete time or sampled system. + + + The i-th column of the output matrix SVM contains the singular + values of G for the i-th frequency value w(i). + + + + is equivalent to + + + + + + Examples + + + x=logspace(-3,3); + y=svplot(ssrand(2,2,4),x); + clf();plot2d1("oln",x',20*log(y')/log(10)); + xgrid(12) + xtitle("Singular values plot","(Rd/sec)", "Db"); + + + diff --git a/modules/cacsd/help/en_US/plot_display/zgrid.xml b/modules/cacsd/help/en_US/plot_display/zgrid.xml new file mode 100755 index 000000000..4001a3c23 --- /dev/null +++ b/modules/cacsd/help/en_US/plot_display/zgrid.xml @@ -0,0 +1,134 @@ + + + + + zgrid + zgrid plot + + + Calling Sequence + + zgrid() + zgrid(zeta,wn [,colors]) + zgrid(['new',] zeta,wn [,colors]) + zgrid(zeta,wn [,'new'] [,colors]) + + + + Arguments + + + zeta + + + array of damping factors. Only values in [0 + 1] + + are taken into account. The default value is + 0:0.1:1. + + + + + wn + + array of normalized natural frequencies (factors of + π/dt). Only values in [0 1] are taken + into account. The default value is + 0:0.1:1. + + + + + colors + + a scalar or an 2 element array with integer values (color index). + + + + + + Description + + plots z-plane grid lines: lines of constant damping factor + (selection given by zeta) and natural frequency + (selection given by wn) are drawn in within the + unit Z-plane circle. + + + Iso-frequency curves are shown in on the interval + [0,%pi/dt]. + + + The colors argument may be used to assign a + color for constant damping ratio curves + (colors(2)) and for frequency curves + (colors(1)). + + + The zgrid function is often used to draw a grid + for evens root locus of continuous time linear systems. In such a + case the zgrid function should be called after + the call to evans. For continuous time linear + systems one should use sgrid function instead. + + + The optional argument 'new' can be used to + erase the graphic window before plotting the grid. + + + + Examples + + + + zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + + + + + + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + + + + + + See Also + + + evans + + + sgrid + + + freson + + + datatips + + + + diff --git a/modules/cacsd/help/en_US/plzr.xml b/modules/cacsd/help/en_US/plzr.xml new file mode 100755 index 000000000..417addd65 --- /dev/null +++ b/modules/cacsd/help/en_US/plzr.xml @@ -0,0 +1,75 @@ + + + + + plzr + pole-zero plot + + + Calling Sequence + plzr(sl) + + + Arguments + + + sl + + + list ( syslin) + + + + + + + Description + + plzr(sl) produces a pole-zero plot of the linear system + sl (syslin list). + + + + + Examples + + + + See Also + + + trzeros + + + roots + + + syslin + + + + diff --git a/modules/cacsd/help/en_US/pol2des.xml b/modules/cacsd/help/en_US/pol2des.xml new file mode 100755 index 000000000..dad85cf9c --- /dev/null +++ b/modules/cacsd/help/en_US/pol2des.xml @@ -0,0 +1,69 @@ + + + + + pol2des + polynomial matrix to descriptor form + + + Calling Sequence + [N,B,C]=pol2des(Ds) + + + Arguments + + + Ds + + polynomial matrix + + + + N, B, C + + three real matrices + + + + + + Description + + Given the polynomial matrix Ds=D_0 +D_1 s +D_2 s^2 +... +D_k s^k, + pol2des returns three matrices N, B, C, with N nilpotent + such that: + + + Ds = C (s*N-eye())^-1 B + + + + Examples + + + + See Also + + + ss2des + + + tf2des + + + + diff --git a/modules/cacsd/help/en_US/ppol.xml b/modules/cacsd/help/en_US/ppol.xml new file mode 100755 index 000000000..41b2b2178 --- /dev/null +++ b/modules/cacsd/help/en_US/ppol.xml @@ -0,0 +1,85 @@ + + + + + ppol + pole placement + + + Calling Sequence + [K]=ppol(A,B,poles) + + + Arguments + + + A,B + + + real matrices of dimensions nxn and nxm. + + + + + poles + + + real or complex vector of dimension n. + + + + + K + + real matrix (negative feedback gain) + + + + + + Description + + K=ppol(A,B,poles) returns a mxn gain matrix K such that + the eigenvalues of A-B*K are poles. + The pair (A,B) must be controllable. Complex number in poles must appear in conjugate pairs. + + + An output-injection gain F for (A,C) is obtained as follows: + + + Ft=ppol(A',C',poles); F=Ft' + + + The algorithm is by P.H. Petkov. + + + + Examples + + + + See Also + + + canon + + + stabil + + + + diff --git a/modules/cacsd/help/en_US/prbs_a.xml b/modules/cacsd/help/en_US/prbs_a.xml new file mode 100755 index 000000000..dcbdb826b --- /dev/null +++ b/modules/cacsd/help/en_US/prbs_a.xml @@ -0,0 +1,43 @@ + + + + + prbs_a + pseudo random binary sequences generation + + + Calling Sequence + [u]=prbs_a(n,nc,[ids]) + + + Description + + generation of pseudo random binary sequences + u=[u0,u1,...,u_(n-1)] + u takes values in {-1,1} and changes at most nc times its sign. + ids can be used to fix the date at which u must change its sign + ids is then an integer vector with values in [1:n]. + + + + Examples + + + u=prbs_a(50,10); + plot2d2("onn",(1:50)',u',1,"151",' ',[0,-1.5,50,1.5]); + + + diff --git a/modules/cacsd/help/en_US/projsl.xml b/modules/cacsd/help/en_US/projsl.xml new file mode 100755 index 000000000..0a930f05b --- /dev/null +++ b/modules/cacsd/help/en_US/projsl.xml @@ -0,0 +1,85 @@ + + + + + projsl + linear system projection + + + Calling Sequence + [slp]=projsl(sl,Q,M) + + + Arguments + + + sl,slp + + + syslin lists + + + + + Q,M + + matrices (projection factorization) + + + + + + Description + + slp= projected model of sl where Q*M is the full rank + factorization of the projection. + + + If (A,B,C,D) is the representation of sl, the projected model + is given by (M*A*Q,M*B,C*Q,D). + + + Usually, the projection Q*M is obtained as the spectral projection + of an appropriate auxiliary matrix W e.g. W = product + of (weighted) gramians or product of Riccati equations. + + + + Examples + + + + See Also + + + pbig + + + + diff --git a/modules/cacsd/help/en_US/repfreq.xml b/modules/cacsd/help/en_US/repfreq.xml new file mode 100755 index 000000000..56648edf5 --- /dev/null +++ b/modules/cacsd/help/en_US/repfreq.xml @@ -0,0 +1,139 @@ + + + + + repfreq + frequency response + + + Calling Sequence + [ [frq,] repf]=repfreq(sys,fmin,fmax [,step]) + [ [frq,] repf]=repfreq(sys [,frq]) + [ frq,repf,splitf]=repfreq(sys,fmin,fmax [,step]) + [ frq,repf,splitf]=repfreq(sys [,frq]) + + + + Arguments + + + sys + + + syslin list : SIMO linear system + + + + + fmin,fmax + + two real numbers (lower and upper frequency bounds) + + + + frq + + real vector of frequencies (Hz) + + + + step + + logarithmic discretization step + + + + splitf + + vector of indexes of critical frequencies. + + + + repf + + vector of the complex frequency response + + + + + + Description + + repfreq returns the frequency response calculation of a linear + system. If sys(s) is the transfer function of Sys, repf(k) + equals sys(s) evaluated at s= %i*frq(k)*2*%pi for continuous time systems and + at exp(2*%i*%pi*dt*frq(k)) for discrete time systems (dt is the sampling period). + + + db(k) is the magnitude of repf(k) expressed in dB i.e. + db(k)=20*log10(abs(repf(k))) and phi(k) is the phase + of repf(k) expressed in degrees. + + + If fmin,fmax,step are input parameters, the response is calculated + for the vector of frequencies frq given by: + frq=[10.^((log10(fmin)):step:(log10(fmax))) fmax]; + + + If step is not given, the output parameter frq is calculated by frq=calfrq(sys,fmin,fmax). + + + Vector frq is split into regular parts with the split vector. + frq(splitf(k):splitf(k+1)-1) has no critical frequency. + sys has a pole in the range [frq(splitf(k)),frq(splitf(k)+1)] and + no poles outside. + + + + Examples + + + + See Also + + + bode + + + freq + + + calfrq + + + horner + + + nyquist + + + dbphi + + + + diff --git a/modules/cacsd/help/en_US/ric_desc.xml b/modules/cacsd/help/en_US/ric_desc.xml new file mode 100755 index 000000000..de778fd3c --- /dev/null +++ b/modules/cacsd/help/en_US/ric_desc.xml @@ -0,0 +1,123 @@ + + + + + ric_desc + Riccati equation + + + Calling Sequence + X=ric_desc(H [,E)) + [X1,X2,zero]=ric_desc(H [,E]) + + + + Arguments + + + H,E + + real square matrices + + + + X1,X2 + + real square matrices + + + + zero + + real number + + + + + + Description + + Riccati solver with hamiltonian matrices as inputs. + + + In the continuous time case calling sequence is ric_descr(H) (one input): + + + Riccati equation is: + + + + Defining the hamiltonian matrix H by: + + + + with the calling sequence [X1,X2,zero]=ric_descr(H), the + solution X is given by X=X1/X2. + + + zero = L1 norm of rhs of (Ec) + + + The solution X is also given by X=riccati(A,Q,R,'c')) + + + In the discrete-time case calling sequence is ric_descr(H,E) (two inputs): + + + The Riccati equation is: + + + + Defining G=B/R*B' and the hamiltonian pencil (E,H) by: + + + + with the calling sequence [X1,X2,err]=ric_descr(H,E), the + solution X is given by X=X1/X2. + + + zero= L1 norm of rhs of (Ed) + + + The solution X is also given by X=riccati(A,G,C,'d') + with G=B/R*B' + + + + + Examples + + + + See Also + + + riccati + + + + diff --git a/modules/cacsd/help/en_US/ricc.xml b/modules/cacsd/help/en_US/ricc.xml new file mode 100755 index 000000000..00d8f0f89 --- /dev/null +++ b/modules/cacsd/help/en_US/ricc.xml @@ -0,0 +1,181 @@ + + + + + ricc + Riccati equation + + + Calling Sequence + [X,RCOND,FERR]=ricc(A,B,C,"cont""method") + [X,RCOND,FERR]=ricc(F,G,H,"disc","method") + + + + Arguments + + + A,B,C + + real matrices of appropriate dimensions + + + + F,G,H + + real matrices of appropriate dimensions + + + + X + + real matrix + + + + "cont","disc"' + + imposed string (flag for continuous or discrete) + + + + method + + 'schr' or 'sign' for continuous-time systems and 'schr' or 'invf' for discrete-tyme systems + + + + + + Description + + Riccati solver. + + + Continuous time: + + + + gives a solution to the continuous time ARE + + + + B and C are assumed to be nonnegative definite. + (A,G) is assumed to be stabilizable with G*G' a full rank + factorization of B. + + + (A,H) is assumed to be detectable with H*H' a full rank + factorization of C. + + + Discrete time: + + + + gives a solution to the discrete time ARE + + + + F is assumed invertible and G = G1*inv(G2)*G1'. + + + One assumes (F,G1) stabilizable and (C,F) detectable + with C'*C full rank factorization of H. Use preferably + ric_desc. + + + C, D are symmetric .It is assumed that the matrices A, C and D are such that the corresponding matrix pencil has N eigenvalues with moduli less than one. + + + Error bound on the solution and a condition estimate are also provided. + It is assumed that the matrices A, C and D are such that the + corresponding Hamiltonian matrix has N eigenvalues with negative real parts. + + + + Examples + + + + See Also + + + riccati + + + ric_desc + + + schur + + + + + Used Functions + See SCI/modules/cacsd/src/slicot/riccpack.f + + diff --git a/modules/cacsd/help/en_US/riccati.xml b/modules/cacsd/help/en_US/riccati.xml new file mode 100755 index 000000000..f002fe1ca --- /dev/null +++ b/modules/cacsd/help/en_US/riccati.xml @@ -0,0 +1,122 @@ + + + + + riccati + Riccati equation + + + Calling Sequence + X=riccati(A,B,C,dom,[typ]) + [X1,X2]=riccati(A,B,C,dom,[typ]) + + + + Arguments + + + A,B,C + + + real matrices nxn, B and C symmetric. + + + + + dom + + + 'c' or 'd' for the time domain (continuous or discrete) + + + + + typ + + + string : 'eigen' for block diagonalization or schur' for Schur method. + + + + + X1,X2,X + + square real matrices (X2 invertible), X symmetric + + + + + + Description + + X=riccati(A,B,C,dom,[typ]) solves the Riccati equation: + + + + in continuous time case, or: + + + + with B=B1/B2*B1' in the discrete time case. + If called with two output arguments, riccati returns X1,X2 + such that X=X1/X2. + + + + Examples + + + + + + See Also + + + ricc + + + ric_desc + + + + diff --git a/modules/cacsd/help/en_US/routh_t.xml b/modules/cacsd/help/en_US/routh_t.xml new file mode 100755 index 000000000..b8ca26457 --- /dev/null +++ b/modules/cacsd/help/en_US/routh_t.xml @@ -0,0 +1,185 @@ + + + + + routh_t + Routh's table + + + Calling Sequence + + [r [,num] ]=routh_t(p) + [r [,num] ]=routh_t(h ,kp) + r=routh_t(h ,k [,normalized]) + + + + Arguments + + + p + + a real polynomial + + + + h + + a real SISO transfer system + + + + k + + a real polynomial or a scalar + + + + kp + + a scalar: proportional controller constant + + + + normalized + + a boolean (%t (default value) or %f) + + + + r + + a matrix or a list: Routh array elements + + + + num + + a scalar: the number of sign changes + + + + + + Description + + r=routh_t(p) computes Routh's table of the + polynomial p. + + + r=routh_t(h,k) computes Routh's table of + denominator of the system described by transfer matrix SISO + h with the feedback by the gain + k. + + + If k=poly(0,'k') we will have a polynomial or + a rational matrix with dummy variable k, + formal expression of the Routh table. + + + If normalized=%f we will have a polynomial matrix + with non normalized elements. In the other case, we will have a rational + and normalized matrix. + + + The second output argument num returns the number of sign changes + in the first column of Routh's table. Note that, this argument value will only have sense + when the table is normalized. + + + + Hint: If h=1/p, then routh_t(h, kp) is equivalent to + routh_t(p+kp) . + + + + + Examples + + + + See Also + + + roots + + + spec + + + evans + + + kpure + + + krac2 + + + + + Bibliography + + http://controls.engin.umich.edu/wiki/index.php/RouthStability + + + http://www.jdotec.net/s3i/TD_Info/Routh/Routh.pdf + + Comments on the Routh-Hurwitz criterion, Shamash, Y.,Automatic + Control, IEEE T.A.C Volume 25, Issue 1, Feb 1980 Page(s): 132 - 133 + + + + History + + + 5.5.0 + New output argument added: num (SEP #104). + + + 5.4.0 + New input argument added: normalized (SEP #89). + + + + diff --git a/modules/cacsd/help/en_US/rowinout.xml b/modules/cacsd/help/en_US/rowinout.xml new file mode 100755 index 000000000..0368b5257 --- /dev/null +++ b/modules/cacsd/help/en_US/rowinout.xml @@ -0,0 +1,114 @@ + + + + + rowinout + inner-outer factorization + + + Calling Sequence + [Inn,X,Gbar]=rowinout(G) + + + Arguments + + + G + + + linear system (syslin list) [A,B,C,D] + + + + + Inn + + + inner factor (syslin list) + + + + + Gbar + + + outer factor (syslin list) + + + + + X + + + row-compressor of G (syslin list) + + + + + + + Description + + Inner-outer factorization (and row compression) of (lxp) G =[A,B,C,D] with l>=p. + + + G is assumed to be tall (l>=p) without zero on the imaginary axis + and with a D matrix which is full column rank. + + + G must also be stable for having Gbar stable. + + + G admits the following inner-outer factorization: + + + + where Inn is square and inner (all pass and stable) and Gbar + square and outer i.e: + Gbar is square bi-proper and bi-stable (Gbar inverse is also proper + and stable); + + + Note that: + + + + is a row compression of G where X = Inn inverse is all-pass i.e: + + + + (for the continuous time case). + + + + See Also + + + syslin + + + colinout + + + + diff --git a/modules/cacsd/help/en_US/rowregul.xml b/modules/cacsd/help/en_US/rowregul.xml new file mode 100755 index 000000000..2b5be160e --- /dev/null +++ b/modules/cacsd/help/en_US/rowregul.xml @@ -0,0 +1,72 @@ + + + + rowregul + removing poles and zeros at infinity + + + Calling Sequence + [Stmp,Ws]=rowregul(Sl,alfa,beta) + + + Arguments + + + Sl,Stmp + + + syslin lists + + + + + alfa,beta + + real numbers (new pole and zero positions) + + + + + + Description + + computes a postfilter Ws such that Stmp=Ws*Sl is proper and + with full rank D matrix. + + + Poles at infinity of Sl are moved to alfa; + + + Zeros at infinity of Sl are moved to beta; + + + Sl is assumed to be a right invertible linear system (syslin list) + in state-space representation with possibly a polynomial D matrix. + + + This function is the dual of colregul (see function code). + + + + Examples + + + + See Also + + + invsyslin + + + colregul + + + + diff --git a/modules/cacsd/help/en_US/rtitr.xml b/modules/cacsd/help/en_US/rtitr.xml new file mode 100755 index 000000000..6034aed94 --- /dev/null +++ b/modules/cacsd/help/en_US/rtitr.xml @@ -0,0 +1,207 @@ + + + + + rtitr + discrete time response (transfer matrix) + + + Calling Sequence + [y]=rtitr(Num,Den,u [,up,yp]) + + + Arguments + + + Num,Den + + + polynomial matrices (resp. dimensions : nxm and nxn) + + + + + u + + + real matrix (dimension mx(t+1) + + + + + up,yp + + + real matrices (up dimension mx(max(degree(Den))) (default values=0) , + yp dimension nx + (max(degree(Den)))) + + + + + y + + real matrix + + + + + + Description + + y=rtitr(Num,Den,u [,up,yp]) returns the time response of + the discrete time linear system with transfer matrix Den^-1 Num + for the input u, i.e y and u are such that Den y = Num u at t=0,1,... + + + If d1=max(degree(Den)), and d2=max(degree(Num)) the polynomial + matrices Den(z) and Num(z) may be written respectively as: + + + + and Den y = Num u is interpreted as the recursion: + + + + It is assumed that D(d1) is non singular. + + + The columns of u are the inputs of the system at t=0,1,...,T: + + + + The outputs at t=0,1,...,T+d1-d2 are the columns of the matrix y: + + + + up and yp define the initial conditions for t < 0 i.e + + + + Depending on the relative values of d1 and d2, some of the + leftmost components of up, yp are ignored. + The default values of up and yp are zero: + up = 0*ones(m,d1), yp=0*ones(n,d1) + + + + Examples + + + + + + See Also + + + ltitr + + + exp + + + flts + + + + diff --git a/modules/cacsd/help/en_US/sensi.xml b/modules/cacsd/help/en_US/sensi.xml new file mode 100755 index 000000000..b07af989e --- /dev/null +++ b/modules/cacsd/help/en_US/sensi.xml @@ -0,0 +1,124 @@ + + + + + sensi + sensitivity functions + + + Calling Sequence + [Se,Re,Te]=sensi(G,K) + [Si,Ri,Ti]=sensi(G,K,flag) + + + + Arguments + + + G + + + standard plant (syslin list) + + + + + K + + + compensator (syslin list) + + + + + flag + + + character string 'o' (default value) or 'i' + + + + + Se + + + output sensitivity function (I+G*K)^-1 + + + + + Re + + + K*Se + + + + + Te + + + G*K*Se (output complementary sensitivity function) + + + + + + + Description + + sensi computes sensitivity functions. If G and K are + given in state-space form, the systems returned are generically minimal. + Calculation is made by lft, e.g., + Se can be given by the commands + P = augment(G,'S'), Se=lft(P,K). + If flag = 'i', [Si,Ri,Ti]=sensi(G,K,'i') + returns the input sensitivity functions. + + + + + Examples + + + + See Also + + + augment + + + lft + + + h_cl + + + + diff --git a/modules/cacsd/help/en_US/sident.xml b/modules/cacsd/help/en_US/sident.xml new file mode 100755 index 000000000..6d492cd5a --- /dev/null +++ b/modules/cacsd/help/en_US/sident.xml @@ -0,0 +1,321 @@ + + + + + sident + discrete-time state-space realization and Kalman gain + + + Calling Sequence + [[A,C][,B[,D]][,K,Q,Ry,S][,rcnd]] = sident(meth,job,s,n,l,R[,tol,t,Ai,Ci,printw]) + + + Arguments + + + meth + + integer option to determine the method to use: + + + = + + 1 : MOESP method with past inputs and outputs; + + + + = + + 2 : N4SID method; + + + + = + + 3 : combined method: A and C via MOESP, B and D via N4SID. + + + + + + + job + + integer option to determine the calculation to be performed: + + + = + + 1 : compute all system matrices, A, B, C, D; + + + + = + + 2 : compute the matrices A and C only; + + + + = + + 3 : compute the matrix B only; + + + + = + + 4 : compute the matrices B and D only. + + + + + + + s + + the number of block rows in the processed input and output block Hankel matrices. s > 0. + + + + n + + integer, the order of the system + + + + l + + integer, the number of the system outputs + + + + R + + the 2*(m+l)*s-by-2*(m+l)*s part of R contains the processed upper triangular factor R from the QR factorization of the concatenated block-Hankel matrices, and further details needed for computing system matrices. + + + + tol + + (optional) tolerance used for estimating the rank of matrices. If tol > 0, then the given value of tol is used as a lower bound for the reciprocal condition number; an m-by-n matrix whose estimated condition number is less than 1/tol is considered to be of full rank. Default: m*n*epsilon_machine where epsilon_machine is the relative machine precision. + + + + t + + (optional) the total number of samples used for calculating the covariance matrices. Either t = 0, or t >= 2*(m+l)*s. This parameter is not needed if the covariance matrices and/or the Kalman predictor gain matrix are not desired. If t = 0, then K, Q, Ry, and S are not computed. Default: t = 0. + + + + Ai + + real matrix + + + + Ci + + real matrix + + + + printw + + (optional) switch for printing the warning messages. + + + = + + 1: print warning messages; + + + + = + + 0: do not print warning messages. + + + + + Default: printw = 0. + + + + + A + + real matrix + + + + C + + real matrix + + + + B + + real matrix + + + + D + + real matrix + + + + K + + real matrix, kalman gain + + + + Q + + (optional) the n-by-n positive semidefinite state covariance matrix used as state weighting matrix when computing the Kalman gain. + + + + RY + + (optional) the l-by-l positive (semi)definite output covariance matrix used as output weighting matrix when computing the Kalman gain. + + + + S + + (optional) the n-by-l state-output cross-covariance matrix used as cross-weighting matrix when computing the Kalman gain. + + + + rcnd + + (optional) vector of length lr, containing estimates of the reciprocal condition numbers of the matrices involved in rank decisions, least squares, or Riccati equation solutions, where lr = 4, if Kalman gain matrix K is not required, and lr = 12, if Kalman gain matrix K is required. + + + + + + Description + + SIDENT function for computing a discrete-time state-space realization + (A,B,C,D) and Kalman gain K using SLICOT routine IB01BD. + + + + SIDENT computes a state-space realization (A,B,C,D) and the Kalman + predictor gain K of a discrete-time system, given the system + order and the relevant part of the R factor of the concatenated + block-Hankel matrices, using subspace identification techniques + (MOESP, N4SID, or their combination). + + + The model structure is : + + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + where + x(k) is the n-dimensional state vector (at time k), + + + u(k) is the m-dimensional input vector, + + + y(k) is the l-dimensional output vector, + + + e(k) is the l-dimensional disturbance vector, + + + and A, B, C, D, and K are real matrices of appropriate dimensions. + + + + Comments + + 1. The n-by-n system state matrix A, and the p-by-n system output matrix C are computed for job <= 2. + + + 2. The n-by-m system input matrix B is computed for job <> 2. + + + 3. The l-by-m system matrix D is computed for job = 1 or 4. + + + 4. The n-by-l Kalman predictor gain matrix K and the covariance matrices Q, Ry, and S are computed for t > 0. + + + + Examples + + + + See Also + + + findBD + + + sorder + + + + diff --git a/modules/cacsd/help/en_US/sorder.xml b/modules/cacsd/help/en_US/sorder.xml new file mode 100755 index 000000000..7ab1026b4 --- /dev/null +++ b/modules/cacsd/help/en_US/sorder.xml @@ -0,0 +1,334 @@ + + + + + sorder + computing the order of a discrete-time system + + + Calling Sequence + [Ro[,n,sval,rcnd]] = sorder(meth,alg,jobd,batch,conct,s,Y[,U,tol,printw,ldwork,Ri]) + + + Arguments + + + meth + + integer option to determine the method to use: + + + = + + 1 : MOESP method with past inputs and outputs; + + + + = + + 2 : N4SID method. + + + + + + + alg + + integer option to determine the algorithm for computing the triangular factor of the concatenated block-Hankel matrices built from the input-output data: + + + = + + 1 : Cholesky algorithm on the correlation matrix; + + + + = + + 2 : fast QR algorithm; + + + + = + + 3 : standard QR algorithm. + + + + + + + jobd + + integer option to specify if the matrices B and D should later be computed using the MOESP approach: + + + = + + 1 : the matrices B and D should later be computed using the MOESP approach; + + + + = + + 2 : the matrices B and D should not be computed using the MOESP approach. + + This parameter is not relevant for meth = 2. + + + + + + + + batch + + integer option to specify whether or not sequential data processing is to be used, and, for sequential processing, whether or not the current data block is the first block, an intermediate block, or the last block, as follows: + + + = + + 1 : the first block in sequential data processing; + + + + = + + 2 : an intermediate block in sequential data processing; + + + + = + + 3 : the last block in sequential data processing; + + + + = + + 4 : one block only (non-sequential data processing). + + + + + + + conct + + integer option to specify whether or not the successive data blocks in sequential data processing belong to a single experiment, as follows: + + + = + + 1 : the current data block is a continuation of the previous data block and/or it will be continued by the next data block; + + + + = + + 2 : there is no connection between the current data block and the previous and/or the next ones. + + This parameter is not used if batch = 4. + + + + + + + + s + + the number of block rows in the input and output block Hankel matrices to be processed. s > 0 + + + + Y + + the t-by-l output-data sequence matrix. Column j of Y contains the t values of the j-th output component for consecutive time increments. + + + + U + + (optional) the t-by-m input-data sequence matrix. Column j of U contains the t values of the j-th input component for consecutive time increments. Default: U = []. + + + + tol + + (optional) vector of length 2 containing tolerances: tol(1) - tolerance used for estimating the rank of matrices. If tol(1) > 0, then the given value of tol(1) is used as a lower bound for the reciprocal condition number; an m-by-n matrix whose estimated condition number is less than 1/tol(1) is considered to be of full rank. If tol(1) <= 0, then a default value m*n*epsilon_machine is used, where epsilon_machine is the relative machine precision. + + tol(2) - tolerance used for determining an estimate of the system order. If tol(2) >= 0, the estimate is indicated by the index of the last singular value greater than or equal to tol(2). (Singular values less than tol(2) are considered as zero.) When tol(2) = 0, an internally computed default value, tol(2) = s*epsilon_machine*sval(1), is used, where sval(1) is the maximal singular value, and epsilon_machine the relative machine precision. When tol(2) < 0, the estimate is indicated by the index of the singular value that has the largest logarithmic gap to its successor. + + + Default: tol(1:2) = [0,-1]. + + + + + printw + + (optional) switch for printing the warning messages. + + + = + + 1: print warning messages; + + + + = + + 0: do not print warning messages. + + + + + Default: printw = 0. + + + + + ldwork + + (optional) the workspace size. Default : computed by the formulas + MAX( nr*nr + t*( m + l ) + 16, 2*nr ) ) then + LDWORK = MIN( LDWORK, CSIZE - nr*nr - t*( m + l ) - 16 ) +else + LDWORK = MIN( LDWORK, MAX( 2*nr, CSIZE/2 ) ) +end if + ]]> + + LDWORK = MAX( minimum workspace size needed, LDWORK ) where CSIZE is the cache size in double precision words. + + + If LDWORK is specified less than the minimum workspace size needed, that minimum value is used instead. + + + + + Ri + + (optional) if batch = 2 or 3, the 2*(m+l)*s-by-2*(m+l)*s (upper triangular, if alg <> 2) part of R must contain the (upper triangular) matrix R computed at the previous call of this mexfile in sequential data processing. If conct = 1, R has an additional column, also set at the previous call. + + If alg = 2, R has m+l+1 additional columns, set at the previous call. + + + This parameter is not used for batch = 1 or batch = 4. + + + + + Ro + + if batch = 3 or 4, the 2*(m+l)*s-by-2*(m+l)*s part of R contains the processed upper triangular factor R from the QR factorization of the concatenated block-Hankel matrices, and further details needed for computing system matrices. If batch = 1 or 2, then R contains intermediate results needed at the next call of this mexfile. If batch = 1 or 2 and conct = 1, R has an additional column, also set before return. If batch = 1 or 2 and alg = 2, R has m+l+1 additional columns, set before return. + + + + n + + the order of the system. + + + + sval + + (optional) the singular values used for estimating the order of the system. + + + + rcnd + + (optional) if meth = 2, vector of length 2 containing the reciprocal condition numbers of the matrices involved in rank decisions or least squares solutions. + + + + + + Description + + sorder - function for computing the order of a discrete-time + system using SLICOT routine IB01AD. + + + For one block (data sequences Y, U): + [R,n,sval,rcnd] = sorder(meth,alg,jobd,4,conct,s,Y,U); + + + For f blocks (data sequences Yj, Uj, j = 1 : f): + + + + sorder preprocesses the input-output data for estimating the matrices + of a linear time-invariant dynamical system, using Cholesky or (fast) + QR factorization and subspace identification techniques (MOESP and + N4SID), and then estimates the order of a discrete-time realization. + + + The model structure is : + + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + where + x(k) is the n-dimensional state vector (at time k), + + + u(k) is the m-dimensional input vector, + + + y(k) is the l-dimensional output vector, + + + w(k) is the n-dimensional state disturbance vector, + + + e(k) is the l-dimensional output disturbance vector, + + + and A, B, C, and D are real matrices of appropriate dimensions. + + + + Comments + + 1. The Cholesy or fast QR algorithms can be much faster (for large data blocks) than QR algorithm, but they cannot be used if the correlation matrix, H'*H, is not positive definite. In such a case, the code automatically switches to the QR algorithm, if sufficient workspace is provided and batch = 4. + + + 2. If ldwork is specified, but it is less than the minimum workspace size needed, that minimum value is used instead. + + + + See Also + + + findBD + + + sident + + + + diff --git a/modules/cacsd/help/en_US/specfact.xml b/modules/cacsd/help/en_US/specfact.xml new file mode 100755 index 000000000..7d5935a75 --- /dev/null +++ b/modules/cacsd/help/en_US/specfact.xml @@ -0,0 +1,69 @@ + + + + + specfact + spectral factor + + + Calling Sequence + [W0,L]=specfact(A,B,C,D) + + + Description + + Given a spectral density matrix phi(s): + + 0 + ]]> + + specfact computes W0 and L such + that W(s)=W0+L*(s*I-A)^-1*B is a + spectral factor of of PHI(s), i.e. + + + phi(s)=W'(-s)*W(s) + + + + Examples + + + + See Also + + + gtild + + + sfact + + + fspecg + + + + diff --git a/modules/cacsd/help/en_US/ssprint.xml b/modules/cacsd/help/en_US/ssprint.xml new file mode 100755 index 000000000..99a9be7a6 --- /dev/null +++ b/modules/cacsd/help/en_US/ssprint.xml @@ -0,0 +1,73 @@ + + + + + ssprint + pretty print for linear system + + + Calling Sequence + ssprint(sl) + ssprint(sl, out) + + + + Arguments + + + sl + + + list (syslin list) + + + + + out + + + output (default value out=%io(2)) + + + + + + + Description + pretty print of a linear system in state-space form + sl=(A,B,C,D) syslin list. + + + + Examples + + + + See Also + + + math_rendering_features_in_graphic + + + prettyprint + + + + diff --git a/modules/cacsd/help/en_US/st_ility.xml b/modules/cacsd/help/en_US/st_ility.xml new file mode 100755 index 000000000..229a32206 --- /dev/null +++ b/modules/cacsd/help/en_US/st_ility.xml @@ -0,0 +1,120 @@ + + + + + st_ility + stabilizability test + + + Calling Sequence + [ns, [nc, [,U [,Slo] ]]]=st_ility(Sl [,tol]) + + + Arguments + + + Sl + + + syslin list (linear system) + + + + + ns + + integer (dimension of stabilizable subspace) + + + + nc + + + integer (dimension of controllable subspace nc <= ns) + + + + + U + + + basis such that its ns (resp. nc) first components span the stabilizable (resp. controllable) subspace + + + + + Slo + + + a linear system (syslin list) + + + + + tol + + threshold for controllability detection (see contr) + + + + + + Description + + Slo=( U'*A*U, U'*B, C*U, D, U'*x0 ) (syslin list) + displays the stabilizable form of Sl. Stabilizability means + ns=nx (dim. of A matrix). + + + + where (A11,B1) (dim(A11)= nc) is controllable and A22 + (dim(A22)=ns-nc) is stable. + "Stable" means real part of eigenvalues negative for a continuous + linear system, and magnitude of eigenvalues lower than one for a + discrete-time system (as defined by syslin). + + + + Examples + + + + See Also + + + dt_ility + + + contr + + + stabil + + + ssrand + + + + diff --git a/modules/cacsd/help/en_US/stabil.xml b/modules/cacsd/help/en_US/stabil.xml new file mode 100755 index 000000000..4b183010e --- /dev/null +++ b/modules/cacsd/help/en_US/stabil.xml @@ -0,0 +1,128 @@ + + + + + stabil + stabilization + + + Calling Sequence + F=stabil(A,B,alfa) + K=stabil(Sys,alfa,beta) + + + + Arguments + + + A + + + square real matrix (nx x nx) + + + + + B + + + real matrix (nx x nu) + + + + + alfa, beta + + real or complex vector (in conjugate pairs) or real number. + + + + F + + + real matrix (nx x nu) + + + + + Sys + + + linear system (syslin list) (m inputs, p outputs). + + + + + K + + + linear system (p inputs, m outputs) + + + + + + + Description + + F=stabil(A,B,alfa) returns a gain matrix F such that + A+B*F is stable if pair (A,B) is stabilizable. + Assignable poles are set to alfa(1),alfa(2),.... + If (A,B) is not stabilizable a warning is given + and assignable poles are set to alfa(1),alfa(2),.... + If alfa is a number all eigenvalues are set to this + alfa (default value is alfa=-1). + + + K=stabil(Sys,alfa,beta) returns K, a compensator for Sys + such that (A,B)-controllable eigenvalues are set to + alfa and (C,A)-observable eigenvalues are set to beta. + + + All assignable closed loop poles (which are given by the + eigenvalues of Aclosed=h_cl(Sys,K) are set to alfa(i)'s + and beta(j)'s. + + + + Examples + + + + See Also + + + st_ility + + + contr + + + ppol + + + + diff --git a/modules/cacsd/help/en_US/sysfact.xml b/modules/cacsd/help/en_US/sysfact.xml new file mode 100755 index 000000000..068865e14 --- /dev/null +++ b/modules/cacsd/help/en_US/sysfact.xml @@ -0,0 +1,102 @@ + + + + + sysfact + system factorization + + + Calling Sequence + [S,Series]=sysfact(Sys,Gain,flag) + + + Arguments + + + Sys + + + syslin list containing the matrices [A,B,C,D]. + + + + + Gain + + real matrix + + + + flag + + + string 'post' or 'pre' + + + + + S + + + syslin list + + + + + Series + + + syslin list + + + + + + + Description + + If flag equals 'post', sysfact returns in S the linear + system with ABCD matrices (A+B*Gain, B , Gain, I), and Series, + a minimal realization of the series system Sys*S. + If flag equals 'pre', sysfact returns the linear system + (A+Gain*C, Gain , C, I) and Series, a minimal realization of the + series system S*Sys. + + + + Examples + + + + See Also + + + lqr + + + lqe + + + + diff --git a/modules/cacsd/help/en_US/syslin.xml b/modules/cacsd/help/en_US/syslin.xml new file mode 100755 index 000000000..a1738c677 --- /dev/null +++ b/modules/cacsd/help/en_US/syslin.xml @@ -0,0 +1,186 @@ + + + + + syslin + linear system definition + + + Calling Sequence + [sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + + + + Arguments + + + dom + + + character string ('c', + 'd'), or [] or a + scalar. + + + + + A,B,C,D + + matrices of the state-space representation + (D optional with default value zero matrix). For + improper systems D is a polynomial matrix. + + + + + x0 + + vector (initial state; default value is + 0) + + + + + N, D + + polynomial matrices + + + + H + + rational matrix or linear state space representation + + + + sl + + + tlist ("syslin" list) representing the + linear system + + + + + + + Description + + syslin defines a linear system as a list and + checks consistency of data. + + + dom specifies the time domain of the system and + can have the following values: + + + dom='c' for a continuous time system, + dom='d' for a discrete time system, + n for a sampled system with sampling period + n (in seconds). + + + dom=[] if the time domain is undefined + + State-space representation: + + represents the system : + + + + + + + + + The output of syslin is a list of the following + form: + sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom) + Note that D is allowed to be a polynomial matrix + (improper systems). + + Transfer matrix representation: + + + The output of syslin is a list of the following + form : sl = rlist(N,D,dom) or + sl=rlist(H(2),H(3),dom). + + + Linear systems defined as syslin can be + manipulated as usual matrices (concatenation, extraction, transpose, + multiplication, etc) both in state-space or transfer + representation. + + Most of state-space control functions receive a + syslin list as input instead of the four matrices + defining the system. + + + + Examples + + + + See Also + + + tlist + + + lsslist + + + rlist + + + ssrand + + + ss2tf + + + tf2ss + + + dscr + + + abcd + + + + diff --git a/modules/cacsd/help/en_US/syssize.xml b/modules/cacsd/help/en_US/syssize.xml new file mode 100755 index 000000000..83140c90d --- /dev/null +++ b/modules/cacsd/help/en_US/syssize.xml @@ -0,0 +1,86 @@ + + + + + syssize + size of state-space system + + + Calling Sequence + [r,nx]=syssize(Sl) + + + Arguments + + + Sl + + + linear system (syslin list) in state-space + + + + + r + + 1 x 2 real vector + + + + nx + + integer + + + + + + Description + + returns in r the vector [number of outputs, number of inputs] + of the linear system Sl. nx is the number of states of Sl. + + + + + Examples + + + + + + See Also + + + size + + + + diff --git a/modules/cacsd/help/en_US/time_id.xml b/modules/cacsd/help/en_US/time_id.xml new file mode 100755 index 000000000..3d13a830d --- /dev/null +++ b/modules/cacsd/help/en_US/time_id.xml @@ -0,0 +1,124 @@ + + + + + time_id + SISO least square identification + + + Calling Sequence + [H [,err]]=time_id(n,u,y) + + + Arguments + + + n + + order of transfer + + + + u + + one of the following + + + u1 + + a vector of inputs to the system + + + + "impuls" + + if y is an impulse response + + + + "step" + + if y is a step response. + + + + + + + y + + vector of response. + + + + H + + rational function with degree n denominator and degree n-1 numerator if y(1)==0 or rational function with degree n denominator and numerator if y(1)<>0. + + + + err + + + ||y - impuls(H,npt)||^2, where impuls(H,npt) are the npt first coefficients of impulse response of H + + + + + + + Description + + Identification of discrete time response. If y is strictly + proper (y(1)=0) then time_id computes the least square + solution of the linear equation: Den*y-Num*u=0 with the + constraint coeff(Den,n):=1. if y(1)~=0 then the algorithm + first computes the proper part solution and then add y(1) to the solution + + + + Examples + + + + See Also + + + imrep2ss + + + arl2 + + + armax + + + frep2tf + + + + diff --git a/modules/cacsd/help/en_US/trzeros.xml b/modules/cacsd/help/en_US/trzeros.xml new file mode 100755 index 000000000..b3cb4a41c --- /dev/null +++ b/modules/cacsd/help/en_US/trzeros.xml @@ -0,0 +1,128 @@ + + + + + trzeros + transmission zeros and normal rank + + + Calling Sequence + [tr]=trzeros(Sl) + [nt,dt,rk]=trzeros(Sl) + + + + Arguments + + + Sl + + + linear system (syslin list) + + + + + nt + + complex vectors + + + + dt + + real vector + + + + rk + + integer (normal rank of Sl) + + + + + + Description + + Called with one output argument, trzeros(Sl) returns the + transmission zeros of the linear system Sl. + + + Sl may have a polynomial (but square) D matrix. + + + Called with 2 output arguments, trzeros returns the + transmission zeros of the linear system Sl as tr=nt./dt; + + + (Note that some components of dt may be zeros) + + + Called with 3 output arguments, rk is the normal rank of Sl + + + Transfer matrices are converted to state-space. + + + If Sl is a (square) polynomial matrix trzeros returns the + roots of its determinant. + + + For usual state-space system trzeros uses the state-space + algorithm of Emami-Naeni and Van Dooren. + + + If D is invertible the transmission zeros are the eigenvalues + of the "A matrix" of the inverse system : A - B*inv(D)*C; + + + If C*B is invertible the transmission zeros are the eigenvalues + of N*A*M where M*N is a full rank factorization of + eye(A)-B*inv(C*B)*C; + + + For systems with a polynomial D matrix zeros are + calculated as the roots of the determinant of the system matrix. + + + + Caution: the computed zeros are not always reliable, in particular + in case of repeated zeros. + + + + + Examples + + + + See Also + + + gspec + + + kroneck + + + + diff --git a/modules/cacsd/help/en_US/ui_observer.xml b/modules/cacsd/help/en_US/ui_observer.xml new file mode 100755 index 000000000..5152008d7 --- /dev/null +++ b/modules/cacsd/help/en_US/ui_observer.xml @@ -0,0 +1,172 @@ + + + + + ui_observer + unknown input observer + + + Calling Sequence + [UIobs,J,N]=ui_observer(Sys,reject,C1,D1) + [UIobs,J,N]=ui_observer(Sys,reject,C1,D1,flag,alfa,beta) + + + + Arguments + + + Sys + + + syslin list containing the matrices (A,B,C2,D2). + + + + + reject + + + integer vector, indices of inputs of Sys which are unknown. + + + + + C1 + + real matrix + + + + D1 + + + real matrix. C1 and D1 have the same number of rows. + + + + + flag + + + string 'ge' or 'st' (default) or 'pp'. + + + + + alfa + + real or complex vector (loc. of closed loop poles) + + + + beta + + real or complex vector (loc. of closed loop poles) + + + + + + Description + + Unknown input observer. + + + Sys: (w,u) --> y is a (A,B,C2,D2) syslin linear system with + two inputs w and u, w being the unknown input. + The matrices B and D2 of Sys are (implicitly) partitioned as: + B=[B1,B2] and D2=[D21,D22] with B1=B(:,reject) and + D21=D2(:,reject) where reject = indices of unknown inputs. + The matrices C1 and D1 define z = C1 x + D1 (w,u), + the to-be-estimated output. + + + The matrix D1 is (implicitly) partitioned as D1=[D11,D12] + with D11=D(:,reject) + + + The data (Sys, reject,C1, D1) define a 2-input 2-output system: + + + + An observer (u,y) --> zhat is looked for the output z. + + + flag='ge' no stability constraints + flag='st' stable observer (default) + flag='pp' observer with pole placement + alfa,beta = desired location of closed loop poles (default -1, -2) + J=y-output to x-state injection. + N=y-output to z-estimated output injection. + + + UIobs = linear system (u,y) --> zhat such that: + The transfer function: (w,u) --> z equals the composed transfer function: + [0,I; UIobs + Sys] + (w,u) -----> (u,y) -----> zhat + i.e. transfer function of system {A,B,C1,D1} equals transfer function + UIobs*[0,I; Sys] + + + Stability (resp. pole placement) requires detectability + (resp. observability) of (A,C2). + + + + Examples + z=UIobs*[0,I;Sys](w,u) +clean(ss2tf(UIobsW)); +wu_to_z=syslin('c',A,B,C1,D1);clean(ss2tf(wu_to_z)); +clean(ss2tf(wu_to_z)-ss2tf(UIobsW),1.d-7) +/////2nd example////// +nx=2;ny=3;nwu=2;Sys=ssrand(ny,nwu,nx); +C1=rand(1,nx);D1=[0,1]; +UIobs=ui_observer(Sys,1,C1,D1); + ]]> + + + See Also + + + cainv + + + ddp + + + abinv + + + + diff --git a/modules/cacsd/help/en_US/unobs.xml b/modules/cacsd/help/en_US/unobs.xml new file mode 100755 index 000000000..d9f61085a --- /dev/null +++ b/modules/cacsd/help/en_US/unobs.xml @@ -0,0 +1,97 @@ + + + + + unobs + unobservable subspace + + + Calling Sequence + [n,[U]]=unobs(A,C,[tol]) + + + Arguments + + + A, C + + real matrices + + + + tol + + tolerance used when evaluating ranks (QR factorizations). + + + + n + + dimension of unobservable subspace. + + + + U + + + orthogonal change of basis which puts (A,B) in canonical form. + + + + + + + Description + + [n,[U]]=unobs(A,C,[tol]) gives the unobservable form of an (A,C) + pair. + The n first columns of U make a basis for the unobservable + subspace. + + + The (2,1) block (made of last nx-n rows and n first + columns) of U'*A*U is zero and the n first columns + of C*U are zero. + + + + Examples + + + + See Also + + + contr + + + contrss + + + canon + + + cont_mat + + + spantwo + + + dt_ility + + + + diff --git a/modules/cacsd/help/en_US/zeropen.xml b/modules/cacsd/help/en_US/zeropen.xml new file mode 100755 index 000000000..5302018f8 --- /dev/null +++ b/modules/cacsd/help/en_US/zeropen.xml @@ -0,0 +1,77 @@ + + + + + zeropen + zero pencil + + + Calling Sequence + [Z,U]=zeropen(Sl) + + + Arguments + + + Sl + + + a linear system (syslin list in state-space form [A,B,C,D]) + + + + + Z + + + matrix pencil Z=s*E-A + + + + + U + + square orthogonal matrix + + + + + + Description + + Z= sE - F is the zero pencil of the linear system Sl with + matrices [A,B,C,D]. Utility function. + + + With U row compression of [B;D] i.e, U*[B;D]=[0;*]; one has: + + + + The zeros of Z are the zeros of Sl. + + + + See Also + + + systmat + + + kroneck + + + + diff --git a/modules/cacsd/help/fr_FR/addchapter.sce b/modules/cacsd/help/fr_FR/addchapter.sce new file mode 100755 index 000000000..cafafb547 --- /dev/null +++ b/modules/cacsd/help/fr_FR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD (Computer Aided Control Systems Design)",SCI+"/modules/cacsd/help/fr_FR",%T); + diff --git a/modules/cacsd/help/fr_FR/formal_representation/CHAPTER b/modules/cacsd/help/fr_FR/formal_representation/CHAPTER new file mode 100755 index 000000000..e25da39ec --- /dev/null +++ b/modules/cacsd/help/fr_FR/formal_representation/CHAPTER @@ -0,0 +1,2 @@ +title = Représentations formelles et conversions + diff --git a/modules/cacsd/help/fr_FR/formal_representation/lsslist.xml b/modules/cacsd/help/fr_FR/formal_representation/lsslist.xml new file mode 100755 index 000000000..23f363213 --- /dev/null +++ b/modules/cacsd/help/fr_FR/formal_representation/lsslist.xml @@ -0,0 +1,42 @@ + + + + lsslist + Définition d'un système dynamique linéaire + + + Séquence d'appel + lsslist() + lsslist(A, B, C, X0, dt) + + + + Description + + lsslist(A, B, C, X0, dt) est équivalent à la commande + tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt) + + + Crée une tlist avec ["lss", "A", "B", "C", "D", "X0", "dt"] pour le premier champ, et + A, B, C,X0,dt + pour les termes suivants, s'ils sont spécifiés. Aucune vérification de taille ou de type n'est faite sur + les paramètres d'entrée. + + + + + + Voir aussi + + + abcd + + + syslin + + + tlist + + + + diff --git a/modules/cacsd/help/fr_FR/noisegen.xml b/modules/cacsd/help/fr_FR/noisegen.xml new file mode 100755 index 000000000..a0e8dee76 --- /dev/null +++ b/modules/cacsd/help/fr_FR/noisegen.xml @@ -0,0 +1,109 @@ + + + + + noisegen + génération de bruit + + + Séquence d'appel + b = noisegen(pas, Tmax, sig) + + + Paramètres + + + pas + + scalaire réel, le pas de temps + + + + Tmax + + scalaire réel, le temps final de l'intervalle de génération + + + + sig + + scalaire réel, l'écart-type du bruit + + + + + + Description + + noisegen() génère une fonction Scilab b = Noise(t) + où Noise(t) est une fonction constante par morceaux + (constante sur [k*pas, (k+1)*pas]). Les valeurs de chaque intervalle + constant sont aléatoires, i.i.d Gaussiennes à écart-type sig. + La fonction est constante pour t <= 0 et + t >= Tmax. + + + + Remarque: des fonctions de génération aléatoires telles que rand et + grand sont une alternative à la génération de bruit + contenant un large panel de lois de distribution (voir exemple 2 ci-dessous). + + + + + Exemples + + Exemple #1: noisegen() + + + + noisegen(0.5, 30, 1.0); + x = -5:0.01:35; + y = feval(x, Noise); + plot(x, y); + + + Exemple #2: rand() + + + + t = 0:.5:30; + sig = 1; + noise = sig*rand(t, "normal"); + plot2d2(t, noise) + + + + Vori aussi + + + rand + + + grand + + + + diff --git a/modules/cacsd/help/fr_FR/plot_display/CHAPTER b/modules/cacsd/help/fr_FR/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/fr_FR/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/fr_FR/plot_display/bode_asymp.xml b/modules/cacsd/help/fr_FR/plot_display/bode_asymp.xml new file mode 100755 index 000000000..9776d1f4e --- /dev/null +++ b/modules/cacsd/help/fr_FR/plot_display/bode_asymp.xml @@ -0,0 +1,180 @@ + + + + + bode_asymp + asymptote de diagramme de Bode + + + Séquence d'appel + + bode_asymp(sl, [wmin, wmax]) + + + + Paramètres + + + sl + + + syslin list (SISO ou SIMO système linéaire) + en temps continu ou discret (type state-space ou rational). + + + + + wmin, wmax + + Réels scalaires: bornes de fréquence inférieure et supérieure (en rad/s). + + + + + + Description + + Trace l'asymptote du système sl. + + + Les arguments optionnels wmin et wmax (en rad/s) peuvent être utilisés pour tracer des asymptotes dans un périmètre précis. + + + + A noter que les fonctions bode() ou gainplot() doivent être appelées avant bode_asymp(). + + + + + Attention: cette fonction n'est pas applicable quand le premier argument est une matrice de réels. + + + + + Exemples + + + + s = poly(0, 's'); + h = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); bode_asymp(h); + + + + + + s = poly(0, 's'); + h1 = syslin('c', (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + + + + + + s = %s; + G = (s+10)/(s*(s+100)); + sys = syslin("c", G); + f_min = .0001; f_max = 1600; + clf(); bode(sys, f_min, f_max, "rad"); + bode_asymp(sys, 10, 1000); + + + + + + s = poly(0,"s"); + h = syslin("c",(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h = tf2ss(h); + clf(); + gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); + bode_asymp(h) + + + + + Voir Aussi + + + bode + + + black + + + nyquist + + + gainplot + + + repfreq + + + g_margin + + + p_margin + + + calfrq + + + phasemag + + + datatips + + + show_margins + + + + + Historique + + + 5.5.0 + Fonction bode_asymp() introduite. + + + + diff --git a/modules/cacsd/help/fr_FR/pol2des.xml b/modules/cacsd/help/fr_FR/pol2des.xml new file mode 100755 index 000000000..06e703fc9 --- /dev/null +++ b/modules/cacsd/help/fr_FR/pol2des.xml @@ -0,0 +1,60 @@ + + + + pol2des + conversion matrice de polynômes vers forme descripteur + + + Séquence d'appel + [N,B,C]=pol2des(Ds) + + + Paramètres + + + Ds + + matrice de polynômes + + + + + N, B, C + + 3 matrices réelles + + + + + + + Description + + Etant donnée la matrice de polynômes Ds=D_0 +D_1 s +D_2 s^2 +... +D_k s^k, + pol2des renvoie 3 matrices N, B, C, avec N nilpotente + telles que : + + + Ds = C (s*N-eye())^-1 B + + + + Exemples + + + + Voir aussi + + + ss2des + + + tf2des + + + + diff --git a/modules/cacsd/help/fr_FR/syslin.xml b/modules/cacsd/help/fr_FR/syslin.xml new file mode 100755 index 000000000..f6226657e --- /dev/null +++ b/modules/cacsd/help/fr_FR/syslin.xml @@ -0,0 +1,175 @@ + + + + syslin + définition d'un système dynamique linéaire + + + Séquence d'appel + [sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + + + + Paramètres + + + dom + + + chaîne de caractères ('c', + 'd'), ou [] ou un + scalaire. + + + + + A,B,C,D + + + matrices de la représentation d'état (D est + optionnelle, matrice nulle par défaut). Pour les systèmes impropres + D est une matrice polynomiale. + + + + + x0 + + vecteur (état initial, vecteur nul par défaut) + + + + N, D + + matrices polynomiales + + + + H + + matrice rationnelle + + + + sl + + + tlist (liste de type "syslin") représentant + le système dynamique + + + + + + + Description + + syslin définit un système dynamique linéaire en + tant que liste typée, et vérifie la consistance des données. + + + dom spécifie le domaine temporel : + + + dom='c' pour un système à temps continu, + dom='d' pour un système à temps discret, + n pour un système échantillonné à la période + n (en secondes). + + + dom=[] si le domaine temporel n'est pas + défini + + Représentation d'état : + + représente le système : + + + + + + + + + La sortie de syslin est une liste de la forme + suivante : + sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom) + + Notez que D peut être une matrice polynomiale (systèmes + impropres). + + Représentation sous forme de matrice de transfert : + + + La sortie de syslin est une liste de la forme : + sl=rlist(N,D,dom) ou + sl=rlist(H(2),H(3),dom). + + Les systèmes linéaires obtenus en sortie de + syslin peuvent être manipulés comme des matrices + usuelles (concaténation, extraction, transposition, multiplication, etc.) + dans les deux types de représentation (représentation d'état ou matrice de + transfert). + + La plupart des fonctions de la bibliothèque de contrôle acceptent les + listes de type syslin en argument au lieu des quatre + matrices de la représentation d'état. + + + + Exemples + + + + Voir aussi + + + tlist + + + lsslist + + + rlist + + + ssrand + + + ss2tf + + + tf2ss + + + dscr + + + abcd + + + + diff --git a/modules/cacsd/help/ja_JP/abinv.xml b/modules/cacsd/help/ja_JP/abinv.xml new file mode 100755 index 000000000..596c502d8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/abinv.xml @@ -0,0 +1,320 @@ + + + + + abinv + AB 不変部分空間 + + + 呼び出し手順 + [X,dims,F,U,k,Z]=abinv(Sys,alpha,beta,flag) + + + パラメータ + + + Sys + + + 行列[A,B,C,D]を含む + syslin リスト. + + + + + alpha + + (オプション) 実数の数値またはベクトル + (複素数の可能性もある閉ループ極の位置) + + + + + beta + + (オプション) + 実数の数値またはベクトル + (複素数の可能性もある閉ループ極の位置) + + + + + flag + + (オプション) + 文字列 'ge' (デフォルト) または + 'st' または 'pp' + + + + + X + + 大きさ nx (状態空間の次元) の直交行列. + + + + dims + + + dimR<=dimVg<=dimV<=noc<=nosとなる + 整数行ベクトル dims=[dimR,dimVg,dimV,noc,nos]. + flag='st'の場合, + (resp. 'pp'), dims は + 4 (resp. 3) 個の要素となる. + + + + + F + + 実数行列 (状態フィードバック) + + + + k + + + 整数 (Sysのノーマルランク) + + + + + Z + + + 特異でない線形システム (syslin リスト) + + + + + + + 説明 + + Sysの行列[A,B,C,D]を含む + Sys = syslinリストで定義された線形システム + に関する出力ゼロ部分空間 (不可観測となる最大部分空間). + ベクトル dims=[dimR,dimVg,dimV,noc,nos] は + 以下の区分に基づき + Xの列で定義される部分空間の次元を出力します. + Xの最初のdimV列,すなわち, + V=X(:,1:dimV)は + SysのAB不変な部分空間 + すなわち, + (A+B*F,C+D*F)の不可観測な部分空間に + 広がっています. + (C^(-1)(D)=Xの時に限り,dimV=nx). + + + Xの最初のdimR 列, + すなわち R=X(:,1:dimR)は, + V, (dimR<=dimV)の中の + Sysの可制御部を含んでいます. + (左可逆システムの場合,dimR=0). + Rkernel(C)の中の + Sys の可制御な最大部分空間です. + + + X の最初のdimVg列は, + SysVg=AB-最大可安定部分空間 + に広がっています. + + + Fは非干渉化フィードバックです: + X=[V,X2] (X2=X(:,dimV+1:nx)) について, + X2'*(A+B*F)*V=0 および (C+D*F)*V=0が満たされます. + + + Sys のゼロは以下のように取得できます : + X0=X(:,dimR+1:dimV); spec(X0'*(A+B*F)*X0) + すなわち, dimV-dimR 個の閉ループ固定モードがあります. + + + オプションのパラメータ alpha が入力として指定された場合, + dimR個のVに含まれる + (A+BF)の可制御モードがalpha + (または[alpha(1), alpha(2), ...])に設定されます. + (alpha はベクトル (実数または複素数の組) または (実数の) + 数値とすることができます). + デフォルト値は alpha=-1です. + + + オプションの実数パラメータIr beta が入力に指定された場合, + noc-dimV 個のV"以外の"(A+BF)の + 可制御モードがbeta + (または[beta(1),beta(2),...])に設定されます. + デフォルト値は beta=-1です. + + + X,U に基づくと, 行列 + [X'*(A+B*F)*X,X'*B*U;(C+D*F)*X,D*U] + は以下のように表示されます: + + + + ただし,Xの分割はdimsで定義され, + Uの分割はkで定義されます. + + + A11(dimR x dimR) 次で, + alpha(i)'sの固有値を有しています. + (A11,B11) の組は可制御で, + B11nu-k 列です. + A22 は安定な + (dimVg-dimR x dimVg-dimR) 次の行列です. + A33 は不安定な + (dimV-dimVg x dimV-dimVg) 行列です + (st_ility参照). + + + A44 は + (noc-dimV x noc-dimV) 次であり, + その固有値はbeta(i)となります. + (A44,B42) は可制御です. + A55 は安定な (nos-noc x nos-noc) 次の行列となります. + A66 は不安定な (nx-nos x nx-nos)次の行列 + (st_ility参照). + + + ZSys の列圧縮です. + kSysのランク, + すなわち, Sys*Zは列圧縮された線形システムとなります. + k は + B42,B52,B62D2の列の次元です. + [B42;B52;B62;D2] は列フルランクでランク + kを有しています. + + + flag='st' が指定された場合, + 行列の5個のブロック区画が返され,dimsは4個の要素を有します. + flag='pp' が指定された場合, + 5個のブロック区画が返されます. + flag='ge' の場合, + dims=[dimR,dimVg,dimV,dimV+nc2,dimV+ns2] となります. + ここで where nc2 + (resp. ns2) は可制御 (resp. + stabilizable)対 (A44,B42) (resp. ([A44,*;0,A55],[B42;0]))の次元です. + flag='st'の場合, + dims=[dimR,dimVg,dimVg+nc,dimVg+ns]となり, + flag='pp'の場合, + dims=[dimR,dimR+nc,dimR+ns]となります. + nc (resp. ns) は + ブロック数3から6(resp. 2 to 6)の + 可制御(resp. stabilizable) 部分空間の次元です. + + + この関数は(正確な)外乱非干渉化問題に使用することができます. + + Q2の列圧縮を意味します. +これにより, C*[(sI-A-B*F)^(-1)+D]*(Q+B*R) =0 (<=>G*(Q+B*R)=0) + ]]> + + + + + y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) //The plant is not stabilizable! +[ns,nc,W,sl1]=st_ility(sl); +[A,B,C,D]=abcd(sl1);A=A(1:ns,1:ns);B=B(1:ns,:);C=C(:,1:ns); +slnew=syslin('c',A,B,C,D); //Now stabilizable +//Fnew=stabil(slnew('A'),slnew('B'),-11); +//slnew('A')=slnew('A')+slnew('B')*Fnew; +//slnew('C')=slnew('C')+slnew('D')*Fnew; +[X,dims,F,U,k,Z]=abinv(slnew,my_alpha,my_beta);dimVg=dims(2); +[A,B,C,D]=abcd(slnew); +G=(X(:,dimVg+1:$))'; +B2=G*B;nd=3; +R=rand(nu,nd);Q2T=-[B2;D]*R; +p=size(G,1);Q2=Q2T(1:p,:);T=Q2T(p+1:$,:); +Q=G\Q2; //a valid [Q;T] since +[G*B;D]*R + [G*Q;T] // is zero +closed=syslin('c',A+B*F,Q+B*R,C+D*F,T+D*R); // closed loop: d-->y +ss2tf(closed) // Closed loop is zero +spec(closed('A')) + ]]> + + + 参考 + + + cainv + + + st_ility + + + ssrand + + + ss2ss + + + ddp + + + + diff --git a/modules/cacsd/help/ja_JP/addchapter.sce b/modules/cacsd/help/ja_JP/addchapter.sce new file mode 100755 index 000000000..3dda7ef26 --- /dev/null +++ b/modules/cacsd/help/ja_JP/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD",SCI+"/modules/cacsd/help/ja_JP",%T); + diff --git a/modules/cacsd/help/ja_JP/arhnk.xml b/modules/cacsd/help/ja_JP/arhnk.xml new file mode 100755 index 000000000..11bbcabcd --- /dev/null +++ b/modules/cacsd/help/ja_JP/arhnk.xml @@ -0,0 +1,81 @@ + + + + + arhnk + ハンケルノルム近似 + + + 呼出し手順 + [slm]=arhnk(sl,ord,[tol]) + + + 引数 + + + sl + + + 線形システム (syslin リスト) + + + + + ord + + 整数, 近似の次数 + + + + tol + + + equil1におけるランク近似の閾値 + + + + + + + 説明 + + 行列[A,B,C,D]で定義される + 安定な連続時間線形システムslの最適ハンケルノルム近似 + slmを計算します. + + + + + + + + 参照 + + + equil + + + equil1 + + + hankelsv + + + + diff --git a/modules/cacsd/help/ja_JP/arl2.xml b/modules/cacsd/help/ja_JP/arl2.xml new file mode 100755 index 000000000..4e44f532a --- /dev/null +++ b/modules/cacsd/help/ja_JP/arl2.xml @@ -0,0 +1,171 @@ + + + + + arl2 + L2伝達関数近似による SISO モデル実現 + + + 呼び出し手順 + h=arl2(y,den0,n [,imp]) + h=arl2(y,den0,n [,imp],'all') + [den,num,err]=arl2(y,den0,n [,imp]) + [den,num,err]=arl2(y,den0,n [,imp],'all') + + + + 引数 + + + y + + + z^-1の実数ベクトルまたは多項式で, + 有理数システムの(インパルス応答の)フーリエ級数近似の係数を有します. + + + + + den0 + + + 解の初期推定値を指定する多項式で, + poly(1,'z','c')とすることができます. + + + + + n + + 整数, 伝達関数近似の次数 (分母denの次数) + + + + imp + + + 整数で値は (0,1,2)のどれか (冗長モード) + + + + + h + + + 伝達関数 num/den または'all' + フラグが指定された場合は伝達行列 (列ベクトル) 'all'. + + + + + den + + 多項式または多項式ベクトル,解の分母 + + + + num + + 多項式または多項式ベクトル, 解の分子 + + + + err + + 実数の定数またはベクトル , 各解のL2誤差 + + + + + + 説明 + + [den,num,err]=arl2(y,den0,n [,imp]) は, + 伝達関数num/denが安定で,そのインパルス応答が + 無数のゼロ点で完結すると仮定したベクトル y を + (最小L2ノルムで)近似する + 多項式対num および denを探します. + + + y(z) = y(1)(1/z)+y(2)(1/z^2)+ ...+ y(ny)(1/z^ny)の場合, + + + num/den - y(z)のL2ノルムは,errとなります. + + + n は多項式 denの次数です. + + + 伝達関数num/denは,有理システムのフーリエ級数のL2近似です. + + + impの設定により様々な中間結果が出力されるようになります. + + + [den,num,err]=arl2(y,den0,n [,imp],'all') は, + 多項式のベクトルnum および denに + 問題のローカル最適解の集合を返します. + 解は誤差について昇順にソートされます. + この場合, den0はすでに + poly(1,'z','c')であると仮定されます. + + + + + + + v=ones(1,20); + plot2d1('enn',0,[v';zeros(80,1)],2,'051',' ',[1,-0.5,100,1.5]) + [d,n,e]=arl2(v,poly(1,'z','c'),1) + plot2d1('enn',0,ldiv(n,d,100),2,'000') + [d,n,e]=arl2(v,d,3) + plot2d1('enn',0,ldiv(n,d,100),3,'000') + [d,n,e]=arl2(v,d,8) + plot2d1('enn',0,ldiv(n,d,100),5,'000') + [d,n,e]=arl2(v,poly(1,'z','c'),4,'all') + plot2d1('enn',0,ldiv(n(1),d(1),100),10,'000') + + + + 参照 + + + ldiv + + + imrep2ss + + + time_id + + + armax + + + frep2tf + + + + diff --git a/modules/cacsd/help/ja_JP/arma.xml b/modules/cacsd/help/ja_JP/arma.xml new file mode 100755 index 000000000..1d0258232 --- /dev/null +++ b/modules/cacsd/help/ja_JP/arma.xml @@ -0,0 +1,154 @@ + + + + + arma + Scilab armaライブラリ + + + 説明 + + Armax は,Scilab tlist型'ar'を有するデータを処理します. + armacが, + Armax Scilabオブジェクトを構築する際に使用されます. + 'ar' tlist には,フィールド + ['a','b','d','ny','nu','sig']が含まれます. + + + + armac + + + この間巣は,Armaxプロセス A(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t) + を符号化するScilab tlistを作成します. + + ar=armac([1,2],[3,4],1,1,1,sig); +-->ar('a') + ans = +! 1. 2. ! +-->ar('sig') + ans = + 1. + ]]> + + + + armap(ar [,out]) + + + arに関するarmax方程式を表示します. + + + + + armap_p(ar [,out]) + + + ar + に関するarmax方程式を多項式行列表示で表示します. + + + + + [A,B,D]=armap2p(ar) + + ar表現から多項式行列を展開します. + + + + armax + + + n次元ARXプロセスA(z^-1)y= B(z^-1)u + sig*e(t)の係数を + 同定するために使用されます. + + + + + armax1 + + + armax1 は,1次元 ARX プロセスA(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t) + の係数を同定するために使用されます. + + + + + arsimul + + armax 軌道シミュレーション. + + + + narsimul + + armax シミュレーション (rtitrを使用) + + + + odedi + + ode および arsimulの簡単なテスト. ODEの 'discret' オプションを試します. + + + + prbs_a + + 擬似乱数バイナリ列を生成 + + + + reglin + + 線形回帰 + + + + + + + + + diff --git a/modules/cacsd/help/ja_JP/arma2p.xml b/modules/cacsd/help/ja_JP/arma2p.xml new file mode 100755 index 000000000..19b5649aa --- /dev/null +++ b/modules/cacsd/help/ja_JP/arma2p.xml @@ -0,0 +1,80 @@ + + + + + arma2p + ar形式から多項式行列を展開 + + + 呼び出し手順 + [A,B,D]=arma2p(ar) + + + パラメータ + + + A,B,D + + 多項式行列 + + + + ar + + + arma保持王のScilab 'ar' tlist (armac参照). + + + + + + + 説明 + + この関数は,armax記述から多項式行列(A,B,D)を + 展開します. + + + + + + + + 参照 + + + arma + + + armax + + + armax1 + + + arsimul + + + armac + + + + diff --git a/modules/cacsd/help/ja_JP/arma2ss.xml b/modules/cacsd/help/ja_JP/arma2ss.xml new file mode 100755 index 000000000..1375ce44a --- /dev/null +++ b/modules/cacsd/help/ja_JP/arma2ss.xml @@ -0,0 +1,98 @@ + + + + + arma2ss + armaxデータ構造体を状態空間表現に変換する. + + + 呼び出し手順 + [S,Sn] = arma2ss(Ar) + S = arma2ss(Ar) + + + + パラメータ + + + Ar + + + armaxデータ構造体 (armac参照. + + + + + S + + + 離散時間状態空間データ構造体 (syslin参照. 通常入力から出力への伝達. + + + + + Sn + + + 離散時間状態空間データ構造体 ( syslin参照. ノイズ入力から出力への伝達. + + + + + + + 説明 + + [S,Sn] = arma2ss(Ar) + armaxデータ構造体を状態空間表現に変換します. + 完全なarmax伝達 F は + F=[S,Sn]により得られます. + + + + + A = [eye(2,2),[-1.5 0.1;-0.2 1.5],[0.7 -0.3;0.1 0.7]]; + B = [[0;0] [1;-1] [0.5;1.2]]; + Ar = armac(A, B, zeros(2, 2), 2, 1, 0) + [S, Sn] = arma2ss(Ar) + + + + 参照 + + + armac + + + arma + + + syslin + + + + + 作者 + + Serge Steer, INRIA + + + + 履歴 + + + 5.4.0 + arma2ss 追加. + + + + diff --git a/modules/cacsd/help/ja_JP/armac.xml b/modules/cacsd/help/ja_JP/armac.xml new file mode 100755 index 000000000..dd2291048 --- /dev/null +++ b/modules/cacsd/help/ja_JP/armac.xml @@ -0,0 +1,114 @@ + + + + + armac + armax処理の Scilab 記述 + + + 呼び出し手順 + [ar]=armac(a,b,d,ny,nu,sig) + + + パラメータ + + + a=[Id,a1,..,a_r] + + is a matrix of size (ny,r*ny) + + + + b=[b0,.....,b_s] + + 大きさ (ny,(s+1)*nu)の行列 + + + + d=[Id,d1,..,d_p] + + 大きさ (ny,p*ny)の行列 + + + + ny + + 出力yの次元 + + + + nu + + 出力uの次元 + + + + sig + + 大きさ (ny,ny)の行列 + + + + + + 説明 + + この関数は,ARMAXプロセスのtlistとして記述を作成します. + + + ar は以下のように作成されます: + + + + ar の係数は,例えば以下のように取得できます: + ar('a') . + + + + + + + + 参照 + + + arma + + + armax + + + armax1 + + + arsimul + + + arma2p + + + tlist + + + + diff --git a/modules/cacsd/help/ja_JP/armax.xml b/modules/cacsd/help/ja_JP/armax.xml new file mode 100755 index 000000000..d26a82222 --- /dev/null +++ b/modules/cacsd/help/ja_JP/armax.xml @@ -0,0 +1,170 @@ + + + + + armax + armax 同定 + + + 呼び出し手順 + [arc,la,lb,sig,resid]=armax(r,s,y,u,[b0f,prf]) + + + パラメータ + + + y + + 出力プロセス y(ny,n); ( ny: yの次元 , n : サンプルの大きさ) + + + + u + + 入力プロセス u(nu,n); ( nu: uの次元 , n : サンプルの大きさ) + + + + r and s + + 自己回帰,次数は r >=0 , s >=-1 + + + + b0f + + オプションのパラメータ. + デフォルト値は0で,係数b0を同定する必要があることを意味します. + bof=1の場合,b0は0であると仮定され,同定されません. + + + + + prf + + 表示を制御するオプションのパラメータ. prf =1 (デフォルト値)の場合, + Arma同定の過程が表示されます. + + + + + arc + + Scilab arma オブジェクト (armac参照) + + + + la + + list(a,a+eta,a-eta) ( la は a の次元1) です; ただし, + eta は標準偏差の推定値です. + a=[Id,a1,a2,...,ar],ただし,各aiは大きさ(ny,ny)の行列です. + + + + + lb + + list(b,b+etb,b-etb) (lb はbの次元1) です; ただし, + etb は標準偏差の推定値です. + b=[b0,.....,b_s] ただし,各biは大きさ(nu,nu)の行列です. + + + + + sig + + ノイズの標準偏差の推定値で, resid=[ sig*e(t0),....] です. + + + + + + 説明 + + armax はn次元ARXプロセスの係数を同定するために使用されます. + + + + ただし, e(t) は分散Iのn次元白色雑音です. + sig は nxn の行列で, A(z) および B(z)は以下のようになります: + + A(z)=1) +B(z) = b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) + ]]> + + この手法については,Eykhoffの96ページ, + "trends and progress in system identification"を参照ください. + z(t)=[y(t-1),..,y(t-r),u(t),...,u(t-s)] + および + coef= [-a1,..,-ar,b0,...,b_s] とおくと, + y(t)= coef* z(t) + sig*e(t) を記述することができ, + このアルゴリズムは, + sum_{t=1}^N ( [y(t)- coef'z(t)]^2) + を最小化 + (ただし,t0=maxi(maxi(r,s)+1,1))) )します. + + + + 例s + + + + 参照 + + + imrep2ss + + + time_id + + + arl2 + + + armax + + + frep2tf + + + + diff --git a/modules/cacsd/help/ja_JP/armax1.xml b/modules/cacsd/help/ja_JP/armax1.xml new file mode 100755 index 000000000..56a4ab4c6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/armax1.xml @@ -0,0 +1,157 @@ + + + + + armax1 + armax 同定 + + + 呼び出し手順 + [arc,resid]=armax1(r,s,q,y,u [,b0f]) + + + 引数 + + + y + + 出力信号 + + + + u + + 入力信号 + + + + r,s,q + + 自己回帰の次数, ただし, r >=0, s >=-1. + + + + b0f + + オプションのパラメータ. + デフォルト値は 0で,この場合, + 係数 b0 を同定する必要があります. + bof=1の場合, b0 は0であると仮定され,同定されません. + + + + + arc + + + "ar"型のtlistおよびフィールド a, b, d, ny, nu, sig + + + + a + + + ベクトル [1,a1,...,a_r] + + + + + b + + + ベクトル [b0,......,b_s] + + + + + d + + + ベクトル [1,d1,....,d_q] + + + + + sig + + resid=[ sig*echap(1),....,]; + + + + + + + + + 説明 + + armax1 は1次元のARXプロセスの係数を同定するために使用されます: + + A(z)=1) +B(z)= b0+b1*z+...+b_s z^s ( s=-1 => B(z)=0) +D(z)= 1+d1*z+...+d_q*z^q ( q=0 => D(z)=1) + ]]> + + この手法については,Eykhoffの96ページ, + "trends and progress in system identification"を参照ください. + + + + および + + + + とすると, + 逐次型のAR推定(RLLS)が使用されます. + この際, e(t-i)は推定値により置換されます. + q=0の場合,この手法は逐次型のarmaxに完全に一致します. + + + + + + + + 重要な警告 + バージョン4.1.2までのScilabは, + sigの2乗を戻り値 + arc.sigとして返していました. + armaモデルの表示とarmax関数について + 確認し易くするために, Scilabバージョン5.0以降では, + 戻り値arc.sigsigとなっています. + + + diff --git a/modules/cacsd/help/ja_JP/arsimul.xml b/modules/cacsd/help/ja_JP/arsimul.xml new file mode 100755 index 000000000..34f5baf38 --- /dev/null +++ b/modules/cacsd/help/ja_JP/arsimul.xml @@ -0,0 +1,113 @@ + + + + + arsimul + armaxシミュレーション + + + 呼び出し手順 + [z]=arsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=arsimul(ar,u,[up,yp,ep]) + + + + パラメータ + + + ar + + armaxプロセス. armac参照. + + + + a + + + (n,(r+1)*n)次の行列 [Id,a1,...,a_r] + + + + + b + + + (n,(s+1)*m)次の行列 [b0,......,b_s] + + + + + d + + + (n,(t+1)*n)次の行列[Id,d_1,......,d_t] + + + + + u + + 行列(m,N), エントリu(:,j)=u_jを指定 + + + + sig + + (n,n)行列 e_{k} で分散Iのn次ガウス過程 + + + + up, yp + + + 前の値を記述するオプションのパラメータ. up=[ u_0,u_{-1},...,u_{s-1}]; + yp=[ y_0,y_{-1},...,y_{r-1}]; ep=[ e_0,e_{-1},...,e_{r-1}]; + 省略された場合, 前の値はゼロであると仮定されます. + + + + + z + + + z=[y(1),....,y(N)] + + + + + + + 説明 + + 以下のn次元 armax プロセスのシミュレーションを行います, + A(z^-1) z(k)= B(z^-1)u(k) + D(z^-1)*sig*e(k) + + A(z)=Id) +B(z)= b0+b1*z+...+b_s z^s; ( s=-1 => B(z)=[]) +D(z)= Id+d1*z+...+d_t z^t; ( t=0 => D(z)=Id) + ]]> + + ただし, + z と e は R^n, u は R^mです. + + + + 手法 + + 状態空間表現が構築され, + odeにオプション "discrete"を指定することにより, + zを計算することができます. + + + diff --git a/modules/cacsd/help/ja_JP/augment.xml b/modules/cacsd/help/ja_JP/augment.xml new file mode 100755 index 000000000..14813c9e8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/augment.xml @@ -0,0 +1,162 @@ + + + + + augment + 拡張プラント + + + 呼び出し手順 + [P,r]=augment(G) + [P,r]=augment(G,flag1) + [P,r]=augment(G,flag1,flag2) + + + + パラメータ + + + G + + + 線形システム (syslin リスト), ノミナルプラント + + + + + flag1 + + + 以下の文字(大文字)の一つ: 'S' , 'R' , 'T' 'SR' , 'ST' , 'RT' 'SRT' + + + + + flag2 + + + 以下の文字の一つ: 'o' (出力'output'を意味する, これがデフォルト値) または 'i' (入力'input'を意味する). + + + + + P + + + 線形システム (syslin リスト), ``拡張''プラント + + + + + r + + + 1x2 行ベクトル, P22 = Gの次元 + + + + + + + 説明 + + flag1='SRT' (デフォルト値)の場合,以下の"完全な" 拡張プラントを返します: + + 'S' + [ 0 | I] -->'R' +P = [ 0 | G] -->'T' + [-------] + [ I | -G + ]]> + + 'S' , 'R' , 'T' + は,それぞれ,Pの最初の3つの(ブロック)行を指します. + + + flag1の中にこれらの3文字のどれかが欠けた場合, + Pの対応する行がなくなります. + + + G が状態空間形式で指定された場合, + 戻り値 Pは最小実現になります. + P は以下のように計算されます: [I,0,0;0,I,0;-I,0,I;I,0,0]*[I,-G;0,I;I,0]. + + + 入力感度関数に関連した拡張プラント,つまり, + The augmented plant associated with input sensitivity functions, namely + + 'S' (input sensitivity) + [ G | -G] -->'R' (G*input sensitivity) +P = [ 0 | I] -->'T' (K*G*input sensitivity) + [-------] + [ G | -G] + ]]> + + は,コマンド[P,r]=augment(G,flag,'i')により得られます. + 状態空間をGとすると, + この Pは以下のように計算されます: + [I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I], + よって,一般に最小実現となります. + + + 重み関数は, + P = sysdiag(W1,W2,W3,eye(G))*Pのように + Pに適当な次元の対角システムを + 左から乗じることにより得られます. + + + 感度関数はlftにより計算することができます. + + + 出力感度関数 [P,r]=augment(P,'SRT') の場合: + lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)]; + + + 入力感度関数の場合 [P,r]=augment(P,'SRT','i'): + lft(P,r,K)=[inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+G*K)]; + + + + + + + + 参照 + + + lft + + + sensi + + + + diff --git a/modules/cacsd/help/ja_JP/balreal.xml b/modules/cacsd/help/ja_JP/balreal.xml new file mode 100755 index 000000000..ed17b6db5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/balreal.xml @@ -0,0 +1,82 @@ + + + + + balreal + 平衡実現 + + + 呼び出し手順 + [slb [,U] ] = balreal(sl) + + + パラメータ + + + sl,slb + + + 線形システム (syslin リスト) + + + + + + + 説明 + + 線形システムの平衡実現 sl=[A,B,C,D]. sl + は連続時間または離散時間状態空間システムとすることができます. + sl は安定と仮定されます. + + + + は平衡実現です. + + + 戻り値slbsyslin リストです. + + + + 例s + + + + 参照 + + + ctr_gram + + + obs_gram + + + hankelsv + + + equil + + + equil1 + + + + diff --git a/modules/cacsd/help/ja_JP/bilin.xml b/modules/cacsd/help/ja_JP/bilin.xml new file mode 100755 index 000000000..ddba50a6e --- /dev/null +++ b/modules/cacsd/help/ja_JP/bilin.xml @@ -0,0 +1,80 @@ + + + + + bilin + 一般化双一次変換 + + + 呼び出し手順 + [sl1]=bilin(sl,v) + + + パラメータ + + + sl,sl1 + + + 線形システム (syslin リスト) + + + + + v + + + 4つのエントリを有する実数ベクトル (v=[a,b,c,d]) + + + + + + + 説明 + + 線形システムを状態空間形式sl=syslin(dom,A,B,C,D) + (syslin リスト) + で指定すると, + sl1=bilin(sl,v) は行列[A1,B1,C1,D1]を有する + 線形システムsl1を返します. + ここで,行列[A1,B1,C1,D1]は + その伝達関数H1(s)=C1*inv(s*eye()-A1)*B1+D1が + H(z)=C*inv(z*eye()-A)*B+Dにおいて + zz=(a*s+b)/(c*s+d)で置換することにより + 得られたものです. + w=bilin(bilin(w,[a,b,c,d]),[d,-b,-c,a])の関係があります. + + + + + + + + 参照 + + + horner + + + cls2dls + + + + diff --git a/modules/cacsd/help/ja_JP/bstap.xml b/modules/cacsd/help/ja_JP/bstap.xml new file mode 100755 index 000000000..4000df47b --- /dev/null +++ b/modules/cacsd/help/ja_JP/bstap.xml @@ -0,0 +1,68 @@ + + + + + bstap + ハンケル近似 + + + 呼び出し手順 + [Q]=bstap(Sl) + + + パラメータ + + + sl + + + 線形システム (syslin リスト)で, + 連続時間,非安定と仮定されます. + + + + + Q + + + Slの最良の安定近似 (syslin リスト). + + + + + + + 説明 + + 線形システムSlの最良の近似Qを + 計算します. + + + ただし, + + + ||T|| + + + は,Slに関連するハンケル演算子のH無限大ノルムです. + + + + 参照 + + + syslin + + + + diff --git a/modules/cacsd/help/ja_JP/cainv.xml b/modules/cacsd/help/ja_JP/cainv.xml new file mode 100755 index 000000000..2f4eef171 --- /dev/null +++ b/modules/cacsd/help/ja_JP/cainv.xml @@ -0,0 +1,189 @@ + + + + + cainv + abinvの双対 + + + 呼び出し手順 + [X,dims,J,Y,k,Z]=cainv(Sl,alfa,beta,flag) + + + パラメータ + + + Sl + + + 行列 [A,B,C,D]を含むsyslin リスト. + + + + + alfa + + 実数の数値またはベクトル (複素数となる場合もある,閉ループ極の位置) + + + + beta + + 実数の数値またはベクトル (複素数となる場合もある,閉ループ極の位置) + + + + flag + + + (オプションの) 文字列 'ge' (default)または 'st' または 'pp' + + + + + X + + 大きさ nx (状態空間の次元)の直交行列. + + + + dims + + + 整数行ベクトル dims=[nd1,nu1,dimS,dimSg,dimN] (5エントリ + , 非降順). + flag='st' + (もしくは'pp')の場合, dims は 4 + (もしくは3)個の要素を有します. + + + + + J + + 実数行列 (出力) + + + + Y + + 大きさnyの直交行列 (出力空間の次元). + + + + k + + + 整数 (Slのランク) + + + + + Z + + + 正則な線形システム (syslin リスト) + + + + + + + 説明 + + cainv は + (状態空間および出力状態応答の)基底 (X,Y)を見つけます. + 基底を (X,Y)とする行列 Slは以下のように表示されます: + + + + The partition of Xの分割は + ベクトルdims=[nd1,nu1,dimS,dimSg,dimN]により定義され, + Yの分割はkにより定義されます. + + + A11(nd1 x nd1) の固有値は不安定です. + A22 (nu1-nd1 x nu1-nd1)の固有値は安定です. + + + 対 (A33, C13) (dimS-nu1 x dimS-nu1, k x dimS-nu1)は + 可観測, A33の固有値は alfaに設定されます. + + + 行列 A44 (dimSg-dimS x dimSg-dimS) は不安定です. + 行列 A55 (dimN-dimSg,dimN-dimSg) は安定です. + + + 対 (A66,C26) (nx-dimN x nx-dimN) は可観測, + A66の固有値はbetaに設定されます. + + + Xの最初のdimS列は, + Im(B)を含む不変部分空間 S= smallest (C,A) に広がり, + Xの最初のdimSg列は, + Slの最大"相補可検出部分空間" Sg に広がります. + + + Xの最初のdimN列は, + Sl の最大"相補可観測部分空間"に広がります. + (B(ker(D))=0の場合,dimS=0) + + + flag='st' が指定された場合, + 5個の分割ブロック行列が返され, + dimsは4つの要素を有します. + flag='pp'が指定された場合, + 4個の分割ブロックが返されます(abinv参照). + + + この関数は次のように未知入力オブザーバを計算する際に使用することができます: + + + + + 参照 + + + abinv + + + dt_ility + + + ui_observer + + + + diff --git a/modules/cacsd/help/ja_JP/calfrq.xml b/modules/cacsd/help/ja_JP/calfrq.xml new file mode 100755 index 000000000..3f4193c27 --- /dev/null +++ b/modules/cacsd/help/ja_JP/calfrq.xml @@ -0,0 +1,116 @@ + + + + + calfrq + 離散的な周波数応答 + + + 呼び出し手順 + [frq,bnds,split]=calfrq(h,fmin,fmax) + + + パラメータ + + + h + + 状態空間または伝達関数表現の線形システム + ( + + syslin + + 参照) + + + + + fmin,fmax + + 実数スカラー (周波数範囲の下限/上限,単位:Hz) + + + + frq + + 行ベクトル (周波数間隔の離散値) + + + + bnds + + + ベクトル [Rmin Rmax Imin Imax], + ただし, Rmin およびRmax は + 周波数応答の実部の下限と上限, + Imin および Imax は + 周波数応答の虚部の下限と上限です. + + + + + split + + 周波数分割点の添え字のベクトル + + + + + + 説明 + + 周波数応答を離散的に取得します; frq は + [fmin,fmax]の範囲で, + 周波数応答における極値がうまく表現されるように + 離散化したものです. + + + frq(split(k)-1)frq(split(k)) (k>1)の + 間には特異となる周波数があります. + + + + + + + + 参照 + + + bode + + + black + + + nyquist + + + freq + + + repfreq + + + logspace + + + + diff --git a/modules/cacsd/help/ja_JP/canon.xml b/modules/cacsd/help/ja_JP/canon.xml new file mode 100755 index 000000000..859509413 --- /dev/null +++ b/modules/cacsd/help/ja_JP/canon.xml @@ -0,0 +1,127 @@ + + + + + canon + 可制御正準形 + + + 呼び出し手順 + [Ac,Bc,U,ind]=canon(A,B) + + + パラメータ + + + Ac,Bc + + 正準形 + + + + U + + カレントの基底 (正方正則行列) + + + + ind + + 整数ベクトル, 可制御性の添え字 + + + + + + 説明 + + 対(A,B)の可制御正準形を出力します. + + + Ac=inv(U)*A*U, Bc=inv(U)*B + + + ベクトル ind は, + ペンシル[sI - A , B]epsilon_iの + 添え字(降順)から作成されます. + 例えば,ind=[3,2]の場合, + Ac および Bc は以下のようになります: + + + + (A,B) が可制御の場合,適当なFを + 選択することにより,Ac+Bc*F のエントリ + *を任意の値に設定(極配置)することができます. + + + + + ind=[3.2]; +index=1;for k=1:size(ind,'*')-1,index=[index,1+sum(ind(1:k))];end +Acstar=Ac(index,:);Bcstar=Bc(index,:); +s=poly(0,'s'); +p1=s^3+2*s^2-5*s+3;p2=(s-5)*(s-3); +//p1 と p2 は3,2次の閉ループ多項式の目標値 +c1=coeff(p1);c1=c1($-1:-1:1);c2=coeff(p2);c2=c2($-1:-1:1); +Acstardesired=[-c1,0,0;0,0,0,-c2]; +//Acstardesired(index,:) は,pol=p1*p2のコンパニオン行列 +F=Bcstar\(Acstardesired-Acstar); //フィードバックゲイン +Ac+Bc*F // コンパニオン形式 +spec(A+B*F/U) // F/U は元の基底のゲイン行列. + ]]> + + + 参照 + + + obsv_mat + + + cont_mat + + + ctr_gram + + + contrss + + + ppol + + + contr + + + stabil + + + + diff --git a/modules/cacsd/help/ja_JP/ccontrg.xml b/modules/cacsd/help/ja_JP/ccontrg.xml new file mode 100755 index 000000000..6fdb2be9a --- /dev/null +++ b/modules/cacsd/help/ja_JP/ccontrg.xml @@ -0,0 +1,96 @@ + + + + + ccontrg + H無限大コントローラの中央解 + + + 呼び出し手順 + [K]=ccontrg(P,r,gamma); + + + 引数 + + + P + + + syslin リスト (状態空間表現の線形システム) + + + + + r + + + 1x2 行ベクトル, Pの2,2 区域の次元 + + + + + gamma + + 実数 + + + + + + 説明 + + 状態空間形式の一般標準問題の中央解であるコントローラの実現 K + を返します. + + + gamma > gopt (gamitgの出力)が必要なことに注意してください + + + P は,以下のようなプラント実現のパラメータ (A,B,C,D) + (syslin リスト)を有します. + + + + r(1) および r(2) は, + D22 の次元(行 x 列)です. + + + + 参照 + + + gamitg + + + h_inf + + + + + 履歴 + + + 5.4.0 + + Sl は連続時間系の線形動的システムであることが確認されるようになりました. + この修正は, + このcommit + により行われました. + + + + + diff --git a/modules/cacsd/help/ja_JP/cls2dls.xml b/modules/cacsd/help/ja_JP/cls2dls.xml new file mode 100755 index 000000000..5bb18bf11 --- /dev/null +++ b/modules/cacsd/help/ja_JP/cls2dls.xml @@ -0,0 +1,75 @@ + + + + + cls2dls + 双線形変換 + + + 呼び出し手順 + [sl1]=cls2dls(sl,T [,fp]) + + + 引数 + + + sl,sl1 + + + 線形システム (syslin リスト) + + + + + T + + 実数, サンプリング周期 + + + + fp + + プリワープ周波数 (単位: Hz) + + + + + + 説明 + + sl=[A,B,C,D] (syslin リスト), + 連続時間システム + cls2dls は双線形変換s=(2/T)*(z-1)/(z+1) + により得られたサンプル値システムを返します. + + + + + + + + 参照 + + + horner + + + + diff --git a/modules/cacsd/help/ja_JP/colinout.xml b/modules/cacsd/help/ja_JP/colinout.xml new file mode 100755 index 000000000..926a15b86 --- /dev/null +++ b/modules/cacsd/help/ja_JP/colinout.xml @@ -0,0 +1,88 @@ + + + + + colinout + インナアウタ分解 + + + 呼び出し手順 + [Inn,X,Gbar]=colinout(G) + + + パラメータ + + + G + + + 線形システム (syslin リスト) [A,B,C,D] + + + + + Inn + + + インナファクタ (syslin リスト) + + + + + Gbar + + + アウタファクタ (syslin リスト) + + + + + X + + + G の行圧縮(syslin リスト) + + + + + + + 説明 + + l x p (l<=p)のG =[A,B,C,D]のインナアウタ分解(及び列圧縮). + + + G は虚軸上にゼロを有さない + 横長(l<=p)で, + D 行列が列フルランクであると仮定します. + + + Gbarが安定であるために, + G も安定である必要があります. + + + rowinoutの双対です. + + + + 参照 + + + syslin + + + rowinout + + + + diff --git a/modules/cacsd/help/ja_JP/colregul.xml b/modules/cacsd/help/ja_JP/colregul.xml new file mode 100755 index 000000000..335766722 --- /dev/null +++ b/modules/cacsd/help/ja_JP/colregul.xml @@ -0,0 +1,77 @@ + + + + + colregul + 無限大にある極及びゼロを取り除く + + + 呼び出し手順e + [Stmp,Ws]=colregul(Sl,alfa,beta) + + + パラメータ + + + Sl,Stmp + + + syslinリスト + + + + + alfa,beta + + 実数 (新しい極およびゼロの位置) + + + + + + 説明 + + Stmp=Sl*Wsがプロパーで + D行列がフルランクとなるようなプリフィルタWs + を計算します. + + + Slの無限大にある極はalfaに移動されます. + + + Slの無限大にあるゼロはbetaに移動されます. + + + Sl は, + 多項式D行列が付属する可能性がある状態空間表現の + 左可逆線形システム(syslin リスト)であると仮定されます. + + + + 参照 + + + invsyslin + + + inv + + + rowregul + + + rowshuff + + + + diff --git a/modules/cacsd/help/ja_JP/cont_mat.xml b/modules/cacsd/help/ja_JP/cont_mat.xml new file mode 100755 index 000000000..46c9dd1e6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/cont_mat.xml @@ -0,0 +1,71 @@ + + + + + cont_mat + 可制御行列 + + + 呼び出しの手順 + Cc=cont_mat(A,B) + Cc=cont_mat(sl) + + + + パラメータ + + + a,b + + 2個の適当な次元の実数行列 + + + + sl + + + 線形システム (syslin リスト) + + + + + + + 説明 + + cont_mat は、行列の組 A,B + (システムsl=[A,B,C,D]の応答)に + 関する可制御行列を返す. + + + + + See Also + + + ctr_gram + + + contr + + + canon + + + st_ility + + + + diff --git a/modules/cacsd/help/ja_JP/contr.xml b/modules/cacsd/help/ja_JP/contr.xml new file mode 100755 index 000000000..9c48aabb8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/contr.xml @@ -0,0 +1,157 @@ + + + + + contr + 可制御性, 可制御部分空間, 階段化 + + + 呼び出しの手順 + n=contr(A,B [,tol]) + [n,U]=contr(A,B [,tol]) + [n,U,ind,V,Ac,Bc]=contr(A,B,[,tol]) + + + + パラメータ + + + A, B + + 実数行列 + + + + tol + + 虚数パラメータ + + + + n + + 可制御部分空間の次元. + + + + U + + + (A,B)を正準形に変換する直交変換基底. + + + + + V + + 制御空間の基底を変更する直交行列. + + + + Ac + + + ブロックヘッセ行列 Ac=U'*A*U + + + + + Bc + + + is U'*B*V. + + + + + ind + + + 可制御インデックス + (サブスペース B, B+A*B,...=ind(1),ind(1)+ind(2),...の次元) + を有するp整数ベクトル + + + + + + + 説明 + + [n,[U]]=contr(A,B,[tol]) は + (A,B) の可制御形式を与える. + (dx/dt = A x + B u または + x(n+1) = A x(n) +b u(n)). + U の最初の n 列は、 + 可制御サブスペースの基底を構成する. + + + V=U(:,1:n)の場合, + V'*A*VV'*B は + (A,B) の可制御部を与える. + + + (Bc, Ac) は階段化可制御形式である. + + + + + 参照 + + Slicot ライブラリ (SCI/modules/cacsd/src/slicotのab01od参照). + + + + + + + + 参照 + + + canon + + + cont_mat + + + unobs + + + stabil + + + st_ility + + + + diff --git a/modules/cacsd/help/ja_JP/contrss.xml b/modules/cacsd/help/ja_JP/contrss.xml new file mode 100755 index 000000000..96b999825 --- /dev/null +++ b/modules/cacsd/help/ja_JP/contrss.xml @@ -0,0 +1,76 @@ + + + + + contrss + 可制御部分 + + + 呼び出し手順 + [slc]=contrss(sl [,tol]) + + + パラメータ + + + sl + + + 線形システム (syslin リスト) + + + + + tol + + + 可制御の閾値 (contr参照). デフォルト値は sqrt(%eps). + + + + + + + 説明 + + 状態空間形式の + 線形システムsl = (A,B,C,D)の + 可制御部分を返します. + + + + + + + + 参照 + + + cont_mat + + + ctr_gram + + + cont_frm + + + contr + + + + diff --git a/modules/cacsd/help/ja_JP/copfac.xml b/modules/cacsd/help/ja_JP/copfac.xml new file mode 100755 index 000000000..d39852987 --- /dev/null +++ b/modules/cacsd/help/ja_JP/copfac.xml @@ -0,0 +1,106 @@ + + + + + copfac + 連続時間動的システムの右既約分解 + + + 呼び出し手順 + [N,M,XT,YT]=copfac(G [,polf,polc,tol]) + + + パラメータ + + + G + + + 連続時間線形動的システム + + + + + polf, polc + + + それぞれ,XTYTの極と, + NMの極 (デフォルト値=-1). + + + + + tol + + + 安定な極を検出ための実数閾値 (デフォルト値 100*%eps) + + + + + N,M,XT,YT + + + syslin連続時間線形動的システム + + + + + + + 説明 + + [N,M,XT,YT]=copfac(G,[polf,polc,[tol]]) は, + Gの右既約分解を返します. + + + G= N*M^-1, ただし, + NMは安定で,プロパーで,右既約です. + (すなわち, [N M] は安定な左可逆) + + + XTYT は以下を満たします: + + + [XT -YT].[M N]' = eye (ベズー恒等式) + + + G は可安定で可検出であると仮定します. + + + + 参照 + + + syslin + + + lcf + + + + + 履歴 + + + 5.4.0 + + Sl は連続時間線形動的システムについて + 確認されるようになりました. + この変換は + コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/csim.xml b/modules/cacsd/help/ja_JP/csim.xml new file mode 100755 index 000000000..486d89edc --- /dev/null +++ b/modules/cacsd/help/ja_JP/csim.xml @@ -0,0 +1,224 @@ + + + + + csim + 線形システムのシミュレーション (時間応答) + + + 呼び出し手順 + [y [,x]]=csim(u,t,sl,[x0 [,tol]]) + + + 引数 + + + u + + 関数, リストまたは文字列 (制御入力) + + + + t + + + 時間を指定するための実数ベクトルで、t(1) は + 初期時間 (x0=x(t(1)))を表す. + + + + + sl + + + 連続時間系のsyslinリスト (SIMO線形システム) + + + + + y + + + y=[y(t(i)], i=1,..,n となる行列 + + + + + x + + + x=[x(t(i)], i=1,..,n となる行列 + + + + + tol + + 2つの要素 [atol rtol] からなるベクトルであり、それぞれ + ODEソルバ(ode参照)の絶対許容誤差および相対許容誤差を定義する + + + + + + + 説明 + + 線形制御系 slのシミュレーションを行います. + ただし,slは, + syslinリストで表された連続時間システムとします. + + + u は制御入力,x0 は状態量初期値です. + + + y は出力,x は状態量です. + + + 制御入力は以下のいずれかとすることができます: + + + 1. 関数 : [inputs]=u(t) + + + 2. リスト : list(ut,parameter1,....,parametern). + ただし、inputs=ut(t,parameter1,....,parametern) (ut は関数) + + + 3. インパルス応答の計算を表す文字列 "impuls" + (ここで,slの入力は単一でx0=0が必要). + 直達項を有する系の場合, t=0における無限インパルスは無視されます. + + + 4. ステップ応答の計算を表す文字列 "step" + (ここで、slの入力は単一で,x0=0が必要) + + + 5. t の各値に対応する u の値を指定するベクトル. + + + + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,tf2ss(s)*w))',0*t']) + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,w))',0*t']) + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('step',t,w))',0*t']) + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + plot2d([t',t'],[(csim('impulse',t,tf2ss(1/s)*w))',0*t']) + + + + s=poly(0,'s'); + rand('seed',0); + w=ssrand(1,1,3); + w('A')=w('A')-2*eye(); + t=0:0.05:5; + deff('u=timefun(t)','u=abs(sin(t))') + clf();plot2d([t',t'],[(csim(timefun,t,w))',0*t']) + + + + 参照 + + + syslin + + + dsimul + + + flts + + + ltitr + + + rtitr + + + ode + + + impl + + + + diff --git a/modules/cacsd/help/ja_JP/ctr_gram.xml b/modules/cacsd/help/ja_JP/ctr_gram.xml new file mode 100755 index 000000000..ef554057d --- /dev/null +++ b/modules/cacsd/help/ja_JP/ctr_gram.xml @@ -0,0 +1,93 @@ + + + + + ctr_gram + 可制御グラミアン + + + 呼び出し手順 + [Gc]=ctr_gram(A,B [,dom]) + [Gc]=ctr_gram(sl) + + + + パラメータ + + + A,B + + 適当な次元の実数行列 + + + + dom + + + 文字 ('c' (デフォルト値) または 'd') + + + + + sl + + + 線形システム, syslin リスト + + + + + + + 説明 + + (A,B) または slの + 可制御グラミアン (syslin 線形システム). + + + dom 文字は時間領域を次のように指定します : 離散時間システムの場合 "d",連続時間システムの場合 "c" (デフォルト). + + + + + + + + 参照 + + + equil1 + + + obs_gram + + + contr + + + cont_mat + + + cont_frm + + + contrss + + + + diff --git a/modules/cacsd/help/ja_JP/damp.xml b/modules/cacsd/help/ja_JP/damp.xml new file mode 100755 index 000000000..57e44989a --- /dev/null +++ b/modules/cacsd/help/ja_JP/damp.xml @@ -0,0 +1,186 @@ + + + + + damp + 固有周波数およびダンピング乗数. + + + 呼び出し手順 + + [wn,z] = damp(sys) + [wn,z] = damp(P [,dt]) + [wn,z] = damp(R [,dt]) + + + + パラメータ + + + sys + + + 線形ダイナミクスシステム + (syslin参照). + + + + + P + + + 多項式配列. + + + + + P + + + 実数または複素数の浮動小数点数の配列. + + + + + dt + + + 非負のスカラー, デフォルト値は 0. + + + + + wn + + + 昇順の浮動小数点数のベクトル:固有周波数 [rad/s]. + + + + + z + + + 浮動小数点数のベクトル: ダンピング乗数. + + + + + + + 説明 + + 複素極を有する分母の二次連続時間伝達関数は + s^2+2*z*wn*s+wn^2のように記述できます。 + ただし,z はダンピング乗数, wn + は固有周波数です. + + + sys が連続時間系の場合, + [wn,z] = damp(sys) は + 線形ダイナミクスシステムsysの極の + 固有周波数 \omega_n(rad/s)をwn に + ダンピング係数 \xizに + 返します.配列 wn と + zは周波数に関して昇順となります. + + + sys が離散時間系の場合, + [wn,z] = damp(sys) は + sysの連続時間系で等価な極の + 固有周波数 \omega_n(rad/s)をwn に + ダンピング乗数 \xizに + 返します.配列 wn と + zは周波数に関して昇順となります. + + + [wn,z] = damp(P) は, + 配列 Pに保存された多項式の根の集合の + 固有周波数 \omega_n(rad/s) をwn, + ダンピング乗数 \xizに返します. + dt が指定され, 0でない場合, + その根はまず連続時間系の等価な根に変換されます. + 配列 wn およびz は + 周波数に関して昇順となります. + + + [wn,z] = damp(R) は, + 配列Rに保存された根の集合の + 固有周波数 \omega_n(rad/s)をwn に + ダンピング乗数 \xizに + 返します. + dt が指定され, 0でない場合, + その根はまず連続時間系の等価な根に変換されます. + 配列 wn(i) およびz(i) は + それぞれR(i)の固有周波数およびダンピング乗数と + なります. + + + + + + + 以下の例は二次系の周波数応答に関するダンピング乗数の感度を + 示すものです. + + + + + s=%s; + wn=1; + clf(); + Z=[0.95 0.7 0.5 0.3 0.13 0.0001]; + for k=1:size(Z,'*') + z=Z(k) + H=syslin('c',1+5*s+10*s^2,s^2+2*z*wn*s+wn^2); + gainplot(H,0.01,1) + p=gce();p=p.children; + p.foreground=k; + end + title("$\frac{1+5 s+10 s^2}{\omega_n^2+2\omega_n\xi s+s^2}, \quad \omega_n=1$") + legend('$\xi='+string(Z)+'$') + plot(wn/(2*%pi)*[1 1],[0 70],'r') + + + + 根の集合の固有周波数とダンピング比を計算します: + + + + + 参照 + + + spec + + + roots + + + + diff --git a/modules/cacsd/help/ja_JP/dcf.xml b/modules/cacsd/help/ja_JP/dcf.xml new file mode 100755 index 000000000..39d78e37c --- /dev/null +++ b/modules/cacsd/help/ja_JP/dcf.xml @@ -0,0 +1,78 @@ + + + + + dcf + 2重既約分解 + + + 呼び出し手順 + [N,M,X,Y,NT,MT,XT,YT]=dcf(G,[polf,polc,[tol]]) + + + パラメータ + + + G + + + syslin リスト (連続時間線形システム) + + + + + polf, polc + + + それぞれ,XTYTの極と, + NMの極 (デフォルト値=-1). + + + + + tol + + + 安定な極を検出するための閾値(実数) (デフォルト値 100*%eps). + + + + + N,M,XT,YT,NT,MT,X,Y + + + syslin リストで表された線形システム + + + + + + + 説明 + + は2重既約分解により,8個の安定なシステム(N,M,X,Y,NT,MT,XT,YT) + を返します. + + + G は可安定で可検出である必要があります. + + + + 参照 + + + copfac + + + + diff --git a/modules/cacsd/help/ja_JP/ddp.xml b/modules/cacsd/help/ja_JP/ddp.xml new file mode 100755 index 000000000..6a319ddcc --- /dev/null +++ b/modules/cacsd/help/ja_JP/ddp.xml @@ -0,0 +1,172 @@ + + + + + ddp + 外乱デカップリング + + + 呼び出し手順 + [Closed,F,G]=ddp(Sys,zeroed,B1,D1) + [Closed,F,G]=ddp(Sys,zeroed,B1,D1,flag,alfa,beta) + + + + パラメータ + + + Sys + + + 行列 (A,B2,C,D2)を含むsyslin リスト + + + + + zeroed + + + 整数ベクトル, ゼロ化するSysの出力の添え字. + + + + + B1 + + real matrix + + + + D1 + + + 実数行列. B1 および D1 は同数の列を有します. + + + + + flag + + + 文字列 'ge' または 'st' (デフォルト) または 'pp'. + + + + + alpha + + 実数または複素数のベクトル (閉ループ極の位置) + + + + beta + + r実数または複素数のベクトル (閉ループ極の位置) + + + + + + 説明 + + 完全な外乱デカップリング(出力ゼロ化アルゴリズム). + 線形システムとゼロ化する出力の部分集合 z を指定すると, + wからzへの伝達関数がゼロとなるようなSysの入力wを + 明らかにします. + Sys は, + 1入力,2出力の線形システム {A,B2,C,D2} ( すなわち Sys: u-->(z,y) ), + Sys + およびB1,D1で定義される以下のシステムの一部です: + + + + Sysの出力は(z,y)に分割され,zはゼロ化されます. + すなわち, 行列 CとD2は次のようになります: + + + + 行列 D1 は同様に + D11=D1(zeroed,:)として + D1=[D11;D21]のように分割されます. + 制御則は u=Fx+Gw で, + 閉ループシステム w-->z は以下のように定義されます. + + + + この式は,ゼロ伝達関数を有します. + + + flag='ge'は安定性拘束条件を有しません. + flag='st' : 安定な閉ループシステムを探します (A+B2*F 安定). + flag='pp' : A+B2*Fの固有値を alfa および + betaに割付ます. + + + 閉ループは閉ループしすてむw-->yの実現です. + + + + 安定性 (resp. 極配置) は(A,B2)が可安定(もしくは可制御性)であることを必要とします. + + + + + + + + 参照 + + + abinv + + + ui_observer + + + + diff --git a/modules/cacsd/help/ja_JP/dhinf.xml b/modules/cacsd/help/ja_JP/dhinf.xml new file mode 100755 index 000000000..59c769665 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dhinf.xml @@ -0,0 +1,235 @@ + + + + + dhinf + 離散時間システムのH無限大設計 + + + 呼び出し手順 + [AK,BK,CK,DK,(RCOND)] = dishin(A,B,C,D,ncon,nmeas,gamma) + + + パラメータ + + + A + + n x n システム状態行列 A. + + + + B + + n x m システム入力行列 B. + + + + C + + p x n システム出力行列 C. + + + + D + + p x m システム行列 D. + + + + ncon + + 制御入力の数. m >= ncon >= 0, p-nmeas >= ncon. + + + + nmeas + + 観測量の数. p >= nmeas >= 0, m-ncon >= nmeas. + + + + gamma + + + H無限大 設計で使用されるパラメータ gamma. + gammaはコントローラが存在できるよう十分に大きいことが仮定されます. + gamma >= 0. + + + + + AK + + n x n コントローラ状態行列 AK. + + + + BK + + n x nmeas コントローラ入力行列 BK. + + + + CK + + ncon x n コントローラ出力行列 CK. + + + + DK + + ncon x nmeas コントローラ行列 DK. + + + + RCOND + + + 行列の条件数の逆数の推定値を含むベクトル. + この値は, + コントローラを計算する際に解くリカッチ方程式の条件数の逆数として推定 + されるものです. + ([1]のアルゴリズムに関する記述を参照.) + + + + RCOND + + (1) は行列 R3の条件数の逆数を含む, + + + + RCOND + + (2) は行列 R1 - R2'*inv(R3)*R2の条件数の逆数を含む + + + + RCOND + + (3) は行列 V21の条件数の逆数を含む, + + + + RCOND + + (4) は行列St3の条件数の逆数を含む, + + + + RCOND + + (5) は行列 V12の条件数の逆数を含む, + + + + RCOND + + (6) は行列 Im2 + DKHAT*D22の条件数の逆数を含む, + + + + RCOND + + (7) はXリカッチ方程式の条件数の逆数を含む, + + + + RCOND + + (8) はZリカッチ方程式の条件数の逆数を含む. + + + + + + + + + 説明 + + [AK,BK,CK,DK,(RCOND)] = dhinf(A,B,C,D,ncon,nmeas, gamma) + H無限大 (準)最適 n状態コントローラ行列 + + + + を以下の離散時間システム用に計算する場合, + + + + gamma の値を指定すると, コントローラの計算に使用されます. + ただし, B2 の列数は制御入力の数(ncon)と同じ, + C2の行数は観測量の数(nmeas)と同じとなります. + + + + 参考文献 + + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of linear discrete-time control systems. Report99-8, Department of Engineering, Leicester University, April 1999. + + + + + + + + 参照 + + + hinf + + + h_inf + + + + diff --git a/modules/cacsd/help/ja_JP/dhnorm.xml b/modules/cacsd/help/ja_JP/dhnorm.xml new file mode 100755 index 000000000..30c13792c --- /dev/null +++ b/modules/cacsd/help/ja_JP/dhnorm.xml @@ -0,0 +1,77 @@ + + + + + dhnorm + 離散 H無限大ノルム + + + 呼び出し手順 + hinfnorm=dhnorm(sl,[tol],[normax]) + + + パラメータ + + + sl + + + 状態空間システム (syslin リスト) (離散時間) + + + + + tol + + + 二分探索法の許容誤差, デフォルト値は 0.01 + + + + + normax + + + ノルムの上界, デフォルト値は 1000 + + + + + hinfnorm + + + Slの離散無限大ノルム + + + + + + + 説明 + + 状態空間システムの離散時間無限大ノルムを出力します + (最大特異値が単位円上にある周波数の最大値). + + + + 参照 + + + h_norm + + + linfn + + + + diff --git a/modules/cacsd/help/ja_JP/dscr.xml b/modules/cacsd/help/ja_JP/dscr.xml new file mode 100755 index 000000000..83cfd55fc --- /dev/null +++ b/modules/cacsd/help/ja_JP/dscr.xml @@ -0,0 +1,99 @@ + + + + + dscr + 線形システムの離散化 + + + 呼び出し手順 + [sld [,r]]=dscr(sl,dt [,m]) + + + パラメータ + + + sl + + + [A,B,C,D]を含むsyslin リスト. + + + + + dt + + 実数, サンプル周期 + + + + m + + 入力ノイズの共分散 (連続時間)(デフォルト値=0) + + + + r + + + mが入力として指定された場合の出力ノイズの共分散 (離散時間) + + + + + sld + + + サンプル値 (離散時間) 線形システム, syslin リスト + + + + + + + 説明 + + 線形システムの離散化. + sl は次のような連続時間システムです: + + + dx/dt=A*x+B*u (+ noise). + + + sldslを + サンプルすることにより得られる離散時間システムです. + + + + + + + + 参照 + + + syslin + + + flts + + + dsimul + + + + diff --git a/modules/cacsd/help/ja_JP/dsimul.xml b/modules/cacsd/help/ja_JP/dsimul.xml new file mode 100755 index 000000000..dda748b55 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dsimul.xml @@ -0,0 +1,87 @@ + + + + + dsimul + 離散時間状態空間シミュレーション + + + 呼び出し手順 + y=dsimul(sl,u) + + + パラメータ + + + sl + + + 離散時間線形システムを含むsyslin リスト + + + + + u + + 適当な次元の実数行列 + + + + y + + + slの出力 + + + + + + + 説明 + + ユーティリティ関数. + [A,B,C,D]=abcd(sl) および x0=sl('X0')の時, + dsimuly=C*ltitr(A,B,u,x0)+D*u, + すなわち,入力uに対する slの時間応答 + を返します. + sl は状態空間形式 (syslin リスト)であると + 仮定されます. + + + + + + + + 参照 + + + syslin + + + flts + + + ltitr + + + + diff --git a/modules/cacsd/help/ja_JP/dt_ility.xml b/modules/cacsd/help/ja_JP/dt_ility.xml new file mode 100755 index 000000000..3e21e2a67 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dt_ility.xml @@ -0,0 +1,129 @@ + + + + + dt_ility + 可検出性テスト + + + 呼び出し手順 + [k, [n [,U [,Sld ] ] ]]=dt_ility(Sl [,tol]) + + + パラメータ + + + Sl + + + 線形システム (syslin リスト) + + + + + n + + 不可観測な部分空間の次元 + + + + k + + + 不安定かつ不可観測な部分空間の次元 ( k<=n). + + + + + U + + 直交行列 + + + + Sld + + + 線形システム (syslin リスト) + + + + + tol + + 可制御性テストの閾値. + + + + + + 説明 + + 状態空間表現の線形システム + slの可検出性テスト. + U は基数で, + その最初のk列にSlの + 不安定かつ不可検出な部分空間 + ((A,C)の不可観測な部分空間と + Aの不安定な部分空間の共通集合) + が広がります. + 可検出性は,k=0を意味します. + + + Sld = (U'*A*U,U'*B,C*U,D) は, + Sl=(A,B,C,D)の"可検出な部分" を + 以下のように表示します. + + + + (A33,C3)は可観測 (nx-n次), + A22 は可安定, + ( n-k次) , + A11 は不可安定 ( k次)です. + + + + + + + + 参照 + + + contr + + + st_ility + + + unobs + + + stabil + + + + diff --git a/modules/cacsd/help/ja_JP/dtsi.xml b/modules/cacsd/help/ja_JP/dtsi.xml new file mode 100755 index 000000000..abe515d62 --- /dev/null +++ b/modules/cacsd/help/ja_JP/dtsi.xml @@ -0,0 +1,118 @@ + + + + + dtsi + + 連続時間動的システムの安定な非安定分解 + + + + 呼び出し手順 + [Ga,Gs,Gi]=dtsi(G,[tol]) + + + 引数 + + + G + + + 連続時間線形システム. + + + + + Ga + + + 連続時間線形システム,非安定で厳密にプロパー + + + + + Gs + + + 連続時間線形システム,安定で厳密にプロパー + + + + + Gi + + 実数行列 (またはプロパーでないシステムの多項式行列) + + + + tol + + 安定な極を検出するためのオプションのパラメータ. + デフォルト値: 100*%eps + + + + + + + 説明 + + 次のようなGの安定な非安定分解を返します: + + + G= Ga + Gs + Gi, (Gi = G(oo)) + + + G は状態空間形式または伝達関数形式とすることができます. + + + + 参照 + + + syslin + + + pbig + + + psmall + + + pfss + + + + + + + + + 履歴 + + + 5.4.0 + + Slは,連続時間線形システムとして確認されます. + この修正は, コミット により導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/equil.xml b/modules/cacsd/help/ja_JP/equil.xml new file mode 100755 index 000000000..d7a3149eb --- /dev/null +++ b/modules/cacsd/help/ja_JP/equil.xml @@ -0,0 +1,74 @@ + + + + + equil + 対称行列の対の平衡 + + + 呼び出し手順 + T=equil(P,Q) + + + パラメータ + + + P, Q + + 正定対称行列 + + + + T + + 正則行列 + + + + + + 説明 + + equil は次のような t を返します: + + + T*P*T' および + inv(T)'*Q*inv(T) は + 共に対角行列で正定行列です. + + + + + + + + 参照 + + + equil1 + + + balanc + + + ctr_gram + + + + diff --git a/modules/cacsd/help/ja_JP/equil1.xml b/modules/cacsd/help/ja_JP/equil1.xml new file mode 100755 index 000000000..de2e4487a --- /dev/null +++ b/modules/cacsd/help/ja_JP/equil1.xml @@ -0,0 +1,101 @@ + + + + + equil1 + 行列の平衡 (非負定) の組 + + + 呼び出し手順 + [T [,siz]]=equil1(P,Q [,tol]) + + + パラメータ + + + P, Q + + 非負定の対称行列 + + + + T + + 正則行列 + + + + siz + + 3要素の整数ベクトル + + + + tol + + 閾値 + + + + + + 説明 + + equil1 は次のような t を計算します: + + + P1=T*P*T' および Q1=inv(T)'*Q*inv(T) + は以下のようになります: + + + P1 = diag(S1,S2,0,0) および Q1 = diag(S1,0,S3,0) + ただし, + S1,S2,S3 は各次元がsiz=[n1,n2,n3]の正定対角行列です. + + + tol はSVDのランク定義の閾値です. + + + + + + + + 参照 + + + balreal + + + minreal + + + equil + + + hankelsv + + + + diff --git a/modules/cacsd/help/ja_JP/feedback.xml b/modules/cacsd/help/ja_JP/feedback.xml new file mode 100755 index 000000000..98f4075c6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/feedback.xml @@ -0,0 +1,98 @@ + + + + + feedback + フィードバック操作 + + + 呼び出し手順 + Sl=Sl1/.Sl2 + + + パラメータ + + + Sl1,Sl2 + + + 状態空間または伝達形式または通常の + ゲイン行列の線形システム (syslin リスト). + + + + + Sl + + + 状態空間または伝達形式の + 線形システム (syslin リスト) + + + + + + + 説明 + + フィードバック演算は, /. (スラッシュドット) + と記述されます. + このコマンドは,Sl1 および Sl2の + Sl=Sl1*(I+Sl2*Sl1)^-1, すなわち, (負の) + フィードバックを返します. + Sl は, + y = Sl1 u, u = v - Sl2 yの時の + 伝達関数 v -> yです. + + + 結果は,Sl=LFT([0,I;I,-Sl2],Sl1)と同じです. + + + 注意: 小数点を使用しないでください (例. 1/.1 は曖昧です!) + + + + + + + + 参照 + + + lft + + + sysdiag + + + augment + + + obscont + + + + diff --git a/modules/cacsd/help/ja_JP/findABCD.xml b/modules/cacsd/help/ja_JP/findABCD.xml new file mode 100755 index 000000000..66e482a65 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findABCD.xml @@ -0,0 +1,263 @@ + + + + + findABCD + 離散時間システムの部分空間の同定 + + + 呼出し手順 + [SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + SYS = findABCD(S,N,L,R,METH) + [SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + [SYS,RCND] = findABCD(S,N,L,R,METH) + + + + パラメータ + + + S + + 整数,ブロックハンケル行列のブロック行の数 + + + + N + + 整数, システム次数 + + + + L + + 整数, 出力の数 + + + + R + + 行列, + findrをコールすることにより計算される結合されたブロックハンケル行列 + のR因子に関連. + + + + + METH + + 整数, 使用方法に関するオプション + + + = 1 + + 過去の入出力を用いるMOESP法; + + + + = 2 + + N4SID 法; + + + + = 3 + + 複合法: A と C は MOESP, B と D は N4SIDによる. + + + + + デフォルト: METH = 3. + + + + + NSMPL + + 整数, + 共分散およびカルマン予測ゲインを計算するために使用されるサンプルの総数. + 共分散およびカルマン予測ゲインを必要としない場合,このパラメータは不要です. + NSMPL = 0の場合, K, Q, Ry, および S は計算されません. デフォルト: NSMPL = 0. + + + + + TOL + + + 行列のランクを推定するために使用される許容誤差. + TOL > 0 の場合, 指定した値 TOLが 条件数の逆数の下界として使用されます. + デフォルト: prod(size(matrix))*epsilon_machine + ただし, epsilon_machine は相対機械精度です. + + + + + PRINTW + + 整数, 警告メッセージを印字するためのスイッチ. + + + PRINTW + + = 1: 警告メッセージを出力; + + + + PRINTW + + = 0: 警告メッセージを出力しない. + + + + + デフォルト: PRINTW = 0. + + + + + SYS + + 状態空間実現 SYS = (A,B,C,D) (syslin オブジェクト)を計算します + + + + K + + カルマン推定器ゲイン K (NSMPL > 0の場合) + + + + Q + + 状態共分散 + + + + Ry + + 出力共分散 + + + + S + + 状態出力相互共分散 + + + + RCND + + ランク決定, 最小二乗またはリカッチ方程式の解に関わる行列の条件数の + 逆数のベクトル + + + + + + + 説明 + + システム行列および離散時間システムのカルマンゲインを見つけます. + この際,システム次元および + 部分空間同定技術(MOESPまたはN4SID)を用いて + 結合されたブロックハンケル行列のR因子の要部を指定します. + + + + [SYS,K] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + は,状態空間実現 SYS = (A,B,C,D) (ssオブジェクト) + およびカルマン予測子ゲイン K (NSMPL > 0の場合) + を計算します. + モデルの構造は次のようになります: + + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + ただし,x(k) および y(k)はそれぞれ長さNおよびLのベクトルです. + + + + [SYS,K,Q,Ry,S,RCND] = findABCD(S,N,L,R,METH,NSMPL,TOL,PRINTW) + は, 状態量, 出力および(カルマンゲイン計算に使用される)状態出力 (相互)共分散行列 Q, Ry, S + を + ランク決定,最小二乗またはリカッチ方程式の解に使用される行列の条件数の逆数を含む + 長さ lr のベクトル RCND と共に返します. + ただし, + + + + + + 行列RはfindRにより計算され,適当な + 引数 METH および JOBDにより定義されます. + findABCD で METH = 1 を指定した場合, + findR で METH = 1 かつ JOBD = 1, + findABCD で METH = 3 を指定した場合, + findR で METH = 1 を使用する必要があります. + + + + + + + + 参照 + + + findAC + + + findBD + + + findBDK + + + findR + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/ja_JP/findAC.xml b/modules/cacsd/help/ja_JP/findAC.xml new file mode 100755 index 000000000..7477e07aa --- /dev/null +++ b/modules/cacsd/help/ja_JP/findAC.xml @@ -0,0 +1,207 @@ + + + + + findAC + 離散時間システム部分空間の同定 + + + 呼び出し手順 + [A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) + [A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) + + + + パラメータ + + + S + + 整数, ブロックハンケル行列のブロック行の数 + + + + N + + 整数 + + + + L + + 整数 + + + + R + + 行列, + findrをコールすることにより計算される結合されたブロックハンケル行列 + のR因子に関連. + + + + + METH + + 整数, 使用する手法に関するオプション + + + = 1 + + 過去の入力/出力に基づく MOESP 法; + + + + = 2 + + N4SID 法; + + + + + デフォルト: METH = 3. + + + + + TOL + + + 行列ランクの推定に使用される許容誤差. + TOL > 0の場合, TOL に指定した値が + 条件数の逆数の下界として使用されます. + デフォルト: prod(size(matrix))*epsilon_machine ただし, epsilon_machine + は相対機械精度です. + + + + + PRINTW + + 整数, 警告メッセージの出力に関するスイッチ. + + + PRINTW + + = 1: 警告メッセージを出力; + + + + = 0 + + 警告メッセージを出力しない. + + + + + デフォルト: PRINTW = 0. + + + + + A + + 行列, 状態システム行列 + + + + C + + 行列, 出力システム行列 + + + + RCND + + 長さ4のベクトル, ランク決定に使用される行列の条件数 + + + + + + 説明 + + 部分空間同定法(MOESP または N4SID)を使用して, + 離散時間システムのシステム行列 A および C を見つけます. + この際, + システム次元および結合されたブロックハンケル行列のR因子の関連する部分を + 指定します. + + + + [A,C] = findAC(S,N,L,R,METH,TOL,PRINTW) は, + システム行列 A および C を計算します. + モデル構造は次のようになります: + x(k+1) = Ax(k) + Bu(k) + Ke(k), k >= 1, + y(k) = Cx(k) + Du(k) + e(k) + ただし, x(k) および y(k) はそれぞれ長さ N および L のベクトルです. + + + + [A,C,RCND] = findAC(S,N,L,R,METH,TOL,PRINTW) は長さ4のベクトルRCNDも返します. + この中には,ランク決定に使用される行列の条件数が含まれます. + + + + + 行列 R は, findR により計算され, 適当な引数 METH および JOBD で定義 + する必要があります. + + + + + + + + 参照 + + + findABCD + + + findBD + + + findBDK + + + findR + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/ja_JP/findBD.xml b/modules/cacsd/help/ja_JP/findBD.xml new file mode 100755 index 000000000..a75580577 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findBD.xml @@ -0,0 +1,354 @@ + + + + + findBD + 状態量初期値および離散時間システムのシステム行列BとD + + + 呼び出し手順 + [[x0] [,B [,D]] [,V] [,rcnd]] = findBD(jobx0,comuse [,job],A [,B],C [,D],Y [,U,tol,printw,ldwork]) + + + パラメータ + + + jobx0 + + 状態量初期値を計算するかどうかを指定する整数オプション: + + + = + + 1 : 状態量初期値 x0を計算; + + + + = + + 2 : 状態量初期値を計算しない (x0 はゼロとする). + + + + + + + comuse + + システム行列BおよびDを計算または使用するかどうかを指定する整数オプション: + + + = + + 1 : jobによる指定に基づき行列BおよびDを計算; + + + + = + + 2 : jobによる指定に基づき行列BおよびDを使用; + + + + = + + 3 : 行列BおよびDを計算も使用もしない. + + + + + + + job + + + システム行列のどちらを計算または使用するかを指定する整数オプション: + + + + = + + 1 : システム行列Bのみを計算/使用 (D はゼロであるとする); + + + + = + + 2 : 行列BおよびDを計算/使用. + + + + + jobx0 = 2 かつ comuse = 2, または comuse = 3 の場合, + job を指定できません. + + + + + A + + 指定したシステムの状態行列 + + + + B + + オプション, 指定したシステムの入力行列 + + + + C + + 指定したシステムの出力行列 + + + + D + + オプション, 指定したシステムの直達項 + + + + Y + + t行l列の出力データ行列です. + Yのj列目には,連続した時間増加のj番目の出力要素である t 個の値が含まれます. + + + + + U + + + t行m列の入力データ系列行列 (jobx0 = 1 かつ comuse = 2, または comuse = 1 の時に入力). + Uのj列目には,連続する時間増分のj番目の入力要素の値が含まれます. + + + + + tol + + + オプションで,行列のランクを推定する際に使用される許容誤差. + tol > 0 の場合, tol に指定した値が, 条件数の逆数の下界として + 使用されます. + 推定される条件数が 1/tol より小さいm行n列の行列は + フルランクであると判定されます. + デフォルト: m*n*epsilon_machine ただし, + epsilon_machine は相対機械精度です. + + + + + printw + + オプション, 警告メッセージの出力に関するスイッチ + + + = + + 1: 警告メッセージを出力; + + + + = + + 0: 警告メッセージを出力しない. + + + + + デフォルト: printw = 0. + + + + + ldwork + + (オプション) ワークスペースの大きさ. デフォルト: + 計算式 LDWORK = MAX( + 必要なワークスペースの大きさの最小値, 2*CSIZE/3, + CSIZE - ( m + l )*t - 2*n*( n + m + l ) - l*m ) + ただし CSIZE はキャッシュの大きさ(単位:倍精度ワード)です. + + + + + x0 + + 状態ベクトル初期値 + + + + Br + + システム入力行列 + + + + Dr + + システム直達行列 + + + + V + + Aを実数Schur形式に縮小させるn行n列直交行列 + (jobx0 = 1 または comuse = 1 の時に出力). + + + + + rcnd + + (オプション) ランク決定に関連する行列の条件数の逆数. + + + + + + 説明 + + findBD 関数は, + SLICOTルーチン IB01CD により, + 状態量初期値および離散時間システムにおけるシステム行列 B と D を推定します. + + + + 注意: 上の例の各行では, 最後に + パラメータ tol, printw, ldwork を含めることもできます. + + + FINDBD は状態量初期値および離散時間システムn + システム行列 Br と Dr を推定します. + この際,システム行列 A, C そして場合によっては B, D および + システムにおける入力および出力の軌道を指定します. + + + モデルの構造は以下のようになります : + + = 1, +y(k) = Cx(k) + Du(k), + ]]> + + where + x(k) は,(時刻 kにおける) n 次元状態ベクトルで, + + + u(k) はn次元入力ベクトル, + + + y(k) は l 次元出力ベクトル, + + + そして A, B, C, および D は適当な次元の実数行列です. + + + + コメント + + + 1. + + n行m列のシステム入力行列は, jobx0 = 1 かつ comuse = 2 の時に + 入力パラメータ, comuse = 1 の時に出力パラメータとなります. + + + + + 2. + + The l行m列のシステム行列 Dは, jobx0 = 1, comuse = 2 かつ job = 2 の時に + 入力パラメータ, comuse = 1 かつ job = 2 の時に出力パラメータとなります. + + + + + 3. + + + n次ベクトルである状態量初期値の推定値 x(0) は, + jobx0 = 1 の時, および jobx0 = 2 かつ comuse <= 2 の時 + に出力パラメータとなり, この場合, 0 に設定されます. + + + + + 4. + + + ldwork が指定されたが, 必要なワークスペースの大きさの最小値よりも + 小さい場合, かわりに最小値が使用されます. + + + + + + + + + + + 参照 + + + inistate + + + findx0BD + + + findABCD + + + findAC + + + findBD + + + + diff --git a/modules/cacsd/help/ja_JP/findBDK.xml b/modules/cacsd/help/ja_JP/findBDK.xml new file mode 100755 index 000000000..1cd09dfa8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findBDK.xml @@ -0,0 +1,305 @@ + + + + + findBDK + カルマンゲインおよび離散時間システムの B, D システム行列 + + + 呼び出し手順 + [B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + [B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) + [B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) + + + + パラメータs + + + S + + 整数, ブロックハンケル行列のブロック行の数 + + + + N + + 整数 + + + + L + + 整数 + + + + R + + 行列, findR をコールすることにより計算される結合されたブロックハンケル行列の + R因子に関係する部分 + + + + + A + + 正方行列 + + + + C + + 行列 + + + + METH + + 整数, 使用する方法に関するオプション + + + = 1 + + 過去の入力と出力を指定するMOESP法; + + + + = 2 + + N4SID 法; + + + + + デフォルト: METH = 2. + + + + + JOB + + 計算するシステム行列の種類を指定するオプション: + + + = 1 + + B行列を計算; + + + + = 2 + + BおよびD行列を計算. + + + + + デフォルト: JOB = 2. + + + + + NSMPL + + 整数, + 共分散行列およびカルマン予測ゲインを計算する際に使用される + サンプルの総数. + このパラメータは,共分散行列とカルマン予測ゲインが必要ない + 場合には,不要です.NSMPL = 0の場合, K, Q, Ry, および S は計算されません. + デフォルト: NSMPL = 0. + + + + + TOL + + + 行列のランクを推定する際に使用される許容誤差. + TOL > 0 の場合, TOL に指定した値が, 条件数の逆数の下界として + 使用されます. + デフォルト: prod(size(matrix))*epsilon_machine ただし, + epsilon_machine は相対機械精度です. + + + + + PRINTW + + 整数, 警告メッセージの出力に関するスイッチ + + + PRINTW + + = 1: 警告メッセージを出力; + + + + PRINTW + + = 0: 警告メッセージを出力しない. + + + + + デフォルト: PRINTW = 0. + + + + + SYS + + 状態空間実現 SYS = (A,B,C,D) (syslin オブジェクト)を計算 + + + + K + + カルマン予測ゲイン K (NSMPL > 0の場合) + + + + Q + + 状態量共分散 + + + + Ry + + 出力共分散 + + + + S + + 状態出力相互共分散 + + + + RCND + + + 長さ12のベクトルで, + ランク決定, 最小二乗またはリカッチ方程式の解に関わる行列の条件数の逆数が含まれます. + + + + + + + 説明 + + システムの次数,行列AおよびCおよび関連する + 結合ブロックハンケル行列のR因子を指定すると, + 部分空間同定法 (MOESP または N4SID) により, + 離散時間システムのシステム行列BおよびDとカルマンゲインを返します. + + + + [B,D,K] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) は, + システム行列 B (JOB = 1の場合), + システム行列 BおよびD (JOB = 2の場合), + カルマン予測ゲイン K (NSMPL > 0の場合) を計算します. + モデルの構造は次のようになります: + + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + ただし, x(k) および y(k) はそれぞれ長さ N および Lのベクトルです. + + + + [B,D,RCND] = findBDK(S,N,L,R,A,C,METH,JOB) は, + 長さ 4 のベクトル RCND も返します. + このベクトルには,ランク決定に関連する条件数の逆数が含まれます. + + + + [B,D,K,Q,Ry,S,RCND] = findBDK(S,N,L,R,A,C,METH,JOB,NSMPL,TOL,PRINTW) は, + 長さ 12 の RCNDベクトルと共に, + 状態量, 出力, 出力状態 (相互)共分散行列 Q, Ry, および S + (カルマンゲイン計算で使用される)も返します. + RCNDベクトルには,ランク決定, 最小二乗またはリカッチ方程式の解に関連する + 行列の条件数の逆数が含まれます. + + + + + findR により計算される行列 Rは, + 適当な引数 METH および JOBDで定義されます. + findR ではMETH = 1かつJOBD = 1,findBDKではMETH = 1を使用しますす. + FINDR では METH = 1, findBDK では METH = 2 を使用することができます. + + + 出力引数の数は変換しますが,次のように入力引数に対応します, + + + + + + + + + 参照 + + + findABCD + + + findAC + + + findBD + + + findR + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/ja_JP/findR.xml b/modules/cacsd/help/ja_JP/findR.xml new file mode 100755 index 000000000..27e8d1f17 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findR.xml @@ -0,0 +1,294 @@ + + + + + findR + + 線形時不変システムの行列を指定する際のプリプロセッサ + + + + 呼び出し手順 + [R,N [,SVAL,RCND]] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) + [R,N] = findR(S,Y) + + + + パラメータ + + + S + + ブロックハンケル行列のブロック行の数. + + + + Y + + + + + + U + + + + + + METH + + 使用する手法に関するオプション: + + + 1 + + 過去の入力/出力に基づく MOESP 法; + + + + 2 + + N4SI15 0 1 1 1000D 法. + + + + + デフォルト: METH = 1. + + + + + ALG + + + 入出力データから構築される + 結合ブロックハンケル行列の三角分解を計算するアルゴリズムに関するオプション: + + + + 1 + + 相関行列のコレスキーアルゴリズム; + + + + 2 + + 高速 QR アルゴリズム; + + + + 3 + + 標準 QR アルゴリズム. + + + + + デフォルト: ALG = 1. + + + + + JOBD + + + 行列BおよびDをMOESP法により計算するかどうかを指定するオプション: + + + + = + + 1 : 行列BおよびDをMOESP法により計算します; + + + + = + + 2 : 行列BおよびDをMOESP法により計算しません. + + + + + デフォルト: JOBD = 2. このパラメータは METH = 2に関連してはいません. + + + + + TOL + + 許容誤差を含む長さ2のベクトル: + + + TOL + + + (1) は行列のランクを推定する際の許容誤差です. + TOL(1) > 0 の場合,TOL(1)に指定した値が + 条件数の逆数の下界として使用されます. + + + デフォルト: TOL(1) = prod(size(matrix))*epsilon_machine + ただし, epsilon_machine は相対機械精度です. + + + + + TOL + + (2) はシステム次数を推定する際の許容誤差です. TOL(2) >= 0の場合, + 推定値の添え字はTOL(2)以上となる最後の特異値を指します. + (TOL(2)より小さい特異値はゼロとみなされます.) + + + TOL(2) = 0の場合, TOL(2)の替わりにS*epsilon_machine*sval(1)が使用されます. + ただし,sval(1)は最小特異値です. + TOL(2) < 0の場合, 推定値の添え字は,次の要素への指数的な間隔が + 最大となる特異値の添え字を指します. + デフォルト: TOL(2) = -1. + + + + + + + + PRINTW + + 警告メッセージの出力に関するスイッチ. + + + = + + 1: 警告メッセージを出力; + + + + = + + 0: 警告メッセージを出力しない. + + + + + デフォルト: PRINTW = 0. + + + + + R + + + + + + N + + 離散時間実現の次数 + + + + SVAL + + 特異値 SVAL, 次数の推定に使用されます. + + + + RCND + + + ランク決定または最小二乗解に関連する行列の条件数の逆数を含む + 長さ2のベクトル. + + + + + + + 説明 + + findR は,コレスキーまたは(高速)QR分解および + 部分空間同定法(MOESP または N4SID) + 線形時不変システムの行列を推定する際の + 入出力データの前処理を行い,システム次数を指定します. + + + [R,N] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) は, + 入出力データおよび離散時間実現の次数Nから構築された + 結合ブロックハンケル行列の + 上三角分解 R を返します. + モデルの構造は次のようになります: + + = 1, +y(k) = Cx(k) + Du(k) + e(k). + ]]> + + ベクトル y(k) および u(k) はそれぞれ Y および U のk行目の転置です. + + + [R,N,SVAL,RCND] = findR(S,Y,U,METH,ALG,JOBD,TOL,PRINTW) は, + 次数の推定に使用される + 特異値 SVAL も返します. + meth = 2 の時に長さ2のベクトルRCNDも返します. + このベクトルRCNDには, + ランク決定または最小二乗解に関連する条件数の逆数を含みます. + + + [R,N] = findR(S,Y) は U = [] , + 残りの入力引数にはデフォルト値を仮定します. + + + + + + + + 参照 + + + findABCD + + + findAC + + + findBD + + + findBDK + + + sorder + + + sident + + + + diff --git a/modules/cacsd/help/ja_JP/findx0BD.xml b/modules/cacsd/help/ja_JP/findx0BD.xml new file mode 100755 index 000000000..ad3b72ea6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/findx0BD.xml @@ -0,0 +1,234 @@ + + + + + findx0BD + 状態量,離散時間システムのBおよびD行列を推定 + + + 呼び出し手順 + [X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) + + + + パラメータ + + + A + + システムの状態行列 + + + + C + + システムのC行列 + + + + Y + + システム出力 + + + + U + + システム入力 + + + + WITHX0 + + 状態量の初期値 x0 の推定に関するスイッチ. + + + = + + 1: x0を推定します; + + + + = + + 0: x0を推定しません. + + + + + デフォルト: WITHX0 = 1. + + + + + WITHD + + 行列 Dの推定に関するスイッチ. + + + = + + 1: 行列Dを推定します; + + + + = + + 0: 行列Dを推定しません. + + + + + デフォルト: WITHD = 1. + + + + + TOL + + + 行列のランクを推定する際の許容誤差.TOL > 0 の場合,TOLに指定した値が + 条件数の逆数の下界として使用されます. + デフォルト: prod(size(matrix))*epsilon_machine + ただし, epsilon_machine は相対機械精度です. + + + + + PRINTW + + 警告メッセージの出力に関するスイッチ. + + + = + + 1: 警告メッセージを出力; + + + + = + + 0: 警告メッセージを出力しない. + + + + + デフォルト: PRINTW = 0. + + + + + X0 + + 推定された線形システムの状態量の初期値. + + + + B + + 推定された線形システムのB行列. + + + + D + + 推定された線形システムのD行列. + + + + V + + + 状態行列Aを実数Schur形式に縮減する直交行列 + + + + + rcnd + + + ランク決定に関連する行列の条件数の逆数を推定します. + + + + + + + 説明 + + findx0BD は, + (推定された)システム行列 A, C および入出力データを指定し, + 状態量の初期値と離散時間システムのBおよびD行列を推定します. + + + [X0,B,D] = findx0BD(A,C,Y,U,WITHX0,WITHD,TOL,PRINTW) は, + システム行列 A, C 出力データ Yおよび入力データ U を用いて, + 状態量初期値 X0 および離散時間システムの行列 B および D を推定します. + モデルの構造は以下のようになります : + + = 1, +y(k) = Cx(k) + Du(k), + ]]> + + ベクトル y(k) および u(k) それぞれ Y および U のk行目の転置です. + + + [x0,B,D,V,rcnd] = findx0BD(A,C,Y,U) は,システム状態行列 A を実数 Schur 形式に縮減する + 直交行列 V も返します. + 同時にランク決定に関連する行列の条件数の逆数の推定値も返します. + + + + + + + + + 参照 + + + findBD + + + inistate + + + + diff --git a/modules/cacsd/help/ja_JP/flts.xml b/modules/cacsd/help/ja_JP/flts.xml new file mode 100755 index 000000000..530e4f58f --- /dev/null +++ b/modules/cacsd/help/ja_JP/flts.xml @@ -0,0 +1,191 @@ + + + + + flts + 時間応答 (離散時間, 離散化システム) + + + 呼び出し手順 + [y [,x]]=flts(u,sl [,x0]) + [y]=flts(u,sl [,past]) + + + + パラメータ + + + u + + 行列 (入力ベクトル) + + + + sl + + + リスト (線形システム syslin) + + + + + x0 + + ベクトル (状態量初期値 ; デフォルト値 + =0) + + + + + past + + + (過去の)行列 (デフォルト値=0) + + + + + x,y + + 行列 (状態量と出力) + + + + + + 説明 + + + 状態空間形式: + + + + sl は,その状態空間表現で指定される離散線形システム + です(syslin 参照): + + + sl=syslin('d',A,B,C,D) : + + + + もしくは,より一般的に,D が多項式行列 + の場合 + (p = degree(D(z))) : + + + + + 伝達関数表現: + + + + y=flts(u,sl[,past]). ここで, sl + は伝達行列形式の線形システムです, すなわち, + + + sl=syslin('d',transfer_matrix) ( + + syslin + + 参照). + + + は, u と y の過去の値の行列です. + + nd は, + sl の分母行列の各行の最小公倍数の + 最大自由度です. + + + p は分子の最大次数と分母の最大次数の差です. + + + + + + + 参照 + + + ltitr + + + dsimul + + + rtitr + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/CHAPTER b/modules/cacsd/help/ja_JP/formal_representation/CHAPTER new file mode 100755 index 000000000..f59bdcc83 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/CHAPTER @@ -0,0 +1,2 @@ +title = Formal representations and conversions + diff --git a/modules/cacsd/help/ja_JP/formal_representation/abcd.xml b/modules/cacsd/help/ja_JP/formal_representation/abcd.xml new file mode 100755 index 000000000..6ced1e1f7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/abcd.xml @@ -0,0 +1,83 @@ + + + + + abcd + 状態空間行列 + + + 呼び出しの手順 + [A,B,C,D]=abcd(sl) + + + パラメータ + + + sl + + 状態空間表現または伝達関数表現の + 線形システム (syslin リスト) + + + + + A,B,C,D + + 適当な次元の実数行列 + + + + + + 説明 + + 線形システムSlA,B,C,D 行列を返す. + + + ユーティリティ関数.伝達関数行列Slの場合、 + tf2ssにより状態空間表現に変換される. + + + 行列 A,B,C,Dsyslinリスト + Sl2 から 5 + までの要素、すなわち、[A,B,C,D] = Sl(2:5)、である. + + + + + + + + 参照 + + + syslin + + + ssrand + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/cont_frm.xml b/modules/cacsd/help/ja_JP/formal_representation/cont_frm.xml new file mode 100755 index 000000000..7bba55da8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/cont_frm.xml @@ -0,0 +1,75 @@ + + + + + cont_frm + 可制御状態空間への変換 + + + 呼び出し手順 + [sl]=cont_frm(NUM,den) + + + パラメータ + + + NUM + + 多項式行列 + + + + den + + 多項式 + + + + sl + + + syslin リスト, sl=[A,B,C,D]. + + + + + + + 説明 + + 伝達関数 NUM/denの可制御状態空間形式. + + + + + + + + 参照 + + + tf2ss + + + canon + + + contr + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/dbphi.xml b/modules/cacsd/help/ja_JP/formal_representation/dbphi.xml new file mode 100755 index 000000000..ef13d93f5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/dbphi.xml @@ -0,0 +1,58 @@ + + + + + dbphi + 位相および振幅表現の周波数応答 + + + 呼び出し手順 + [db,phi] =dbphi(repf) + + + パラメータ + + + db,phi + + ゲイン (db) および位相 (度)のベクトル + + + + repf + + 複素周波数応答のベクトル + + + + + + 説明 + + db(k)repf(k) の振幅(単位: dB), + すなわち db(k)=20*log(abs(repf(k)))/log(10) です. + phi(k)repf(k)の位相 (単位:度)です. + + + + 参照 + + + repfreq + + + bode + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/des2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/des2ss.xml new file mode 100755 index 000000000..fac513bb7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/des2ss.xml @@ -0,0 +1,107 @@ + + + + + des2ss + 記述子から状態空間へ + + + 呼び出し手順 + [Sl]=des2ss(A,B,C,D,E [,tol]) + [Sl]=des2ss(Des) + + + + パラメータ + + + A,B,C,D,E + + 適当な次元の実数行列 + + + + Des + + リスト + + + + Sl + + + syslin リスト + + + + + tol + + + 実数パラメータ (閾値) (デフォルト値 100*%eps). + + + + + + + 説明 + + 状態空間変換の記述子. + + + Sl=des2ss(A,B,C,D,E) は, + 記述子システム (E,A,B,C,D)と等価な + 線形システム Sl を返します. + + + 添え字1個の(E,A)ペンシルの場合, + 明示式が使用され, + より高次の添え字のペンシルの場合にはrowshuff + が使用されます. + + + Sl=des2ss(Des) (ただし + Des=list('des',A,B,C,D,E)) は, + 状態空間表現(多項式 D 行列が付く場合もある)の + 線形システム Sl を返します. + + + 一般化Leverrierアルゴリズムが使用されます. + + + + + + + + 参照 + + + des2tf + + + glever + + + rowshuff + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/des2tf.xml b/modules/cacsd/help/ja_JP/formal_representation/des2tf.xml new file mode 100755 index 000000000..e31bfe1ae --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/des2tf.xml @@ -0,0 +1,110 @@ + + + + + des2tf + 記述子から伝達関数への変換 + + + 呼び出し手順 + [S]=des2tf(sl) + [Bfs,Bis,chis]=des2tf(sl) + + + + パラメータ + + + sl + + リスト (記述子形式の線形システム) + + + + Bfs, Bis + + 多項式行列 + + + + chis + + 多項式 + + + + S + + 有理行列 + + + + + + 説明 + + 記述子形式の線形システムSl=list('des',A,B,C,D,E)を指定すると, + des2tfsl を + その伝達関数表現に変換します: + + + + 引数3個でコールされた場合, des2tf は, + 2つの多項式行列 + Bfs および Bis と + 次のような多項式chisを返します: + + + + chis(s*E-A) の行列式 + (xcative定数に一致)です; + + + + + + + + 参照 + + + glever + + + pol2des + + + tf2des + + + ss2tf + + + des2ss + + + rowshuff + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/frep2tf.xml b/modules/cacsd/help/ja_JP/formal_representation/frep2tf.xml new file mode 100755 index 000000000..8f3499b22 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/frep2tf.xml @@ -0,0 +1,151 @@ + + + + + frep2tf + + 周波数応答から伝達関数実現を得る + + + + 呼び出し手順 + [h [,err]]=frep2tf(frq,repf,dg [,dom,tols,weight]) + + + パラメータ + + + frq + + 周波数ベクトル (単位: Hz). + + + + repf + + 周波数応答ベクトル + + + + dg + + 線形システムの次数 + + + + dom + + + 時間領域 ('c' または 'd' または dt) + + + + + tols + + + 長さ3のベクトルで, + 相対および絶対許容誤差, + 最大反復回数を指定します(デフォルト値: rtol=1.e-2; atol=1.e-4, N=10). + + + + + weight + + 周波数の重みベクトル + + + + h + + SISO 伝達関数 + + + + err + + + 誤差 (例えば dom='c'の場合, sum(abs(h(2i*pi*frq) - rep)^2)/size(frq,*)) + + + + + + + 説明 + + 周波数応答を伝達関数に変換します. + hの次数は,必須の引数 + dgで事前に指定されます. + 以下の線形システムが最小二乗解として解かれます. + + + + ただし,dom='c'の場合は + phi_k= 2*%i*%pi*frq, + そうでない場合は phi_k=exp(2*%i*%pi*dom*frq. + weight ベクトルが指定されない場合, + デフォルトの重み付けが使用されます(dom='c'の場合). + + + 安定で最小位相のシステムがfactors関数により + 得られます. + + + + + + + + 参照 + + + imrep2ss + + + arl2 + + + time_id + + + armax + + + frfit + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/lsslist.xml b/modules/cacsd/help/ja_JP/formal_representation/lsslist.xml new file mode 100755 index 000000000..009b79fc3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/lsslist.xml @@ -0,0 +1,54 @@ + + + + + lsslist + Scilab 線形状態空間関数を定義 + + + 呼び出し手順 + lsslist() + lsslist(A, B, C, X0, dt) + + + + 説明 + + lsslist(A, B, C, X0, dt) は + tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt) + へのショートカットです. + + + ["lss", "A", "B", "C", "D", "X0", "dt"] を最初のエントリ, + A, B, C,X0,dt + は次のエントリなどとなるtlist + を作成します. + A, B, C,X0,dt + に関して型や大きさの確認は行われません. + + + + 参照 + + + abcd + + + syslin + + + tlist + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/markp2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/markp2ss.xml new file mode 100755 index 000000000..dec3a5c78 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/markp2ss.xml @@ -0,0 +1,89 @@ + + + + + markp2ss + マルコフパラメータを状態空間に変換 + + + 呼出し手順 + [sl]=markp2ss(markpar,n,nout,nin) + + + パラメータ + + + markpar + + 行列 + + + + n,nout,nin + + 整数 + + + + Sl + + + syslin リスト + + + + + + + 説明 + + 大きさnoutX(n*nin) + の(行)-行列markparにスタックされた + マルコフパラメータnの集合を指定すると, + markp2ss は,[A,B,C,D]=abcd(sl)となる + 状態空間線形システム sl + (syslin リスト) を返します: + + + + + + + + + 参照 + + + frep2tf + + + tf2ss + + + imrep2ss + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/sm2des.xml b/modules/cacsd/help/ja_JP/formal_representation/sm2des.xml new file mode 100755 index 000000000..eec9bbb16 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/sm2des.xml @@ -0,0 +1,65 @@ + + + + + sm2des + システム行列を記述子に変換 + + + 呼出し手順 + [Des]=sm2des(Sm); + + + パラメータ + + + Sm + + 多項式行列 (ペンシルシステム行列) + + + + Des + + + 記述子システム (list('des',A,B,C,D,E)) + + + + + + + 説明 + + ユーティリティ関数: システム行列 + + + + を記述子システム Des=list('des',A,B,C,D,E))に変換します. + + + + 参照 + + + ss2des + + + sm2ss + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/sm2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/sm2ss.xml new file mode 100755 index 000000000..62702a8dd --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/sm2ss.xml @@ -0,0 +1,62 @@ + + + + + sm2ss + システム行列を状態空間に変換 + + + 呼出し手順 + [Sl]=sm2ss(Sm); + + + パラメータ + + + Sm + + 多項式行列 (ペンシルシステム行列) + + + + Sl + + + 線形システム (syslin リスト) + + + + + + + 説明 + + ユーティリティ関数: システム行列: + + + + を状態空間表現の線形システム (syslin) リストに変換します. + + + + 参照 + + + ss2des + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/ss2des.xml b/modules/cacsd/help/ja_JP/formal_representation/ss2des.xml new file mode 100755 index 000000000..f90970794 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/ss2des.xml @@ -0,0 +1,96 @@ + + + + + ss2des + (多項式) 状態空間をディスクリプタ形式に変換 + + + 呼出し手順 + S=ss2des(Sl) + S=ss2des(Sl,flag) + + + + パラメータ + + + Sl + + + syslin リスト: プロパーまたはプロパーでない線形システム. + + + + + flag + + + 文字列 "withD" + + + + + S + + リスト + + + + + + 説明 + + 状態空間表現の線形システム + Sl (syslin リスト), + 多項式または(ゼロでない)定数のどちらかであるD行列と共に + 指定すると, + ss2deslist('des',A,B,C,0,E)として + 以下のような + ディスクリプタシステムを返します: + + + + フラグ "withD" が指定された場合, + 最大ランクのD行列を含む + S=list('des',A,B,C,D,E) となります. + + + + + + + + 参照 + + + pol2des + + + tf2des + + + des2ss + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/ss2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/ss2ss.xml new file mode 100755 index 000000000..dbed26c0b --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/ss2ss.xml @@ -0,0 +1,186 @@ + + + + + ss2ss + 状態空間から状態空間への変換, フィードバック, 注入 + + + 呼出し手順 + [Sl1,right,left]=ss2ss(Sl,T, [F, [G , [flag]]]) + + + パラメータ + + + Sl + + + 状態空間形式の線形システム (syslin リスト) + + + + + T + + 正方 (正則) 行列 + + + + Sl1, 右, 左 + + 状態空間形式の線形システム (syslin リスト) + + + + F + + 実数行列 (状態フィードバックゲイン) + + + + G + + 実数行列 (出力注入ゲイン) + + + + + + 説明 + + 線形システム Sl1=[A1,B1,C1,D1] を返します. + ただし, A1=inv(T)*A*T, B1=inv(T)*B, C1=C*T, D1=D. + + + オプションのパラメータ F および G + は,それぞれ状態フィードバックおよび出力注入です. + + + 例えば, Sl1=ss2ss(Sl,T,F) は,以下のような + Sl1 を返します: + + + + + + + + right は,Sl1=Sl*rightとなる + 正則な線形システムです. + + + Sl1*inv(right) は + Slの分解です. + + + Sl1=ss2ss(Sl,T,0*F,G) は以下のような + Sl1 を返します: + + + + + + + + left は, + Sl1=left*Sl (right=Idとなる + 正則な線形システムです. + (F=0の場合にright=Id) + + + F および G の両方と指定した場合, + Sl1=left*Sl*rightとなります. + + + + + flag を使用し,flag=1の場合, + 以下のような出力注入が使用されます. + + + + + + + + この後,フィードバックが行われ,Fの + 大きさは(m+p,n)となります. + + + + + + + + right および left は + 以下の特徴を有します: + + + + + + flag を使用し, flag=2 とした場合, + フィードバック + (F の大きさは + (m,n)である必要があります)が行われ,その後, + 上記の出力注入が適用されます. + right および + leftは以下の特徴を有します: + + + + + + + + + + + 参照 + + + projsl + + + feedback + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/ss2tf.xml b/modules/cacsd/help/ja_JP/formal_representation/ss2tf.xml new file mode 100755 index 000000000..47ce53387 --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/ss2tf.xml @@ -0,0 +1,101 @@ + + + + + ss2tf + 状態空間から伝達関数への変換 + + + 呼び出し手順 + [h]=ss2tf(sl) + [Ds,NUM,chi]=ss2tf(sl) + [h]=ss2tf(sl,"b") + [Ds,NUM,chi]=ss2tf(sl,"b") + [h]=ss2tf(sl,rmax) + [Ds,NUM,chi]=ss2tf(sl,rmax) + + + + パラメータ + + + sl + + + 線形システム (syslin リスト) + + + + + h + + 伝達関数行列 + + + + + + 説明 + + 出力を3個としてコール [Ds,NUM,chi]=ss2tf(sl) すると、 + 分子多項式行列 NUM, + 特性方程式 chiおよび + 多項式部分 Ds が別々に得られる. + すなわち: + + + + 手法: + + + 特性多項式と + det(A+Eij)=det(A)+C(i,j) が使用される. + ただし,CAの随伴行列である. + + + rmax または引数 "b" を指定した場合, + sl.A のブロック対角化を行い,このブロックに + "Leverrier" アルゴリズムを適用する. + 指定した場合, rmax は条件数を制御する (bdiag参照). + + + + + + + + 参照 + + + tf2ss + + + syslin + + + nlev + + + glever + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/tf2des.xml b/modules/cacsd/help/ja_JP/formal_representation/tf2des.xml new file mode 100755 index 000000000..97cf67bba --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/tf2des.xml @@ -0,0 +1,93 @@ + + + + + tf2des + 伝達関数をディスクリプタ形式に変換 + + + 呼び出し手順 + S=tf2des(G) + S=tf2des(G,flag) + + + + パラメータ + + + G + + + 線形システム (syslin リスト), 多項式行列 D が指定される場合もある + + + + + flag + + + 文字列 "withD" + + + + + S + + リスト + + + + + + 説明 + + 伝達関数をディスクリプタ形式: S=list('d',A,B,C,D,E)に変換します. + + + + オプションのパラメータ flag="withD" が指定されない場合, + D=0 となることに注意してください. + 指定された場合, 最大ランク行列 D がリスト S + の5番目のエントリとして返されます. + + + + + + + + 参照 + + + pol2des + + + tf2ss + + + ss2des + + + des2tf + + + + diff --git a/modules/cacsd/help/ja_JP/formal_representation/tf2ss.xml b/modules/cacsd/help/ja_JP/formal_representation/tf2ss.xml new file mode 100755 index 000000000..73aff1aed --- /dev/null +++ b/modules/cacsd/help/ja_JP/formal_representation/tf2ss.xml @@ -0,0 +1,95 @@ + + + + + tf2ss + 伝達関数から状態空間表現への変換 + + + 呼出し手順 + sl=tf2ss(h [,tol]) + + + パラメータ + + + h + + 有理行列 + + + + tol + + + 定数 rtol または要素数2のベクトル [rtol atol]となります. + + + + rtol + + 可観測性を評価する際に使用される相対許容誤差. + + + + atol + + 可観測性を評価する際に使用される絶対許容誤差. + + + + + + + sl + + + 線形システム (syslin リスト sl=[A,B,C,D(s)]) + + + + + + + 説明 + + 伝達関数から状態空間表現への変換: + + + h=C*(s*eye()-A)^-1*B+D(s) + + + + + + + + 参照 + + + ss2tf + + + tf2des + + + des2tf + + + + diff --git a/modules/cacsd/help/ja_JP/fourplan.xml b/modules/cacsd/help/ja_JP/fourplan.xml new file mode 100755 index 000000000..2b94c75b3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/fourplan.xml @@ -0,0 +1,89 @@ + + + + + fourplan + 拡張プラントを4つのプラントに変換する + + + 呼び出し手順 + [P11,P12,P21,P22]=fourplan(P,r) + + + パラメータ + + + P + + + syslin リスト (線形システム) + + + + + r + + + 1x2 行ベクトル, P22の次元 + + + + + P11,P12,P21,P22 + + + syslin リスト. + + + + + + + 説明 + + ユーティリティ関数. + + + P は以下のように分割されます: + + + + size(P22)=rを指定すると, + この関数は4つの線形システム + P11,P12,P21,P22を返します. + + + + 参照 + + + lqg + + + lqg2stan + + + lqr + + + lqe + + + lft + + + + diff --git a/modules/cacsd/help/ja_JP/freq.xml b/modules/cacsd/help/ja_JP/freq.xml new file mode 100755 index 000000000..07ce69ad4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/freq.xml @@ -0,0 +1,99 @@ + + + + + freq + 周波数応答 + + + 呼び出し手順 + [x]=freq(A,B,C [,D],f) + [x]=freq(NUM,DEN,f) + + + + パラメータ + + + A, B, C, D + + + 適当な次元nxn, nxp, mxn, mxpの実数行列 . + + + + + NUM,DEN + + + 次元 mxpの多項式行列 + + + + + x + + 実数または複素数の行列 + + + + + + 説明 + + x=freq(A,B,C [,D],f) は次の関係を満たす実数または複素数の + mxp*t 行列を返します.: + + + x(:,k*p:(k+1)*p)= C*inv(f(k)*eye()-A)*B + D. + + + ここで, f が虚軸上または単位円上に + 値を有する場合, + xは連続系または離散系における + (A,B,C,D)の周波数応答となります. + + + x=freq(NUM,DEN,f) は, + xk*(p-1)+1列から + k*p列が行列NUM(f(k))./DEN(f(k))を + 含むような + 実数または複素数の + 行列xを返します. + + + + + + + + 説明 + + + repfreq + + + horner + + + + diff --git a/modules/cacsd/help/ja_JP/freson.xml b/modules/cacsd/help/ja_JP/freson.xml new file mode 100755 index 000000000..ca108328f --- /dev/null +++ b/modules/cacsd/help/ja_JP/freson.xml @@ -0,0 +1,77 @@ + + + + + freson + ピーク周波数 + + + 呼び出し手順 + fr=freson(h) + + + パラメータ + + + h + + + syslin リスト + + + + + fr + + ピーク周波数のベクトル (単位: Hz) + + + + + + 説明 + + SISOプラント h に関して, + ピーク周波数のベクトル(単位: Hz)を返します. + + + + + + + h=syslin('c',-1+%s,(3+2*%s+%s^2)*(50+0.1*%s+%s^2)) + fr=freson(h) + bode(h) + g=20*log(abs(repfreq(h,fr)))/log(10) + + + + 参照 + + + frep2tf + + + zgrid + + + h_norm + + + + diff --git a/modules/cacsd/help/ja_JP/fspec.xml b/modules/cacsd/help/ja_JP/fspec.xml new file mode 100755 index 000000000..78dda15e7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/fspec.xml @@ -0,0 +1,75 @@ + + + + + fspec + 連続時間動的システムのスペクトル分解 + + + 呼び出し手順 + gm=fspec(g) + + + 引数 + + + g + + 連続時間動的システム. + + + + gm + + 連続時間動的システム. + + + + + + 説明 + + gm および gm^-1 + 安定で,以下の関係を有するようなgmを返します: + + + + gtild(gm) は gm(-s)'の状態空間表現を返します. + + + g は可逆です. + + + 虚軸に極を有することはできません. + + + gtild(g)=g (gの極・ゼロは虚軸に対して対称です). + + + g(inf) は正定です. + + + + + + + diff --git a/modules/cacsd/help/ja_JP/fspecg.xml b/modules/cacsd/help/ja_JP/fspecg.xml new file mode 100755 index 000000000..745a71b6e --- /dev/null +++ b/modules/cacsd/help/ja_JP/fspecg.xml @@ -0,0 +1,79 @@ + + + + + fspecg + 安定な因数分解 + + + 呼出し手順 + [gm]=fspecg(g). + + + 引数 + + + g + + 連続時間線形動的システム. + + + + gm + + 連続時間線形動的システム. + + + + + + 説明 + + gm および gm^-1が安定となる + 次のような + gm を返します: + + + + g および gm は, + 状態空間形式の連続時間線形システムです. + + + 虚軸の極がある場合は使用できません. + + + + + + + + 履歴 + + + 5.4.0 + + Sl は連続時間線形動的システムを確認します. + この修正はこの コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/fstabst.xml b/modules/cacsd/help/ja_JP/fstabst.xml new file mode 100755 index 000000000..0c48fa651 --- /dev/null +++ b/modules/cacsd/help/ja_JP/fstabst.xml @@ -0,0 +1,141 @@ + + + + + fstabst + 線形動的システムのユーラ(Youla)・パラメトリゼーション + + + 呼出し手順 + J = fstabst(P,r) + + + 引数 + + + P + + + 連続時間線形動的システム + + + + + r + + + 1x2 行ベクトル, P22の次元 + + + + + J + + + 連続時間線形動的システム + (Pと同じ表現) + + + + + + + 説明 + + 安定化フィードバックのパラメトリゼーション. + + + P は以下のように分割されます: + + + + (状態空間形式または伝達関数形式: 計算時に状態空間形式の + 自動変換が行われます) + + + r = P22 サブシステムの大きさ, + Pの(2,2)ブロック + + + + K は, + 安定なQにより + K=lft(J,r,Q)である時に限り, + P(すなわちP22)の + 安定化コントローラです. + + + Jの中心部である , J11 は + Pのlqgレギュレータです. + + + この J は, + P および J の + 2ポート lft として以下のように T + を定義するものです: [T,rt]=lft(P,r,J,r) + この時, T12 はインナ(inner), + T21はコ・インナ(co-inner)となります. + + + + + + + + 参照 + + + obscont + + + lft + + + lqg + + + lqg2stan + + + + + 履歴 + + + 5.4.0 + + Sl は連続時間線形動的システムについて + 確認されます. + この修正はこの + コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/g_margin.xml b/modules/cacsd/help/ja_JP/g_margin.xml new file mode 100755 index 000000000..9754150c5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/g_margin.xml @@ -0,0 +1,125 @@ + + + + + g_margin + ゲイン余裕およびゲイン交差周波数 + + + 呼び出し手順 + + gm=g_margin(h) + [gm,fr]=g_margin(h) + + + + パラメータ + + + h + + + SISO線形システム (参照 :syslin). + + + + + gm + + + ゲイン余裕(単位:dB)、存在しない場合は Inf + + + + + fr + + ゲイン交差周波数(単位:Hz). + ゲイン余裕が存在しない場合は空の行列. + + + + + + + 説明 + 連続または離散時間SISO線形システムを + 指定すると,g_marginhの + ゲイン余裕 gm (単位:dB)および + ゲイン交差周波数 fr (単位:Hz)を返します. + + ゲイン余裕が存在する場合,この値は + ナイキスト線図が実軸の負の部分を通過する点における + システムゲインの最小値を表します. + 言い換えると,ゲイン余裕は,hの開ループゲインを + gとする時, + hの周波数応答の位相が -180度となった + 時点での20*log10(1/g)となります. + + このアルゴリズムは,多項式の求解ルーチンを使用して + 以下の方程式を解いています: + + + + h(s)=h(-s) + + :連続時間システムの場合. + + + + h(z)=h(1/z) + + :離散時間システムの場合. + + + + + + + + + + 参照 + + + p_margin + + + show_margins + + + repfreq + + + black + + + bode + + + nicholschart + + + nyquist + + + + diff --git a/modules/cacsd/help/ja_JP/gamitg.xml b/modules/cacsd/help/ja_JP/gamitg.xml new file mode 100755 index 000000000..8d4fd02bd --- /dev/null +++ b/modules/cacsd/help/ja_JP/gamitg.xml @@ -0,0 +1,119 @@ + + + + + gamitg + 連続時間システムのH無限大ガンマ・イタレーション + + + 呼び出し手順 + [gopt]=gamitg(G,r,prec [,options]); + + + 引数 + + + G + + + 連続時間動的システム (プラント実現 ) + + + + + r + + + 1x2 行ベクトル ( G22の次元) + + + + + prec + + ノルムの相対精度を指定 + + + + option + + + 文字列 't' + + + + + gopt + + 実数スカラー, 最適 H無限大ゲイン + + + + + + 説明 + + gopt=gamitg(G,r,prec [,options]) + は,H無限大最適ゲインgoptを返します. + + + G は + プラント[A,B,C,D]を以下のように + 分割した状態空間行列を含みます: + + + + これらの分割は,rにより暗黙のうちに + 指定されます: + r(1) および r(2) は + D22 の次元(行 x 列)です. + + + option='t'を指定すると, + gamitg は,各二分探索ステップのトレースを行います. + すなわち, カレントの下界と上界と試行点を表示します. + + + + 参照 + + + ccontrg + + + h_inf + + + + + 著者 + P. Gahinet + + + 履歴 + + + 5.4.0 + + Sl は連続時間線形動的システム + について確認されるようになりました. + この修正はこの + コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/gcare.xml b/modules/cacsd/help/ja_JP/gcare.xml new file mode 100755 index 000000000..d9826af19 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gcare.xml @@ -0,0 +1,87 @@ + + + + + gcare + 制御リカッチ方程式 + + + 呼び出し手順 + [X,F]=gcare(Sl) + + + 引数 + + + Sl + + + 状態空間表現の連続時間線形動的システム + + + + + X + + 対称行列 + + + + F + + 実数行列 + + + + + + 説明 + + 一般化制御代数リカッチ方程式(GCARE). + X = 解 , F = ゲイン. + + + Sl=[A,B,C,D] に関するGCAREは次のようになります: + + + + ただし, S=(eye()+D'*D), Si=inv(S), R=(eye()+D*D'), Ri=inv(R) + そして, F=-Si*(D'*C+B'*X)A+B*F + が安定となるように設定されます. + + + + 参照 + + + gfare + + + + + 履歴 + + + 5.4.0 + + Sl は連続時間線形動的システム + について確認されるようになりました. + この修正はこの + コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/gfare.xml b/modules/cacsd/help/ja_JP/gfare.xml new file mode 100755 index 000000000..cdbe64ce9 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gfare.xml @@ -0,0 +1,73 @@ + + + + + gfare + フィルタリカッチ方程式 + + + 呼び出し手順 + [Z,H]=gfare(Sl) + + + パラメータ + + + Sl + + + 線形システム (syslin リスト) + + + + + Z + + 対称行列 + + + + H + + 実数行列 + + + + + + 説明 + + 一般化フィルタ代数リカッチ方程式 (GFARE). + Z = 解, H = ゲイン. + + + Sl=[A,B,C,D] の GFARE は次のようになります: + + + + ただし, S=(eye()+D'*D), Si=inv(S), R=(eye()+D*D'), Ri=inv(R) + そして, H=-(B*D'+Z*C')*Ri は + A+H*C が安定となるよう設定されます. + + + + 参照 + + + gcare + + + + diff --git a/modules/cacsd/help/ja_JP/gfrancis.xml b/modules/cacsd/help/ja_JP/gfrancis.xml new file mode 100755 index 000000000..9bc271946 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gfrancis.xml @@ -0,0 +1,127 @@ + + + + + gfrancis + 追尾用のフランシス方程式 + + + 呼び出し手順 + [L,M,T]=gfrancis(Plant,Model) + + + 引数 + + + Plant + + 状態空間表現の連続時間動的システム. + + + + Model + + 状態空間表現の連続時間動的システム. + + + + L,M,T + + 実数行列 + + + + + + 説明 + + 線形プラント: + + + + および線形モデルを指定 + + + + プラントの状態量 x(t) の安定性を維持しつつ, + プラントがモデルを追尾する,すなわち, + e = y - ym ---> 0 + ことが目標です. + u はフィードフォワードおよびフィードバックにより + 指定されます + + + + 行列 T,L,M は一般化フランシス方程式を満たします + + + + 行列 K は,対 (F,G) を安定化するように + 選択する必要があります. + ディレクトリ demos/tracking の使用例を参照ください. + + + + + + + + 参照 + + + lqg + + + ppol + + + + + 履歴 + + + 5.4.0 + + Slが + 連続時間線形システムであることを確認するようになりました. + この修正は,この コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/gtild.xml b/modules/cacsd/help/ja_JP/gtild.xml new file mode 100755 index 000000000..078883813 --- /dev/null +++ b/modules/cacsd/help/ja_JP/gtild.xml @@ -0,0 +1,138 @@ + + + + + gtild + チルダ処理 + + + 呼び出し手順 + Gt=gtild(G) + Gt=gtild(G,flag) + + + + パラメータ + + + G + + 多項式または線形システムのどちらか + (syslin リスト) または有理行列 + + + + + Gt + + Gと同じ + + + + flag + + + 文字列: 'c' または + 'd' のどちらか (オプションのパラメータ). + + + + + + + 説明 + + G は多項式行列 (または多項式), Gt=gtild(G,'c') + は多項式行列 Gt(s)=G(-s)'を返します. + + + G が多項式行列 (または多項式)の場合, + Gt=gtild(G,'d') は多項式行列 + Gt=G(1/z)*z^n を返します. + ただし, n は G の最大次数です. + + + syslinリストにより状態空間で表される + 連続時間システムの場合, + Gt = gtild(G,'c')G(-s)'の + 状態空間表現を返します. + すなわち, GtABCD 行列は, + A',-C', B', D' となります. + G がプロパーでない場合 + ( D= D(s)) , + GtD 行列は + D(-s)' となります. + + + syslinリストにより状態空間で表される + 離散時間システムの場合, + Gt = gtild(G,'d')G(-1/z)' + の状態空間表現, + すなわち, (プロパーでない場合もある) + -z*C*inv(z*A-B)*C + D(1/z) の状態空間表現, + を返します. + + + 有理行列の場合, Gt = gtild(G,'c') は + 誘致行列 Gt(s)=G(-s) を返し, + Gt = gtild(G,'d') は有理行列 + Gt(z)= G(1/z)' を返します. + + + パラメータ flag は, + 多項式引数を指定してgtildがコール + される場合に必要です. + + + + + + + + 参照 + + + syslin + + + horner + + + factors + + + + diff --git a/modules/cacsd/help/ja_JP/h2norm.xml b/modules/cacsd/help/ja_JP/h2norm.xml new file mode 100755 index 000000000..ad9f934ea --- /dev/null +++ b/modules/cacsd/help/ja_JP/h2norm.xml @@ -0,0 +1,74 @@ + + + + + h2norm + 連続時間プロパー動的システムのH2ノルム + + + 呼び出し手順 + [n]=h2norm(Sl [,tol]) + + + 引数 + + + Sl + + + 連続時間プロパー線形動的システム + + + + + n + + 実数スカラー + + + + + + 説明 + + 線形連続時間システムSlのH2ノルムを + 出力します. + + + (Slが状態空間形式の場合, + h2norm は可観測性グラミアンを使用し, + Slが伝達形式の場合, + h2norm は残渣法を使用します) + + + + + + + + 履歴 + + + 5.4.0 + + Slが + 連続時間線形システムであることを確認するようになりました. + この修正は,この コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/h_cl.xml b/modules/cacsd/help/ja_JP/h_cl.xml new file mode 100755 index 000000000..1929997cc --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_cl.xml @@ -0,0 +1,103 @@ + + + + + h_cl + 閉ループ行列 + + + 呼び出し手順 + [Acl]=h_cl(P,r,K) + [Acl]=h_cl(P22,K) + + + + パラメータ + + + P, P22 + + + 連続時間動的システム: + それぞれ拡張プラントまたはノミナルプラント + + + + + r + + + 1x2 行ベクトル, P の + 2,2 部分の次元 (r=[rows,cols]=size(P22)) + + + + + K + + + 連続時間線形動的システム: コントローラ + + + + + Acl + + 実数正方行列 + + + + + + 説明 + + 標準プラント P を + (r=size(P22) とコントローラ K と共に) + 指定すると,この関数は閉ループ行列 Acl を返します. + + + 閉ループ系の内部安定性を確保するために,Acl の極は, + 安定である必要があります. + + + Acl は線形システム[I -P22;-K I]^-1 + のA行列,すなわち, + lft(P,r,K)A行列です + + + + 参照 + + + lft + + + + + 履歴 + F. D. + + + 履歴 + + + 5.4.0 + + Slが + 連続時間線形システムであることを確認するようになりました. + この修正は,この コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/h_inf.xml b/modules/cacsd/help/ja_JP/h_inf.xml new file mode 100755 index 000000000..a3c5ccf87 --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_inf.xml @@ -0,0 +1,148 @@ + + + + + h_inf + 連続時間H無限大 (中心) コントローラ + + + 呼び出し手順 + [Sk,ro]=h_inf(P,r,romin,romax,nmax) + [Sk,rk,ro]=h_inf(P,r,romin,romax,nmax) + + + + 引数 + + + P + + + 連続時間線形動的システム + (状態空間形式または伝達形式で指定した``拡張'' プラント) + + + + + r + + + P22プラントの大きさ + すなわち,長さ2のベクトル[#outputs,#inputs] + + + + + romin,romax + + + ro=1/gama^2に関するアプリオリ境界; (通常はromin=0) + + + + + nmax + + 整数, ガンマ反復の最大回数. + + + + + + 説明 + + h_inf は連続時間プラントP + のH無限大最適コントローラを計算します. + + + Pの4個のサブプラントへの分割は, + P22部分の大きさである + 2要素のベクトル r により指定されます. + + + P は状態空間表現, + 例えば,A,B,C,D = 定数行列を用いて, + P=syslin('c',A,B,C,D), + または,伝達関数Hを用いてP=syslin('c',H) + により指定します. + + + [Sk,ro]=H_inf(P,r,romin,romax,nmax) は, + [romin,romax] の + roと, + Pと同じ形式の中心コントローラ Sk + を返します. + + + (全ての計算は状態空間で行われます, + すなわち,状態空間への変換は必要に応じて関数により自動的に + 行われます). + + + 左辺パラメータを3個指定してコールされた場合, + + + [Sk,rk,ro]=H_inf(P,r,romin,romax,nmax) は, + roと安定化コントローラのパラメトリゼーション + を返します: + + + 安定化コントローラ K は + K=lft(Sk,r,PHI) により得られます. + ただし, PHIは次元r' + の線形システムで,次の関係を満たします: + + + H_norm(PHI) < gamma. + rk (=r) は, + nmax回反復後の + Sk22 ブロックの大きさです. + + + アルゴリズムは, Safonov-Limebeer に基づきます. + P は連続時間プラントであることを前提と + することに注意してください. + + + + 参照 + + + gamitg + + + ccontrg + + + leqr + + + + + 著者 + F.Delebecque INRIA (1990) + + + 履歴 + + + 5.4.0 + + Slが + 連続時間線形システムであることを確認するようになりました. + この修正は,この コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/h_inf_st.xml b/modules/cacsd/help/ja_JP/h_inf_st.xml new file mode 100755 index 000000000..7ed515080 --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_inf_st.xml @@ -0,0 +1,60 @@ + + + + + h_inf_st + 静的なH_infinity問題 + + + 呼び出し手順 + [Kopt,gamaopt]=h_inf_stat(D,r) + + + パラメータ + + + D + + 実数行列 + + + + r + + 1x2 ベクトル + + + + Kopt + + 行列 + + + + + + 説明 + + lft(D,r,K)=D11+D12* K*inv(I-D22*K)* D21の + 最大特異値が最小となるような行列 Kopt + を計算します. + (静的 H_infinity 4ブロック問題) + + + D は D=[D11 D12; D21 D22]のように + 分割されます. + ただし, + size(D22)=r=[r1 r2] + + + diff --git a/modules/cacsd/help/ja_JP/h_norm.xml b/modules/cacsd/help/ja_JP/h_norm.xml new file mode 100755 index 000000000..7e838cf3c --- /dev/null +++ b/modules/cacsd/help/ja_JP/h_norm.xml @@ -0,0 +1,79 @@ + + + + + h_norm + H無限大ノルム + + + 呼び出し手順 + [hinfnorm [,frequency]]=h_norm(sl [,rerr]) + + + パラメータ + + + sl + + + 状態空間システム (syslin リスト) + + + + + rerr + + + 最大相対誤差, デフォルト値 1e-8 + + + + + hinfnorm + + + SlのH無限大ノルム + + + + + frequency + + 最大値となる周波数 + + + + + + 説明 + + 状態空間システムのH無限大ノルム + (最大特異値の全周波数における最大値) + を出力します. + + + + 参照 + + + linfn + + + linf + + + svplot + + + + diff --git a/modules/cacsd/help/ja_JP/hankelsv.xml b/modules/cacsd/help/ja_JP/hankelsv.xml new file mode 100755 index 000000000..c68cfe909 --- /dev/null +++ b/modules/cacsd/help/ja_JP/hankelsv.xml @@ -0,0 +1,83 @@ + + + + + hankelsv + ハンケル特異値 + + + 呼び出し手順 + [nk2,W]=hankelsv(sl [,tol]) + [nk2]=hankelsv(sl [,tol]) + + + + パラメータ + + + sl + + + 線形システム(状態空間)を表す + syslin リスト. + + + + + tol + + + 虚軸モードを検出するための許容誤差パラメータ + (デフォルト値: 1000*%eps). + + + + + + + 説明 + + slの + ハンケル特異値の二乗 nk2と, + W = P*Q = 可制御性グラミアンと + 可観測性グラミアンの積を返します. + + + nk2Wの + 固有値のベクトルです. + + + + + + + + 参照 + + + balreal + + + equil + + + equil1 + + + + diff --git a/modules/cacsd/help/ja_JP/hinf.xml b/modules/cacsd/help/ja_JP/hinf.xml new file mode 100755 index 000000000..3ba817b71 --- /dev/null +++ b/modules/cacsd/help/ja_JP/hinf.xml @@ -0,0 +1,206 @@ + + + + + hinf + 連続時間システムのH無限大設計 + + + 呼び出し手順 + [AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma) + + + パラメータ + + + A + + n行n列システム状態行列 A. + + + + B + + n行m列システム入力行列 B. + + + + C + + p行n列システム出力行列 C. + + + + D + + p行m列システム行列 D. + + + + ncon + + 制御入力の数. m >= ncon >= 0, p-nmeas >= ncon. + + + + nmeas + + 観測量の数. p >= nmeas >= 0, m-ncon >= nmeas. + + + + gamma + + + H_infinity 設計で使用されるパラメータ gamma. + コントローラが存在できるように + gamma は十分に大きい(gamma >= 0)と仮定されます. + + + + + AK + + n行n列コントローラ状態行列 AK. + + + + BK + + n行nmeas列コントローラ入力行列 BK. + + + + CK + + ncon行n列コントローラ出力行列 CK. + + + + DK + + ncon行nmeas列コントローラ行列 DK. + + + + RCOND + + + 行列の条件数の逆数の推定値を含むベクトル. + この値は, + コントローラを計算する際に解くリカッチ方程式の条件数の逆数を推定します + ([1]のアルゴリズムの説明を参照ください). + + + + RCOND + + (1) は制御伝達行列 TU の条件数の逆数の推定値を含みます, + + + + RCOND + + (2) は観測伝達行列 TY の条件数の逆数の推定値を含みます, + + + + RCOND + + (3) はXリカッチ方程式の条件数の逆数の推定値を含みます, + + + + RCOND + + (4) はYリカッチ方程式の条件数の逆数の推定値を含みます. + + + + + + + + + 説明 + + [AK,BK,CK,DK,(RCOND)] = hinf(A,B,C,D,ncon,nmeas,gamma) + H無限大 (準)最適n状態コントローラの行列を計算します + + + + (連続時間系の場合) + + + + gamma の値を指定すると, + B2 が制御入力の数 (ncon) と同じ列の数を有し, + C2 が観測量の数 (nmeas) と同じ行の数を有するという条件の元で + コントローラが出力されます. + + + + 参考文献 + + [1] P.Hr. Petkov, D.W. Gu and M.M. Konstantinov. Fortran 77 routines for Hinf and H2 design of continuous-time linear control systems. Report98-14, Department of Engineering, Leicester University, August 1998. + + + + + + + + 参照 + + + dhinf + + + + diff --git a/modules/cacsd/help/ja_JP/imrep2ss.xml b/modules/cacsd/help/ja_JP/imrep2ss.xml new file mode 100755 index 000000000..6a0ae1549 --- /dev/null +++ b/modules/cacsd/help/ja_JP/imrep2ss.xml @@ -0,0 +1,97 @@ + + + + + imrep2ss + インパルス応答の状態空間実現 + + + 呼び出し手順 + [sl]=imrep2ss(v [,deg]) + + + パラメータ + + + v + + + インパルス応答のベクトル係数, v(:,k) はk番目のサンプル + + + + + deg + + 整数 (必要な次数) + + + + sl + + + syslin リスト + + + + + + + 説明 + + インパルス応答の線形システムへの変換 (1入力). + v の列数は偶数である必要があります. + + + + + rep=ldiv(H('num'),H('den'),20) +w=z*imrep2ss(rep) //シフトされたインパルス応答を有する実現 +// すなわち厳密にプロパーからプロパーへ +H2=ss2tf(w); + ]]> + + + 参照 + + + frep2tf + + + arl2 + + + time_id + + + armax + + + markp2ss + + + ldiv + + + + diff --git a/modules/cacsd/help/ja_JP/inistate.xml b/modules/cacsd/help/ja_JP/inistate.xml new file mode 100755 index 000000000..abb399036 --- /dev/null +++ b/modules/cacsd/help/ja_JP/inistate.xml @@ -0,0 +1,154 @@ + + + + + inistate + 離散時間システムの状態量初期値を推定 + + + 呼び出し手順 + X0 = inistate(SYS,Y,U,TOL,PRINTW) + X0 = inistate(A,B,C,Y,U); + X0 = inistate(A,C,Y); + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) + + + + パラメータ + + + SYS + + 指定するシステム, syslin(dt,A,B,C,D) + + + + Y + + システムの出力 + + + + U + + システムの入力 + + + + TOL + + TOL は行列のランクを推定する際に使用される許容誤差です. + TOL > 0 の場合,TOLで指定した値が + 条件数の逆数の下界として使用されます. + + + デフォルト: prod(size(matrix))*epsilon_machine ただし epsilon_machine は相対機械精度です. + + + + + PRINTW + + PRINTW は警告メッセージの出力に関するスイッチです. + + + = + + 1: 警告メッセージを出力; + + + + = + + 0: 警告メッセージを出力しない. + + + + + デフォルト: PRINTW = 0. + + + + + X0 + + 状態量の初期値の推定値 + + + + V + + + システム状態行列Aを実数Schur形式に縮減する直交行列 + + + + + rcnd + + + 解く最小二乗問題の係数行列の条件数の逆数の推定値. + + + + + + + 説明 + + inistate は, + (推定された)システム行列, + 一連の入力/出力データを指定すると, + 離散時間システムの状態量の初期値を推定します. + + + X0 = inistate(SYS,Y,U,TOL,PRINTW) は, + 出力データ Y および 入力データ U を用いて, + 離散時間システム SYS = (A,B,C,D) の状態量の初期値 X0 を + 推定します. + モデルの構造は以下のようになります : + + = 1, +y(k) = Cx(k) + Du(k), + ]]> + + ベクトル y(k) および u(k) はそれぞれ Y および U のk行目の + 転置です. + + + 最初の入力パラメータ SYS (syslinオブジェクト)の替わりに, + 等価な情報を, + X0 = inistate(A,B,C,Y,U); または X0 = inistate(A,C,Y);のように + 行列パラメータを用いて指定することが可能です. + + + [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) は, x0 以外に, + システム状態行列 A を実数 Schur 形式に縮減する + 直交行列 V, + 解く最小二乗問題の係数行列の条件数の逆数の推定値 + も返します. + + + + 参照 + + + findBD + + + findx0BD + + + + diff --git a/modules/cacsd/help/ja_JP/invsyslin.xml b/modules/cacsd/help/ja_JP/invsyslin.xml new file mode 100755 index 000000000..de72ff9b0 --- /dev/null +++ b/modules/cacsd/help/ja_JP/invsyslin.xml @@ -0,0 +1,59 @@ + + + + + invsyslin + 逆システム + + + 呼び出し手順 + [sl2]=invsyslin(sl1) + + + パラメータ + + + sl1,sl2 + + + syslin リスト (状態空間表現の線形システム) + + + + + + + 説明 + + ユーティリティ関数. + (状態形式で指定した)線形システム sl1 の + 逆 sl2の状態形式を計算します. + + + D行列はフルランクと仮定されます. + Ssyslinリストの場合, + inv(S)による古い処理が使用されます. + + + + 参照 + + + rowregul + + + inv + + + + diff --git a/modules/cacsd/help/ja_JP/kpure.xml b/modules/cacsd/help/ja_JP/kpure.xml new file mode 100755 index 000000000..6f89bd017 --- /dev/null +++ b/modules/cacsd/help/ja_JP/kpure.xml @@ -0,0 +1,117 @@ + + + + + kpure + 連続SISOシステムの限界フィードバックゲイン + + + 呼び出し手順 + + K=kpure(sys [,tol]) + [K,R]=kpure(sys [,tol]) + + + + パラメータ + + + sys + + SISO線形システム (syslin) + + + + tol + + 正のスカラー値. 根が虚軸上にあるかどかを判定する + 際に使用される許容誤差. デフォルト値は + 1e-6. + + + + + K + + 実数ベクトル, + 少なくとも一つの閉ループ極が虚数となるゲインベクトル. + + + + + R + + 複素数ベクトル, + Kの値に関連する + 虚数の閉ループ極. + + + + + + + 説明 + + K=kpure(sys) は, + K(i)によるフィードバックを有するシステム sys + (sys/.K(i)) + が虚軸に極を有するようなゲイン Kを計算します. + + + + + + + num=real(poly([-1+%i, -1-%i, -1+8*%i -1-8*%i],'s')); + den=real(poly([0.5 0.5 -6+7*%i -6-7*%i -3 -7 -11],'s')); + h=num/den; + [K,Y]=kpure(h) + clf();evans(h) + plot(real(Y),imag(Y),'+r') + + + + num=real(poly([-1+%i*1, -1-%i*1, 2+%i*8 2-%i*8 -2.5+%i*13 -2.5-%i*13],'s')); + den=real(poly([1 1 3+%i*3 3-%i*3 -15+%i*7 -15-%i*7 -3 -7 -11],'s')); + h=num/den; + [K,Y]=kpure(h) + clf();evans(h,100000) + plot(real(Y),imag(Y),'+r') + + + + 参照 + + + evans + + + krac2 + + + + diff --git a/modules/cacsd/help/ja_JP/krac2.xml b/modules/cacsd/help/ja_JP/krac2.xml new file mode 100755 index 000000000..ce949847a --- /dev/null +++ b/modules/cacsd/help/ja_JP/krac2.xml @@ -0,0 +1,69 @@ + + + + + krac2 + 連続SISOシステムのフィードバックゲインの限界値 + + + 呼び出し手順 + g=krac2(sys) + + + パラメータ + + + sys + + SISO線形システム (syslin) + + + + g + + 定数 + + + + + + 説明 + + krac2(sys) は + フィードバック g を有するシステムsys + (sys/.g)が2つの等しい実数の極を有するような + ゲインgを計算します. + + + + + + + + 参照 + + + evans + + + kpure + + + + diff --git a/modules/cacsd/help/ja_JP/lcf.xml b/modules/cacsd/help/ja_JP/lcf.xml new file mode 100755 index 000000000..2f2219f65 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lcf.xml @@ -0,0 +1,79 @@ + + + + + lcf + 連続時間動的システムの正規化された既約分解 + + + 呼び出し手順 + [N,M]=lcf(sl) + + + 引数 + + + sl + + + 連続時間線形動的システム. + + + + + N + + 連続時間動的システム. + + + + M + + 連続時間動的システム. + + + + + + 説明 + + 線形動的システムslの + 正規化された既約分解を計算します. + + + sl = M^-1 N + + + M および N は + slと同じ表現(伝達関数または状態空間) + で返されます. + + + + 著者 + F. D.; ; + + + 履歴 + + + 5.4.0 + + Slが + 連続時間線形システムであることを確認するようになりました. + この修正は,この コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/leqr.xml b/modules/cacsd/help/ja_JP/leqr.xml new file mode 100755 index 000000000..cc66a4aae --- /dev/null +++ b/modules/cacsd/help/ja_JP/leqr.xml @@ -0,0 +1,120 @@ + + + + + leqr + H無限大 LQ ゲイン (全状態) + + + 呼び出し手順 + [K,X,err]=leqr(P12,Vx) + + + パラメータ + + + P12 + + + syslin リスト + + + + + Vx + + 対称非負定行列 (十分に小さい必要があります) + + + + K,X + + 実数行列 + + + + err + + 実数 (リカッチ方程式の左辺のl1ノルム) + + + + + + 説明 + + leqr は, + 連続または離散時間系のプラント P12=[A,B2,C1,D12]に関して + 線形準最適H無限大LQ全状態ゲインを計算します. + + + P12syslin リストです (例: P12=syslin('c',A,B2,C1,D12)). + + + + Vx は, + xの外乱の + ノイズ w の共分散行列に関連します + (通常, Vx=gama^-2*B1*B1'). + + + ゲイン K は, A + B2*K が安定となるように設定されます. + + + X はリカッチ方程式の安定解です. + + + 連続プラントの場合: + + + + + 離散時間プラントの場合: + + + + + ただし, Abar=A-B2*inv(R)*S' および Qbar=Q-S*inv(R)*S' + + + これらのリカッチ方程式に関連する3ブロック行列ペンシルは次のように + なります: + + + + + 参照 + + + lqr + + + + diff --git a/modules/cacsd/help/ja_JP/lft.xml b/modules/cacsd/help/ja_JP/lft.xml new file mode 100755 index 000000000..5fa796525 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lft.xml @@ -0,0 +1,149 @@ + + + + + lft + 線形分数変換 + + + 呼出し手順 + [P1]=lft(P,K) + [P1]=lft(P,r,K) + [P1,r1]=lft(P,r,Ps,rs) + + + + パラメータ + + + P + + + 線形システム (syslin リスト), ``拡張'' プラント, + 暗黙のうちに4つの区画(2つの入力ポートと2つの出力ポート)に分割されます. + + + + + K + + + 線形システム (syslin リスト), コントローラ + (通常のゲインの場合もあります). + + + + + r + + + 1x2 行ベクトル, P22の次元 + + + + + Ps + + + 線形システム (syslin リスト), + 暗黙のうちに4つの区画(2つの入力ポートと2つの出力ポート)に分割されます. + + + + + rs + + + 1x2 行ベクトル, Ps22の次元 + + + + + + + 説明 + + 状態空間形式または伝達関数(syslin リスト)の + 二つの標準プラントP および Psの + 間で線形分数変換を行います. + + + r= size(P22) rs=size(P22s) + + + lft(P,r, K) は, + PとコントローラKの間の + 線形分数変換です. + (Kは状態空間表現または伝達関数形式の + ゲインまたはコントローラです); + + + lft(P,K) は, + r=Kの転置の大きさ, + を指定した + lft(P,r,K) です; + + + P1= P11+P12*K* (I-P22*K)^-1 *P21 + + + [P1,r1]=lft(P,r,Ps,rs) は + P および Psの + 一般化LFT(2ポート)を返します. + + + P1 は2ポートの相互結合されたプラントで, + P1は + r1で指定された4ブロックに分割されています. + ただし,r1は,P1の + 22ブロックの次元です. + + + PR は PSSDs, + すなわち多項式行列 D,とすることができます. + + + + + + + + 参照 + + + sensi + + + augment + + + feedback + + + sysdiag + + + + diff --git a/modules/cacsd/help/ja_JP/lin.xml b/modules/cacsd/help/ja_JP/lin.xml new file mode 100755 index 000000000..f11eb4e2d --- /dev/null +++ b/modules/cacsd/help/ja_JP/lin.xml @@ -0,0 +1,115 @@ + + + + + lin + 線形化 + + + 呼び出し手順 + [A,B,C,D]=lin(sim,x0,u0) + [sl]=lin(sim,x0,u0) + + + + パラメータ + + + sim + + 関数 + + + + x0, u0 + + 互換性がある次元のベクトル + + + + A,B,C,D + + 実数行列 + + + + sl + + + syslin リスト + + + + + + + 説明 + + 非線形システム [y,xdot]=sim(x,u)の + x0,u0近傍での線形化. + + + simy および + xdotを計算する関数です. + + + 出力は線形システム (syslin リスト) sl または + 4つの行列 (A,B,C,D)です. + + + 例えば, ftz が ODE に指定された関数で, + 例えば以下の場合: + + + + そして, y=xと仮定すると, + + + [z]=ode(x0,t0,tf,list(ftz,u) は + x(tf)を計算します. + + + simula が以下の関数の場合: + + + + 接する線形システム sl は以下のように得られます: + + + + + + + + + 参照 + + + external + + + derivat + + + + diff --git a/modules/cacsd/help/ja_JP/linf.xml b/modules/cacsd/help/ja_JP/linf.xml new file mode 100755 index 000000000..dab614851 --- /dev/null +++ b/modules/cacsd/help/ja_JP/linf.xml @@ -0,0 +1,71 @@ + + + + + linf + 無限大ノルム + + + 呼び出し手順 + linf(g [,eps],[tol]) + + + パラメータ + + + g + + + syslin 線形システム. + + + + + eps + + n の許容誤差. + + + + tol + + 虚軸極の閾値. + + + + + + 説明 + + gの L_infinity ノルムを返します. + + + + (sigmax 最大固有値). + + + + 参照 + + + h_norm + + + linfn + + + + diff --git a/modules/cacsd/help/ja_JP/linfn.xml b/modules/cacsd/help/ja_JP/linfn.xml new file mode 100755 index 000000000..2de26302d --- /dev/null +++ b/modules/cacsd/help/ja_JP/linfn.xml @@ -0,0 +1,121 @@ + + + + + linfn + 無限大ノルム + + + 呼び出し手順 + [x,freq]=linfn(G,PREC,RELTOL,options); + + + パラメータ + + + G + + + syslin リスト + + + + + PREC + + ノルムの相対精度の目標値 + + + + RELTOL + + 固有値が虚軸上にあるかどうかを判定する時の相対閾値. + + + + options + + + 利用可能なオプションは 'trace' または 'cond'です + + + + + x + + ノルムの計算値. + + + + freq + + ベクトル + + + + + + 説明 + + GのLinf (または Hinf)ノルムを計算します. + このノルムは, 実現G=(A,B,C,D)が + 可制御かつ可検出な虚数の固有値を持たない限り,定義することができます. + + + freq は, + ||G||,すなわち, ||G (j om)|| = ||G|| + が到達した周波数のリストです. + + + -1がリストの中にある場合, このノルムは無限大に達しています. + + + -2がリストの中にある場合, G は + 何らかの方向に対して全通過,つまり,全ての周波数 omega について + ||G (j omega)|| = ||G|| です. + + + アルゴリズムは G. Robel による論文 + (AC-34 pp. 882-884, 1989)に基づいています. + D=0 の場合を別に扱うということはしていません. + これは,(A,B,C)がほぼ非最小の時, + 一般的な手法の精度が優れているためです. + + + 'trace' オプションは + 各二分探索ステップでトレース表示を行います. + すなわち, 上界と下界およびカレントの試行点を表示します. + + + 'cond' オプションは, + 計算出力値の信頼度指標を推定し,計算が + 悪条件の場合に警告を出力します. + + + 一般的な場合 (A が安定でも非安定でもない場合), + 上界は事前に指定されません. + + + 逆に A が安定または非安定の場合, + 下界および上界は対応するリアプノフ解により計算されます. + + + + 参照 + + + h_norm + + + + diff --git a/modules/cacsd/help/ja_JP/linmeq.xml b/modules/cacsd/help/ja_JP/linmeq.xml new file mode 100755 index 000000000..7912bfe7f --- /dev/null +++ b/modules/cacsd/help/ja_JP/linmeq.xml @@ -0,0 +1,380 @@ + + + + linmeq + シルベスタおよびリアプノフ方程式ソルバー + + + 呼び出し手順 + [X(,sep)] = linmeq(task,A,(B,)C,flag,trans(,schur)) + + + パラメータ + + + task + + 方程式の型を定義する整数オプション: + + + =1 + + シルベスタ方程式(1a) または (1b)を解きます ; + + + + =2 + + リアプノフ方程式(2a) または (2b)を解きます; + + + + =3 + + コレスキー分解 op(X) リアプノフ方程式 (3a) または (3b)を解きます. + + + + + + + A + + 実数行列 + + + + B + + 実数行列 + + + + C + + 実数行列 + + + + flag + + (オプション) オプションを含む長さ3または2の整数ベクトル. + + + task + + = 1 : flag の長さは3です + + + flag(1) + + = 0 : 連続時間方程式 (1a)を解きます; そうでない場合, + 離散時間方程式 (1b)を解きます. + + + + + flag(2) + + = 1 : A は (準) 上三角行列です; + + + + flag(2) + + = 2 : A は上ヘッセンベルグ行列です; + + + + それ以外 + + A は一般形式です. + + + + flag(3) + + = 1 : B は準上三角行列です; + + + + flag(3) + + = 2 : B は上ヘッセンベルグ行列です; + + + + それ以外, + + B は一般形式です. + + + + + + + task + + = 2 : flag の長さは2です + + + flag(1) + + + 0の場合, 連続時間方程式 (2a)を解きます; そうでない場合, + 離散時間方程式 (2b)を解きます. + + + + + flag(2) + + = 1 : A は (準) 上三角行列, それ以外の場合, + A は一般形式です. + + + + + + + + task + + = 3 : flag hの長さは2です + + + flag(1) + + = 0 : + 連続時間方程式 (3a)を解きます; そうでない場合, + 離散時間方程式 (3b)を解きます. + + + + + flag(2) + + = 1 : + A は (準) 上三角行列, それ以外の場合, + A は一般形式です. + + + + + + + + + デフォルト: flag(1) = 0, flag(2) = 0 (, flag(3) = 0). + + + + + trans + + (オプション) 転置オプションを指定する整数. + + + = + + 0 : op(M) = Mとして方程式 (1) - (3) を解きます. + + + + = + + 1 : op(M) = M' として方程式 (1) - (3) を解きます. + + + + = + + 2 : op(A) = A'; op(B) = B; として方程式 (1) を解きます. + + + + = + + 3 : op(A) = A; op(B) = B'; として方程式 (1) を解きます. + + + + + デフォルト: trans = 0. + + + + + schur + + (オプション) + Hessenberg-Schur法またはSchur法のどちらを + 使用するかを指定する整数. + task = 1 で使用可能. + + + + = 1 : Hessenberg-Schur 法 + + (1個の行列がSchur形式に縮減されます). + + + + = 2 : Schur 法 + + (2個の行列がSchur形式に縮減されます). + + + + + デフォルト: schur = 1. + + + + + X + + + + + + sep + + (オプション) + (2.a)の場合 Sep(op(A),-op(A)'), + (2.b)の場合 Sepd(A,A') の推定器. + + + + + + + 説明 + + linmeq 関数は, + SLICOT ルーチンSB04MD, SB04ND, SB04PD, SB04QD, + SB04RD, SB03MD, および SB03ODを用いて + シルベスターおよびリアプノフ方程式を解きます. + + + + linmeq は種々のシルベスタおよびリアプノフ行列方程式を解きます: + + + + ただし op(M) = M, または M'です. + + + + コメント + + + 1. + + (1a) または (1b)の場合でschur = 1の時, + Hessenberg-Schur法が使用され,1個の行列は + ヘッセンベルク形式, + その他の1個の行列は実数Schur形式に縮減されます. + その他の場合, + 行列は両方共実数Schur形式に縮減されます. + 1個または両方の行列がすでにSchur/Hessenberg形式に縮減されている場合, + flag(2) およびflag(3)でこのことを指定することができます. + 一般的な行列の場合,Hessenberg-Schur法は + Schur法よりもはるかに効率的です. + + + + + 2. + + 方程式 (2a) または (2b)において, 行列 C は対称と仮定されます. + + + + 3. + + 方程式 (3a) または (3b)において, 行列 A はそれぞれ安定または + 収束性を有する必要があります. + + + + + 4. + + 方程式 (3a) または (3b)の場合, 計算される行列 X は + 解のコレスキー分解です, すなわち, 実際の解は op(X)'*op(X), + ただし X は上三角行列です. + + + + + + + 履歴 + + V. Sima, Katholieke Univ. Leuven, Belgium, May 1999, May, Sep. 2000. V. Sima, University of Bucharest, Romania, May 2000. + + + + + + + + 参照 + + + sylv + + + lyap + + + + diff --git a/modules/cacsd/help/ja_JP/lqe.xml b/modules/cacsd/help/ja_JP/lqe.xml new file mode 100755 index 000000000..379c2b43b --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqe.xml @@ -0,0 +1,150 @@ + + + + + lqe + 線形二次推定器 (カルマンフィルタ) + + + 呼出し手順 + [K,X]=lqe(P21) + + + パラメータ + + + P21 + + + syslin リスト + + + + + K, X + + 実数行列 + + + + + + 説明 + + lqe は, + 連続または離散時間系のフィルタ問題に関する + カルマンゲインを返します. + + + P21 は + システム P21=[A,B1,C2,D21] P21=syslin('c',A,B1,C2,D21) または + P21=syslin('d',A,B1,C2,D21) + + を表す + syslinリストです. + + + P21 への入力は, 白色ノイズで分散は以下となります: + + + + X は安定化リカッチ方程式の解, + A+K*C2 は安定となります. + + + 連続時間系において: + + + + + 離散時間系において: + + + + K=-(A*X*C2'+B1*D21')*pinv(C2*X*C2'+D21*D21') + + + xhat(t+1)= E(x(t+1)| y(0),...,y(t)) (1ステップ予測した x) + は以下の再帰的関係を満たします: + + + + + + + + + 参照 + + + lqr + + + observer + + + + diff --git a/modules/cacsd/help/ja_JP/lqg.xml b/modules/cacsd/help/ja_JP/lqg.xml new file mode 100755 index 000000000..99b8b5d10 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqg.xml @@ -0,0 +1,93 @@ + + + + + lqg + LQG 補償器 + + + 呼出し手順 + [K]=lqg(P,r) + + + パラメータ + + + P + + + 状態空間表現のsyslin リスト (拡張プラント) + + + + + r + + + 1x2 行ベクトル = (観測量の数,入力の数) (Pの2,2の部分の次元) + + + + + K + + + syslin リスト (コントローラ) + + + + + + + 説明 + + lqg は,"拡張"プラント + P=syslin('c',A,B,C,D) (連続時間)または + P=syslin('d',A,B,C,D) (離散時間)に関して, + 線形最適 LQG (H2) コントローラを計算します. + + + 関数 lqg2stan は, + ノミナルプラント,重み項,ノイズの分散を指定すると, + P および + r を返します. + + + K は以下のABCD行列により計算されます: + [A+B*Kc+Kf*C+Kf*D*Kc,-Kf,Kc,0] ただし, + Kc=lqr(P12) + はコントローラゲインで Kf=lqe(P21) はフィルタゲインです. + lqg2stanの例を参照ください. + + + + 参照 + + + lqg2stan + + + lqr + + + lqe + + + h_inf + + + obscont + + + + diff --git a/modules/cacsd/help/ja_JP/lqg2stan.xml b/modules/cacsd/help/ja_JP/lqg2stan.xml new file mode 100755 index 000000000..7b79e73c4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqg2stan.xml @@ -0,0 +1,153 @@ + + + + + lqg2stan + LQG を標準問題に変換する + + + 呼び出し手順 + [P,r]=lqg2stan(P22,bigQ,bigR) + + + パラメータ + + + P22 + + + 状態空間表現のsyslin リスト (ノミナルプラント) + + + + + bigQ + + + [Q,S;S',N] (対称) 重み行列 + + + + + bigR + + + [R,T;T',V] (対称) 共分散行列 + + + + + r + + + 1x2 行ベクトル = (観測量の数, 入力の数) (Pの2,2区画の次元) + + + + + P + + + syslin リスト(拡張プラント) + + + + + + + 説明 + + lqg2stan は, + 線形LQG(H2)コントローラ設計の拡張プラントを返します. + + + P22=syslin(dom,A,B2,C2) はノミナルプラントで, + 連続時間系 (dom='c')または離散時間系 (dom='d') + のどちらかとすることができます. + + + + (連続時間プラントの場合). + + + + (離散時間プラントの場合). + + + (ある時間における) 評価関数は [x' u'] bigQ [x;u]です. + + + [w1;w2] の共分散は E[w1;w2] [w1',w2'] = bigRです. + + + [B1;D21]bigQの因数, + [C1,D12]bigRの因数, + [A,B2,C2,D22]がP22の実現の場合, + Pは + [A,[B1,B2],[C1,-C2],[0,D12;D21,D22]の実現です. + lqgにより計算された(負の)フィードバック + はP22を安定化します.すなわち, + cl=P22/.Kの極は安定となります. + + + + + + + + 参照 + + + lqg + + + lqr + + + lqe + + + obscont + + + h_inf + + + augment + + + fstabst + + + feedback + + + + diff --git a/modules/cacsd/help/ja_JP/lqg_ltr.xml b/modules/cacsd/help/ja_JP/lqg_ltr.xml new file mode 100755 index 000000000..7bea29d4f --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqg_ltr.xml @@ -0,0 +1,94 @@ + + + + + lqg_ltr + LQG/LTR (loop transform recovery)設計 + + + 呼び出し手順 + [kf,kc]=lqg_ltr(sl,mu,ro) + + + パラメータ + + + sl + + + 状態空間表現の線形システム (syslin リスト) + + + + + mu,ro + + ``十分に小さく''選択した正の実数 + + + + kf,kc + + コントローラおよびオブザーバのカルマンゲイン. + + + + + + 説明 + + 以下のシステムのカルマンゲインを返します: + + + + 評価関数: + + + + lqg/ltr 手法は, 以下のように設定したL,mu,H,ro に似ています: + J(lqg) = J(freq) ただし, + + + + そして + + + + + 参照 + + + syslin + + + + diff --git a/modules/cacsd/help/ja_JP/lqr.xml b/modules/cacsd/help/ja_JP/lqr.xml new file mode 100755 index 000000000..7db7f908f --- /dev/null +++ b/modules/cacsd/help/ja_JP/lqr.xml @@ -0,0 +1,143 @@ + + + + + lqr + LQ補償器 (全状態) + + + 呼出し手順 + [K,X]=lqr(P12) + + + パラメータ + + + P12 + + + syslin リスト (状態空間線形システム) + + + + + K,X + + 実数行列 + + + + + + 説明 + + lqr は,連続系または離散時間系のプラント + P12=[A,B2,C1,D12]の + 線形最適LQ全状態ゲインを計算します. + + + P12syslin リスト + (例:P12=syslin('c',A,B2,C1,D12))です. + + + 評価関数はz=C1 x + D12 uの時のz'*zの + L2ノルム,すなわち, [x,u]' * BigQ * [x;u] + です.ただし, + + + + ゲイン KA + B2*K が安定になるように + 選ばれます. + + + Xはリカッチ方程式の安定化解です. + + + 連続系プラントの場合: + + + + + 離散時間系プラントの場合: + + + + + X と等価な形式は, + + + + ただし, Abar=A-B2*inv(R)*S' および + Qbar=Q-S*inv(R)*S'となります. + + + リカッチ方程式に関連する3ブロック行列ペンシルは次のようになります: + + + + 注意: 行列Rは非特異であるとします. 特に, + プラントは縦長 (出力の数 >= 入力の数)である + 必要があります. + + + + + + + + 参照 + + + lqe + + + gcare + + + leqr + + + + diff --git a/modules/cacsd/help/ja_JP/ltitr.xml b/modules/cacsd/help/ja_JP/ltitr.xml new file mode 100755 index 000000000..8bd032dd7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ltitr.xml @@ -0,0 +1,100 @@ + + + + + ltitr + 離散時間応答 (状態空間) + + + 呼出し手順 + [X]=ltitr(A,B,U,[x0]) + [xf,X]=ltitr(A,B,U,[x0]) + + + + パラメータ + + + A,B + + 適当な次元の実数行列 + + + + U,X + + 実数行列 + + + + x0,xf + + + 実数ベクトル (x0のデフォルト=0) + + + + + + + 説明 + + 離散時間システムの時間応答を計算します + + + + 入力 uiU行列の + 列です. + + + + x0 は状態量の初期値のベクトルです (デフォルト値 : 0) ; + + + X は出力行列です(Uと同じ列の数). + + + + xf は状態量の終端値 xf=X[n+1]です. + + + + + + + + 参照 + + + rtitr + + + flts + + + + diff --git a/modules/cacsd/help/ja_JP/macglov.xml b/modules/cacsd/help/ja_JP/macglov.xml new file mode 100755 index 000000000..f15992055 --- /dev/null +++ b/modules/cacsd/help/ja_JP/macglov.xml @@ -0,0 +1,98 @@ + + + + + macglov + 連続時間動的システムのMac Farlane Glover 問題 + + + 呼出し手順 + [P,r]=macglov(Sl) + + + 引数 + + + Sl + + + 連続時間線形動的システム + + + + + P + + + 連続時間線形動的システム, "拡張" プラント + + + + + r + + + 1x2 ベクトル, P22の次元 + + + + + + + 説明 + + [P,r]=macglov(Sl) は, + Glover-McFarlane問題の + 標準プラントPを返します. + + + この問題の場合, + ro_optimal = 1-ハンケルノルム([N,M]) + ただし, [N,M]=lcf(sl) (正規化既約分解) すなわち, + + + gama_optimal = 1/sqrt(ro_optimal) + + + P は,Slと + 同じ表現(伝達関数または状態空間)を返します. + + + + Examples + MAC-FARLANE PROBLEM for G=1/s^3; + + + + 著者 + F. Delebecque INRIA + + + 履歴 + + + 5.4.0 + + Slが + 連続時間線形システムであることを確認するようになりました. + この修正は,この コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/minreal.xml b/modules/cacsd/help/ja_JP/minreal.xml new file mode 100755 index 000000000..051f2ade3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/minreal.xml @@ -0,0 +1,89 @@ + + + + + minreal + 最小平衡実現 + + + 呼出し手順 + slb=minreal(sl [,tol]) + + + パラメータ + + + sl,slb + + + syslin リスト + + + + + tol + + 実数 (閾値) + + + + + + 説明 + + [ae,be,ce]=minreal(a,b,c,domain [,tol]) + は線形システムsl (syslin リスト) + の平衡実現を返します. + + + sl は安定であると仮定されます. + + + tol 閾値は equil1で使用されます. + + + + + + + + 参照 + + + minss + + + balreal + + + arhnk + + + equil + + + equil1 + + + + diff --git a/modules/cacsd/help/ja_JP/minss.xml b/modules/cacsd/help/ja_JP/minss.xml new file mode 100755 index 000000000..c7127cca5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/minss.xml @@ -0,0 +1,81 @@ + + + + + minss + 最小実現 + + + 呼出し手順 + [slc]=minss( sl [,tol]) + + + パラメータ + + + sl,slc + + + syslin リスト (状態空間形式の線形システム) + + + + + tol + + + 実数 (ランク定義の閾値 (contr参照) + + + + + + + 説明 + + minss は,slの + 最小実現をslcに返します. + + + + + + + + 参照 + + + contr + + + minreal + + + arhnk + + + contrss + + + obsvss + + + balreal + + + + diff --git a/modules/cacsd/help/ja_JP/mucomp.xml b/modules/cacsd/help/ja_JP/mucomp.xml new file mode 100755 index 000000000..83e71d272 --- /dev/null +++ b/modules/cacsd/help/ja_JP/mucomp.xml @@ -0,0 +1,82 @@ + + + + + mucomp + mu (構造化特異値) 計算 + + + 呼出し手順 + [BOUND, D, G] = mucomp(Z, K, T) + + + パラメータ + + + Z + + + 構造化特異値を計算するn行n列の複素行列 + + + + + K + + + 誤差に関するブロック構造を含む長さmのベクトル. + + + + + T + + + 各ブロックの型を指す長さmのベクトル. + 対応するブロックが実数の場合は T(I) = 1, + 対応するブロックが複素数の場合は T(I) = 2. + + + + + BOUND + + 構造化特異値の上界. + + + + D, G + + + それぞれ対角行列DおよびGの対角要素を含む長さnのベクトル. + この際,行列 Z'*D^2*Z + sqrt(-1)*(G*Z-Z'*G) - bound^2*D^2 + は負の半正定行列となります. + + + + + + + 説明 + + 正方複素行列および + 誤差のブロック構造を指定して,構造化特異値の上界を計算します. + + + + 参考文献 + + Slicot ルーチン AB13MD. + + + diff --git a/modules/cacsd/help/ja_JP/narsimul.xml b/modules/cacsd/help/ja_JP/narsimul.xml new file mode 100755 index 000000000..108e0996b --- /dev/null +++ b/modules/cacsd/help/ja_JP/narsimul.xml @@ -0,0 +1,32 @@ + + + + + narsimul + armax シミュレーション ( rtitrを使用) + + + 呼出し手順 + [z]=narsimul(a,b,d,sig,u,[up,yp,ep]) + [z]=narsimul(ar,u,[up,yp,ep]) + + + + パラメータ + + ARMAX シミュレーション. + arsimul と同じだが, rtitr で作成されるシミュレーションとは + 手法が異なります. + + + diff --git a/modules/cacsd/help/ja_JP/nehari.xml b/modules/cacsd/help/ja_JP/nehari.xml new file mode 100755 index 000000000..44f7e4ec5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/nehari.xml @@ -0,0 +1,81 @@ + + + + + nehari + 連続時間動的システムのネハリ近似 + + + 呼出し手順 + [x]=nehari(R [,tol]) + + + 引数 + + + R + + + 状態空間表現の連続時間線形動的システム + + + + + x + + + 状態空間表現の連続時間線形動的システム + + + + + tol + + オプションの閾値, デフォルト値は 1e-6. + + + + + + 説明 + + [x]=nehari(R [,tol]) + はRのネハリ近似を返します. + + + R = 状態空間表現の線形システム + (syslinリスト). + + + R は厳密にプロパーで - R~ は安定です + (すなわち R は反安定です). + + + + + 履歴 + + + 5.4.0 + + Slが + 連続時間線形システムであることを確認するようになりました. + この修正は,この コミットにより導入されました. + + + + + diff --git a/modules/cacsd/help/ja_JP/noisegen.xml b/modules/cacsd/help/ja_JP/noisegen.xml new file mode 100755 index 000000000..39342382d --- /dev/null +++ b/modules/cacsd/help/ja_JP/noisegen.xml @@ -0,0 +1,44 @@ + + + + + noisegen + ノイズ生成 + + + 呼び出し手順 + b=noisegen(pas,Tmax,sig) + + + 説明 + + Scilab 関数 [b]=Noise(t)を生成します. + ただし, Noise(t)は区分定数関数です + ([k*pas,(k+1)*pas]の区間は定数). + 各一定区間の値は, + 互いに独立で同一の分布に従う標準偏差 sig のガウス分布 + によるランダムな値です. + 関数は,t<=0および + t>=Tmaxでは一定です. + + + + + + + diff --git a/modules/cacsd/help/ja_JP/nyquistfrequencybounds.xml b/modules/cacsd/help/ja_JP/nyquistfrequencybounds.xml new file mode 100755 index 000000000..c582147e2 --- /dev/null +++ b/modules/cacsd/help/ja_JP/nyquistfrequencybounds.xml @@ -0,0 +1,128 @@ + + + + + nyquistfrequencybounds + ナイキスト軌跡が指定した矩形に入る周波数および出る周波数を計算する. + + + + 呼び出し手順 + [fmin,fmax] = nyquistfrequencybounds(H,bounds) + + + パラメータ + + + H + + + SISO線形動的システム. + + + + + bounds + + + 2行2列配列:複素平面の矩形を定義する配列 [Rmin Imin;Rmax Imax] . + + + + + fmin + + + 実数: ナイキスト軌跡が指定した矩形に入る最小の周波数 (Hz) + または 0 (矩形に 0 Hzの点が含まれる場合)または + [] (軌跡が完全に矩形の外側). + + + + + fmax + + + 実数: ナイキスト軌跡が指定した矩形から出る最大の周波数 (Hz) + または %inf (周波数に %inf (Hz)となる点が含まれる場合, + または軌跡が完全に矩形の外側にある場合). + + + + + + + 説明 + 複素平面の矩形を指定すると, + nyquistfrequencybounds は, + ナイキスト軌跡が矩形に入る最小の周波数と, + ナイキスト軌跡が矩形から離れる最大の周波数を計算します. + + この関数はナイキスト軌跡の高解像度の拡大図を作成する用途では有用です. + + + + + + + + + s=%s + num=2+9*s-9*s^2-11*s^3+0.01*s^4; + den=43*s^2+65*s^3+34*s^4+8*s^5+s^6+0.1*s^7 + H=syslin('c',num,den)-1 + clf;set(gcf(),'axes_size',[805,549]) + subplot(221) + nyquist(H) + subplot(222) + bounds=[-2 -2;2 2] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + subplot(223) + bounds=[-1.3 -0.3;0 0.3] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,fmax) + title("bounds:"+sci2exp(bounds,0)); + subplot(224) + bounds=[-1.1 -0.1;-0.8 0.1] + [fmin,fmax]=nyquistfrequencybounds(H,bounds) + nyquist(H,fmin,1d8) + title("bounds:"+sci2exp(bounds,0)); + + + + + 参照 + + + nyquist + + + + diff --git a/modules/cacsd/help/ja_JP/obs_gram.xml b/modules/cacsd/help/ja_JP/obs_gram.xml new file mode 100755 index 000000000..c1c917f4a --- /dev/null +++ b/modules/cacsd/help/ja_JP/obs_gram.xml @@ -0,0 +1,102 @@ + + + + + obs_gram + 可観測性グラミアン + + + 呼び出し手順 + Go=obs_gram(A,C [,dom]) + Go=obs_gram(sl) + + + + パラメータ + + + A,C + + (適当な次元の)実数行列 + + + + dom + + + 文字列 ("d' または "c" (デフォルト値)) + + + + + sl + + + syslin リスト + + + + + + + 説明 + + 対(A,C)または + 線形システムsl (syslin リスト)の + 可観測性グラミアン. + dom は領域で,以下の値とすることができます + + + + "c" + + 連続システム (デフォルト) + + + + "d" + + 離散システム + + + + + + + w=syslin('c',A,[],C); Go=obs_gram(w); +norm(Go*A+A'*Go+C'*C,1) +norm(lyap(A,-C'*C,'c')-Go,1) +A=A/4; Go=obs_gram(A,C,'d'); //離散時間の場合 +norm(lyap(A,-C'*C,'d')-Go,1) + ]]> + + + 参照 + + + ctr_gram + + + obsvss + + + obsv_mat + + + lyap + + + + diff --git a/modules/cacsd/help/ja_JP/obscont.xml b/modules/cacsd/help/ja_JP/obscont.xml new file mode 100755 index 000000000..cdb78ab49 --- /dev/null +++ b/modules/cacsd/help/ja_JP/obscont.xml @@ -0,0 +1,186 @@ + + + + + obscont + オブザーバベース コントローラ + + + 呼び出しの手順 + [K]=obscont(P,Kc,Kf) + [J,r]=obscont(P,Kc,Kf) + + + + パラメータ + + + P + + + 状態空間形式,連続または離散時間の + syslin リスト (ノミナルプラント) + + + + + Kc + + 実数行列, (全状態) 制御器ゲイン + + + + Kf + + 実数行列, フィルタゲイン + + + + K + + + syslin リスト (制御器) + + + + + J + + + syslin リスト (拡張制御器) + + + + + r + + 1x2 行ベクトル + + + + + + 説明 + + obscont は + 行列[A,B,C,D] (syslin リスト) + を有するノミナルプラント P に関連する + オブザーバベース コントローラを返す. + + + 全状態制御ゲインは Kc であり, + フィルタゲインは Kf である. + これらのゲインは,例えば,極配置法により計算できる. + + + A+B*KcA+Kf*C は + (通常) 安定と仮定される. + + + K は補償器 + K: y->uの状態空間表現であり, + 以下を含んでいる + + + xdot = A x + B u, y=C x + D u, zdot= (A + Kf C)z -Kf y +B u, u=Kc z + + + K は線形システム (syslin リスト) + であり, その行列は以下のように与えられる: + K=[A+B*Kc+Kf*C+Kf*D*Kc,Kf,-Kc]. + + + (負の)フィードバック K を有する + 閉ループフィードバックシステム Cl: v ->y + (すなわち, y = P u, u = v - K y, または + + + + ) は Cl = P/.(-K)で指定される. + + + Cl ( spec(cl('A')) ) の極は + A+B*Kc + および A+Kf*Cの固有値に配置される. + + + 引数が2つの場合、obscontは + LFTにより全ての安定化フィードバックをパラメータ表現する + (正方)線形システムKを返す. + + + Qr(2)xr(1)次, + すなわち, 入力の数 x Pの出力の数, + の任意の安定な線形システム. + 次に,Pの安定化制御器 K + は K=lft(J,r,Q)で表すことができる. + Q=0に対応する制御器は + K=J(1:nu,1:ny) + (この KK=obscont(P,Kc,Kf)の + 戻り値)である. + rsize(P),すなわち, + ベクトル [出力の数, 入力の数]; + + + + + + + + 参照 + + + ppol + + + lqg + + + lqr + + + lqe + + + h_inf + + + lft + + + syslin + + + feedback + + + observer + + + + diff --git a/modules/cacsd/help/ja_JP/observer.xml b/modules/cacsd/help/ja_JP/observer.xml new file mode 100755 index 000000000..f8d593809 --- /dev/null +++ b/modules/cacsd/help/ja_JP/observer.xml @@ -0,0 +1,208 @@ + + + + + observer + オブザーバの設計 + + + 呼び出し手順 + Obs=observer(Sys,J) + [Obs,U,m]=observer(Sys [,flag,alfa]) + + + + パラメータ + + + Sys + + + syslin リスト (線形システム) + + + + + J + + nx x ny 定数行列 (出力注入行列) + + + + flag + + + 文字列 ('pp' または 'st' (デフォルト)) + + + + + alfa + + 閉ループ極の位置 (オプションのパラメータ, デフォルト=-1) + + + + Obs + + + 線形システム (syslin リスト), オブザーバ + + + + + U + + + 直交行列 ( dt_ility参照) + + + + + m + + + 整数 (不安定/不可観測(st)または + 不可観測(pp)部分空間の次元) + + + + + + + 説明 + + Obs=observer(Sys,J) は, + J出力注入によりSysから得られた + オブザーバ + Obs=syslin(td,A+J*C,[B+J*D,-J],eye(A)) を返します + (td はSysの時間領域). + より一般的に,observerは, + 線形システムSys,つまり, + syslinリストにより表された + dotx=A x + Bu, y=Cx + Du, + の可観測な部分に関するオブザーバ + Obs を返します. + Sysnx 個の状態変数, + nu 個の入力および ny 個の出力を有します. + Obs は, + 行列 [Ao,Bo,Identity]を有する線形システムです. + ただし, + Aono x no, Bo は + no x (nu+ny), Co は + no x no および no=nx-mです. + + + Obsへの入力は + [u,y] そして Obs の出力は以下のようになります: + + + xhat=不可観測な部分空間の x modulo の推定値 (flag='pp'の場合) + + + または, + xhat=不安定で不可観測な部分空間のx modulo の推定値 (flag='st'の場合) + + + flag='st'の場合: + H*U(:,1:m)=0の場合に限り + z=H*x は安定なオブザーバにより推定することができ, + オブザーバで配置可能な極はalfa(1),alfa(2),...に + 設定されます. + + + flag='pp'の場合: + H*U(:,1:m)=0の場合に限り + z=H*x は指定した誤差スペクトルで推定することができ, + 全てのオブザーバの極は配置され,alfa(1),alfa(2),...に + 設定されます. + + + H が以下の拘束条件を満たす場合: H*U(:,1:m)=0 (ker(H) は + Sysの不可観測な部分空間を含みます) + H*U=[0,H2]となり, z=H*x のオブザーバはH2*Obs (ただし,H2=H*U(:,m+1:nx)) となります. + すなわち, + H*x のオブザーバの C行列である Co は Co=H2となります. + + + Sysの対(A,C)が可観測となる + 場合,m=0となり, + 線形システム U*Obs (またはH*U*Obs) + はx(または Hx)のオブザーバとなります. + 誤差スペクトルは, + alpha(1),alpha(2),...,alpha(nx)です. + + + + + z +Idu=eye(nu,nu);Sys3=ss2tf(H*U(:,m+1:$)*Obs*[Idu;Sys]) +//Transfer u-->[u;y=Sys*u]-->Obs-->xhat-->HUxhat=zhat i.e. u-->output of Obs +//this transfer must equal Sys2, the u-->z transfer (H2=eye). +//Assume a Kalman model +//dotx = A x + B u + G w +// y = C x + D u + H w + v +//with Eww' = QN, Evv' = RN, Ewv' = NN +//To build a Kalman observer: +//1-Form BigR = [G*QN*G' G*QN*H'+G*NN; +// H*QN*G'+NN*G' H*QN*H'+RN]; +//the covariance matrix of the noise vector [Gw;Hw+v] +//2-Build the plant P21 : dotx = A x + B1 e ; y = C2 x + D21 e +//with e a unit white noise. +// [W,Wt]=fullrf(BigR); +//B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +//C2=C; +//P21=syslin('c',A,B1,C2,D21); +//3-Compute the Kalman gain +//L = lqe(P21); +//4- Build an observer for the plant [A,B,C,D]; +//Plant = syslin('c',A,B,C,D); +//Obs = observer(Plant,L); +//Test example: +A=-diag(1:4); +B=ones(4,1); +C=B'; D= 0; G=2*B; H=-3; QN=2; +RN=5; NN=0; +BigR = [G*QN*G' G*QN*H'+G*NN; + H*QN*G'+NN*G' H*QN*H'+RN]; +[W,Wt]=fullrf(BigR); +B1=W(1:size(G,1),:);D21=W(($+1-size(C,1)):$,:); +C2=C; +P21=syslin('c',A,B1,C2,D21); +L = lqe(P21); +Plant = syslin('c',A,B,C,D); +Obs = observer(Plant,L); +spec(Obs.A) + ]]> + + + 参照 + + + dt_ility + + + unobs + + + stabil + + + + diff --git a/modules/cacsd/help/ja_JP/obsv_mat.xml b/modules/cacsd/help/ja_JP/obsv_mat.xml new file mode 100755 index 000000000..47900f0a4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/obsv_mat.xml @@ -0,0 +1,66 @@ + + + + + obsv_mat + 可観測行列 + + + 呼び出し手順 + [O]=obsv_mat(A,C) + [O]=obsv_mat(sl) + + + + パラメータ + + + A,C,O + + 実数行列 + + + + sl + + + syslin リスト + + + + + + + 説明 + + obsv_mat は次の可観測行列を返します: + + + + + 参照 + + + contrss + + + obsvss + + + obs_gram + + + + diff --git a/modules/cacsd/help/ja_JP/obsvss.xml b/modules/cacsd/help/ja_JP/obsvss.xml new file mode 100755 index 000000000..0bef086f5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/obsvss.xml @@ -0,0 +1,81 @@ + + + + + obsvss + 可観測な部分 + + + 呼び出し手順 + [Ao,Bo,Co]=obsvss(A,B,C [,tol]) + [slo]=obsvss(sl [,tol]) + + + + パラメータ + + + A,B,C,Ao,Bo,Co + + 実数行列 + + + + sl,slo + + + syslin リスト + + + + + tol + + + 実数 (閾値) (デフォルト 100*%eps) + + + + + + + 説明 + + slo=(Ao,Bo,Co) は線形システム + sl=(A,B,C) (syslin リスト)の + 可観測な部分です. + + + tol は可制御性を調べる際の閾値です + (contr参照); + デフォルト値 = 100*%eps + + + + 参照 + + + contr + + + contrss + + + obsv_mat + + + obs_gram + + + + diff --git a/modules/cacsd/help/ja_JP/p_margin.xml b/modules/cacsd/help/ja_JP/p_margin.xml new file mode 100755 index 000000000..41b3bcda3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/p_margin.xml @@ -0,0 +1,124 @@ + + + + + p_margin + 位相余裕および位相交差周波数 + + + 呼び出し手順 + + [phm,fr] = p_margin(h) + phm=p_margin(h) + + + + パラメータ + + + h + + + SISO線形システム (参照 :syslin). + + + + + phm + + 位相余裕 (存在する場合)または空の行列. + + + + fr + + 位相交差周波数 (単位:Hz)または空の行列. + + + + + + 説明 + + 連続または離散時間SISO線形システムを + 指定すると,p_marginhの + 位相余裕 phm (単位:度)および + 位相交差周波数 fr (単位:Hz)を返します. + + + 位相余裕は, hのナイキスト線図において + 単位円を通過する周波数における位相を表します. + 言い換えると, + 位相余裕は,h のゲインが1となった時, + hの周波数応答の位相と-180度の + 差を表します. + + このアルゴリズムは、多項式の求解ルーチンを使用して + 以下の方程式を解いています: + + + + h(s)*h(-s)=1 + + 連続時間システムの場合. + + + + h(z)*h(1/z)=1 + + 離散時間システムの場合. + + + + + + + + + + 参照 + + + g_margin + + + show_margins + + + repfreq + + + black + + + bode + + + nicholschart + + + nyquist + + + + diff --git a/modules/cacsd/help/ja_JP/parrot.xml b/modules/cacsd/help/ja_JP/parrot.xml new file mode 100755 index 000000000..0e313eeb3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/parrot.xml @@ -0,0 +1,61 @@ + + + + + parrot + Parrotの問題 + + + 呼び出し手順 + K=parrot(D,r) + + + パラメータ + + + D,K + + 行列 + + + + r + + + 1X2 ベクトル (Dの2,2部分の次元) + + + + + + + 説明 + + [D11 D12; D21 D22] + のように分割された行列D + (ただし,size(D22)=r=[r1,r2]) を指定すると, + [D11 D12; D21 D22+K] の最大特異値が + 最小となるような + 行列 K を計算します + (Parrotの問題). + + + + 参照 + + + h_inf_st + + + + diff --git a/modules/cacsd/help/ja_JP/pfss.xml b/modules/cacsd/help/ja_JP/pfss.xml new file mode 100755 index 000000000..7aaebd734 --- /dev/null +++ b/modules/cacsd/help/ja_JP/pfss.xml @@ -0,0 +1,110 @@ + + + + + pfss + 部分分数分解 + + + 呼び出し手順 + elts=pfss(Sl) + elts=pfss(Sl,rmax) + elts=pfss(Sl,'cord') + elts=pfss(Sl,rmax,'cord') + + + + パラメータ + + + Sl + + + syslin リスト (状態空間または伝達行列システム) + rmax : ブロック対角化座標の条件付けを制御する実数 : 文字列 'c' + または 'd'. + + + + + + + 説明 + + 線形システムSl(状態空間形式,伝達行列は + tf2ssにより自動的に状態空間形式に変換されます)の部分分数分解: + + + elts は, + 加算するとSlとなる + 線形システムのリストです. + すなわち elts=list(S1,S2,S3,...,Sn) : + + + ただし,Sl = S1 + S2 +... +Sn. + + + 各 Si は + SA行列のブロック対角に基づく + + Sのいくつかの極を含みます. + + + プロパーでないシステムの場合,Slの多項式部分が + eltsの最後のエントリに置かれます. + + + Slが伝達形式で指定された場合, まず状態空間に変換され, + その後,各サブシステムSiが伝達形式に変換されます. + + + A 行列の状態空間形式は, + 関数bdiagによりブロック対角形式に変換されます. + オプションのパラメータ + rmaxbdiagに送られます. + rmax はブロック対角化を成立させるために + 大きな数に設定する必要があります. + + + オプションフラグ cord='c' が指定された場合, + eltsの要素はA行列の固有値の実部 + (cord='d'の場合は大きさ)でソートされます. + + + + + + + + 参照 + + + pbig + + + bdiag + + + coffg + + + dtsi + + + + diff --git a/modules/cacsd/help/ja_JP/phasemag.xml b/modules/cacsd/help/ja_JP/phasemag.xml new file mode 100755 index 000000000..07556ec72 --- /dev/null +++ b/modules/cacsd/help/ja_JP/phasemag.xml @@ -0,0 +1,111 @@ + + + + + phasemag + 位相と振幅の計算 + + + 呼出し手順 + [phi,db]=phasemag(z [,mod]) + + + パラメータ + + + z + + 行列または複素数の行ベクトル. + + + + mod + + 文字列 + + + mod='c' + + "連続" 表現 -無限大 and +360度の間 (デフォルト) + + + + mod='m' + + -360 と 0 度の間の表現 + + + + + + + phi + + + zの位相 (単位:度) + + + + + db + + 振幅 (単位: dB) + + + + + + 説明 + + phasemag は,複素数行列のエントリの + 位相と振幅を計算します. + mod='c'の場合,phasemagは + phi(:,i)との距離を最小化するように + phi(:,i+1)を計算します. + すなわち, 位相の"連続表現"を得ようとします. + + + -%piと%piの間で位相を得るために, + phi=atan(imag(z),real(z))を使用してください. + + + + + + + + 参照 + + + repfreq + + + gainplot + + + atan + + + bode + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/CHAPTER b/modules/cacsd/help/ja_JP/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/ja_JP/plot_display/black.xml b/modules/cacsd/help/ja_JP/plot_display/black.xml new file mode 100755 index 000000000..a297de5a7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/black.xml @@ -0,0 +1,188 @@ + + + + + black + Black図 (ニコルス線図) + + + 呼び出し手順 + black( sl,[fmin,fmax] [,step] [,comments] ) + black( sl,frq [,comments] ) + black(frq,db,phi [,comments]) + black(frq,repf [,comments]) + + + + パラメータ + + + sl + + + リスト ( 線形システム syslin) + + + + + fmin,fmax + + 実数スカラー (周波数範囲) + + + + frq + + 行ベクトルまたは行列 (周波数) + + + + db,phi + + 行ベクトルまたは行列 (絶対値, 位相) + + + + repf + + 行ベクトルまたは行列 (複素周波数応答) + + + + step + + 実数 + + + + comments + + 文字列 + + + + + + 説明 + + 線形システムslのブラック図 (ニコルス線図). + sl は連続時間または離散時間 SIMOシステム + とすることができます(syslin参照). + 多出力系の場合, 各出力は異なる記号でプロットされます. + + The frequencies are given by the bounds + 範囲fmin,fmax (単位: Hz) + または行ベクトルfrq + (多出力系の場合は行列) + で指定された周波数. + + + step は ( 対数 ) 離散時間刻みです. + (デフォルト値の選択については calfrq 参照). + + + commentsは文字列(キャプション)のベクトル + です. + + + db,phi は絶対値 (単位: dB)および + 位相 (単位:度)の行列です. + + + repf は複素行列です. + 各行は各応答に対応します. + + + y/(1+y)の + 等ゲイン,等位相のグリッドをプロットするには, + nicholschart()を使用してください. + + + fmin およびfmax のデフォルト値は, + sl が連続時間系の場合に + 1.d-3,1.d+3, + sl が離散時間系の場合に1.d-3, + 0.5/sl.dt (ナイキスト周波数) + となります. + + + + + + + + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + clf();black(sl,0.01,10); + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + + + + + 参照 + + + bode + + + nyquist + + + nicholschart + + + freq + + + repfreq + + + calfrq + + + phasemag + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/bode.xml b/modules/cacsd/help/ja_JP/plot_display/bode.xml new file mode 100755 index 000000000..9b6af5370 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/bode.xml @@ -0,0 +1,203 @@ + + + + + bode + ボード線図 + + + 呼び出し手順 + bode(sl,[fmin,fmax] [,step] [,comments] ) + bode(sl,frq [,comments] ) + bode(frq,db,phi [,comments]) + bode(frq, repf [,comments]) + + + + 引数 + + + sl + + 連続時間系または離散時間系の + syslin リスト (SISO または SIMO 線形システム). + + + + + fmin,fmax + + real (周波数範囲 (単位: Hz)) + + + + step + + real (対数単位の増分ステップ.) + + + + comments + + 文字列のベクトル (キャプション). + + + + frq + + 行ベクトルまたは行列 (周波数 (単位:Hz) ) + (各行が各SISOサブシステムに対応). + + + + + db + + 行ベクトルまたは行列 ( ゲイン (単位:dB)). + (各行が各SISOサブシステムに対応). + + + + + phi + + 行ベクトルまたは行列 ( 位相 (単位:度)) + (各行が各SISOサブシステムに対応). + + + + + repf + + + 複素数(複素数を含む周波数応答)の行ベクトルまたは行列. + + + + + + + 説明 + + ボード線図,すなわち,slの周波数応答の + ゲインと位相. + + + sl は,連続時間系または離散時間系の SIMOシステム + (syslin参照)とすることができます. + 多出力系の場合,各出力は異なる記号でプロットされます. + + + 周波数は範囲の境界値 fmin,fmax (単位: Hz) + または行ベクトル (多出力系の場合は行列) frqで + 指定します. + + + step は(指数単位の)離散化増分です. + (デフォルト値の選定方法については,calfrq を参照). + + + comments は文字列ベクトル(キャプション)です. + + + db,phi はゲイン(単位:dB)及び + 位相(単位:度)の行列です(各行が各応答に対応します). + + + repfは複素数の行列です. + 各行が各応答に対応します. + + + fmin およびfmax のデフォルト値は, + sl が連続時間系の場合に + 1.d-3,1.d+3, + sl が離散時間系の場合に1.d-3, + 0.5/sl.dt (ナイキスト周波数) + となります. + 周波数の自動離散化はcalfrqにより + 行われます. + + + 位相/ゲイン曲線に沿ったデータを表示するために + + データティップ + + ツールを使用することができます. + + + + + + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + clf();bode(h,0.01,100); + + + + + + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 + h2=syslin('c',num/den); + clf();bode([h1;h2],0.01,100,['h1';'h2']) + + + + + 参照 + + + black + + + nyquist + + + gainplot + + + repfreq + + + g_margin + + + p_margin + + + calfrq + + + phasemag + + + datatips + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/bode_asymp.xml b/modules/cacsd/help/ja_JP/plot_display/bode_asymp.xml new file mode 100755 index 000000000..987afdf36 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/bode_asymp.xml @@ -0,0 +1,178 @@ + + + + + bode_asymp + ボード線図の漸近線 + + + 呼び出し手順 + + bode_asymp(sl, [wmin, wmax]) + + + + 引数 + + + sl + + + syslin リスト (連続時間系のSISOまたはSIMO線形システム) + (状態空間または有理型). + + + + + wmin, wmax + + 実スカラー: 周波数領域の下限および上限 (単位: rad/s). + + + + + + 説明 + + システムslの漸近線をプロットします. + + + オプション引数 wmin および wmax (単位:rad/s) + により漸近線をプロットする際に周波数範囲を指定することができます. + + + + 関数bode() または gainplot()は, + bode_asymp()の前にコールする必要があることに注意してください. + + + + + 警告: 最初の入力引数が実数行列の場合,この関数は適用できません. + + + + + + + + + s = poly(0, "s"); + h = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + clf(); bode(h, 0.01, 100); bode_asymp(h); + + + + + + s = poly(0, "s"); + h1 = syslin("c", (s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h2 = syslin("c", (10*(s+3))/(s*(s+2)*(s^2+s+2))); + clf(); bode([h1; h2], 0.01, 100, ["h1"; "h2"]); bode_asymp([h1; h2]); + + + + + + s = %s; + G = (s+10)/(s*(s+100)); + sys = syslin("c", G); + f_min = .0001; f_max = 1600; + clf(); bode(sys, f_min, f_max, "rad"); + bode_asymp(sys, 10, 1000); + + + + + + s = poly(0,"s"); + h = syslin("c",(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h = tf2ss(h); + clf(); + gainplot(h, 0.01, 100, "$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"); + bode_asymp(h) + + + + + 参照 + + + bode + + + black + + + nyquist + + + gainplot + + + repfreq + + + g_margin + + + p_margin + + + calfrq + + + phasemag + + + datatips + + + show_margins + + + + + 履歴 + + + 5.5.0 + bode_asymp() 関数が導入されました. + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/evans.xml b/modules/cacsd/help/ja_JP/plot_display/evans.xml new file mode 100755 index 000000000..af90987e4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/evans.xml @@ -0,0 +1,100 @@ + + + + + evans + エバンス根軌跡 + + + 呼び出し手順 + evans(H [,kmax]) + + + 引数 + + + H + + + 伝達関数または状態空間表現で指定した + SISO線形システム (参照: syslin). + + + + + kmax + + 実数 (プロットに用いるゲインの最大値) + + + + + + 説明 + + 状態空間または伝達形式 H(s)のSISO線形システム + (syslin)のエバンス根軌跡を出力します. + これは,複素平面における + 1+k*H(s)=1+k*N(s)/D(s)の根軌跡です. + 選択された点のゲインk <= kmaxに関して, + D(s)+k*N(s)の根の虚部が実部に対してプロットされます. + + + 根軌跡の指定した点におけるゲインを得るには, + データティップマネージャを + アクティブにし,根軌跡の任意の点をクリックします. + + + + + + + + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + [Kr,s]=krac2(H) + + + + + 参照 + + + syslin + + + sgrid + + + zgrid + + + kpure + + + krac2 + + + datatips + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/gainplot.xml b/modules/cacsd/help/ja_JP/plot_display/gainplot.xml new file mode 100755 index 000000000..36c1323cc --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/gainplot.xml @@ -0,0 +1,128 @@ + + + + + gainplot + ゲインプロット + + + 呼び出し手順 + gainplot(sl,fmin,fmax [,step] [,comments] ) + gainplot(frq,db,phi [,comments]) + gainplot(frq, repf [,comments]) + + + + 引数 + + + sl + + + リスト (syslin SIMO 線形システム). + + + + + fmin,fmax + + 実数スカラー (周波数範囲). + + + + step + + 実数 (離散化刻み (対数領域)) + + + + comments + + 文字列 + + + + frq + + 行列 (行方向に周波数を並べたもの) + + + + db,phi + + + 行列 (frqに対応するゲインと位相) + + + + + repf + + 複素数行列. 各行が各周波数応答に対応. + + + + + + 説明 + + bode と同じだがゲインのみプロットします. + + + + + + + + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();gainplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Gainplot') + + + + + 参照 + + + bode + + + black + + + nyquist + + + repfreq + + + g_margin + + + datatips + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/hallchart.xml b/modules/cacsd/help/ja_JP/plot_display/hallchart.xml new file mode 100755 index 000000000..4ea95f9d5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/hallchart.xml @@ -0,0 +1,155 @@ + + + + + hallchart + ホール図を描画 + + + 呼び出し手順 + hallchart([ modules [,args [,colors]]]) + + + パラメータ + + + modules + + 実数ベクトル (モジュール (単位: dB)) + + + + args + + 実数ベクトル (位相 (単位:度)) + + + + colors + + スカラーまたはベクトル, 等ゲインおよび等位相曲線の色インデックス + + + + + + 説明 + + ホール図をプロット: real(y), imag(y) 平面における + y/(1+y) の等モジュールおよび等引数等高線 + + + hallchart は + nyquistと組み合わせて使用することができます. + + + modulesおよびargsのデフォルト値は + それぞれ次のようになります : + + + [-20 -10 -6 -4 -2 2 4 6 10 20] + + + [-90 -60 -45 -30 -15 15 30 45 60 90] + + + この関数はm_circle 関数の後継です + + + + グラフィックエンティティの構成 + + hallchart関数は通常カレントの軸の最後の子である + Compoundオブジェクトを1つ作成します. + このCompoundオブジェクトには各グリッド曲線に一つずつの + compoundオブジェクトの集合が含まれます. + 最初のオブジェクトは,等モジュール曲線,最後のオブジェクトは + 等引数等高線となります. + これらのcompoundオブジェクトの各々には, + ポリラインオブジェクト(曲線)とテキストオブジェクト(ラベル)が含まれます. + 以下のコードをi番目の等モジュール曲線の色を変更する際に使用することができます: + + + + clf();hallchart() + ax=gca(); + c=ax.children($).children; + i=4; + ci=c(i); + ci.children(1).foreground=color('red'); + j=3; + cj=c(10+j); + cj.children(1).thickness=3; + + + + + + + + hallchart() + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + + + + + 参照 + + + nyquist + + + nicholschart + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/m_circle.xml b/modules/cacsd/help/ja_JP/plot_display/m_circle.xml new file mode 100755 index 000000000..050a357d7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/m_circle.xml @@ -0,0 +1,108 @@ + + + + + m_circle + y/(1+y) の等ゲイン等高線を複素平面にプロットする (廃止) + + + 呼出し手順 + m_circle() + m_circle(gain) + + + + パラメータ + + + gain + + ゲインベクトル (単位:DB). デフォルト値は + + + gain + + =[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12] + + + + + + + + + 説明 + + m_circle は,複素平面(Re,Im)に + gain引数で指定した + 等ゲイン等高線を描画します. + + + gainのデフォルト値は: + + + [-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12] + + + m_circlenyquistと共に使用されます. + + + この関数は,hallchart 関数で代替されます. + + + + + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') + m_circle(); + + + + clf(); + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist([h1;h],0.01,100,['h1';'h']) + m_circle([-8 -6 -4]); + + + + 参照 + + + nyquist + + + nicholschart + + + black + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/nicholschart.xml b/modules/cacsd/help/ja_JP/plot_display/nicholschart.xml new file mode 100755 index 000000000..f0ca73128 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/nicholschart.xml @@ -0,0 +1,138 @@ + + + + + nicholschart + ニコルス線図 + + + 呼び出し手順 + nicholschart([modules] [,args] [,colors]) + + + + 引数 + + + modules + + 実数ベクトル (モジュール (単位: dB)) + + + + args + + r実数ベクトル (位相 (単位: 度)) + + + + colorss + + スカラーまたはベクトル, 等ゲインまたは等位相曲線の色インデックス + + + + + + 説明 + + ニコルス線図をプロット: yの位相/ゲイン平面への + y/(1+y)の等モジュールおよび等引数等高線をプロット + + + nicholschart は,black + と組み合わせて使用することができます. + + + modulesおよびargsの + デフォルト値はそれぞれ次のようになります : + + + [-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 3 4 5 6 8 12] + + + [-(1:10) , -(20:10:160)] + + + + 注意 + + 従来からのnicholschartのニコルス線図の呼び出し手順は以下の形式でした: + nicholschart(modules=gains, args=phases, colors=colors), + しかし,以下の呼び出し手順も利用可能です: nicholschart(gains, phases, colors). + + + + + + + + nicholschart(modules=[-6 -3 -1 1 3 6], args=[-1 -20 20 40 80 160 180]); + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + + + + + 参照 + + + black + + + nyquist + + + hallchart + + + + + 履歴 + + + 5.5.0 + 使用可能な呼び出し手順: nicholschart(gains, phases, colors). + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/nyquist.xml b/modules/cacsd/help/ja_JP/plot_display/nyquist.xml new file mode 100755 index 000000000..ebbf13343 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/nyquist.xml @@ -0,0 +1,262 @@ + + + + + nyquist + ナイキスト線図 + + + 呼び出しの手順 + + nyquist( sl,[fmin,fmax] [,step] [,comments] [,symmetry]) + nyquist( sl, frq [,comments] [,symmetry]) + nyquist(frq,db,phi [,comments] [,symmetry]) + nyquist(frq, repf [,comments] [,symmetry]) + + + + 引数 + + + sl + + + 連続または離散時間 SIMO 線形システム + ( 参照: syslin). + + + + + fmin,fmax + + スカラー (周波数範囲の境界(単位:Hz)) + + + + step + + real (対数単位の離散化増分), + 指定されない場合,適応型離散化が行われます. + + + + + commments + + 文字列ベクトル (キャプション). + + + + symmetry + + 論理値, デフォルト値は %t. + + + + frq + + 周波数のベクトルまたは行列 (単位: Hz) + (各行がslの各出力に対応). + + + + + db,phi + + ゲイン(単位:dB)および位相(単位:度)の行列 + (各行がslの各出力に対応). + + + + + repf + + + 周波数応答を表す複素行列. + (各行がslの各出力に対応). + + + + + + + 説明 + + ナイキスト線図は, + slの周波数応答の虚部と実部の関係をプロットします. + symmetry引数がtrueまたは省略された場合, + ナイキスト線図は対称グラフを表示します(正および負の周波数). + + + 連続時間システムの場合, sl(2*%i*%pi*w) が + プロットされます. + 離散時間システムまたは離散化されたシステムの場合, + sl(exp(2*%i*%pi*w*fd)が使用されます. + (離散時間システムの場合は fd=1, + 離散化されたシステムの場合は fd=sl('dt')) + + + sl は + 連続時間または離散時間 SIMOシステム (syslin参照)と + することができます. + 多出力系の場合,各出力は異なる記号でプロットされます. + + + 周波数は範囲の境界 fmin,fmax (単位: Hz) + または行ベクトル (多出力系の場合は行列) frq + で指定すします + + + step は (対数表現の) 離散刻みです. + (デフォルト値の選択については calfrq を参照). + + + comments は(キャプション)文字列のベクトルです. + + + db,phi はゲイン(単位:dB)および位相(単位:度)の + 行列です (各行が各応答に対応します). + + + repf は複素行列です. + 各行が各応答に対応します. + + + fmin およびfmax のデフォルト値は, + sl が連続時間系の場合に + 1.d-3,1.d+3, + sl が離散時間系の場合に1.d-3, + 0.5/sl.dt (ナイキスト周波数) + となります. + + + 周波数の自動離散化はcalfrq + により行われます. + + + 選択された点における周波数の値を得るには, + データティップマネージャを + 有効にし,ナイキスト線図の任意の点をクリックします. + + + + グラフィックエンティティの構築 + + nyquist 関数は各SISOシステムの複合オブジェクトを + 作成します. + 以下のコードにより,i番目のシステムの複合オブジェクトのハンドルを取得 + することができます: + + + + この複合オブジェクトは2つの子を有します: + 小さな矢印(小さな線分群の集合)と曲線ラベル(テキストの複合要素) + を定義する複合オブジェクトおよび曲線自体の線分群. + 以下のコードは,特定のナイキスト線図の表示をカスタマイズする方法を + 示します. + + + + + + + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)); + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf(); nyquist(h1) + ax=gca(); + h_h=ax.children($).children(2);//hのナイキスト線図のハンドル + tip=datatipCreate(h_h,[1.331,0.684]); + datatipSetOrientation(tip,"upper left"); + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau^2*s^2)); + clf(); + nyquist([Plant;Plant*PID],0.5,100,["Plant";"Plant and PID corrector"]); + hallchart(colors=color('light gray')*[1 1]) + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_upper_left"; + + + + + 参照 + + + syslin + + + bode + + + black + + + nyquistfrequencybounds + + + calfrq + + + freq + + + repfreq + + + phasemag + + + datatips + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/phaseplot.xml b/modules/cacsd/help/ja_JP/plot_display/phaseplot.xml new file mode 100755 index 000000000..72aa0a927 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/phaseplot.xml @@ -0,0 +1,224 @@ + + + + + phaseplot + 周波数位相プロット + + + 呼び出し手順 + + phaseplot(sl) + phaseplot(sl,fmin,fmax [,step] [,comments] ) + phaseplot(frq,db,phi [,comments]) + phaseplot(frq, repf [,comments]) + + + + 引数 + + + sl + + + 一入力多出力 (SIMO) 線形動的システム (syslin参照). + + + + + fmin + + 実スカラー: 表示する最小周波数 (単位:Hz) . + + + + fmax + + 実スカラー: 表示する最大周波数 (単位:Hz). + + + + step + + 実スカラー: 周波数離散化刻み (指数スケール)). + 指定しない場合、このアルゴリズムは、 + 適用型周波数刻みを使用します. + + + + + comments + + 文字列ベクトル: 各曲線に付随する凡例ラベル. + オプションの値は空の配列です. + + + + + frq + + 行ベクトルまたは n x m 配列: 周波数離散化(Hz). + + + + db + + n x m 配列: + frqに対応する大きさ. この引数が使用されない場合、 + phaseplotgainplotおよび + bodeと同じ呼び出し手順となります. + + + + + phi + + + n x m 配列: frqに対応する位相[deg]. + phaseplot関数は曲線 + phi(i,:)frq(i,:) + をプロットします. + + + + + repf + + n x m 複素数配列. + phaseplot 関数は,曲線 + phase(repf(i,:)) 対 + frq(i,:) をプロットします. + + + + + + + 説明 + + この関数はシステムの周波数応答の位相を描画します. + このシステムは異なる表現で指定することができます: + + + + + phaseplot(sl,...) の場合, + + + sl + は連続系または離散系SIMOとすることができます. + 多出力の場合,出力は異なる記号でプロットされます. + + この場合,周波数は以下のように指定できます: + + + + 上限および下限周波数[Hz] + fmin, fmaxおよび + 周波数刻み(オプション) step. + fmin および + fmaxのデフォルト値は, + slが連続系の場合 + 1.e-3および + 1.e3, + 離散系の場合 1.e-3, + 0.5/sl.dt (ナイキスト周波数) です. + 引数step が省略された場合, + この関数は適用型周波数刻み + (calfrq参照)を使用します. + + + + + 行ベクトルまたは二次元配列 frqは + 周波数をHzで指定します. + 2次元配列は多出力系において各入出力の組について + 異なる周波数刻みを適用する場合に使用されます. + + + + + + + phaseplot(frq,...) の場合 + + + この場合,事前に計算された周波数応答により周波数位相プロットを + 描画することができます. + 周波数応答は複素数表現repfまたは + ゲイン/位相表現db, + phiで指定できます. + + + frq および repf は, + 行ベクトルまたは(各行が入出力の組みを表わす) n x m 配列です. + + + + + The データティップツールは位相曲線に沿ってデータを表示する際に使用できます. + + + + + + + + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h2=syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + clf();phaseplot([h1;h2],0.01,100,.. + ["$\frac{s^2+18 s+100}{s^2+6.06 s+102.1}$"; + "$\frac{s^2+3.02 s+228.01}{s^2+27 s+225}$"]) + title('Phaseplot') + + + + + 参照 + + + bode + + + gainplot + + + repfreq + + + calfrq + + + datatips + + + + + 履歴 + + + 5.4.0 + 関数phaseplotが導入されました. + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/sgrid.xml b/modules/cacsd/help/ja_JP/plot_display/sgrid.xml new file mode 100755 index 000000000..2d1877d23 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/sgrid.xml @@ -0,0 +1,128 @@ + + + + + sgrid + s平面のグリッド線. + + + 呼び出し手順 + + sgrid() + sgrid(zeta,wn [,colors]) + sgrid(['new',] zeta,wn [,colors]) + sgrid(zeta,wn [,'new'] [,colors]) + + + + 引数 + + + zeta + + + ダンピング係数の配列. [0 + 1] + + の範囲の値が有効です. + デフォルト値は + [0 0.16 0.34 0.5 0.64 0.76 0.86 0.94 0.985 + 1] + + です. + + + + + wn + + 固有周波数の配列(単位:Hz). 正の値のみが有効です. + 省略された場合,プロットの境界に適合するように + プログラムにより計算されます. + + + + + colors + + 整数値(色添字)を有するスカラーまたは2要素の配列. + + + + + + + 説明 + + evansと組み合わせて使用され, + ダンピング比(zeta), + 固有周波数 (wn)が一定値となる + 線をプロットします. + + + 引数colors は, + ダンピング係数が一定の曲線(colors(2)) および + 固有周波数が一定の曲線(colors(1))の色を指定します. + + + sgrid関数は,連続時間線形システムの根軌跡の + グリッドを描画する際によく使用されます. + この場合,sgrid関数は + evansをコールした後に + コールする必要があります. + 離散時間線形システムの場合,zgrid + 関数を使用する必要があります. + + + オプション引数 'new' は, + グリッドをプロットする前にグラフィックウィンドウを消去する + ために使用できます. + + + + + + + + sgrid(0:0.2:1,[0.2 0.6 1 1.7 2]) + + + + + + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + + + + + 参照 + + + evans + + + zgrid + + + datatips + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/show_margins.xml b/modules/cacsd/help/ja_JP/plot_display/show_margins.xml new file mode 100755 index 000000000..b330a9733 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/show_margins.xml @@ -0,0 +1,91 @@ + + + + + show_margins + ゲイン余裕/位相余裕とそれぞれの交差周波数を表示する + + + 呼出し手順 + + show_margins(h) + show_margins(h,'bode') + show_margins(h,'nyquist') + + + + パラメータ + + + h + + + SISO 線形システム (参照 :syslin). + + + + + + + 説明 + 連続または離散時間系の SISO 線形システムを指定すると + show_margins はゲイン余裕、位相余裕および + それぞれの交差周波数をボード線図(デフォルト)もしくは + システムの周波数応答をナイキスト線図に表示します. + + + + + + + h=syslin('c',0.02909+0.11827*%s+0.12823*%s^2+0.35659*%s^3+0.256*%s^4+0.1*%s^5,.. + 0.0409+0.1827*%s+1.28225*%s^2+3.1909*%s^3+2.56*%s^4+%s^5); + show_margins(h) + show_margins(h,'nyquist') + + + + h = syslin(0.1,0.01547+0.01599*%z ,%z^2-1.81*%z+0.9048) + show_margins(h) + show_margins(h,'nyquist') + + + + 参照 + + + p_margin + + + g_margin + + + bode + + + nyquist + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/svplot.xml b/modules/cacsd/help/ja_JP/plot_display/svplot.xml new file mode 100755 index 000000000..b85efceb8 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/svplot.xml @@ -0,0 +1,91 @@ + + + + + svplot + 特異値シグマプロット + + + 呼び出し手順 + [SVM]=svplot(sl,[w]) + + + パラメータ + + + sl + + + syslin リスト (連続, 離散またはサンプル値システム) + + + + + w + + 実数ベクトル (オプションのパラメータ) + + + + + + 説明 + + システム sl=(A,B,C,D)の伝達関数行列の特異値を計算します: + + + + は,wで指定された周波数範囲で評価されます. + (Tはサンプリング周期, T=sl('dt') はサンプル値システムです) + + + sl は, + 状態空間形式のシステム [A,B,C,D]を表す + syslin リストです. + slは連続または離散時間またはサンプル値システムとすることができます. + + + 出力行列 SVMi番目の列には, + i番目の周波数w(i)に関する + G の特異値が含まれます. + + + + は以下と等価です + + + + + + + + + diff --git a/modules/cacsd/help/ja_JP/plot_display/zgrid.xml b/modules/cacsd/help/ja_JP/plot_display/zgrid.xml new file mode 100755 index 000000000..742a80643 --- /dev/null +++ b/modules/cacsd/help/ja_JP/plot_display/zgrid.xml @@ -0,0 +1,131 @@ + + + + + zgrid + zgrid プロット + + + 呼び出し手順 + + zgrid() + zgrid(zeta,wn [,colors]) + zgrid(['new',] zeta,wn [,colors]) + zgrid(zeta,wn [,'new'] [,colors]) + + + + 引数 + + + zeta + + + ダンピング係数の配列. [0 + 1] + + の範囲の値のみ有効です. デフォルト値は + 0:0.1:1です. + + + + + wn + + 固有周波数の配列 (pi/dtの倍数). + [0 1]範囲の値のみ有効です. + デフォルト値は0:0.1:1です. + + + + + colors + + 整数値(色添字)を有するスカラーまたは2要素の配列. + + + + + + 説明 + + z平面グリッド線をプロットします: + ダンピング係数(zeta)と固有周波数(wn)が + 一定の線がZ平面単位円の内部に描かれます. + + + 等周波数曲線が[0,%pi/dt]の範囲に描画されます. + + + 引数colors は, + ダンピング係数が一定の曲線(colors(2)) および + 固有周波数が一定の曲線(colors(1))の色を指定します. + + + zgrid関数は,離散時間線形システムの根軌跡の + グリッドを描画する際によく使用されます. + この場合,zgrid関数は + evansをコールした後に + コールする必要があります. + 連続時間線形システムの場合,sgrid + 関数を使用する必要があります. + + + オプション引数 'new' は, + グリッドをプロットする前にグラフィックウィンドウを消去する + ために使用できます. + + + + + + + + zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + + + + + + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + + + + + 参照 + + + evans + + + sgrid + + + freson + + + datatips + + + + diff --git a/modules/cacsd/help/ja_JP/plzr.xml b/modules/cacsd/help/ja_JP/plzr.xml new file mode 100755 index 000000000..b82075caa --- /dev/null +++ b/modules/cacsd/help/ja_JP/plzr.xml @@ -0,0 +1,66 @@ + + + + + plzr + 極/ゼロ プロット + + + 呼び出しの手順 + plzr(sl) + + + 引数 + + + sl + + + list ( syslin) + + + + + + + 説明 + + 線形システム + sl (syslin リスト)の極/ゼロプロットを出力する. + + + + + + + + 参照 + + + trzeros + + + roots + + + syslin + + + + diff --git a/modules/cacsd/help/ja_JP/pol2des.xml b/modules/cacsd/help/ja_JP/pol2des.xml new file mode 100755 index 000000000..d3cf58e54 --- /dev/null +++ b/modules/cacsd/help/ja_JP/pol2des.xml @@ -0,0 +1,69 @@ + + + + + pol2des + 記述形式の多項式行列 + + + 呼び出し手順 + [N,B,C]=pol2des(Ds) + + + パラメータ + + + Ds + + 多項式 + + + + N, B, C + + 実数行列 + + + + + + 説明 + + 多項式 Ds=D_0 +D_1 s +D_2 s^2 +... +D_k s^kを指定すると, + pol2des は,N 冪ゼロとして + 3つの行列 N, B, Cを返します: + + + Ds = C (s*N-eye())^-1 B + + + + + + + + 参照 + + + ss2des + + + tf2des + + + + diff --git a/modules/cacsd/help/ja_JP/ppol.xml b/modules/cacsd/help/ja_JP/ppol.xml new file mode 100755 index 000000000..72c934d85 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ppol.xml @@ -0,0 +1,88 @@ + + + + + ppol + 極配置 + + + 呼び出し手順 + [K]=ppol(A,B,poles) + + + 引数 + + + A,B + + + 次元 nxn および nxmの実数行列. + + + + + poles + + + n次の実数または虚数ベクトル. + + + + + K + + 実数行列 (負方向のフィードバックゲイン) + + + + + + 説明 + + K=ppol(A,B,poles) は, + A-B*Kの固有値がpolesとなるような + mxn 次のゲイン行列 K を返します. + (A,B) は可制御である必要があります. + polesが複素数の場合,共役の組で指定する必要があります. + + + (A,C)の出力注入ゲイン F は + 以下のように得られます: + + + Ft=ppol(A',C',poles); F=Ft' + + + 本アルゴリズムは P.H. Petkovによるものです. + + + + + + + + 参照 + + + canon + + + stabil + + + + diff --git a/modules/cacsd/help/ja_JP/prbs_a.xml b/modules/cacsd/help/ja_JP/prbs_a.xml new file mode 100755 index 000000000..2140c6aec --- /dev/null +++ b/modules/cacsd/help/ja_JP/prbs_a.xml @@ -0,0 +1,40 @@ + + + + + prbs_a + 擬似バイナリ乱数列の生成 + + + 呼び出し手順 + [u]=prbs_a(n,nc,[ids]) + + + 説明 + + 擬似バイナリ乱数列 + u=[u0,u1,...,u_(n-1)]を生成します. + u は {-1,1} の範囲の値となり, + 最大で nc 回その符号を変えます. + ids は u が符号を変える日付を修正するために使用されます. + ids は[1:n]の範囲の値をとる整数ベクトルです. + + + + + + + diff --git a/modules/cacsd/help/ja_JP/projsl.xml b/modules/cacsd/help/ja_JP/projsl.xml new file mode 100755 index 000000000..0dc3aa88c --- /dev/null +++ b/modules/cacsd/help/ja_JP/projsl.xml @@ -0,0 +1,86 @@ + + + + + projsl + 線形システム射影 + + + 呼び出し手順 + [slp]=projsl(sl,Q,M) + + + パラメータ + + + sl,slp + + + syslin リスト + + + + + Q,M + + 行列 (射影分解) + + + + + + 説明 + + slp= slの射影モデル, + ただし,Q*Mは射影のフルランク分解です. + + + (A,B,C,D)slの実現の場合, + 射影モデルは(M*A*Q,M*B,C*Q,D)により与えられます. + + + 通常,射影 Q*M は適当な相補行列W + のスペクトル射影により得られます. + 例えば, + W = (重みつき)グラミアンの積またはリカッチ方程式の積. + + + + + + + + 参照 + + + pbig + + + + diff --git a/modules/cacsd/help/ja_JP/repfreq.xml b/modules/cacsd/help/ja_JP/repfreq.xml new file mode 100755 index 000000000..a1ab20434 --- /dev/null +++ b/modules/cacsd/help/ja_JP/repfreq.xml @@ -0,0 +1,141 @@ + + + + + repfreq + 周波数応答 + + + 呼び出し手順 + [ [frq,] repf]=repfreq(sys,fmin,fmax [,step]) + [ [frq,] repf]=repfreq(sys [,frq]) + [ frq,repf,splitf]=repfreq(sys,fmin,fmax [,step]) + [ frq,repf,splitf]=repfreq(sys [,frq]) + + + + パラメータ + + + sys + + + syslin リスト: SIMO 線形システム + + + + + fmin,fmax + + 実数(周波数範囲の下限と上限) + + + + frq + + 周波数の実数ベクトル (Hz) + + + + step + + 対数離散刻み増分 + + + + splitf + + 臨界周波数の添え字ベクトル. + + + + repf + + 複素周波数応用のベクトルv + + + + + + 説明 + + sys(s)Sysの伝達関数の場合, + repf(k) は, + 連続時間システムの場合にs= %i*frq(k)*2*%pi, + 離散時間システム(サンプリング時間:dt)の場合にexp(2*%i*%pi*dt*frq(k)) + で評価された sys(s) に等しくなります. + + + db(k)repf(k)の振幅(単位: dB),すなわち, + db(k)=20*log10(abs(repf(k)))です. + また, phi(k)repf(k)の位相(単位:度)です. + + + fmin,fmax,step が入力パラメータの場合, + frq=[10.^((log10(fmin)):step:(log10(fmax))) fmax];で指定された + 周波数ベクトルfrqに関して応答が計算されます. + + + step が指定されない場合, 出力パラメータ frqfrq=calfrq(sys,fmin,fmax)により計算されます. + + + ベクトル frq は,splitf ベクトルにより + 複数の通常の周波数範囲に分割されます. + frq(splitf(k):splitf(k+1)-1) は臨界周波数を有しません. + sys は, [frq(splitf(k)),frq(splitf(k)+1)] の + 範囲に極を一つ有し, その外側には極がありません. + + + + + + + + 参照 + + + bode + + + freq + + + calfrq + + + horner + + + nyquist + + + dbphi + + + + diff --git a/modules/cacsd/help/ja_JP/ric_desc.xml b/modules/cacsd/help/ja_JP/ric_desc.xml new file mode 100755 index 000000000..b555e10df --- /dev/null +++ b/modules/cacsd/help/ja_JP/ric_desc.xml @@ -0,0 +1,117 @@ + + + + + ric_desc + リカッチ方程式 + + + 呼び出し手順 + X=ric_desc(H [,E)) + [X1,X2,zero]=ric_desc(H [,E]) + + + + パラメータ + + + H,E + + 実数正方行列 + + + + X1,X2 + + 実数正方行列 + + + + zero + + 実数 + + + + + + 説明 + + ハミルトン行列を入力とするリカッチソルバ. + + + 連続系の場合, 呼び出し手順は ric_descr(H) (1入力)となります: + + + リカッチ方程式は次のようになります: + + + + ハミルトン行列 H は次のように定義できます: + + + + 呼び出し手順 [X1,X2,zero]=ric_descr(H)の場合, + 解はX=X1/X2で得られます. + + + zero = (Ec)の右辺のL1ノルム + + + 解X は, X=riccati(A,Q,R,'c')) + によっても得られます. + + + 離散時間の場合, 呼び出し手順は ric_descr(H,E) (2入力)となります: + + + リカッチ解は以下のようになります: + + + + G=B/R*B'と定義すると, + ハミルトン行列のペンシル(E,H)は + 以下のようになります: + + + + 呼び出し手順 [X1,X2,err]=ric_descr(H,E)の場合, + Xの解はX=X1/X2で得られます. + + + zero= (Ed)の右辺のL1ノルム + + + 解 X X=riccati(A,G,C,'d') + 'ただし,G=B/R*B') によっても得られます. + + + + 参照 + + + riccati + + + + diff --git a/modules/cacsd/help/ja_JP/ricc.xml b/modules/cacsd/help/ja_JP/ricc.xml new file mode 100755 index 000000000..e8e5bcea3 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ricc.xml @@ -0,0 +1,172 @@ + + + + + ricc + リカッチ方程式 + + + 呼び出し手順 + [X,RCOND,FERR]=ricc(A,B,C,"cont""method") + [X,RCOND,FERR]=ricc(F,G,H,"disc","method") + + + + パラメータ + + + A,B,C + + 適当な次元の実数行列 + + + + F,G,H + + 適当な次元の実数行列 + + + + X + + 実数行列 + + + + "cont","disc"' + + 規定の文字列 (連続または離散を表すフラグ) + + + + method + + 連続時間システムの場合は'schr' または 'sign', + 離散時間システムの場合は'schr' または'invf' + + + + + + + 説明 + + リカッチソルバ. + + + 連続時間: + + + + により連続時間 ARE の解が得られる + + + + B およびC は + 非負定とする. + (A,G) は + Bのフルランク分解G*G'により + 可安定とする. + + + (A,H)Cの + フルランク分解H*H'により可検出とする. + + + 離散時間: + + + + により離散時間AREの解が得られる + + + + F は可逆であり、 + G = G1*inv(G2)*G1'とする. + + + (F,G1)は可安定, (C,F) は + Hのフルランク分解 C'*Cを + 用いて可検出であることとする. + より適する場合, ric_desc を使用すること. + + + C, D は対象行列である. + 行列 A, C および Dに対応する行列ペンシルが,絶対値が 1より小さい + N個の固有値を有するものとする. + + + 解のエラー境界と推定条件も出力される. + 行列 A, C および D において, + 対応するハミルトン行列が 実部が負となるN個の固有値を有するものとする. + + + + + + + + 参照 + + + riccati + + + ric_desc + + + schur + + + + + 使用する関数 + 参照: SCI/modules/cacsd/src/slicot/riccpack.f + + diff --git a/modules/cacsd/help/ja_JP/riccati.xml b/modules/cacsd/help/ja_JP/riccati.xml new file mode 100755 index 000000000..acb544eb1 --- /dev/null +++ b/modules/cacsd/help/ja_JP/riccati.xml @@ -0,0 +1,92 @@ + + + + + riccati + リカッチ方程式 + + + 呼び出し手順 + X=riccati(A,B,C,dom,[typ]) + [X1,X2]=riccati(A,B,C,dom,[typ]) + + + + パラメータ + + + A,B,C + + + 実数行列 nxn, B および対称行列 C . + + + + + dom + + + 時間領域(連続または離散)に関する 'c' または 'd' + + + + + typ + + + 文字列 : ブロック対角化の場合は'eigen', + または Schur 法の場合はschur'. + + + + + X1,X2,X + + 正方実数行列 (X2 は可逆), 対称行列 X + + + + + + 説明 + + X=riccati(A,B,C,dom,[typ]) は次のリカッチ方程式を解きます: + + + + (連続系の場合),または + + + + (離散時間系の場合), ただし B=B1/B2*B1'. + 出力引数2個でコールされた場合, + riccati は + X=X1/X2となるようなX1,X2を返します. + + + + 参照 + + + ricc + + + ric_desc + + + + diff --git a/modules/cacsd/help/ja_JP/routh_t.xml b/modules/cacsd/help/ja_JP/routh_t.xml new file mode 100755 index 000000000..1f4703dbb --- /dev/null +++ b/modules/cacsd/help/ja_JP/routh_t.xml @@ -0,0 +1,179 @@ + + + + + routh_t + ラウス表 + + + 呼び出し手順 + + [r [,num] ]=routh_t(p) + [r [,num] ]=routh_t(h ,kp) + r=routh_t(h ,k [,normalized]) + + + + 引数 + + + p + + 実数多項式 + + + + h + + 実数 SISO 伝達システム + + + + k + + 実数多項式またはスカラー + + + + kp + + スカラー: 比例制御定数 + + + + normalized + + 論理値 (%t (デフォルト値) または %f) + + + + r + + 行列またはリスト: ラウス配列要素 + + + + num + + スカラー: 符号変更の数 + + + + + + 説明 + + r=routh_t(p) は, + 多項式pのラウス表を計算します. + + + r=routh_t(h,k) は, + ゲインkによるフィードバックを有する + SISO伝達行列 hで記述されたシステムの + 分母のラウス表を計算します. + + + k=poly(0,'k') の場合,ダミー変数k + で表した多項式行列でラウス表が記述されます. + + + normalized=%f の場合, + 正規化されていない要素を有する多項式行列を有します. + 他の場合, 有理数または正規化された行列を有します. + + + 2番目の引数 num はラウス表の最初の列の + 符号変化の数を返します. + この引数の値は,表が正規化された場合のみ意味を有します. + + + + ヒント: h=1/pの場合, + routh_t(h, kp) は + routh_t(p+kp) に等価です. + + + + + + + + + 参照 + + + roots + + + spec + + + evans + + + kpure + + + krac2 + + + + + 参考文献 + + http://controls.engin.umich.edu/wiki/index.php/RouthStability + + + http://www.jdotec.net/s3i/TD_Info/Routh/Routh.pdf + + Comments on the Routh-Hurwitz criterion, Shamash, Y.,Automatic + Control, IEEE T.A.C Volume 25, Issue 1, Feb 1980 Page(s): 132 - 133 + + + + 履歴 + + + 5.5.0 + 新規出力引数が追加されました: num (SEP #104). + + + 5.4.0 + 新規入力引数が追加されました: normalized (SEP #89). + + + + diff --git a/modules/cacsd/help/ja_JP/rowinout.xml b/modules/cacsd/help/ja_JP/rowinout.xml new file mode 100755 index 000000000..dc2eeed51 --- /dev/null +++ b/modules/cacsd/help/ja_JP/rowinout.xml @@ -0,0 +1,120 @@ + + + + + rowinout + インナ-アウタ分解 + + + 呼び出し手順 + [Inn,X,Gbar]=rowinout(G) + + + パラメータ + + + G + + + 線形システム (syslin リスト) [A,B,C,D] + + + + + Inn + + + インナ因子 (syslin リスト) + + + + + Gbar + + + アウタ因子 (syslin リスト) + + + + + X + + + G (syslin リスト)の行圧縮 + + + + + + + 説明 + + G=[A,B,C,D](lxp) + のインナ-アウタ分解(おとび行圧縮) (ただし,l>=p). + + + G は虚軸上にゼロを持たない縦長(l>=p) で + ,Dは列フルランクであると仮定します. + + + GGbarが安定な場合には + 安定となります. + + + G は以下のアウタ-インナ分解を許容します: + + + + ただし Inn は正方行列の + インナ (全通過で安定), + Gbarは + 正方行列のアウタ,すなわち, + Gbar は正方で双方向プロパーかつ双方向安定 + (Gbarの逆行列もプロパーで安定)です. + + + 注意: + + + + は G の行圧縮です. + ただし, X = Inn + の逆行列は全通過特性を有します.すなわち: + + + + (連続時間系の場合). + + + + 参照 + + + syslin + + + colinout + + + + diff --git a/modules/cacsd/help/ja_JP/rowregul.xml b/modules/cacsd/help/ja_JP/rowregul.xml new file mode 100755 index 000000000..200f7b420 --- /dev/null +++ b/modules/cacsd/help/ja_JP/rowregul.xml @@ -0,0 +1,77 @@ + + + + rowregul + 無限大にある極およびゼロを削除 + + + 呼び出し手順 + [Stmp,Ws]=rowregul(Sl,alfa,beta) + + + パラメータ + + + Sl,Stmp + + + syslin リスト + + + + + alfa,beta + + 実数 (新しい極とゼロの位置) + + + + + + 説明 + + Stmp=Ws*Slがプロパーで + D行列がフルランクの時, + ポストフィルタ Wsを計算します. + + + Sl の無限大にある極は alfaに移動されます; + + + Slの無限大にあるゼロは are moved to beta + に移動されます; + + + Sl は, + 状態空間表現(多項式 D行列も加わる可能性有)の + 右可逆線形システム(syslin リスト) + であると仮定されます. + + + この関数は coleregul の双対です + (以下の関数コード参照). + + + + + + + + 参照 + + + invsyslin + + + colregul + + + + diff --git a/modules/cacsd/help/ja_JP/rtitr.xml b/modules/cacsd/help/ja_JP/rtitr.xml new file mode 100755 index 000000000..7d65d28fd --- /dev/null +++ b/modules/cacsd/help/ja_JP/rtitr.xml @@ -0,0 +1,196 @@ + + + + + rtitr + 離散時間応答 (伝達行列) + + + 呼び出し手順 + [y]=rtitr(Num,Den,u [,up,yp]) + + + パラメータ + + + Num,Den + + + 多項式行列 (それぞれの次元 : nxm および nxn) + + + + + u + + + 実数行列 (次元 mx(t+1) + + + + + up,yp + + + 実数行列 (up 次元 mx(maxi(degree(Den))) (デフォルト値=0) , + yp 次元 nx + (maxi(degree(Den)))) + + + + + y + + 実数行列 + + + + + + 説明 + + y=rtitr(Num,Den,u [,up,yp]) は, + 入力 u の + 伝達行列が Den^-1 Num となる + 離散時間線形システムの時間応答を返します. + ただし,y および u には + t=0,1,...においてDen y = Num u + となる関係があります. + + + d1=maxi(degree(Den)),および + d2=maxi(degree(Num)) の場合, + 多項式行列 Den(z) および + Num(z) はそれぞれ以下のように + 記述されます: + + + + そして Den y = Num u は + 次の再帰式として解釈されます: + + + + D(d1) は正則と仮定されます. + + + uの列はt=0,1,...,Tにおけるシステムの入力です: + + + + t=0,1,...,T+d1-d2における出力が, + 行列yの列になります: + + + + up および yp は + t < 0 における初期条件を定義します, すなわち + + + + d1 および d2の相対値に + 依存して, up, yp + の最も左の要素のいくつかが無視されます. + up および + yp のデフォルト値はゼロです: + up = 0*ones(m,d1), yp=0*ones(n,d1) + + + + + + + + 参照 + + + ltitr + + + exp + + + flts + + + + diff --git a/modules/cacsd/help/ja_JP/sensi.xml b/modules/cacsd/help/ja_JP/sensi.xml new file mode 100755 index 000000000..74e6ab49a --- /dev/null +++ b/modules/cacsd/help/ja_JP/sensi.xml @@ -0,0 +1,128 @@ + + + + + sensi + 感度関数 + + + 呼び出し手順 + [Se,Re,Te]=sensi(G,K) + [Si,Ri,Ti]=sensi(G,K,flag) + + + + パラメータ + + + G + + + 標準プラント (syslin リスト) + + + + + K + + + 補償器 (syslin リスト) + + + + + flag + + + 文字列 'o' (デフォルト値) または 'i' + + + + + Se + + + 出力感度関数 (I+G*K)^-1 + + + + + Re + + + K*Se + + + + + Te + + + G*K*Se (出力相補感度関数) + + + + + + + 説明 + + sensi は感度関数を計算します. + G および K が + 状態空間形式で指定される場合, + システムは一般的に最小実現を返します. + 計算は lft により行われます. + 例えば, Se は + コマンド + P = augment(G,'S'), Se=lft(P,K) + により指定することができます. + flag = 'i'の場合, + [Si,Ri,Ti]=sensi(G,K,'i')は + 入力感度関数を返します. + + + + + + + + + 参照 + + + augment + + + lft + + + h_cl + + + + diff --git a/modules/cacsd/help/ja_JP/sident.xml b/modules/cacsd/help/ja_JP/sident.xml new file mode 100755 index 000000000..058bf0612 --- /dev/null +++ b/modules/cacsd/help/ja_JP/sident.xml @@ -0,0 +1,357 @@ + + + + + sident + 離散時間状態空間実現およびカルマンゲイン + + + 呼出し手順 + [[A,C][,B[,D]][,K,Q,Ry,S][,rcnd]] = sident(meth,job,s,n,l,R[,tol,t,Ai,Ci,printw]) + + + パラメータ + + + meth + + 使用する手法を定義する整数オプション: + + + = + + 1 : 過去の入力及び出力によるMOESP法; + + + + = + + 2 : N4SID 法; + + + + = + + 3 : 組み合わせ法: A および C はMOESP, + B および D はN4SIDによる. + + + + + + + + job + + 実行する計算を定義する整数オプション: + + + = + + 1 : 全てのシステム行列, A, B, C, Dを計算; + + + + = + + 2 : 行列 A および C のみを計算; + + + + = + + 3 : 行列 B のみを計算; + + + + = + + 4 : 行列 B および D のみを計算. + + + + + + + s + + + 処理された入力及び出力ブロックハンケル行列の + ブロック行の数. s > 0. + + + + + n + + 整数, システムの次数 + + + + l + + 整数, システム出力の次数 + + + + R + + Rの2*(m+l)*s行2*(m+l)*s列の部分には, + 結合されたブロックハンケル行列のQR分解による + 上三角因子 R が含まれます. + システム行列を計算する際にはより詳細な情報が + 必要です. + + + + + tol + + (オプション) + 行列のランクを推定する際に使用される許容誤差. + tol > 0の場合, tol に指定した値が + 条件数の逆数の下界として使用されます. + 推定された条件数が1/tol以下となるm行n列の行列は + フルランクとみなされます. + デフォルト: m*n*epsilon_machine ただし epsilon_machine は + 相対機械精度です. + + + + + t + + (オプション) + 共分散を計算する際に使用されるサンプルの総数です. + t = 0, または t >= 2*(m+l)*s のどちらかです. + 共分散行列またはカルマン予測ゲイン行列が不要である場合には, + このパラメータは不要です. + t = 0の場合,K, Q, Ry, および S は計算されません. + デフォルト: t = 0. + + + + + Ai + + 実数行列 + + + + Ci + + 実数行列 + + + + printw + + (オプション) 警告メッセージの出力に関するスイッチ. + + + = + + 1: 警告メッセージを出力します; + + + + = + + 0: 警告メッセージを出力しません. + + + + + デフォルト: printw = 0. + + + + + A + + 実数行列 + + + + C + + 実数行列 + + + + B + + 実数行列 + + + + D + + 実数行列 + + + + K + + 実数行列, カルマンゲイン + + + + Q + + (オプション) n行n列の半正定値の状態共分散行列で, + カルマンゲインを計算する際に状態量の重み行列として使用されます. + + + + + RY + + (オプション) l行l列の(半)正定値の出力共分散行列で, + カルマンゲインを計算する際に出力の重み行列として使用されます. + + + + + S + + (オプション) n行l列の状態-出力相互共分散行列で, + カルマンゲインを計算する際にクロス重み行列として使用されます. + + + + + rcnd + + (オプション) 長さlrのベクトル, + ランク決定,最小二乗,またはリカッチ方程式の解に使用される + 行列の条件数の逆数の推定値を含みます. + ただし, カルマンゲイン行列が不要n場合, lr = 4 , + カルマンゲインが必要な場合には lr = 12 とします. + + + + + + + 説明 + + SIDENT 関数は, SLICOT ルーチン IB01BD を用いて, + 離散時間状態空間実現 (A,B,C,D) および + カルマンゲイン K を計算します. + + + + SIDENT は, + システム次数および結合されたブロックハンケル行列の + R因子に関連する部分を指定すると, + 部分空間同定法(MOESP, N4SID, またはその組み合わせ)により, + 状態空間実現 (A,B,C,D)および離散時間システムの + カルマン予測ゲイン K を計算します. + + + モデル構造は以下のようになります : + + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + ただし, + x(k) は(時刻kにおける) n次元状態ベクトル, + + + u(k)はm次元入力ベクトル, + + + y(k) はl次元出力ベクトル, + + + e(k) はl次元外乱ベクトル, + + + として A, B, C, D, および K は適当な次元の実数行列です. + + + + コメント + + 1. job <= 2の時, n行n列のシステム状態行列 A, およびp行n列 + のシステム出力行列 C が計算されます. + + + 2. job <> 2 の時, n行m列のシステム入力行列B + が計算されます. + + + 3. job = 1 または 4の時,l行m列のシステム行列Dが計算されます. + + + 4. t > 0 の時, n行l列のカルマン予測ゲイン行列 K および + 共分散行列 Q, Ry および S が計算されます. + + + + + + + + 参照 + + + findBD + + + sorder + + + + diff --git a/modules/cacsd/help/ja_JP/sorder.xml b/modules/cacsd/help/ja_JP/sorder.xml new file mode 100755 index 000000000..6a11d5832 --- /dev/null +++ b/modules/cacsd/help/ja_JP/sorder.xml @@ -0,0 +1,390 @@ + + + + + sorder + 離散時間システムの次数を計算 + + + 呼出し手順 + [Ro[,n,sval,rcnd]] = sorder(meth,alg,jobd,batch,conct,s,Y[,U,tol,printw,ldwork,Ri]) + + + パラメータ + + + meth + + 使用する手法を定義するための整数オプション: + + + = + + 1 : 過去の入力および出力を用いるMOESP法; + + + + = + + 2 : N4SID 法. + + + + + + + alg + + + 入出力データから構築される + 結合されたブロックハンケル行列の三角分解を計算するアルゴリズムを + 定義するための整数オプション: + + + + = + + 1 : 相関行列のコレスキーアルゴリズム; + + + + = + + 2 : 高速 QR アルゴリズム; + + + + = + + 3 : 標準 QR アルゴリズム. + + + + + + + jobd + + + 行列BおよびDを後でMOESP法により計算するかどうかを指定する + 整数オプション: + + + + = + + 1 : 行列 B および D を後でMOESP法により計算します; + + + + = + + 2 : 行列 B および D はMOESP法により計算されません. + + このパラメータは mesh = 2 には関連しません. + + + + + + + + batch + + + 連続的なデータ処理を行うかどうか, + また,連続処理の際に,カレントのデータブロックを先頭ブロック, + 中間ブロック,または最終ブロックとするかどうかを以下のように + 指定する整数オプション: + + + + = + + 1 : 連続データ処理で先頭ブロック; + + + + = + + 2 : 連続データ処理で中間ブロック; + + + + = + + 3 : 連続データ処理で最終ブロック; + + + + = + + 4 : 1ブロックのみ (連続データ処理をしない). + + + + + + + conct + + + 連続データ処理における連続するデータブロックを1回の試行に配置する + かどうかを以下のように指定する整数オプション: + + + + = + + 1 : カレントのデータブロックの処理は, 前のデータブロックと連続し,また, + 次のブロックも継続処理されます.; + + + + + = + + 2 : カレントのデータブロックと前後のデータブロックの間は接続されません. + + このパラメータは, batch = 4 には使用されません. + + + + + + + + s + + 処理されるブロックハンケル行列の入力/出力のブロック行数. s > 0 + + + + Y + + the t行l列の出力データ系列行列. Yのj列には, + j番目の出力要素のtの時系列の値が含まれます. + + + + + U + + (オプション) t行m列の入力データ系列行列. Column j of Uのj列には, + j番目の入力要素のtの時系列の値が含まれます.デフォルト: U = []. + + + + + tol + + (オプション) + 許容誤差を含む長さ2のベクトル: + tol(1) - 行列のランクを推定する際に使用される許容誤差. + tol(1) > 0の場合, 条件数の逆数の下界として,指定したtol(1)の値が使用されます; + m行n列の行列で,推定された条件数が 1/tol(1) より小さい場合,フルランクとみなされます. + tol(1) <= 0 の場合, デフォルト値 m*n*epsilon_machineが使用されます. + ただし,epsilon_machine は相対機械精度です. + + + tol(2) - システム次数の推定値を定義する際に使用される許容誤差. + tol(2) >= 0 の場合, tol(2)以上の最後の特異値の添字が推定値となります. + (tol(2)よち小さな特異値はゼロとみなされます.) + tol(2) = 0の場合,デフォルト値, tol(2) = s*epsilon_machine*sval(1), が内部的に計算され,使用されます. + ただし,sval(1)は最大特異値,epsilon_machineは相対機械精度です. + tol(2) < 0 の場合, 推定値は次の要素への指数的な差異が最大となる特異値の添字となります. + + + デフォルト: tol(1:2) = [0,-1]. + + + + + printw + + (オプション) 警告メッセージの出力に関するスイッチ. + + + = + + 1: 警告メッセージを出力します; + + + + = + + 0: 警告メッセージを出力しません. + + + + + デフォルト: printw = 0. + + + + + ldwork + + (オプション) ワークスペースの大きさ. デフォルト : 以下の式で計算 + MAX( nr*nr + t*( m + l ) + 16, 2*nr ) ) then + LDWORK = MIN( LDWORK, CSIZE - nr*nr - t*( m + l ) - 16 ) +else + LDWORK = MIN( LDWORK, MAX( 2*nr, CSIZE/2 ) ) +end if + ]]> + + LDWORK = MAX( minimum workspace size needed, LDWORK ) ただし,CSIZE は倍精度ワード単位のキャッシュの大きさです. + + + 最小ワークスペースの大きさよりも小さなLDWORK が指定された場合, + 替わりに最小値が使用されます. + + + + + Ri + + (オプション) batch = 2 または 3の場合, Rの + 2*(m+l)*s行2*(m+l)*s列の部分 (alg <> 2の場合は,上三角) に + 連続データ処理におけるこの mexfile の前のコールで計算された + (上三角)行列 R を含む必要があります. + conct = 1の場合, Rには同じく前のコールで設定された列が1列追加されます. + + + alg = 2の場合, R は m+l+1 個の前のコールで設定された追加の列を有します. + + + このパラメータは, batch = 1 または batch = 4の場合は使用されません. + + + + + Ro + + batch = 3 または 4の場合, Rの2*(m+l)*s行2*(m+l)*s列 の部分には, + 結合されたブロックハンケル行列のQR分解に基づく + 上三角分解 Rが含まれ, + システム行列を計算する際により詳細な情報が必要となります. + batch = 1 または 2の場合, R にはこのmexfileの次のコールで必要とされる + 中間結果が含まれます. + batch = 1 または 2, かつ conct = 1の場合, R には列が追加され, + リターンの前に値が設定されます. + batch = 1 または 2 で alg = 2の場合,R には m+l+1個の列が追加され, + 同じくリターンの前に値が設定されます. + + + + + n + + システムの次数. + + + + sval + + (オプション) システムの次数を推定する際に使用される特異値. + + + + rcnd + + (オプション) meth = 2の場合, 長さ2のベクトルで, + ランク決定や最小二乗解で使用される + 行列の条件数の逆数を含みます. + + + + + + + 説明 + + sorder - SLICOT の IB01ADルーチンにより離散時間システムの次数を計算する関数. + + + ブロックが1個の場合 (データ系列 Y, U): + [R,n,sval,rcnd] = sorder(meth,alg,jobd,4,conct,s,Y,U); + + + ブロックがf個の場合 (データ系列 Yj, Uj, j = 1 : f): + + + + sorder は,線形時不変システムの行列を推定するために + コレスキーまたは(高速)QR分解および + 部分空間同定法 (MOESP およびN4SID)による + 入出力データの前処理を行い, + 離散時間実現の次数を推定します. + + + モデルの構造は以下のようになります : + + = 1, +y(k) = Cx(k) + Du(k) + e(k), + ]]> + + ただし, + x(k) は(時刻kにおける) n次元状態ベクトル, + + + u(k) はm次元入力ベクトル, + + + y(k) はl次元出力ベクトル, + + + w(k) はn次元状態外乱ベクトル, + + + e(k) はl次元出力外乱ベクトル, + + + として A, B, C, および D は適当な次元の実数行列です. + + + + コメント + + 1. コレスキーまたは高速QRアルゴリズムは,(大きなデータブロックの場合) QRアルゴリズムよりも + はるかに高速ですが, 修正行列 H'*H が正定でない場合には使用できません. + このような場合, 十分なワークスペースが確保され, batch = 4 の時に + コードは自動的に QR アルゴリズムに切り替えます. + + + 2. ldwork が指定されたが, ワークスペースの大きさの最小値よりも小さい場合, + 替わりに最小値が使用されます. + + + + 参照 + + + findBD + + + sident + + + + diff --git a/modules/cacsd/help/ja_JP/specfact.xml b/modules/cacsd/help/ja_JP/specfact.xml new file mode 100755 index 000000000..ebc0e62e4 --- /dev/null +++ b/modules/cacsd/help/ja_JP/specfact.xml @@ -0,0 +1,73 @@ + + + + + specfact + スペクトル分解 + + + 呼出し手順 + [W0,L]=specfact(A,B,C,D) + + + 説明 + スペクトル密度行列 phi(s)を指定すると: + + 0 + ]]> + + specfact は, + W(s)=W0+L*(s*I-A)^-1*B が + PHI(s) のスペクトル分解,すなわち, + + + phi(s)=W'(-s)*W(s) + +    + となるような + W0 および L + を計算します. + + + + + + + + 参照 + + + gtild + + + sfact + + + fspecg + + + + diff --git a/modules/cacsd/help/ja_JP/ssprint.xml b/modules/cacsd/help/ja_JP/ssprint.xml new file mode 100755 index 000000000..d62d4a4fb --- /dev/null +++ b/modules/cacsd/help/ja_JP/ssprint.xml @@ -0,0 +1,73 @@ + + + + + ssprint + 線形システム用の整形出力 + + + 呼び出し手順 + ssprint(sl) + ssprint(sl, out) + + + + パラメータ + + + sl + + + リスト (syslin リスト) + + + + + out + + + 出力 (デフォルト値 out=%io(2)) + + + + + + + 説明 + 状態空間形 + sl=(A,B,C,D) syslin リストの線形システムを整形して出力します. + + + + + + + + See Also + + + math_rendering_features_in_graphic + + + prettyprint + + + + diff --git a/modules/cacsd/help/ja_JP/st_ility.xml b/modules/cacsd/help/ja_JP/st_ility.xml new file mode 100755 index 000000000..b9d06ead7 --- /dev/null +++ b/modules/cacsd/help/ja_JP/st_ility.xml @@ -0,0 +1,123 @@ + + + + + st_ility + 安定性テスト + + + 呼び出し手順 + [ns, [nc, [,U [,Slo] ]]]=st_ility(Sl [,tol]) + + + パラメータ + + + Sl + + + syslin リスト (線形システム) + + + + + ns + + 整数 (可安定な部分空間の次元) + + + + nc + + + 整数 (可制御な部分空間の次元 nc <= ns) + + + + + U + + + 最初のns個(または nc個)の要素に + 可安定(または可制御)な部分空間が広がる基底. + + + + + Slo + + + 線形システム (syslin リスト) + + + + + tol + + 可制御性検出の閾値 (contr参照) + + + + + + 説明 + + Slo=( U'*A*U, U'*B, C*U, D, U'*x0 ) (syslin リスト) + はSlの可安定形式を表示します. + 可安定とはns=nx ( A 行列の次元)を意味します. + + + + ただし, (A11,B1) (dim(A11)= nc) は可制御で + A22 + (dim(A22)=ns-nc) は安定です. + "安定" は, + (syslinの定義と同様,) + 連続線形システムの場合は固有値の実部が負, + 離散時間システムの場合は固有値の大きさが1未満であることを意味します. + + + + + + + + 参照 + + + dt_ility + + + contr + + + stabil + + + ssrand + + + + diff --git a/modules/cacsd/help/ja_JP/stabil.xml b/modules/cacsd/help/ja_JP/stabil.xml new file mode 100755 index 000000000..8327dfd60 --- /dev/null +++ b/modules/cacsd/help/ja_JP/stabil.xml @@ -0,0 +1,131 @@ + + + + + stabil + 安定化 + + + 呼び出し手順 + F=stabil(A,B,alfa) + K=stabil(Sys,alfa,beta) + + + + パラメータ + + + A + + + 正方実数行列 (nx x nx) + + + + + B + + + 実数行列 (nx x nu) + + + + + alfa, beta + + 実数または(共役対の)複素ベクトルまたは実数. + + + + F + + + 実数行列 (nx x nu) + + + + + Sys + + + 線形システム (syslin リスト) (m 入力, p 出力). + + + + + K + + + 線形システム (p 入力, m 出力) + + + + + + + 説明 + + F=stabil(A,B,alfa) は, + 対(A,B)が可安定の場合, A+B*F が安定となるような + ゲイン行列 F を返します. + 配置可能な極は,alfa(1),alfa(2),...に設定されます. + (A,B) が可安定でない場合, 警告が出力され, + 配置可能な極が alfa(1),alfa(2),... に設定されます. + alfa は, + 全ての固有値がこのalfaに設定される数値です + (デフォルト値は alfa=-1). + + + K=stabil(Sys,alfa,beta) は, + (A,B) の可制御な固有値をalfaに設定し, + (C,A)の可観測な固有値をbetaに設定する + Sysの補償器Kを返します. + + + 全ての配置可能な閉ループ極 ( + これは,Aclosed=h_cl(Sys,K)の固有値として指定されます) + は, alfa(i)およびbeta(j)に設定されます. + + + + + + + + 参照 + + + st_ility + + + contr + + + ppol + + + + diff --git a/modules/cacsd/help/ja_JP/sysfact.xml b/modules/cacsd/help/ja_JP/sysfact.xml new file mode 100755 index 000000000..940b07152 --- /dev/null +++ b/modules/cacsd/help/ja_JP/sysfact.xml @@ -0,0 +1,105 @@ + + + + + sysfact + システム分解 + + + 呼び出し手順 + [S,Series]=sysfact(Sys,Gain,flag) + + + パラメータ + + + Sys + + + 行列 [A,B,C,D]を含むsyslin リスト. + + + + + Gain + + 実数行列 + + + + flag + + + 文字列 'post' または'pre' + + + + + S + + + syslin リスト + + + + + Series + + + syslin リスト + + + + + + + 説明 + + flag'post'に等しい場合, + sysfact は,Sに + ABCD行列形式の線形システム (A+B*Gain, B , Gain, I) + および直列システム Sys*S の最小実現である Series + を返します. + flag'pre'に等しい場合, + sysfact は線形システム + (A+Gain*C, Gain , C, I) および + 直列システム S*Sys の最小実現である Seriesを返します. + + + + + + + + 参照 + + + lqr + + + lqe + + + + diff --git a/modules/cacsd/help/ja_JP/syslin.xml b/modules/cacsd/help/ja_JP/syslin.xml new file mode 100755 index 000000000..ab8fc76f2 --- /dev/null +++ b/modules/cacsd/help/ja_JP/syslin.xml @@ -0,0 +1,187 @@ + + + + + syslin + 線形システムを定義する + + + 呼び出し手順 + [sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + + + + パラメータ + + + dom + + + 文字列 ('c', + 'd'), または [] または + スカラー. + + + + + A,B,C,D + + 状態空間表現の行列 + (D はオプションで,デフォルトでは + ゼロ行列となります). + プロパーでないシステムでは,D + は多項式行列となります. + + + + + x0 + + ベクトル (初期状態量; デフォルト値は + 0) + + + + + N, D + + 多項式行列 + + + + H + + 有理関数または線形状態空間表現 + + + + sl + + + tlist ("syslin" リスト) は + 線形システムを表します + + + + + + + 説明 + + syslin はリストとして線形システムを定義し, + データの整合性を確認します. + + + dom はシステムの時間領域を指定するもので, + 以下の値を指定することができます: + + + 連続時間システムの場合dom='c', + 離散時間システムの場合 + dom='d' , + サンプル時間 n (単位:秒)のサンプル値システム + の場合 n. + + + 時間領域が未定義の場合 dom=[] + + 状態空間表現: + + は次のシステムを定義します : + + + + + + + + + syslin の出力は以下の形式のリストとなります: + sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom) + D は多項式行列(プロパーでないシステム)とすることが + できることに注意してください. + + 伝達行列表現: + + + syslin の出力は以下の形式のリストとなります : + sl=rlist(N,D,dom) または + sl=rlist(H(2),H(3),dom). + + + syslin で定義された線形システムは + 状態空間または伝達関数表現のどちらでも + 通常の行列と同様に操作(結合, 展開, 転置, 乗算,など)することができます. + + 状態空間制御関数の多くは, + 4つの行列でシステムを定義する代わりに + syslinリストを入力とします. + + + + + + + + 参考 + + + tlist + + + lsslist + + + rlist + + + ssrand + + + ss2tf + + + tf2ss + + + dscr + + + abcd + + + + diff --git a/modules/cacsd/help/ja_JP/syssize.xml b/modules/cacsd/help/ja_JP/syssize.xml new file mode 100755 index 000000000..1dd44afa6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/syssize.xml @@ -0,0 +1,55 @@ + + + + + syssize + 状態空間システムの大きさ + + + 呼び出し手順 + [r,nx]=syssize(Sl) + + + パラメータ + + + Sl + + + 状態空間形式の線形システム (syslin リスト) + + + + + r + + 1 x 2 実数ベクトル + + + + nx + + integer + + + + + + 説明 + + 線形システムSlの[出力の数, 入力の数]を + r ベクトルとして返します. + nxSlの状態量の数です. + + + diff --git a/modules/cacsd/help/ja_JP/time_id.xml b/modules/cacsd/help/ja_JP/time_id.xml new file mode 100755 index 000000000..36f5ab383 --- /dev/null +++ b/modules/cacsd/help/ja_JP/time_id.xml @@ -0,0 +1,133 @@ + + + + + time_id + SISO 最小二乗同定 + + + 呼出し手順 + [H [,err]]=time_id(n,u,y) + + + パラメータ + + + n + + 伝達関数の次元 + + + + u + + 以下のどれか + + + u1 + + システムへの入力ベクトル + + + + "impuls" + + y はインパルス応答 + + + + "step" + + yはステップ応答. + + + + + + + y + + 応答ベクトル. + + + + H + + + y(1)==0 の場合は分母がn次,分子がn-1次の有理関数, + y(1)<>0 の場合, 分母と分子が n次の有理関数. + + + + + err + + + ||y - impuls(H,npt)||^2, ただし, + impuls(H,npt) は + Hのインパルス応答の最初の + npt個の係数です. + + + + + + + 説明 + + 離散時間応答の同定. + yが厳密にプロパーの場合(y(1)=0) , + time_idは線形方程式に関する以下の最小二乗解 + を計算します: coeff(Den,n):=1 を拘束条件とする + Den*y-Num*u=0. + y(1)~=0の場合, + アルゴリズムはまず解のプロパーな部分を計算した後,y(1)を + 解に追加します. + + + + + + + + 参照 + + + imrep2ss + + + arl2 + + + armax + + + frep2tf + + + + diff --git a/modules/cacsd/help/ja_JP/trzeros.xml b/modules/cacsd/help/ja_JP/trzeros.xml new file mode 100755 index 000000000..1ae96f1e6 --- /dev/null +++ b/modules/cacsd/help/ja_JP/trzeros.xml @@ -0,0 +1,131 @@ + + + + + trzeros + 伝送ゼロおよび通常ランク + + + 呼出し手順 + [tr]=trzeros(Sl) + [nt,dt,rk]=trzeros(Sl) + + + + パラメータ + + + Sl + + + 線形システム (syslin リスト) + + + + + nt + + 複素数ベクトル + + + + dt + + 実数ベクトル + + + + rk + + 整数 (Slの通常ランク) + + + + + + 説明 + + 出力引数の数を1としてコールされた場合,trzeros(Sl) は + 線形システムSlの伝送ゼロを返します. + + + Sl は多項式(しかし正方の)行列D + を有することがあります. + + + 出力引数の数を2としてコールされた場合,trzeros は + tr=nt./dtの時の + 線形システムSlの伝送ゼロを返します; + + + (dt のいくつかの要素がゼロとなる可能性があることに注意してください) + + + 出力引数の数を3としてコールされた場合, rk は + Slの通常ランクとなります. + + + 伝達関数行列は状態空間表現に変換されます. + + + Sl が (正方) 多項式行列の場合, trzeros + はその行列式の根を返します. + + + 通常の状態空間システムの場合, trzeros は + Emami-Naeni および Van Doorenの状態空間アルゴリズムを使用します. + + + D が可逆の場合, + 伝送ゼロは逆システムA - B*inv(D)*Cの + "A 行列"の固有値となります; + + + C*B が可逆の場合,伝送ゼロは + N*A*Mの固有値となります. + ただし,M*N は + eye(A)-B*inv(C*B)*Cのフルランク分解です; + + + 多項式行列Dを有するシステムの場合, + ゼロはシステム行列の行列式の根として計算されます. + + + 注意: 計算されるゼロが常に信頼できるとは限りません. + 特にゼロが重根の場合は注意を要します. + + + + + + + + 参照 + + + gspec + + + kroneck + + + + diff --git a/modules/cacsd/help/ja_JP/ui_observer.xml b/modules/cacsd/help/ja_JP/ui_observer.xml new file mode 100755 index 000000000..dbf15b3d5 --- /dev/null +++ b/modules/cacsd/help/ja_JP/ui_observer.xml @@ -0,0 +1,180 @@ + + + + + ui_observer + 未知入力オブザーバ + + + 呼出し手順 + [UIobs,J,N]=ui_observer(Sys,reject,C1,D1) + [UIobs,J,N]=ui_observer(Sys,reject,C1,D1,flag,alfa,beta) + + + + パラメータ + + + Sys + + + 行列 (A,B,C2,D2)を含むsyslinリスト. + + + + + reject + + 整数ベクトル, + Sys の未知入力の添え字. + + + + + C1 + + 実数行列 + + + + D1 + + + 実数行列. C1 および D1 は同じ数の行を有します. + + + + + flag + + + 文字列 'ge' または 'st' (default) または 'pp'. + + + + + alfa + + 実数または複素数のベクトル (閉ループ極の位置) + + + + beta + + r実数または複素数のベクトル (閉ループ極の位置) + + + + + + 説明 + + 未知入力オブザーバ. + + + Sys: (w,u) --> y は, + 2つの入力 w および u を有する + (A,B,C2,D2) syslin 線形システムです. + ただし, w は未知入力です. + Sys の行列 B および D2 は (暗黙のうちに) 次のように分割されます: + B=[B1,B2] および D2=[D21,D22] + ただし,B1=B(:,reject) および + D21=D2(:,reject) で, + reject = 未知入力の添え字. + 行列 C1 およびD1 は, + 推定対象の出力 z = C1 x + D1 (w,u) + を定義します. + + + 行列 D1 は (暗黙のうちに) + D11=D(:,reject) として + D1=[D11,D12] + のように分割されます + + + データ (Sys, reject,C1, D1) は次の2入力2出力システムを定義します: + + + + オブザーバ (u,y) --> zhat は + 出力 z を推定します. + + + flag='ge' 安定性拘束なし + flag='st' 安定なオブザーバ (デフォルト) + flag='pp' 極配置を指定するオブザーバ + alfa,beta = 閉ループ極の指定位置 (デフォルト -1, -2) + J=出力yから状態xへの注入. + N=出力yから推定値出力zへの注入. + + + UIobs = 線形システム (u,y) --> zhat ただし: + 伝達関数: (w,u) --> + z は以下の複合伝達関数と等しくなります: + [0,I; UIobs + Sys] + (w,u) -----> (u,y) -----> zhat + すなわち, システム {A,B,C1,D1} の伝達関数は + UIobs*[0,I; Sys]と等価になります + + + 安定性 (または極配置) は(A,C2)の可検出性 + (または可観測性) を要求します . + + + + + z=UIobs*[0,I;Sys](w,u) +clean(ss2tf(UIobsW)); +wu_to_z=syslin('c',A,B,C1,D1);clean(ss2tf(wu_to_z)); +clean(ss2tf(wu_to_z)-ss2tf(UIobsW),1.d-7) +/////2nd example////// +nx=2;ny=3;nwu=2;Sys=ssrand(ny,nwu,nx); +C1=rand(1,nx);D1=[0,1]; +UIobs=ui_observer(Sys,1,C1,D1); + ]]> + + + 参照 + + + cainv + + + ddp + + + abinv + + + + diff --git a/modules/cacsd/help/ja_JP/unobs.xml b/modules/cacsd/help/ja_JP/unobs.xml new file mode 100755 index 000000000..785e45e90 --- /dev/null +++ b/modules/cacsd/help/ja_JP/unobs.xml @@ -0,0 +1,97 @@ + + + + + unobs + 不可観測な部分空間 + + + 呼出し手順 + [n,[U]]=unobs(A,C,[tol]) + + + パラメータ + + + A, C + + 実数行列 + + + + tol + + ランクを評価する際に使用される許容誤差 (QR 分解). + + + + n + + 不可観測な部分空間の次元. + + + + U + + + (A,B)を正準形にする直交変換です. + + + + + + + 説明 + + [n,[U]]=unobs(A,C,[tol]) は, + 対(A,C)の不可観測形式を出力します. + Uの最初のn列は, + 不可観測部分空間の基底となります. + + + U'*A*Uの + (2,1) ブロック (最後 nx-n 行および最初の n 列から作成) はゼロであり, C*Uの最初の + n はゼロとなります. + + + + + + + + 参照 + + + contr + + + contrss + + + canon + + + cont_mat + + + spantwo + + + dt_ility + + + + diff --git a/modules/cacsd/help/ja_JP/zeropen.xml b/modules/cacsd/help/ja_JP/zeropen.xml new file mode 100755 index 000000000..54107b70a --- /dev/null +++ b/modules/cacsd/help/ja_JP/zeropen.xml @@ -0,0 +1,81 @@ + + + + + zeropen + ゼロペンシル + + + 呼出し手順 + [Z,U]=zeropen(Sl) + + + パラメータ + + + Sl + + + 線形システム (状態空間形式[A,B,C,D]syslinリスト) + + + + + Z + + + 行列ペンシル Z=s*E-A + + + + + U + + 正方直交行列 + + + + + + 説明 + + Z= sE - F は,行列 + [A,B,C,D]からなる + 線形システム Sl のゼロペンシルです. + ユーティリティ関数. + + + Uにより, + [B;D]の行圧縮,すなわち, + U*[B;D]=[0;*]; が得られます: + + + + Z のゼロは Slのゼロです. + + + + 参照 + + + systmat + + + kroneck + + + + diff --git a/modules/cacsd/help/mml/ss2ss_equation1.mml b/modules/cacsd/help/mml/ss2ss_equation1.mml new file mode 100755 index 000000000..26401757d --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation1.mml @@ -0,0 +1,86 @@ + + + + + + sl1 + = + + + + + + + + T + + + 1 + + + + + ( + + A + + + + B + + F + + + ) + + + + T + + + + + + T + + + 1 + + + + B + + + + + + + + ( + + C + + + + D + + F + + + ) + + + T + + + + D + + + + + + sl1 = left [ matrix { +T^-1*(A+B*F)*T # T^-1*B ## +(C+D*F)*T # D +} right ] + + \ No newline at end of file diff --git a/modules/cacsd/help/mml/ss2ss_equation2.mml b/modules/cacsd/help/mml/ss2ss_equation2.mml new file mode 100755 index 000000000..34b5d4d4f --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation2.mml @@ -0,0 +1,86 @@ + + + + + + sl1 + = + + + + + + + + T + + + 1 + + + + + ( + + A + + + + G + + C + + + ) + + + + T + + + + + + T + + + 1 + + + + + ( + + B + + + + G + + D + + + ) + + + + + + + + C + + T + + + + D + + + + + + sl1 = left [ matrix { +T^-1*(A+G*C)*T # T^-1*(B+G*D) ## +C*T # D +} right ] + + \ No newline at end of file diff --git a/modules/cacsd/help/mml/ss2ss_equation3.mml b/modules/cacsd/help/mml/ss2ss_equation3.mml new file mode 100755 index 000000000..63e17489c --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation3.mml @@ -0,0 +1,96 @@ + + + + + + + + + + + + T + + + 1 + + + + + ( + + A + + + + G + + C + + + ) + + + + T + + + + + + T + + + 1 + + + + + ( + + + B + + + + G + + D + + + + , + + G + + + ) + + + + + + + + C + + T + + + + + ( + + D + ,0 + + ) + + + + + + left [ matrix { +T^-1*(A+G*C)*T # T^-1*(B+G*D,-G) ## +C*T # (D,0) +} right ] + + \ No newline at end of file diff --git a/modules/cacsd/help/mml/ss2ss_equation4.mml b/modules/cacsd/help/mml/ss2ss_equation4.mml new file mode 100755 index 000000000..4d6ea6a8a --- /dev/null +++ b/modules/cacsd/help/mml/ss2ss_equation4.mml @@ -0,0 +1,35 @@ + + + + + + + x + + + + n + + + , + + y + + + + p + + + , + + u + + + + m + + + + x in setR^n, y in setR^p, u in setR^m + + \ No newline at end of file diff --git a/modules/cacsd/help/mml/syslin_equation_1.mml b/modules/cacsd/help/mml/syslin_equation_1.mml new file mode 100755 index 000000000..140e6ba84 --- /dev/null +++ b/modules/cacsd/help/mml/syslin_equation_1.mml @@ -0,0 +1,69 @@ + + + + + + + + + s + + x + + = + + + A + + x + + + + + B + + u + + + + + + + y + = + + + C + + x + + + + + D + + u + + + + + + + x + + + ( + 0 + ) + + = + x0 + + + + + stack { +s cdot x = A cdot x + B cdot u # +y = C cdot x + D cdot u # +x(0) = x0 +} + + \ No newline at end of file diff --git a/modules/cacsd/help/pt_BR/addchapter.sce b/modules/cacsd/help/pt_BR/addchapter.sce new file mode 100755 index 000000000..0b9fd8278 --- /dev/null +++ b/modules/cacsd/help/pt_BR/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD",SCI+"/modules/cacsd/help/pt_BR",%T); + diff --git a/modules/cacsd/help/pt_BR/formal_representation/lsslist.xml b/modules/cacsd/help/pt_BR/formal_representation/lsslist.xml new file mode 100755 index 000000000..784720f0e --- /dev/null +++ b/modules/cacsd/help/pt_BR/formal_representation/lsslist.xml @@ -0,0 +1,54 @@ + + + + + lsslist + definio de funo linear de espao de estados do + Scilab + + + + Seqncia de Chamamento + lsslist() + lsslist(A, B, C, X0, dt) + + + + Descrio + + lsslist(A, B, C, X0, dt) um atalho para + tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt) + + + Cria um tlist com + ["lss", "A", "B", "C", "D", "X0", "dt"] como primeiras entradas e + os A, B, C, X0, dt + como prximas entradas, se tiver algum. No + feita verificao de tipo ou tamanho nos A, B, C,X0,dt. + + + + Ver Tambm + + + abcd + + + syslin + + + tlist + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/CHAPTER b/modules/cacsd/help/pt_BR/plot_display/CHAPTER new file mode 100755 index 000000000..a41a4c255 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/CHAPTER @@ -0,0 +1,2 @@ +title = Plot and display + diff --git a/modules/cacsd/help/pt_BR/plot_display/black.xml b/modules/cacsd/help/pt_BR/plot_display/black.xml new file mode 100755 index 000000000..936292f5f --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/black.xml @@ -0,0 +1,182 @@ + + + + + black + diagrama de Black (carta de Nichols) + + + Seqüência de Chamamento + black( sl,[fmin,fmax] [,step] [,comments] ) + black( sl,frq [,comments] ) + black(frq,db,phi [,comments]) + black(frq,repf [,comments]) + + + + Parâmetros + + + sl + + + lista ( sistema linear syslin) + + + + + fmin,fmax + + reais (limites de freqüência) + + + + frq + + vetor linha ou matriz (freqüências) + + + + db,phi + + vetores linhas ou matrizes (módulo, fase) + + + + repf + + vetores linhas ou matrizes (resposta de freqüência complexa) + + + + + step + + real + + + + comments + + string + + + + + + Descrição + Diagrama de Black (carta de Nichols) para um sistema linear + sl. sl pode ser um sistema SIMO de + tempo contínuo ou discreto (ver syslin). No caso de + múltiplas saídas, elas são esboçadas com símbolos diferentes. + + As freqüências são dadas pelos limites + fmin,fmax (em Hz) ou por um vetor + linha (ou uma matriz para múltiplas saídas) frq. + + + step é o passo de discretização ( logarítmica). + (ver calfrq para escolha do valor padrão). + + + comments é um vetor de strings (legendas). + + + db,phi são matrizes de módulos (em Db) e fases + (em graus). (Uma linha para cada resposta). + + + repf matriz de números complexos. Uma linha para + cada resposta. + + Para esboçar o grid de iso-ganho e iso-fase de + y/(1+y) use nicholschart(). + + + Valores padrões para fmin e + fmax são 1.d-3, + 1.d+3 se sl for de tempo contínuo ou + 1.d-3, 0.5/sl.dt (freqüência de + Nyquist) se sl for de tempo discreto. + + + + Exemplos + + + + s=poly(0,'s'); + sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1)) + black(sl,0.01,10); + + + + + + s=poly(0,'s'); + Plant=syslin('c',16000/((s+1)*(s+10)*(s+100))); + tau=0.2;xsi=1.2; + PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2)); + black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]); + ax=gca();Leg=ax.children(1); + Leg.legend_location="in_lower_right"; + nicholschart(colors=color('light gray')*[1 1]) + + + + + Ver Também + + + bode + + + nyquist + + + nicholschart + + + freq + + + repfreq + + + calfrq + + + phasemag + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/bode.xml b/modules/cacsd/help/pt_BR/plot_display/bode.xml new file mode 100755 index 000000000..b82de7c89 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/bode.xml @@ -0,0 +1,193 @@ + + + + + bode + diagrama de Bode + + + Seqüência de Chamamento + bode(sl,[fmin,fmax] [,step] [,comments] ) + bode(sl,frq [,comments] ) + bode(frq,db,phi [,comments]) + bode(frq, repf [,comments]) + + + + Parâmetros + + + sl + + + syslin lista (sistema linear SISO ou + SIMO) em tempo contínuo ou discreto + + + + + fmin,fmax + + real (limites de freqüência (em Hz)) + + + + step + + real (passo logarítmico.) + + + + comments + + vetor de strings (legendas). + + + + frq + + vetor linha ou matriz (freqüências (em Hz) ) (uma linha para + cada subsistema SISO). + + + + + db + + vetor linha ou matriz ( magnitudes (em Db)). (um para cada + subsistema SISO). + + + + + phi + + vetor linha ou matriz ( fases (em graus)) (um para cada + subsistema SISO ). + + + + + repf + + vetor linha ou matriz de números complexos (freqüência de + resposta complexa). + + + + + + + Descrição + Diagrama de bode , i.e magnitude e fase da freqüência de resposta de + sl. + + + sl pode ser um sistema SIMO de tempo contínuo ou + discreto (ver syslin). No caso de múltiplas saídas, + elas são esboçadas com símbolos diferentes. + + + As freqüências são dadas pelos limites fmin,fmax + (em Hz) ou por um vetor linha (ou uma matriz para múltiplas saídas) + frq. + + + step é o passo de discretização ( logarítmica). + (ver calfrq para escolha do valor padrão). + + + comments é um vetor de strings (legendas). + + + db,phi são matrizes de módulos (em Db) e fases + (em graus). (Uma linha para cada resposta). + + + repf matriz de números complexos. Uma linha para + cada resposta. + + + Valores padrões para fmin e + fmax são 1.d-3, + 1.d+3 se sl for de tempo contínuo ou + 1.d-3, 0.5/sl.dt (freqüência de + Nyquist) se sl for de tempo discreto. Discretização + automática das freqüências é feita por calfrq. + + + + Exemplos + + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + clf();bode(h,0.01,100); + + + + + + s=poly(0,'s') + h1=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + num=22801+4406.18*s+382.37*s^2+21.02*s^3+s^4; + den=22952.25+4117.77*s+490.63*s^2+33.06*s^3+s^4 + h2=syslin('c',num/den); + + clf();bode([h1;h2],0.01,100,['h1';'h2']) + + + + + Ver Também + + + black + + + nyquist + + + gainplot + + + repfreq + + + g_margin + + + p_margin + + + calfrq + + + phasemag + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/evans.xml b/modules/cacsd/help/pt_BR/plot_display/evans.xml new file mode 100755 index 000000000..031e35ad3 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/evans.xml @@ -0,0 +1,97 @@ + + + + + evans + lugar geomtrico das razes Evans + + + Seqncia de Chamamento + evans(H [,kmax]) + + + Parmetros + + + H + + + lista (sistema linear syslin) + + + + + kmax + + real (ganho mximo desejado para o esboo) + + + + + + Descrio + Fornece o lugar geomtrico das razes Evans para um sistema linear + em estado-espao ou forma de transferncia H(s) (lista + syslin). Este o lugar geomtrico das razes de + 1+k*H(s)=1+k*N(s)/D(s), no plano dos complexos. Para + uma amostra seleta de ganhos k <= kmax, a parte + imaginria das razes de D(s)+k*N(s) esboada versus + a parte real. + + Para obter o ganho num dado ponto do lugar geomtrico, voc pode + simplesmente executar a seguinte instruo: + k=-1/real(horner(h,[1,%i]*locate(1))) e clicar no ponto + desejado sobre lugar geomtrico das razes. Se as coordenadas dos pontos + selecionados esto no vetor de reais 2 x 1 P=locate(1) + este k resolve a equao k*N(w) + D(w) + =0 + + com w=P(1)+%i*P(2)=[1,%i]*P. + + + + Exemplos + + + + H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c')); + clf();evans(H,100);sgrid() + [Ki,s]=kpure(H) + plot([real(s) real(s)],[imag(s) -imag(s)],'*r') + + [Kr,s]=krac2(H) + + + + + Ver Tambm + + + kpure + + + krac2 + + + locate + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/gainplot.xml b/modules/cacsd/help/pt_BR/plot_display/gainplot.xml new file mode 100755 index 000000000..72c2b674d --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/gainplot.xml @@ -0,0 +1,122 @@ + + + + + gainplot + esboo de magnitude + + + Seqncia de Chamamento + gainplot(sl,fmin,fmax [,step] [,comments] ) + gainplot(frq,db,phi [,comments]) + gainplot(frq, repf [,comments]) + + + + Parmetros + + + sl + + + lista (sistema linear syslin SIMO). + + + + + fmin,fmax + + escalares reais (intervalo de freqncia). + + + + step + + real (passo de discretizao (escala logartmica)) + + + + comments + + string + + + + frq + + matriz (freqncias linha por linha) + + + + db,phi + + matrizes (magnitudes e fases correspondentes a + frq) + + + + + repf + + matriz de complexos. Uma linha para cada resposta de + freqncia. + + + + + + + Descrio + o mesmo que Bode, mas esboa apenas a magnitude. + + + Exemplos + + + + Ver Tambm + + + bode + + + black + + + nyquist + + + freq + + + repfreq + + + g_margin + + + p_margin + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/m_circle.xml b/modules/cacsd/help/pt_BR/plot_display/m_circle.xml new file mode 100755 index 000000000..130b9dc82 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/m_circle.xml @@ -0,0 +1,114 @@ + + + + + m_circle + esboa os contornos de iso-ganho y/(1+y) plano + complexo + + + + Seqncia de Chamamento + m_circle() + m_circle(gain) + + + + Parmetros + + + gain + + vetor de ganhos (em DB, decibel). O valor padro + + + gain + + =[-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 + 2.3 3 4 5 6 8 12] + + + + + + + + + + Descrio + + m_circle desenha os contornos de iso-ganho + fornecidos pelo argumento gain no plano complexo + (Re,Im). + + + O valor padro para gain : + + + [-12 -8 -6 -5 -4 -3 -2 -1.4 -1 -.5 0.25 0.5 0.7 1 1.4 2 2.3 + 3 4 5 6 8 12] + + + + m_circle utilizado com + nyquist. + + + + Exemplos + + + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + nyquist(h,0.01,100,'(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)') + m_circle(); + + + + + clf(); + s=poly(0,'s') + h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)) + h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225)) + nyquist([h1;h],0.01,100,['h1';'h']) + m_circle([-8 -6 -4]); + + + + Ver Tambm + + + nyquist + + + nicholschart + + + black + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/nyquist.xml b/modules/cacsd/help/pt_BR/plot_display/nyquist.xml new file mode 100755 index 000000000..27d0561e2 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/nyquist.xml @@ -0,0 +1,168 @@ + + + + + nyquist + diagrama de Nyquist + + + Seqüência de Chamamento + nyquist( sl,[fmin,fmax] [,step] [,comments] ) + nyquist( sl, frq [,comments] ) + nyquist(frq,db,phi [,comments]) + nyquist(frq, repf [,comments]) + + + + Parâmetros + + + sl + + + syslin (sistema linear SIMO em tempo + contínuo ou discreto) + + + + + fmin,fmax + + reais (limites de freqüência (em Hz)) + + + + step + + real (passo de discretização logarítmica) + + + + comments + + vetor de strings (legendas). + + + + frq + + vetor linha ou matriz (freqüências (em Hz) ) (um linha para + cada saída de sl). + + + + + db,phi + + vetores linhas ou matrizes de módulo (em Db) e fases. (uma + linha para cada saída de sl). + + + + + repf + + vetor linha ou matriz de números complexos (freqüência de + resposta complexa, uma para cada saída de + sl) + + + + + + + Descrição + Diagrama de Nyquist i.e parte imaginária versus parte real da + freqüência de resposta de sl. + + + Para sistmeas de tempo contínuo sl(2*%i*%pi*w) é + esboçado. Para sistemas de tempo discreto ou sistemas discretizados + sl(exp(2*%i*%pi*w*fd) é utilizado ( + fd=1 para sistemas de tempo discreto e + fd=sl('dt') para sistemas discretizados) + + + sl para sistemas discretizados + syslin). No caso de múltiplas saídas, elas são + esboçadas com símbolos diferentes. + + + As freqüências são dadas pelos limites fmin,fmax + (em Hz) ou por um vetor linha (ou uma matriz para múltiplas saídas) + frq. + + + step é o passo de discretização ( logarítmica). + (ver calfrq para escolha do valor padrão). + + + comments é um vetor de strings (legendas). + + + db,phi são matrizes de módulos (em Db) e fases + (em graus). (Uma linha para cada resposta). + + + repf é uma matriz de números complexos. Uma linha + para cada resposta. + + + Valores padrões para fmin e + fmax são 1.d-3, + 1.d+3 se sl for de tempo contínuo + 1.d-3, 0.5/sl.dt (freqüência de + Nyquist) se sl for de tempo discreto. + + Discretização automática das freqüências é feita por + calfrq. + + + + Exemplos + + + + Ver Também + + + bode + + + black + + + calfrq + + + freq + + + repfreq + + + phasemag + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/sgrid.xml b/modules/cacsd/help/pt_BR/plot_display/sgrid.xml new file mode 100755 index 000000000..08acee133 --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/sgrid.xml @@ -0,0 +1,77 @@ + + + + + sgrid + esboa linhas de grid de um s-plano + + + Seqncia de Chamamento + sgrid() + sgrid('new') + sgrid(zeta,wn [,color]) + + + + Descrio + Usado em conjunto com evans, esboa linhas de taxa de amortecimento + constante (zeta) e freqncia natural + (wn). + + + + sgrid() + + adiciona um grid sobre uma raiz do s-plano contnuo existente + com valores padres para zeta e + wn. + + + + + sgrid('new') + + limpa a tela de grficos e ento esboa um grid de s-plano + padro + + + + + sgrid(zeta,wn [,color]) + + + o mesmo que sgrid() mas utiliza a taxa de + amortecimento e a freqncia natural fornecidas. + + + + + + + Exemplos + + + + Ver Tambm + + + evans + + + + diff --git a/modules/cacsd/help/pt_BR/plot_display/zgrid.xml b/modules/cacsd/help/pt_BR/plot_display/zgrid.xml new file mode 100755 index 000000000..f45ce95aa --- /dev/null +++ b/modules/cacsd/help/pt_BR/plot_display/zgrid.xml @@ -0,0 +1,72 @@ + + + + + zgrid + esboode um z-grid + + + Seqncia de Chamamento + zgrid() + + + Descrio + Esboa as linhas de grid de um Z-plano: linhas de fator constante de + amortecimento (zeta) e freqncia natural (Wn) so esboadas dentro do + crculo unitrio do Z-plano. + + Curvas de iso-freqncia so exibidas em freqncia*passo no + intervalo [0,0.5]. O limite superior corresponde freqncia de Shannon + ( 1/dt > 2*f ). + + + + Examplos + + + + zgrid(0:0.2:1,[0.2 0.6 0.8 1]) + + + + + + z=poly(0,'z') + H=syslin(0.01,(0.54-1.8*z+2.9*z^2-2.6*z^3+z^4)/(0.8+0.78*z-0.1*z^2+0.9*z^3+z^4)) + clf();evans(H,1000);zgrid(0:0.1:0.5) + + + + + + + Ver Tambm + + + frep2tf + + + freson + + + + diff --git a/modules/cacsd/help/pt_BR/plzr.xml b/modules/cacsd/help/pt_BR/plzr.xml new file mode 100755 index 000000000..875b8a64f --- /dev/null +++ b/modules/cacsd/help/pt_BR/plzr.xml @@ -0,0 +1,65 @@ + + + + + plzr + Esboo de plo-zero + + + Seqncia de Chamamento + plzr(sl) + + + Parmetros + + + sl + + + lista ( syslin) + + + + + + + Descrio + Produz um esboo de plo-zero do sistema linear + sl (lista syslin) + + + + Exemplos + + + + Ver Tambm + + + trzeros + + + roots + + + syslin + + + + diff --git a/modules/cacsd/help/pt_BR/pol2des.xml b/modules/cacsd/help/pt_BR/pol2des.xml new file mode 100755 index 000000000..1270a87f0 --- /dev/null +++ b/modules/cacsd/help/pt_BR/pol2des.xml @@ -0,0 +1,74 @@ + + + + + pol2des + converso de matrizes de polinmios para formas + descritoras + + + + Seqncia de Chamamento + [N,B,C]=pol2des(Ds) + + + Parmetros + + + Ds + + matriz de polinmios + + + + N, B, C + + trs matrizes de reais + + + + + + Descrio + + Dada a matriz de polinmios Ds=D_0 +D_1 s +D_2 s^2 +... + +D_k s^k + + ,pol2des retorna trs matrizes + N, B, C, com sendo N nilpotente tais + que: + + + Ds = C (s*N-eye())^-1 B + + + + Exemplos + + + + Ver Tambm + + + ss2des + + + tf2des + + + + diff --git a/modules/cacsd/help/pt_BR/routh_t.xml b/modules/cacsd/help/pt_BR/routh_t.xml new file mode 100755 index 000000000..514bc1e63 --- /dev/null +++ b/modules/cacsd/help/pt_BR/routh_t.xml @@ -0,0 +1,47 @@ + + + + + routh_t + tabela de Routh + + + Seqncia de Chamamento + r=routh_t(h [,k]). + + + Parmetros + + + h + + matriz quadrada de razes de polinmios + + + + + + Descrio + + r=routh_t(h,k) computa a tabela de Routh do + denominador do sistema descrito pela matriz de transferncia SISO + h com a resposta pelo ganho + k. + + + se k=poly(0,'k') teremos uma matriz de polinmios + com varivel livre k, expresso formal da tabela de + Routh. + + + diff --git a/modules/cacsd/help/pt_BR/ssprint.xml b/modules/cacsd/help/pt_BR/ssprint.xml new file mode 100755 index 000000000..52825a601 --- /dev/null +++ b/modules/cacsd/help/pt_BR/ssprint.xml @@ -0,0 +1,73 @@ + + + + + ssprint + embelezador de sistemas lineares + + + Seqncia de Chamamento + ssprint(sl) + ssprint(sl, out] + + + + Parmetros + + + sl + + + lista (lista syslin) + + + + + out + + + sada (valor padro out=%io(2)) + + + + + + + Descrio + Representao embelezada de uma sistema linear em lista syslin de + forma de espao de estados sl=(A,B,C,D). + + + + Exemplos + + + + See Also + + + math_rendering_features_in_graphic + + + prettyprint + + + + diff --git a/modules/cacsd/help/pt_BR/syslin.xml b/modules/cacsd/help/pt_BR/syslin.xml new file mode 100755 index 000000000..76c9e35e3 --- /dev/null +++ b/modules/cacsd/help/pt_BR/syslin.xml @@ -0,0 +1,185 @@ + + + + + syslin + definio de sistemas lineares + + + Seqncia de Chamamento + [sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + + + + Parmetros + + + dom + + + string ('c', 'd'), ou + [] ou um escalar. + + + + + A,B,C,D + + matrizes em representao de espao de estados + (D opcional com valor padro matriz nula). para + sistemas imprprios, D uma matriz de + polinmios. + + + + + x0 + + vetor (estado inicial; valor padro + 0) + + + + + N, D + + matrizes de polinmios + + + + H + + matriz de razes de polinmios ou representao de espao de + estados linear + + + + + sl + + + tlist (lista "syslin") representando o + sistema linear + + + + + + + Descrio + + syslin define um sistema linear como uma lista e + verifica a consistncia dos dados. + + + dom especifica o domnio de tempo do sistema e + pode ter um dos seguintes valores: + + + dom='c' para um sistema de tempo contnuo, + dom='d' para um sistema de tempo discreto, + n para um sistema amostrado com perodo de amostragem + n (em segundos). + + + dom=[] se o domnio de tempo indefinido. + + Representao em espao de estados: + + Representa o sistema : + + + A sada de syslin uma lista da seguinte forma: + sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom) + . Note que D pode ser uma matriz de polinmios + (sistemas imprprios). + + Representao de matriz de transferncia: + + + A sada de syslin uma lista da seguinte forma: + sl=rlist(N,D,dom) ou + sl=rlist(H(2),H(3),dom). + + + Sistemas lineares definidos como syslin podem ser + manipulados como matrizes usuais (concatenao, extrao, transposio, + multiplicao, etc.) ambos em estado-espao ou representao de + transferncia. + + A maior parte das funes de controle de estado-espao recebem uma + lista syslin como entrada, ao invs de quatro matrizes + definindo o sistema. + + + + Exemplos + + + + Ver Tambm + + + tlist + + + lsslist + + + rlist + + + ssrand + + + ss2tf + + + tf2ss + + + dscr + + + abcd + + + + diff --git a/modules/cacsd/help/ru_RU/addchapter.sce b/modules/cacsd/help/ru_RU/addchapter.sce new file mode 100755 index 000000000..8e4127bd3 --- /dev/null +++ b/modules/cacsd/help/ru_RU/addchapter.sce @@ -0,0 +1,11 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2009 - DIGITEO +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +add_help_chapter("CACSD",SCI+"/modules/cacsd/help/ru_RU",%T); + diff --git a/modules/cacsd/help/ru_RU/formal_representation/lsslist.xml b/modules/cacsd/help/ru_RU/formal_representation/lsslist.xml new file mode 100755 index 000000000..dc60407d3 --- /dev/null +++ b/modules/cacsd/help/ru_RU/formal_representation/lsslist.xml @@ -0,0 +1,51 @@ + + + + + lsslist + + функция определения линейного пространства состояний + + + + Последовательность вызова + lsslist() + lsslist(A, B, C, X0, dt) + + + + Описание + + lsslist(A, B, C, X0, dt) является сокращением для + tlist(["lss", "A", "B", "C", "D", "X0", "dt"], A, B, C, D, X0, dt). + + + Создаёт tlist с ["lss", "A", "B", "C", "D", "X0", "dt"] на месте первого элемента и + A, B, C,X0,dt -тыми на месте последующих элементов, если они есть. Ни проверки типа, ни проверки размера ai-тых не делается. + + + + Смотрите также + + + abcd + + + syslin + + + tlist + + + + diff --git a/modules/cacsd/help/ru_RU/plzr.xml b/modules/cacsd/help/ru_RU/plzr.xml new file mode 100755 index 000000000..dfba27b7c --- /dev/null +++ b/modules/cacsd/help/ru_RU/plzr.xml @@ -0,0 +1,74 @@ + + + + + plzr + график нулей и полюсов + + + Последовательность вызова + plzr(sl) + + + Аргументы + + + sl + + + list ( syslin) + + + + + + + Описание + + plzr(sl) формирует схему размещения нулей и полюсов линейной системы sl (список syslin). + + + + + Примеры + + + + Смотрите также + + + trzeros + + + roots + + + syslin + + + + diff --git a/modules/cacsd/help/ru_RU/syslin.xml b/modules/cacsd/help/ru_RU/syslin.xml new file mode 100755 index 000000000..f2afd2dd6 --- /dev/null +++ b/modules/cacsd/help/ru_RU/syslin.xml @@ -0,0 +1,174 @@ + + + + + syslin + определение линейной системы + + + Последовательность вызова + [sl]=syslin(dom,A,B,C [,D [,x0] ]) + [sl]=syslin(dom,N,D) + [sl]=syslin(dom,H) + + + + Аргументы + + + dom + + + символьная строка ('c', 'd') или [] для скаляра. + + + + + A,B,C,D + + + матрицы в виде пространства состояний (D не обязательная матрица, по умолчанию - нулевая). Для сингулярных систем D является + матрицей многочленов. + + + + + x0 + + + вектор (исходное состояние; значение по умолчанию 0) + + + + + N, D + + матрицы многочленов + + + + H + + матрица рациональных дробей или в виде линейного пространства состояний + + + + sl + + + типизированный список (tlist) ("syslin" список), представляющий линейную систему + + + + + + + Описание + + syslin определяет линейную систему в виде списка и проверяет правильность данных. + + + dom определяет временную область системы и может иметь следующие значения: + + + dom='c' для систем с непрерывным временем, + dom='d' для систем с дискретным временем, + n для дискретных систем с периодом дискретизации n + (в секундах). + + + dom=[], если временная область не определена. + + Представление в виде пространства состояний: + + представляет систему : + + + + + + + + + Выход syslin является списком следующей формы: + sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom) + Заметим, что D может быть матрицей многочленов (сингулярные системы). + + Представление в виде передаточной матрицы: + + + Выход syslin является списком следующей формы: sl=rlist(,N,D,dom) или + sl=rlist(H(2),H(3),dom). + + + Линейные системы, определённые как syslin, могут управляться как обычные матрицы (конкатенация, извлечение, перестановка, умножение и т. д.) как в виде пространства состояний, так и в передаточном виде. + + + Большинство функций управления в пространстве состояний получают на входе список syslin вместо четырёх матриц, определяющих систему. + + + + Примеры + + + + Смотрите также + + + tlist + + + lsslist + + + rlist + + + ssrand + + + ss2tf + + + tf2ss + + + dscr + + + abcd + + + + -- cgit