Main Content

モデルの低次元化の基礎

低次元化されたモデルの使用では、高次のモデルに比べて解析や制御設計が簡略化されます。簡略化されたモデルでは、理解や操作もより容易です。複雑な Simulink® モデルの線形化によって、または他のソースから得られる高次のモデルには状態を含めることができますが、これはアプリケーションで特に重要なダイナミクスにはそれほど寄与しません。このため、アプリケーションに重要なモデル特性を保存すると同時に、モデルの次数を減らすと効果的です。

モデル次数の低次元化が必要な場合

モデルの次数を減らす状況として、次のような状態があります。

  • Simulink モデルの線形化、有限要素の計算、モデル要素の相互接続によって、または他のソースから得られた比較的高次のモデルで作業をしている場合。

  • 一定の操作点で Simulink モデルのシミュレーション速度を改善したい場合。この場合、その操作点でモデルの一部を線形化し、線形化したモデルの低次元化による簡略化または近似を計算することができます。その後、低次元化されたモデルが入った LTI ブロックをもつモデルの一部を置き換えることができます。

  • PID コントローラーのように、低次のコントローラーとして実装する高次コントローラーを設計する場合。たとえば、線形 2 次ガウシアン メソッドまたは H 合成手法を用いたコントローラー設計では、高次の結果が得られます。この場合、合成前にプラント次数を減らすか、合成後にコントローラー次数を減らすか、またはその両方を行うことができます。

  • System Identification Toolbox™ ソフトウェアによる同定で得られたモデルを簡略化する場合。

次の図は、モデルの低次元化と制御設計の間の関係を示しています。

一般的に、高次のモデル G によって表されるシステムのコントローラーを設計する場合、プラント モデルの簡略化から開始すると有用です。次に、低次のプラント モデル GR について相対的に低次のコントローラー CR を設計します。元のプラント モデルまたは低次元化されたプラント モデルのいずれかについてコントローラーを設計した後、さらにコントローラーの低次元化が目指せます。

プラントまたはコントローラーの低次元化には次のものがあります。

  • 構造的に接続されていない状態または極-零点のペアの相殺などの、システム ダイナミクスに寄与しない状態を破棄。

  • システム ダイナミクスに相対的にほとんど寄与しない低エネルギーの状態を破棄。

  • 特定の周波数領域への注目とその領域の外側のダイナミクスを破棄。たとえば、制御帯域幅がアクチュエータ ダイナミクスによって制限される場合、高周波数のダイナミクスを破棄します。

どのような場合でも、モデルの次数を減らした場合、アプリケーションにとって重要なモデル特性を保存しておきたいものです。低次元化されたモデルを計算する場合、低次元化されたモデルが時間領域または周波数領域の、必要な動作を保持していることを確認します。たとえば、制御設計の場合、低次元化された閉ループ システムが安定していることを確認するときに役立ちます。また、開ループ ゲイン GC が 1 (ゲインの交差領域内) に近い場合に、低次元化された開ループの伝達関数 CRGR が元のモデルと適切に一致することを確認する場合にも役立ちます。

モデルを低次元化するツール

Control System Toolbox™ は、モデルの低次元化を行うツールを複数の環境で提供しています。これには、次が含まれます。

  • MATLAB® コマンド プロンプト、スクリプト、または独自の関数内でモデルの低次元化を行うための関数。

  • ライブ エディターでコードを生成するための [モデル次数の低次元化] タスク。ライブ スクリプトの作業中にこのタスクを使用すると、モデルの低次元化の手法およびパラメーターを対話的に試行し、ライブ スクリプト用のコードを生成することができます。

  • Model Reducer アプリ。MATLAB ワークスペースからモデルをインポートし、異なる手法およびパラメーターを使用して、低次元化されたモデルを対話的に生成できるスタンドアロン アプリです。このアプリでは、MATLAB スクリプトまたは関数で使用するためのコードも生成できます。

モデルの低次元化の方法の選択

モデルの次数を減らすには、モデルを簡略化するか、低次近似を計算します。次の表に、複数のモデル次数の低次元化方法の違いをまとめます。

方法コマンド ラインModel Reducer アプリとモデル次数の低次元化ライブ エディター タスク
簡略化 — 極-零点のペアを相殺するか、全体のモデル応答に影響がない状態を削除することによって、モデル次数を減らします。
  • sminreal — 入力や出力に構造的に接続されていない状態をモデルから削除します。

  • minreal — 伝達関数から相殺またはほぼ相殺となる極-零点のペアを除去します。状態空間モデルから不可観測状態または非可制御状態を削除します。

  • xelim — 状態を明示的に削除します。

極-零点の簡略化の方法 — 以下を削除します。

  • 構造的に接続されていない状態

  • 状態空間モデルの不可観測状態または非可制御状態

  • 伝達関数から相殺またはほぼ相殺の極-零点のペア

近似 — モデルの低次近似を計算します。 reducespec — 通常の LTI モデルおよびスパース LTI モデルのモデル次数の低次元化タスクを作成します。 平衡化打ち切り」の方法 — 全体のモデル応答への影響が比較的低い状態を破棄します。
モーダル分解 — 対象となる特定の領域の外側にある極と零点を削除します。
  • freqsep — 指定されたカットオフ周波数の低速のダイナミクスと高速のダイナミクスにモデルを分離します。

  • stabsep — モデルを安定なダイナミクスと不安定なダイナミクスに分離します。

  • modalsep — モデルをモーダル コンポーネントに分離します。

モードの選択」の方法 — 対象となる周波数範囲を選択して、その範囲の外側にあるダイナミクスを破棄します。

ときには、モデルにとって簡略化の方が良いように見えても、近似の方が良い結果が得られることがあります。たとえば、ほぼ極-零点相殺を行ったモデルでは、簡略化よりも近似の方が適切な低次元化結果が得られることがあります。同様に、reducespec を使用したモデル次数の低次元化ワークフローによって状態空間モデルを低次元化する方が、minreal よりも正確な結果が得られます。

低次元化されたモデルを使用する際は、常に簡略化または近似によって、アプリケーションにとって重要な特性が保持されることを確認してください。たとえば、bodeplot または sigmaplot を使用して、元のモデルの周波数応答と低次元化されたモデルの周波数応答を比較します。または、元のモデルの開ループ応答と低次元化されたプラント モデルおよびコントローラー モデルの開ループ応答を比較します。

参考

アプリ

ライブ エディター タスク

関数

関連するトピック