Main Content

モデルの線形化

Simulink® 製品は、Simulink モデルから線形状態空間モデルを抽出するために、関数 linmodlinmod2dlinmod を提供しています。ただし、これらの関数では基本的な線形化の機能しか提供されません。完全な線形化の機能については、Simulink Control Design™ ソフトウェアを使用してください。詳細については、線形化ツールの選択 (Simulink Control Design)を参照してください。

関数 linmodlinmod2dlinmod は、状態空間行列 "A""B""C""D" の形式で線形モデルを抽出します。状態空間行列は、次のように線形の入出力関係を記述します。

x˙=Ax+Buy=Cx+Du,

x、u、y はそれぞれ状態、入力、出力ベクトルです。たとえば、次のモデルは lmod と呼ばれます。

このシステムの線形モデルを抽出するには、次のコマンドを入力します。

[A,B,C,D] = linmod('lmod')

A =
   -2    -1    -1
    1     0     0
    0     1    -1
B =
    1
    0
    0
C =
    0     1     0
    0     0    -1
D =
    0
    1

入力と出力は、Ports & Subsystems ライブラリの Inport ブロックと Outport ブロックを使用して定義しなければなりません。Sources ブロックと Sinks ブロックは、入力と出力としては機能しません。Inport ブロックは、Sum ブロックを使用して Source のブロックと併用できます。データが状態空間形式になるか LTI オブジェクトに変換されると、Control System Toolbox™ 製品の関数を適用してさらに解析を進めることができます。

  • LTI オブジェクトへの変換

    sys = ss(A,B,C,D);
    
  • ボード位相と振幅周波数プロット

    bode(A,B,C,D) or bode(sys)
    
  • 線形化した時間応答

    step(A,B,C,D) or step(sys)
    impulse(A,B,C,D) or impulse(sys)
    lsim(A,B,C,D,u,t) or lsim(sys,u,t)
    

Control System Toolbox 製品と Robust Control Toolbox™ 製品の他の関数を使用して線形制御システムを設計できます。

モデルが非線形の場合、線形化されたモデルを抽出する操作点を選択できます。linmod の追加の引数が操作点を指定します。

[A,B,C,D] = linmod('sys', x, u)

離散システム、または連続システムと離散システムが混在する場合は、線形化に関数 dlinmod を使用します。この関数の呼び出し構文は、2 番目の右辺引数に線形化を実行するサンプル時間が含まれていなければならない点を除いて、linmod と同じです。

参考

関数

アプリ

関連するトピック