Main Content

Model Reducer

線形時不変 (LTI) モデルの複雑度を低減

説明

Model Reducer アプリにより、高次 LTI モデルやスパース LTI モデルの低次元化近似を計算できます。低次元化されたモデルを使用すると、解析および制御設計を簡略化できます。簡略化されたモデルでは、理解や操作もより容易です。プラントのコントローラーを設計する前に関連するダイナミクスに焦点を置くためにプラント モデルを低次元化できます。またはモデルの低次元化を使用して、最大次数のコントローラーを簡略化できます。

次の方法のいずれかを使用すると、Model Reducer によってアプリケーションにとって重要なモデルの特性を維持しながらモデル次数を低次元化しやすくなります。

  • 平衡化打ち切り — エネルギーの寄与が比較的小さい状態を削除します。

  • モーダル打ち切り — 位置や DC の寄与に基づいてモードを破棄します。

  • 極-零点の簡略化 — 相殺またはほぼ相殺となる極-零点のペアを除去します。

Model Reducer は、応答プロットおよび誤差のプロットを提供して、低次元化されたモデルが重要なダイナミクスを必ず保持するようにします。モデルの低次元化とそれが役立つ理由の詳細については、モデルの低次元化の基礎を参照してください。

モデルの低次元化を対話的に実行し、ライブ スクリプト用のコードを生成することができる Model Reducer アプリの代替方法については、ライブ エディターのモデル次数の低次元化タスクを参照してください。

Model Reducer app

Model Reducer アプリを開く

  • MATLAB® ツールストリップ: [アプリ] タブの [制御システム設計と解析] で、アプリ アイコンをクリックします。

  • MATLAB コマンド プロンプト: modelReducer と入力します。

パラメーター

すべて展開する

[平衡化打ち切り] タブ

[モデル] ドロップダウン リストから選択して、低次元化するモデルを指定します。リストには、現在データ ブラウザー内にあるすべてのモデルが含まれます。MATLAB ワークスペースからデータ ブラウザーにモデルを取得するには、[Model Reducer] タブで [モデルのインポート] をクリックします。次がインポートできます。

  • プロパーな tf モデル、ss モデル、または zpk モデル。モデルは、SISO、MIMO、連続、離散のいずれも許容されます。

    • 連続時間モデルに、むだ時間があってはなりません。むだ時間をもつ連続時間モデルを低次元化するには、最初に pade を使用して、むだ時間をモデル ダイナミクスとして近似します。

    • 離散時間モデルはむだ時間をもつことができます。平衡化打ち切りの低次元化手法の場合、アプリでは absorbDelay を使用して遅延を z = 0 の極に変換してから、モデルを削減します。追加の状態が応答プロットとハンケル特異値のプロットに反映されます。

  • genss モデルなどの一般化モデル。Model Reducer アプリは、model ですべての制御設計ブロックの現在の値またはノミナル値を使用します (getValue を参照)。

  • sparss モデルや mechss モデルなどのスパース状態空間モデル。

メモ

Model Reducer では、モデルの時間単位 (モデルの TimeUnit プロパティで指定) は秒単位であることを前提にします。モデルに TimeUnit = 'seconds' が設定されていない場合は、chgTimeUnit を使用してモデルを秒単位に変換します。

モデル次数の低次元化の基準を指定します。モデルの不安定な状態数と元のモデルの状態数の間の値が許可されます。単一値を指定する場合、Model Reducer はその次元のモデルの応答を計算して表示します。複数の値を指定する場合、Model Reducer はすべての指定された次元のモデルを計算して、その応答を同じプロット上に表示します。低次元化されたモデルをデータ ブラウザーに格納するには、[低次元化されたモデルの保存] をクリックします。

詳細については、平衡化打ち切りによるモデルの低次元化を参照してください。

比較プロットのタイプを指定します。

  • モデル応答 — モデルの周波数応答をプロットします。この周波数応答の比較は、SISO モデルの場合はボード線図であり、MIMO モデルの場合は特異値プロットです。

  • 絶対誤差のプロット — 絶対誤差 GGr の周波数応答をプロットします。

  • 相対誤差のプロット — 相対誤差 G1(GGr) の周波数応答をプロットします。

詳細については、平衡化打ち切りによるモデルの低次元化を参照してください。

解析プロットのタイプを指定します。

  • ハンケル特異値 — ハンケル特異値と関連する誤差範囲の棒グラフ。

  • エネルギー — 正規化された状態エネルギーの棒グラフ。

[モーダル打ち切り] タブ

[モデル] ドロップダウン リストから選択して、低次元化するモデルを指定します。リストには、現在データ ブラウザー内にあるすべてのモデルが含まれます。MATLAB ワークスペースからデータ ブラウザーにモデルを取得するには、[Model Reducer] タブで [モデルのインポート] をクリックします。次がインポートできます。

  • プロパーな tf モデル、ss モデル、または zpk モデル。モデルは、SISO、MIMO、連続、離散のいずれも許容されます。

    • 連続時間モデルに、むだ時間があってはなりません。むだ時間をもつ連続時間モデルを低次元化するには、最初に pade を使用して、むだ時間をモデル ダイナミクスとして近似します。

    • 離散時間モデルはむだ時間をもつことができます。平衡化打ち切りの低次元化手法の場合、アプリでは absorbDelay を使用して遅延を z = 0 の極に変換してから、モデルを削減します。追加の状態が応答プロットとハンケル特異値のプロットに反映されます。

  • genss モデルなどの一般化モデル。Model Reducer アプリは、model ですべての制御設計ブロックの現在の値またはノミナル値を使用します (getValue を参照)。

  • sparss モデルや mechss モデルなどのスパース状態空間モデル。

詳細については、モーダル打ち切りによるモデルの低次元化を参照してください。

メモ

[モデル次数の低次元化] では、モデルの時間単位 (モデルの TimeUnit プロパティで指定) は秒単位であることを前提にします。モデルに TimeUnit = 'seconds' が設定されていない場合は、chgTimeUnit を使用してモデルを秒単位に変換します。

対象の周波数範囲。[Fmin,Fmax] の形式のベクトルとして指定します。この範囲外のモードは、アルゴリズムですべて破棄されます。

対象の減衰範囲。[ζminmax] の形式のベクトルとして指定します。この範囲外のモードは、アルゴリズムですべて破棄されます。

低次元化されたモデルの DC の寄与の下限。非負のスカラーとして指定します。正規化された DC の寄与がこの値より小さいモードは、アルゴリズムですべて破棄されます。

比較プロットのタイプを指定します。

  • モデル応答 — モデルの周波数応答をプロットします。この周波数応答の比較は、SISO モデルの場合はボード線図であり、MIMO モデルの場合は特異値プロットです。

  • 絶対誤差のプロット — 絶対誤差 GGr の周波数応答をプロットします。

  • 相対誤差のプロット — 相対誤差 G1(GGr) の周波数応答をプロットします。

  • モード位置 — 元のモデルと低次元化されたモデルの極配置を比較します。

比較プロットのタイプを指定します。

  • DC の寄与 — 正規化された DC の寄与の棒グラフ。

  • モード位置 — 極の位置をプロットします。

  • モード減衰と固有振動数 — 極の減衰と固有振動数をプロットします。

[極-零点の簡略化] タブ

[モデル] ドロップダウン リストから選択して、低次元化するモデルを指定します。リストには、現在データ ブラウザー内にあるすべてのモデルが含まれます。MATLAB ワークスペースからデータ ブラウザーにモデルを取得するには、[Model Reducer] タブで [モデルのインポート] をクリックします。次がインポートできます。

  • プロパーな tf モデル、ss モデル、または zpk モデル。モデルは、SISO、MIMO、連続、離散のいずれも許容されます。

    • 連続時間モデルに、むだ時間があってはなりません。むだ時間をもつ連続時間モデルを低次元化するには、最初に pade を使用して、むだ時間をモデル ダイナミクスとして近似します。

    • 離散時間モデルはむだ時間をもつことができます。平衡化打ち切りの低次元化手法の場合、アプリでは absorbDelay を使用して遅延を z = 0 の極に変換してから、モデルを削減します。追加の状態が応答プロットとハンケル特異値のプロットに反映されます。

  • genss モデルなどの一般化モデル。Model Reducer アプリは、model ですべての制御設計ブロックの現在の値またはノミナル値を使用します (getValue を参照)。

スライダーを使用するか値をテキスト ボックスに入力して、極-零点相殺の許容誤差を設定します。この値が、Model Reducer が低次元化されたモデルから極と零を除去するには、極と零の間隔がどの程度近くなければならないかを決定します。スライダーを左に動かすか、テキスト ボックスに小さい値を入力すると、相殺される極および零が少なくなり、モデルはあまり簡略化されません。スライダーを右に動かすか、テキスト ボックスに大きい値を入力すると、より離れている極および零が相殺され、モデルがより簡略化されます。

詳細については、極-零点の簡略化を参照してください。

比較プロットのタイプを指定します。

  • モデル応答 — モデルの周波数応答をプロットします。この周波数応答の比較は、SISO モデルの場合はボード線図であり、MIMO モデルの場合は特異値プロットです。

  • 絶対誤差のプロット — 絶対誤差 GGr の周波数応答をプロットします。

  • 相対誤差のプロット — 相対誤差 G1(GGr) の周波数応答をプロットします。

プログラムでの使用

すべて展開する

modelReducer は、Model Reducer アプリをデータ ブラウザーにモデルがない状態で開きます。MATLAB ワークスペースからモデルをインポートするには、 [モデルのインポート] をクリックします。

modelReducer(model) はアプリを開き、指定された LTI モデルをインポートします。model には次のいずれかを指定できます。

  • プロパーな tf モデル、ss モデル、または zpk モデル。モデルは、SISO、MIMO、連続、離散のいずれも許容されます。

    • 連続時間モデルに、むだ時間があってはなりません。むだ時間をもつ連続時間モデルを低次元化するには、最初に pade を使用して、むだ時間をモデル ダイナミクスとして近似します。

    • 離散時間モデルはむだ時間をもつことができます。平衡化打ち切りの低次元化手法の場合、アプリでは absorbDelay を使用して遅延を z = 0 の極に変換してから、モデルを削減します。追加の状態が応答プロットとハンケル特異値のプロットに反映されます。

  • genss モデルなどの一般化モデル。Model Reducer アプリは、model ですべての制御設計ブロックの現在の値またはノミナル値を使用します (getValue を参照)。

  • sparss モデルや mechss モデルなどのスパース状態空間モデル。

modelReducer(model1,...,modelN) はアプリを開き、指定されたモデルをインポートします。

modelReducer(sessionFile) はアプリを開き、以前に保存したセッションを読み込みます。sessionFile は、現在の作業ディレクトリ内または MATLAB パス上のセッション データ ファイルの名前です。

セッション データをディスクに保存するには、Model Reducer アプリの [Model Reducer] タブで、 [セッションの保存] をクリックします。保存されたセッション データには、現在のプロット構成とデータ ブラウザー内のすべてのモデルが含まれます。

バージョン履歴

R2016a で導入

すべて展開する

参考

関数

ライブ エディター タスク