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

Model Reducer

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

説明

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

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

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

  • モードの選択 — 複素平面で関心領域を指定してモードを選択します。

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

Model Reducer は、応答プロットおよび誤差のプロットを提供して、低次元化されたモデルが重要なダイナミクスを必ず保持するようにします。

Model Reducer アプリを開く

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

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

パラメーター

すべて展開する

[平衡化打ち切り] タブ

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

低次元化されたモデルの状態数を指定します。モデルの不安定な状態数とシステムの最小実現の状態数の間の値が許可されます (「minreal」を参照)。単一値を指定する場合、Model Reducer はその次元のモデルの応答を計算して表示します。複数の値を指定する場合、Model Reducer はすべての指定された次元のモデルを計算して、その応答を同じプロット上に表示します。[データ ブラウザー] に低次元化されたモデルを格納するには、 をクリックします。

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

例: 5

例: 4:7

例: [3,7,10]

[DC ゲインの保持] をオンにすると、低次元化されたモデルの DC ゲインが元のモデルの DC ゲインと等しくなります。モデルの DC の動作がアプリケーションにとって重要である場合、このオプションをオンのままにします。高周波数の動作に適切に一致させるには、このオプションをオフにします。

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

既定では、モデル アドバイザーはすべての周波数のハンケル特異値を解析します。そのような制限が便利なのは、特定のアプリケーションにとっての関心領域の外部にあるモードがモデルにあるとわかっている場合です。周波数極限を適用する場合、Model Reducer は、指定された周波数範囲内のみのエネルギーの寄与に基づいて、どの状態が打ち切るべき低エネルギーの状態であるかを判断します。

特定の周波数範囲に対する状態の寄与の解析を制限するには、[周波数範囲の選択] をオンにします。そして周波数範囲を形式 [fmin,fmax] のベクトルとしてテキスト ボックスに入力します。単位は rad/TimeUnit です。ここで、TimeUnit は低次元化を行っているモデルの TimeUnit プロパティです。

[モードの選択] タブ

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

詳細については、モードの選択によるモデルの低次元化を参照してください。

低次元化されたモデルで保持するために最も低速なダイナミクスの周波数を入力します。このカットオフを下回る固有振動数をもつ極は、低次元化されたモデルから除去されます。

低次元化されたモデルで保持するために最も高速なダイナミクスの周波数を入力します。このカットオフを上回る固有振動数をもつ極は、低次元化されたモデルから除去されます。

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

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

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

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

プログラムによる使用

すべて展開する

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

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

  • プロパーな tf モデル、ss モデル、または zpk モデル。モデルは、SISO、MIMO、連続、離散のいずれも許容されます。連続時間モデルは、むだ時間をもつことができません (連続時間モデルでのむだ時間の近似の詳細については、pade を参照してください)。

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

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

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

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

参考

関数

R2016a で導入