looptuneOptions
looptune
のオプションを設定する
説明
looptuneOptions
を使用して関数 looptune
のオプション セットを作成します。
作成
は、options
= looptuneOptionslooptune
コマンドのための既定のオプション セットを返します。
は、1 つ以上の名前と値の引数を使用して、オプション セットを作成してプロパティを設定します。options
= looptuneOptions(Name,Value
)
プロパティ
GainMargin
— ターゲット ゲイン余裕
7.6
(既定値) | スカラー
デシベル単位のターゲット ゲイン余裕。スカラーとして指定します。GainMargin
は、調整された制御システムに必要なゲイン余裕を指定します。MIMO 制御システムの場合、ゲイン余裕はマルチループのディスク余裕です。マルチループのディスク余裕の定義については、Stability Analysis Using Disk Margins (Robust Control Toolbox)を参照してください。
PhaseMargin
— ターゲットの位相余裕
45 (既定値) | スカラー
度数で示されるターゲット位相余裕。スカラーとして指定します。PhaseMargin
は、調整された制御システムに必要な位相余裕を指定します。MIMO 制御システムの場合、位相余裕はマルチループのディスク余裕です。マルチループのディスク余裕の定義については、Stability Analysis Using Disk Margins (Robust Control Toolbox)を参照してください。
Display
— 表示する情報
'final'
(既定値) | 'off'
| 'iter'
looptune
の実行時に表示する情報量。以下のいずれかの値として指定します。
'off'
— サイレント モードで実行し、実行時や実行後に情報を表示しません。'iter'
— 各反復の後の最適化の進捗を表示します。各反復の後に目的のパラメーターgam
の値が表示されます。また、前の反復からのgam
の変化率を示すProgress
値も表示されます。'final'
— 各最適化実行の終了時に 1 行の概要を表示します。gam
の最小化値と各実行の反復回数が表示されます。
MaxIter
— 各最適化実行における最大反復回数
300 (既定値) | 正のスカラー
各最適化実行における最大反復回数。正のスカラーとして指定します。
RandomStart
— 乱数値から開始される追加の最適化の実行回数
0 (既定値) | 非負のスカラー
コントローラーの自由パラメーターの乱数値から開始される追加の最適化の実行回数。非負のスカラーとして指定します。
RandomStart = 0
の場合、looptune
は調整可能なパラメーターの初期値から開始する最適化実行を 1 回実行します。RandomStart = N > 0
に設定すると、N 個の無作為に生成されたパラメーター値から開始する追加の最適化が N 回実行されます。
looptune
では、ゲインの最小化問題の局所的最小値を探すことで調整を行います。設計要件を満たすパラメーターの値が見つかる可能性を高めるには、RandomStart > 0
に設定します。その後、複数の最適化実行から得られた最適な設計を使用できます。
独立した最適化実行を MATLAB® ワーカーに分散するには、UseParallel = true
とともに使用します (Parallel Computing Toolbox™ ソフトウェアが必要)。
UseParallel
— 並列計算を有効にするオプション
false
(既定値) | true
並列計算を有効にするオプション。'UseParallel'
と false
または true
で構成されるコンマ区切りペアとして指定します。
構成されたコントローラーを調整する際に RandomStart
オプションを使用して複数のランダム化開始点で最適化を実行する場合、並列計算も使用することで、最適化実行を並列プールのワーカーに分散できます。このオプションを true
に設定すると、使用可能な並列プールがあれば、ソフトウェアは独立した最適化実行をそのプールのワーカーに分散して同時に実行します。使用可能な並列プールがない場合は、次のいずれかになります。
Parallel Computing Toolbox 基本設定 (Parallel Computing Toolbox)で [並列プールを自動的に作成する] を選択した場合、ソフトウェアはそれらの設定を使用して並列プールを開始します。
基本設定で [並列プールを自動的に作成する] を選択しなかった場合、ソフトウェアは並列処理を使用せずに最適化を順次実行します。
並列計算を使用するには、Parallel Computing Toolbox ソフトウェアが必要です。
TargetGain
— 目的のパラメーター gam
のターゲット値
1 (既定値) | スカラー
目的のパラメーター gam
のターゲット値。スカラーとして指定します。
looptune
コマンドは、設計要件を正規化ゲインの制約に変換します。その後、目的のパラメーター gam
が 1 より小さくなるように制御システムの自由パラメーターを調整し、すべての要件を適用します。
既定の TargetGain = 1
では、gam
が 1 を下回るとすぐに最適化が停止します。TargetGain
の値を小さくすると最適化が続行され、大きくすると開始までが速くなります。
TolGain
— 終了の相対許容誤差
0.001 (既定値) | スカラー
終了の相対許容誤差。スカラーとして指定します。
目的のパラメーター gam
が 10 回の反復で連続して TolGain
を下回ると最適化が終了します。TolGain
を大きくすると終了までが速くなり、TolGain
を小さくすると最終値が厳密になります。
MaxFrequency
— 閉ループの最大固有振動数
Inf
(既定値) | 正のスカラー
閉ループの最大固有振動数。正のスカラーとして指定します。
MaxFrequency
を設定すると、閉ループ極が |p| < MaxFrequency
を満たすようになります。
looptune
でシステムの開ループ ダイナミクスに基づいて閉ループ極を自動的に選択できるようにするには、MaxFrequency = Inf
に設定します。不要な高速ダイナミクスまたは高ゲイン制御を回避するには、MaxFrequency
を有限値に設定します。
MaxFrequency
は 1/TimeUnit
単位で、調整しているシステムの TimeUnit
プロパティに相対して指定します。
MinDecay
— 閉ループの極の最小 decay 率。
1e-7
(既定値) | 正のスカラー
閉ループの極の最小 decay 率。正のスカラーとして指定します。
閉ループ極が Re(p) < -MinDecay
を満たすようにします。この値を大きくすると、極零相殺のため閉ループ ゲインに影響しない閉ループ極の安定性が向上します。
MinDecay
は 1/TimeUnit
単位で、調整しているシステムの TimeUnit
プロパティに相対して指定します。
例
looptune のオプション セットの作成
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);
UseParallel
を true
に設定すると、並列処理が有効になり、ランダム化開始点が並列プールの使用可能なワーカーに分散されます。
looptuneOptions
セットを looptune
の呼び出し時に使用します。たとえば、プラント モデル G0
および調整可能なコントローラー C0
が既に作成されているとします。この場合、次のコマンドは並列計算を使用して、G0
および C0
の制御システムをターゲット交差 wc
に調整します。
[G,C,gamma] = looptune(G0,C0,wc,options);
バージョン履歴
R2016a で導入R2016a: Robust Control Toolbox から移動された機能
R2016a より前は、この機能には Robust Control Toolbox™ のライセンスが必要でした。
参考
looptune
| looptune (for slTuner)
(Simulink Control Design) | diskmargin
(Robust Control Toolbox)
トピック
- Stability Analysis Using Disk Margins (Robust Control Toolbox)
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)