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

モードの選択によるモデルの低次元化

モデルの選択によって、対象となる特定の周波数範囲の外側にある極を削除します。この方法は、システム ダイナミクスの特定のサブセットでの解析に焦点を置く場合に役立ちます。たとえば、アクチュエータ ダイナミクスに制限される帯域幅の制御システムを動かしている場合、プラントの高周波数のダイナミクスを破棄してもよい場合があります。対象周波数範囲外のダイナミクスの削除により、モデルについての計算の数値的複雑度が低減されます。モードの選択によって低次元化されたモデルを計算するには、2 つの方法があります。

  • コマンド ラインで freqsep コマンドを使用する。

  • Model Reducer[モードの選択] 方法を使用する。

モデルの低次元化の一般的な情報については、モデルの低次元化の基礎を参照してください。

Model Reducer アプリでのモードの選択

Model Reducer は、モデルを低次元化し、元のモデルと低次元化されたモデルの応答を調査および比較する、対話型のツールを提供します。Model Reducer のモードの選択によるモデルの近似手順は以下のとおりです。

  1. アプリを開き、低次元化する LTI モデルをインポートします。たとえば、MATLAB® ワークスペースに Gms という名前のモデルがあるとします。次のコマンドは、Model Reducer を開いてモデルをインポートします。

    modelReducer(Gms)
  2. [データ ブラウザー] で、低次元化するモデルを選択します。 [モードの選択] をクリックします。

    [モードの選択] タブで、Model Reducer は元のモデルと、低次元化されたモデルの周波数応答のプロットを表示します。アプリは、両方のモデルの極-零点配置図も表示します。

    極-零点配置図は、極配置を x でマークし、零点の位置を o でマークします。

    メモ

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

  3. Model Reducer は、影付きの領域の外側にある極を削除します。影付きの領域を変更して、低次元化されたモデルで保持するダイナミクスのみを取得します。これを行う方法は 2 つあります。

    • 応答プロットまたは極-零点配置図のいずれかで、影付きの領域の境界または影付きの領域自体をドラッグする。

    • [モードの選択] タブで、カットオフ周波数の下限と上限を入力する。

    影付きの領域またはカットオフ周波数が変更されると、Model Reducer は、新しい低次元化されたモデルを自動的に計算します。低次元化されたモデルで保持されるすべての極は、極-零点配置図の影付きの領域内になります。低次元化されたモデルには、影付きの領域の外側にある零点が含まれることがあります。

  4. 必要に応じて、元のモデルと簡略化されたモデルの間の絶対誤差または相対誤差を調べます。[モードの選択] タブにあるボタンを使用して、誤差のプロット タイプを選択します。

    解析プロットの使用方法の詳細については、低次元化されたモデルの Model Reducer アプリによる可視化を参照してください。

  5. 1 つ以上の低次元化されたモデルを格納してさらに解析を行う場合には、 をクリックします。新しいモデルが [データ ブラウザー] に表示されます。

    [データ ブラウザー] で低次元化されたモデルを作成した後で、モードの選択領域を引き続き調整して、異なる次数をもつ低次元化されたモデルを解析および比較のために作成できます。

これで、低次元化されたモデルを使用してさらに解析を行うことができるようになります。以下に例を示します。

  • 低次元化されたシステムの、ステップ応答またはニコルス線図などの他の応答を調べます。これを行うには、[プロット] タブのツールを使用します。詳細については、低次元化されたモデルの Model Reducer アプリによる可視化を参照してください。

  • さらに解析または制御設計を行うために、低次元化されたモデルを MATLAB ワークスペースにエクスポートします。[Model Reducer] タブで、 [エクスポート] をクリックします。

モードの選択用 MATLAB コードの生成

コマンド ラインでモデルの低次元化タスクをさらに行うために使用できる MATLAB スクリプトを作成するには、[低次元化されたモデルの作成] をクリックして、[MATLAB スクリプトの生成] を選択します。

Model Reducer は、[モードの選択] タブで設定したパラメーターによるモデルの低次元化を、freqsep コマンドを使用して実行するスクリプトを作成します。スクリプトが MATLAB エディターで開きます。

コマンド ラインでのモードの選択

コマンド ラインでモードの選択によってモデルの次数を低次元化するには、freqsep を使用します。このコマンドは、動的システム モデルを、指定した周波数で低速成分と高速成分に分離します。

この例では、モデル Gms を読み込み、その周波数応答を調べます。

load modeselect Gms
bodeplot(Gms)

Gms には 2 組の共振があり、一方は周波数が相対的に低く、他方は周波数が相対的に高くなっています。Gms のコントローラーを調整しますが、システムのアクチュエータは 2 つのグループの共振間の、約 3 rad/s の帯域幅に制限されているものとします。Gms を使用して計算および調整を簡略化するには、モードの選択を使用して高周波数のダイナミクスを削除することができます。

[Gms_s,Gms_f] = freqsep(Gms,30);

freqsep は、Gms = Gms_s + Gms_f となるように、Gms を低速成分と高速成分に分解します。固有振動数が 30 未満であるすべてのモード (極) は Gms_s 内にあり、高周波数の極は Gms_f 内にあります。

bodeplot(Gms,Gms_s,Gms_f)
legend('original','slow','fast')

低速成分 Gms_s は低周波数の共振のみを含み、元のモデルの DC ゲインと一致します。両方のモデルの次数を調べます。

order(Gms)
ans = 18
order(Gms_s)
ans = 10

高周波数のダイナミクスがアプリケーションにとって重要ではない場合、元の 18 次のモデルではなく 10 次の Gms_s を使用できます。低周波数のダイナミクスを無視することがアプリケーションにとって適切である場合、Gms_f を使用できます。低周波数と高周波数のカットオフ間にあるモデルを選択するには、freqsep を追加で呼び出します。

参考

|

関連するトピック