ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink モデルのモデル操作点での線形化

Simulink® モデルを線形化する際に操作点を指定しない場合、ソフトウェアは既定でモデルに指定されている操作点を使用します。モデルの操作点は、モデルに保存されている初期状態と入力信号の値で構成されます。

さまざまな操作点でのモデルの線形化の詳細については、平衡化された操作点での線形化およびシミュレーション スナップショットでの線形化を参照してください。

線形解析ツールを使用した Simulink モデルの線形化

この例では、線形解析ツールを使用して、モデルに指定された操作点で Simulink モデルを線形化する方法を説明します。

Simulink モデルを開きます。

mdl = 'watertank';
open_system(mdl)

Water-Tank System ブロックはこの制御システム内のプラントを表し、システムの非線形性のすべてを含みます。

Simulink ウィンドウで、モデルの線形化部分を指定します。

  1. 線形化の入力を指定するには、PID Controller ブロックの出力信号を右クリックして [線形解析ポイント] [入力の摂動] を選択します。

  2. 線形化の出力を指定するには、Water-Tank System の出力信号を右クリックして [線形解析ポイント] [開ループの出力] を選択します。開ループの出力ポイントは、出力の測定にループ開始点を続けたもので、モデルの操作点を変更せずに線形化に対するフィードバック信号の影響を取り除きます。

線形解析ポイントを追加すると、ソフトウェアはモデル内のそれぞれの位置にマーカーを追加します。解析ポイントのさまざまなタイプの詳細については、モデルの一部を線形化するよう指定を参照してください。

Simulink モデルにおける解析ポイントの定義の詳細については、Simulink モデルでモデルの一部を線形化する指定を参照してください。あるいは、Simulink モデルに変更を加えたくない場合は、線形解析ツールを使って解析ポイントを定義できます。詳細については、線形解析ツールでモデルの一部を線形化する指定を参照してください。

モデルの線形解析ツールを開くには、Simulink モデル ウィンドウで [解析][制御設計][線形解析] を選択します。

Simulink モデルで定義した解析ポイントを線形化 I/O として使用するには、[線形解析] タブの [解析 I/O] ドロップダウン リストで [モデル I/O] を選択したままにします。

この例では、線形化にモデルの操作点を使用します。[操作点] ドロップダウン リストで [モデルの初期条件] を選択したままにします。

システムを線形化して解析のための応答プロットを生成するには、[線形化] セクションで応答をクリックします。この例では、結果の線形モデルのボード線図を生成するために [ボード線図] をクリックします。

ソフトウェアは線形化されたモデル linsys1[線形解析ワークスペース] に追加して、モデルのボード線図を生成します。linsys1 は、既定のモデル操作点で計算された、指定の入力から指定の出力への線形モデルです。

線形モデルの解析の詳細については、線形解析ツールの応答プロットを使用した結果の解析を参照してください。

線形化モデルを MATLAB® ワークスペースにエクスポートすることもできます。そのためには、[データ ブラウザー]linsys1[線形解析ワークスペース] から [MATLAB ワークスペース] にドラッグします。

コマンド ラインを使用した Simulink モデルの線形化

この例では、linearizeコマンドを使用してモデルの操作点で Simulink® モデルを線形化する方法を説明します。

Simulink モデルを開きます。

mdl = 'watertank';
open_system(mdl)

このシステムでは Water-Tank System ブロックにすべての非線形ダイナミクスが含まれています。モデルの線形化する部分を指定するには、linioコマンドを使用して線形化 I/O オブジェクトの配列を作成します。

PID Controller ブロックの出力に入力の摂動の解析ポイントを作成します。

io(1) = linio('watertank/PID Controller',1,'input');

Water-Tank System ブロックの出力に開ループの出力の解析ポイントを作成します。開ループの出力ポイントは、出力の測定にループ開始点を続けたもので、モデルの操作点を変更せずに線形化に対するフィードバック信号の影響を取り除きます。

io(2) = linio('watertank/Water-Tank System',1,'openoutput');

解析ポイントのさまざまなタイプの詳細については、モデルの一部を線形化するよう指定を参照してください。

指定された解析ポイントを使用してモデルの操作点でモデルを線形化します。

linsys1 = linearize(mdl,io);

linsys1 は、既定のモデル操作点で計算された、指定の入力から指定の出力への線形モデルです。

これで、線形化モデルの応答を解析することができます。たとえば、そのボード応答をプロットします。

bode(linsys1)

線形モデルの解析の詳細については、線形解析 (Control System Toolbox)を参照してください。

参考

|

関連するトピック