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

looptuneOptions

looptune のオプションの設定

構文

options = looptuneOptions
options = looptuneOptions(Name,Value)

説明

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

options = looptuneOptions(Name,Value) は、1 つ以上の Name,Value ペア引数により指定されるオプションをもつオプション セットを作成します。

入力引数

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順序で指定できます。

looptuneOptions は以下の Name 引数をとります。

'GainMargin'

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

既定値: 7.6 dB

'PhaseMargin'

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

既定値: 45°

'Display'

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

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

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

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

既定値: 'final'

'MaxIter'

各最適化実行における最大反復回数。

既定値: 300

'RandomStart'

コントローラーの自由パラメーターの乱数値から開始される追加の最適化の実行回数。

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

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

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

既定値: 0

'UseParallel'

並列処理中フラグ。

並列処理を有効にしてランダム化開始点を並列プールのワーカーに分散するには true に設定します。使用可能な並列プールがあれば、ソフトウェアは独立した最適化実行をそのプールのワーカーに分散して同時に実行します。使用可能な並列プールがない場合は、次のいずれかになります。

  • Parallel Computing Toolbox の設定 (Parallel Computing Toolbox)で [parfor などの並列キーワードが実行された場合に並列プールを自動的に作成する (まだ存在していない場合)] が選択されている場合、ソフトウェアはそれらの設定を使用して並列プールを開始します。

  • 設定で [parfor などの並列キーワードが実行された場合に並列プールを自動的に作成する (まだ存在していない場合)] が選択されていない場合、ソフトウェアは並列処理を使用せずに最適化を順次実行します。

設定で [parfor などの並列キーワードが実行された場合に並列プールを自動的に作成する (まだ存在していない場合)] が選択されていない場合、調整コマンドを実行する前に parpool を使用して手動で並列プールを起動できます。

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

既定値: false

'TargetGain'

目的のパラメーター gam のターゲット値。

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

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

既定値: 1

'TolGain'

終了の相対許容誤差。

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

既定値: 0.001

'MaxFrequency'

閉ループの最大固有振動数。

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

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

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

既定値: Inf

'MinDecay'

閉ループの極の最小 decay 率。

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

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

既定値: 1e-7

出力引数

options

looptune コマンド用に指定されたオプションを含むオプション セット。

すべて折りたたむ

3 回のランダムな再実行を使用した looptune 実行のオプション セットを作成します。また、ターゲット ゲインおよび位相余裕をそれぞれ 6 dB および 50 degree に設定して、閉ループの極のゲインを 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)で [parfor などの並列キーワードが実行された場合に並列プールを自動的に作成する (まだ存在していない場合)] が選択されていない場合、parpool を使用して手動で並列プールを開始します。以下に例を示します。

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 での動作変更

R2016a で導入