初期条件からの応答
この例では、initial
を使用して、指定された初期状態値に対する状態空間 (ss
) モデルの応答を計算し、プロットする方法を示します。
状態空間モデルを読み込みます。
load ltiexamples sys_dc sys_dc.InputName = 'Volts'; sys_dc.OutputName = 'w'; sys_dc.StateName = {'Current','w'}; sys_dc
sys_dc = A = Current w Current -4 -0.03 w 0.75 -10 B = Volts Current 2 w 0 C = Current w w 0 1 D = Volts w 0 Continuous-time state-space model.
この例では、2 状態の SISO モデル sys_dc
を使用します。このモデルは DC モーターを表します。入力は印加電圧であり、出力はモーターの角速度 ω になります。モデルの状態は、誘導電流 (x1
) および ω (x2
) です。コマンド ウィンドウでのモデル表示には、ラベルの付いた入力、出力および状態が表示されます。
誘導電流が 1.0 A で初期回転速度が 5.0 rad/s であるモーターの角速度の自由発展を、初期状態からプロットします。
x0 = [1.0 5.0]; initial(sys_dc,x0)
initial
は、指定された初期条件からの時間発展を画面にプロットします。プロットする時間範囲を指定しない限り、initial
はシステム ダイナミクスを示す時間範囲を自動的に選択します。
= 0 (ステップ入力の適用) から = 1 秒までの sys_dc
の出力と状態の時間発展を計算します。
t = 0:0.01:1; [y,t,x] = initial(sys_dc,x0,t);
ベクトル y
には、t
の各タイム ステップでの出力が含まれています。配列 x
には、各タイム ステップでの状態値が含まれています。このため、この例では x
が 2 行 101 列の配列となります。x
の各行には、対応するタイム ステップにおける sys_dc
の 2 つの状態の値が含まれています。
参考
step
| impulse
| initial
| initialplot