時間応答関数


 MATLAB の Control Toolbox は系を評価するために時間応答を計算する関数をもっています。 ここで,その一部を紹介します。

impulse
 インパルス応答を求める(表示する)ための関数です。最も簡単な使用方法は,
>> impulse(A,B,C,D,IU)
で,IU番目の入力にインパルスが入った場合の時間応答を figure Window に表示します。 時間指定がない場合には,MATLAB が自動的に作成します。時間指定を行う場合には,
>> impulse(A,B,C,D,IU,T)
のように与えてください。T の設定は,たとえば
>> T=0.0:0.001:5.0;
などとすればよいでしょう。

 この関数は伝達関数を与えることも可能です。その場合は,
>> impulse(num,den,T)
とします。

 以上,戻り値を指定しない場合には,関数の実行結果が直接図に表示されます。もし, 時間応答を指定した変数に代入したい場合には,
>> y=impulse(A,B,C,D,IU,T);
としてください。この場合,最後に ; を入力しないと計算結果が画面に表示されますので注意して ください。得られた結果を表示する方法の一つを次に示します。
>> plot(T,y), grid

initial
 これは初期値応答を求める(表示する)ための関数です。初期値の指定以外は impulse を参照して ください。関数の使用例を以下に示します。
>> initial(A,B,C,D,x0)
>> initial(A,B,C,D,x0,T)
>> y=initial(A,B,C,D,x0,T);
ここで,x0 は行列 A と同じサイズを持つベクトルです。

lsim
 lsim は任意の操作量に対する応答を求める(表示する)ための関数です。使用例を以下に示します。
>> lsim(A,B,C,D,U,T)
>> lsim(A,B,C,D,U,T,x0)
>> lsim(num,den,U,T)
>> y=lsim(A,B,C,D,U,T);
U は系に与える操作量で,入力数と同じ列数,時間ベクトル T と同じ行数を持つ必要があります。

step
 ステップ応答を求める(表示する)ための関数です。使用例を以下に示します。
>> step(A,B,C,D,IU)
>> step(A,B,C,D,IU,T)
>> step(num,den,T)
>> y=step(A,B,C,D,IU);