Main Content

バッチ線形化の方法の選択

Simulink® Control Design™ ソフトウェアには、バッチ線形化のためのツールと方法がいくつか用意されています。どのツールと方法を選択するかは、適用の要件とソフトウェアの設定によって決まります。次の表に、Simulink Control Design ソフトウェアでサポートされるバッチ線形化のワークフローを示します。

適用の説明操作点の計算オプション線形化のワークフロー

変化するいずれのモデル パラメーターにも依存しない操作条件がモデルに複数ある場合。操作条件がモデルの状態と入力のみに依存する場合はこの方法を使用します。

  • 可能な場合は 1 回のモデル コンパイルで、複数の操作点の仕様でモデルをバッチ平衡化します。モデル線形化器ではバッチ平衡化がサポートされません。

  • 各操作点仕様ごとにモデルを個別に平衡化します。モデルのコンパイルを複数回行う必要があります。モデル線形化器でこのオプションを使用します。

  • シミュレーションの複数のスナップショット時間で操作点を計算します。

  1. 操作点を計算します。

  2. すべての操作点でモデルをバッチ線形化します。

例については、次を参照してください。

モデルが単一の操作条件をもち、変化するモデル パラメーターに対してこの操作点でモデルを線形化する場合。以下がこのような適用例に該当します。

  • 成分許容誤差がモデル ダイナミクスに与える影響の調査。

  • プラント パラメーターの変化に対するコントローラーのロバスト性の調査。

  • 単一の操作点の仕様でモデルを平衡化します。

  • シミュレーションの 1 つのスナップショット時間で操作点を計算します。

  1. 操作点を計算します。

  2. 線形化に使用するパラメーター値を定義します。

  3. 指定されたパラメーター変化に対し計算された操作点でモデルをバッチ線形化します。

例については、次を参照してください。

変化するモデル パラメーターの値に依存する操作条件がモデルに複数ある場合。線形時変 (LTV) モデルを作成する場合はこの方法を使用します。

  • 可能な場合は 1 回のモデル コンパイルで、変化するパラメーター値でモデルをバッチ平衡化します。モデル線形化器ではバッチ平衡化がサポートされません。

  • パラメーター値の各組み合わせにつきモデルを個別に平衡化します。モデルのコンパイルを複数回行う必要があります。モデル線形化器でこのオプションを使用します。

  • パラメーター値の各組み合わせについて、シミュレーションの 1 つのスナップショットで操作点を計算します。

  1. 平衡化で使用するパラメーター値を定義します。

  2. 指定したパラメーター値の変化に対する操作点を計算します。

  3. 計算された操作点で、対応するパラメーター値の組み合わせを使用してモデルをバッチ線形化します。

例については、次を参照してください。

操作点およびモデル パラメーターの変化に加え、slLinearizer インターフェイスを使用して線形化の I/O 構成を変化させることにより、システムから複数の伝達関数を取得できます。これは、単一の操作点をもつパラメーターの変化がないモデルで行うことができ、前の表にあるバッチ線形化オプションのすべてで使用できます。詳細については、slLinearizer インターフェイスを使用した操作点の変化と複数の伝達関数の取得およびパラメーター値を変化させて複数の伝達関数を取得を参照してください。

バッチ線形化ツールの選択

バッチ線形化を行うには、モデル線形化器を使用するか、MATLAB® コマンド ラインで関数 linearize または slLinearizer インターフェイスを使用します。次の表を使用してバッチ線形化ツールを選択します。

モデル線形化器を使用する理由linearize を使用する理由slLinearizer を使用する理由
  • Simulink Control Design ソフトウェアをはじめて使用。

  • モデル線形化器の経験がある。

  • モデルをバッチ平衡化しない場合。これはモデル線形化器でサポートされません。

  • Simulink Control Design を使用したことがない、あるいはモデル線形化器の使用経験がある場合で、コマンド ラインでの作業や繰り返し可能なスクリプトでの作業が望まれる。

    linearize を使用するワークフローは、モデル線形化器を使用してモデルを線形化するワークフローと非常によく似ています。モデル線形化器から MATLAB コードを生成してセッションをプログラムにより再現する場合、このコードでは linearize を使用します。このコードを変更して容易にモデルをバッチ線形化できます。

  • 単一の伝達関数 (つまり 1 つの I/O セットのみ) で線形化を抽出する。

  • 各伝達関数で (linio を使用して) 線形化 I/O セットを作成したりモデルを変更することなく、複数の開ループおよび閉ループ伝達関数を取得する。

  • 各伝達関数に対してモデルを再コンパイルすることなく、複数の開ループおよび閉ループ伝達関数を取得する。

    linearize またはモデル線形化器を使用して、開ループおよび閉ループの伝達関数を複数取得することもできます。ただし、I/O セットを変更するたびにモデルは再コンパイルされます。

関連するトピック