Main Content

初期条件からの応答

この例では、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 モーターを表します。入力は印加電圧であり、出力はモーターの角速度 ω になります。モデルの状態は、誘導電流 i (x1) および ω (x2) です。コマンド ウィンドウでのモデル表示には、ラベルの付いた入力、出力および状態が表示されます。

誘導電流が 1.0 A で初期回転速度が 5.0 rad/s であるモーターの角速度の自由発展を、初期状態からプロットします。

x0 = [1.0 5.0];
initial(sys_dc,x0)

MATLAB figure

initial は、指定された初期条件からの時間発展を画面にプロットします。プロットする時間範囲を指定しない限り、initial はシステム ダイナミクスを示す時間範囲を自動的に選択します。

t = 0 (ステップ入力の適用) から t = 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 つの状態の値が含まれています。

参考

| | |

関連する例

詳細