Control System Toolbox関数リファレンス | ![]() ![]() |
表示
step(sys) step(sys,t) step(sys1,sys2,...,sysN) step(sys1,sys2,...,sysN,t) step(sys1,'PlotStyle1',...,sysN,'PlotStyleN') [y,t,x] = step(sys)
詳細
step
は、線形システムの単位Step応答を計算します。状態空間の場合では、ゼロ初期状態が仮定されます。左辺の引数を設定しないと、この関数は、スクリーン上にStep応答をプロットします。
step(sys)
は、任意のLTIモデルsys
のStep応答をプロットします。このモデルは、連続系でも離散系でも、また、SISOでもMIMOでも構いません。多入力システムのStep応答は、入力チャンネル毎のStep応答の集合です。シミュレーションの継続時間は、システムの極と零点に基づいて自動的に決まります。
step(sys,t)
は、明示的にシミュレーション区間を設定します。最終時間t = Tfinal
(秒単位)または、形式
t = 0:dt:Tfinalの一定間隔の時間サンプルのベクトルの内、いずれかで設定できます。
離散系システムの場合、間隔dt
はサンプル時間と一致しなければなりません。連続系システムの場合、dt
は離散化シミュレーションモデルのサンプル時間になります("アルゴリズム"を参照)。従って、過渡現象を取り込めるだけ十分に小さなdt
を必ず選択してください。
1つのFigureで複数のLTIモデルsys1
,..., sysN
のStep応答をプロットするためには、つぎの構文を使います。
step(sys1,sys2,...,sysN)
step(sys1,sys2,...,sysN,t)
すべてのシステムには、同数の入力数と出力数がなければなりませんが、それ以外については、連続システムと離散システムの混在も可能です。この表示は、複数システムのStep応答を比較する上で役に立ちます。
システム毎に異なるカラー、ラインスタイル、マーカを設定することもできます。たとえば、
step(sys1,'y:',sys2,'g--')
は、黄色の点線でsys1
のStep応答をプロットし、緑の破線でsys2
のStep応答をプロットします。
[y,t] = step(sys) [y,t,x] = step(sys) % 状態空間モデルに対してのみ y = step(sys,t)
は、出力応答y
、シミュレーションに使用した時間ベクトルt
、状態量の時刻歴x
(状態空間モデルに対してのみ)を出力し、スクリーン上にはプロットされません。単入力システムの場合、y
は時間サンプルと同数の行数(
t
の長さ)と出力と同数の列数をもっています。多入力の場合、各入力チャンネルのStep応答は、y
の3番目の次元に設定されます。y
の次元は、つぎのとおりです。
また、y(:,:,j)
は、j
番目の入力チャンネルに入れられた単位ステップ指令に対する応答を与えます。同様に、x
の次元は、つぎのとおりです。
例題
a = [-0.5572 -0.7814;0.7814 0]; b = [1 -1;0 2]; c = [1.9691 6.4493]; sys = ss(a,b,c,0); step(sys)
![]()
左側のプロットは、最初の入力チャンネルのStep応答を示し、右側のプロットは、2番目の入力チャンネルのStep応答を示しています。
アルゴリズム
連続系モデルは、状態空間に変換され、入力はゼロ次ホールドを使って離散化されます。サンプリング周期は、時間ベクトルt = 0:dt:Tf
が供給される場合を除き(この場合サンプリング周期としてdt
を使用)、システムのダイナミクスに基づいて自動的に選択されます。
参考
impulse
Impulse応答
initial
初期値に対する自由応答
lsim
任意入力に対する応答のシミュレーション
ltiview
LTIシステムビューワの起動
![]() | stack | tf | ![]() |