Main Content

looptuneOptions

looptune のオプションを設定する

説明

looptuneOptions を使用して関数 looptune のオプション セットを作成します。

作成

options = looptuneOptions は、looptune コマンドのための既定のオプション セットを返します。

options = looptuneOptions(Name,Value) は、1 つ以上の名前と値の引数を使用して、オプション セットを作成してプロパティを設定します。

プロパティ

すべて展開する

デシベル単位のターゲット ゲイン余裕。スカラーとして指定します。GainMargin は、調整された制御システムに必要なゲイン余裕を指定します。MIMO 制御システムの場合、ゲイン余裕はマルチループのディスク余裕です。マルチループのディスク余裕の定義については、Stability Analysis Using Disk Margins (Robust Control Toolbox)を参照してください。

度数で示されるターゲット位相余裕。スカラーとして指定します。PhaseMargin は、調整された制御システムに必要な位相余裕を指定します。MIMO 制御システムの場合、位相余裕はマルチループのディスク余裕です。マルチループのディスク余裕の定義については、Stability Analysis Using Disk Margins (Robust Control Toolbox)を参照してください。

looptune の実行時に表示する情報量。以下のいずれかの値として指定します。

  • 'off' — サイレント モードで実行し、実行時や実行後に情報を表示しません。

  • 'iter' — 各反復の後の最適化の進捗を表示します。各反復の後に目的のパラメーター gam の値が表示されます。また、前の反復からの gam の変化率を示す Progress 値も表示されます。

  • 'final' — 各最適化実行の終了時に 1 行の概要を表示します。gam の最小化値と各実行の反復回数が表示されます。

各最適化実行における最大反復回数。正のスカラーとして指定します。

コントローラーの自由パラメーターの乱数値から開始される追加の最適化の実行回数。非負のスカラーとして指定します。

RandomStart = 0 の場合、looptune は調整可能なパラメーターの初期値から開始する最適化実行を 1 回実行します。RandomStart = N > 0 に設定すると、N 個の無作為に生成されたパラメーター値から開始する追加の最適化が N 回実行されます。

looptune では、ゲインの最小化問題の局所的最小値を探すことで調整を行います。設計要件を満たすパラメーターの値が見つかる可能性を高めるには、RandomStart > 0 に設定します。その後、複数の最適化実行から得られた最適な設計を使用できます。

独立した最適化実行を MATLAB® ワーカーに分散するには、UseParallel = true とともに使用します (Parallel Computing Toolbox™ ソフトウェアが必要)。

並列計算を有効にするオプション。'UseParallel'false または true で構成されるコンマ区切りペアとして指定します。

構成されたコントローラーを調整する際に RandomStart オプションを使用して複数のランダム化開始点で最適化を実行する場合、並列計算も使用することで、最適化実行を並列プールのワーカーに分散できます。このオプションを true に設定すると、使用可能な並列プールがあれば、ソフトウェアは独立した最適化実行をそのプールのワーカーに分散して同時に実行します。使用可能な並列プールがない場合は、次のいずれかになります。

  • Parallel Computing Toolbox 基本設定 (Parallel Computing Toolbox)[並列プールを自動的に作成する] を選択した場合、ソフトウェアはそれらの設定を使用して並列プールを開始します。

  • 基本設定で [並列プールを自動的に作成する] を選択しなかった場合、ソフトウェアは並列処理を使用せずに最適化を順次実行します。

並列計算を使用するには、Parallel Computing Toolbox ソフトウェアが必要です。

目的のパラメーター gam のターゲット値。スカラーとして指定します。

looptune コマンドは、設計要件を正規化ゲインの制約に変換します。その後、目的のパラメーター gam が 1 より小さくなるように制御システムの自由パラメーターを調整し、すべての要件を適用します。

既定の TargetGain = 1 では、gam が 1 を下回るとすぐに最適化が停止します。TargetGain の値を小さくすると最適化が続行され、大きくすると開始までが速くなります。

終了の相対許容誤差。スカラーとして指定します。

目的のパラメーター gam が 10 回の反復で連続して TolGain を下回ると最適化が終了します。TolGain を大きくすると終了までが速くなり、TolGain を小さくすると最終値が厳密になります。

閉ループの最大固有振動数。正のスカラーとして指定します。

MaxFrequency を設定すると、閉ループ極が |p| < MaxFrequency を満たすようになります。

looptune でシステムの開ループ ダイナミクスに基づいて閉ループ極を自動的に選択できるようにするには、MaxFrequency = Inf に設定します。不要な高速ダイナミクスまたは高ゲイン制御を回避するには、MaxFrequency を有限値に設定します。

MaxFrequency は 1/TimeUnit 単位で、調整しているシステムの TimeUnit プロパティに相対して指定します。

閉ループの極の最小 decay 率。正のスカラーとして指定します。

閉ループ極が Re(p) < -MinDecay を満たすようにします。この値を大きくすると、極零相殺のため閉ループ ゲインに影響しない閉ループ極の安定性が向上します。

MinDecay は 1/TimeUnit 単位で、調整しているシステムの TimeUnit プロパティに相対して指定します。

すべて折りたたむ

3 回のランダムな再実行を使用した looptune 実行のオプション セットを作成します。また、ターゲットのゲイン余裕および位相余裕をそれぞれ 6 dB および 50 度に設定して、閉ループの極の振幅を 100 に制限します。

options = looptuneOptions('RandomStart',3','GainMargin',6,...
                'PhaseMargin',50,'SpecRadius',100);

あるいは、ドット表記を使用して options の値を設定します。

options = looptuneOptions;
options.RandomStart = 3;
options.GainMargin = 6;
options.PhaseMargin = 50;
options.SpecRadius = 100;

20 回のランダムな再実行を使用した looptune の実行用のオプション セットを構成します。これらの独立した最適化実行を並列プールの複数のワーカーで同時に実行します。

Parallel Computing Toolbox ソフトウェアがインストールされている場合、並列計算を使用して looptune による固定構造制御システムの調整を高速化できます。複数のランダム化開始点で looptune による最適化を実行すると、並列計算によって最適化実行がワーカーに分散されて調整が高速になります。

Parallel Computing Toolbox 基本設定 (Parallel Computing Toolbox)[Automatically create a parallel pool] が選択されていない場合、parpool (Parallel Computing Toolbox) を使用して手動で並列プールを開始します。以下に例を示します。

parpool;

基本設定で [parfor などの並列キーワードが実行された場合に並列プールを自動的に作成する (まだ存在していない場合)] が選択されている場合、手動でプールを開始する必要はありません。

20 回のランダムな再実行を並列で行うように指定する looptuneOptions セットを作成します。

options = looptuneOptions('RandomStart',20,'UseParallel',true);

UseParalleltrue に設定すると、並列処理が有効になり、ランダム化開始点が並列プールの使用可能なワーカーに分散されます。

looptuneOptions セットを looptune の呼び出し時に使用します。たとえば、プラント モデル G0 および調整可能なコントローラー C0 が既に作成されているとします。この場合、次のコマンドは並列計算を使用して、G0 および C0 の制御システムをターゲット交差 wc に調整します。

[G,C,gamma] = looptune(G0,C0,wc,options);

バージョン履歴

R2016a で導入

すべて展開する

参考

| (Simulink Control Design) | (Robust Control Toolbox)

トピック