fxpOptimizationOptions クラス
データ型最適化のオプションの指定
説明
fxpOptimizationOptions
オブジェクトでは、fxpopt
を使用するデータ型最適化プロセス時に使用するオプションと制約を指定できます。
作成
は、既定値を使用して options
= fxpOptimizationOptions()fxpOptimizationOptions
オブジェクトを作成します。
は、指定したプロパティの名前と値のペアをもつ options
= fxpOptimizationOptions('PropertyName
',PropertyValue
) fxpOptimizationOptions
オブジェクトを作成します。
プロパティ
実行する最大反復回数。非負のスカラー整数として指定します。理想的な解が見つかるか、最大反復回数に達するか、別の停止条件に達するまで、最適化プロセスで異なる解が反復して求められます。
例: options.MaxIterations = 75;
例: options = fxpOptimizationOptions('MaxIterations',75);
データ型: double
最適化の最大実行時間 (秒単位)。非負のスカラーとして指定します。指定した時間に達するか、理想的な解が見つかるか、または別の停止条件に達するまで最適化が実行されます。
例: options.MaxTime = 1000;
例: options = fxpOptimizationOptions('MaxTime',1000);
データ型: double
新しい最適解が見つからない状況での最大反復回数。スカラー整数として指定します。アルゴリズムで新しい最適解を求め続けている限り最適化が続行されます。
例: options.Patience = 15;
例: options = fxpOptimizationOptions('Patience',15);
データ型: double
最適化プロセスの実行中にコマンド ラインに表示する情報のレベル。次の値のいずれかとして指定します。
'High'
— 最適化プロセスの反復ごとに、新しい最適解が見つかったかどうかや解のコストなどの情報がコマンド ラインに表示されます。'Moderate'
— 最適化プロセスのメジャー ステップごとに、前処理、モデル化、最適化のいずれのフェーズであるかなどの情報が表示されます。'Silent'
— 最適化プロセスが完了するまでコマンド ラインに情報が表示されません。
例: options.Verbosity = 'Moderate';
例: options = fxpOptimizationOptions('Verbosity','Moderate');
データ型: char
| string
設計対象の最適化されたシステムで使用できる語長を指定します。このプロパティは、最適化プロセスの近傍探索をターゲットにする場合に使用します。最適化の最終結果で、AllowableWordLengths
の交差部分の語長とモデルの [ハードウェア実行] ペインで指定されたハードウェアの制約と互換性がある語長が使用されます。
例: options.AllowableWordLengths = [8:11,16,32];
データ型: double
最適化探索時に使用する目的関数。次の値のいずれかとして指定します。
'BitWidthSum'
— 総ビット幅合計を最小限に抑えます。'OperatorCount'
— 生成される C コードで推定される演算子数を最小限に抑えます。このオプションを使用すると、Simulink® モデルから生成される C コード用のプログラム メモリ サイズが小さくなる可能性があります。目的関数
'OperatorCount'
は、FPGA または ASIC ターゲットには適していません。メモ
最適化中の目的関数として
'OperatorCount'
を使用するには、モデルでコード生成の準備ができていなければなりません。コード生成の準備状態を判断する方法の詳細については、コード生成用のモデルと構成のチェック (Embedded Coder)を参照してください。'CustomCostFunction'
— ブロックのコスト関数を設計で指定して目的関数をカスタマイズします。
例: options.ObjectiveFunction = 'OperatorCount';
データ型: char
| string
最適化の反復を並列に実行するかどうか。logical 0
(false) または 1
(true) として指定します。反復を並列に実行するには、Parallel Computing Toolbox™ ライセンスが必要です。Parallel Computing Toolbox ライセンスがない場合、または 0
(false) を指定すると、反復は逐次実行されます。
例: options.UseParallel = 1;
データ型: logical
最適化の追加の詳細オプション。AdvancedFxpOptimizationOptions
は最適化に影響する可能性のある追加プロパティを含むオブジェクトです。
プロパティ | 説明 |
---|---|
PerformNeighborhoodSearch |
|
EnforceLooseCoupling | 一部の Simulink ブロックに、データ型の共有を入力に強制するパラメーター、または入力と同じデータ型の共有を出力に強制するパラメーターがあります。
|
UseDerivedRangeAnalysis |
モデル コンフィギュレーションによっては、派生された範囲の解析はモデルのシミュレーションよりも長い時間がかかることがあります。 |
SimulationScenarios | Simulink.SimulationInput オブジェクトを使用して、最適化中に考慮する追加のシミュレーション シナリオを定義します。例については、複数のシミュレーション シナリオを使用したデータ型の最適化を参照してください。 |
SafetyMargin | 収集範囲の範囲内における増加率を示す非負のスカラー値として指定される安全余裕を入力します。安全余裕は、シミュレーション範囲、派生範囲、設計範囲を含むすべての収集範囲の和集合に適用されます。 |
DataTypeOverride | 最適化の範囲収集フェーズでシミュレーション時にモデル内で指定されたデータ型をオーバーライドします。
|
HandleUnsupported | 一部のブロックは固定小数点の変換でサポートされていません。オプティマイザーがサポートされていないブロックを処理する方法を指定します。
詳細については、固定小数点データ型をサポートしないブロックを参照してください。 |
PerformSlopeBiasCancellation |
|
InstrumentationContext | [model '/Subsystem'] — 最適化の範囲収集ステップにおける最小、最大、オーバーフローのログのインストルメンテーションをサブシステムに制限します。サブシステムは最上位モデルの配下になければならず、設計対象のシステムを含んでいる必要があります。 |
例: options.AdvancedOptions.PerformNeighborhoodSearch = 0;
メソッド
addSpecification | システムでの既知のデータ型の指定 |
addTolerance | 最適化されたシステムの数値許容誤差の指定 |
showSpecifications | システムに対する指定の表示 |
showTolerances | システムに対して指定された許容誤差の表示 |
setCustomCost | Set block-level cost functions to customize the optimization objective |
例
fxpOptimizationObject
を既定のプロパティ値で作成します。
options = fxpOptimizationOptions();
作成後にドット構文を使用してプロパティを編集します。
options.Patience = 15; options.AllowableWordLengths = [8,16,32]; options.AdvancedOptions.UseDerivedRangeAnalysis = true
options = fxpOptimizationOptions with properties: MaxIterations: 50 MaxTime: 600 Patience: 15 Verbosity: High AllowableWordLengths: [8 16 32] ObjectiveFunction: BitWidthSum UseParallel: 0 Advanced Options AdvancedOptions: [1×1 DataTypeOptimization.AdvancedFxpOptimizationOptions]
オブジェクトの作成時にプロパティの名前と値のペアを使用してプロパティを設定します。
options = fxpOptimizationOptions('Patience',15,'AllowableWordLengths',[8,16,32])
options = fxpOptimizationOptions with properties: MaxIterations: 50 MaxTime: 600 Patience: 15 Verbosity: High AllowableWordLengths: [8 16 32] ObjectiveFunction: BitWidthSum UseParallel: 0 Advanced Options AdvancedOptions: [1×1 DataTypeOptimization.AdvancedFxpOptimizationOptions]
詳細オプションを指定します。
options.AdvancedOptions.UseDerivedRangeAnalysis = 1
options = fxpOptimizationOptions with properties: MaxIterations: 50 MaxTime: 600 Patience: 15 Verbosity: High AllowableWordLengths: [8 16 32] ObjectiveFunction: BitWidthSum UseParallel: 0 Advanced Options AdvancedOptions: [1×1 DataTypeOptimization.AdvancedFxpOptimizationOptions]
固定小数点ツールに fxpOptimizationOptions
オブジェクトをインポートして、アプリでデータ型最適化を実行できます。設定をアプリで手動で指定する代わりに fxpOptimizationOptions
オブジェクトをインポートすることで、簡単に設定を保存して復元できます。
モデルを開きます。
model = 'ex_controllerHarness';
open_system(model);
許容される語長や反復回数などの最適化のオプションを指定するには、fxpOptimizationOptions
オブジェクトを使用します。
options = fxpOptimizationOptions('AllowableWordLengths',[2:32],... 'MaxIterations',3e2,... 'Patience',50);
Controller
サブシステムを選択して固定小数点ツールを開きます。
fxptdlg('ex_controllerHarness/Controller')
固定小数点ツールで、[新規]、[固定小数点の最適化された変換] を選択して、データ型最適化ワークフローを開始します。
[設定] ペインの [詳細オプション] で、インポートする最適化オプション オブジェクトをドロップダウン メニューから選択します。[インポート] をクリックします。
ツールストリップの [最適化オプション] メニューを展開し、最適化オプションが適用されたことを確認します。
バージョン履歴
R2018a で導入fxpOptimizationOptions
オブジェクトを使用して、サポートされていない構成をルックアップ テーブル近似に自動的に置き換えるように指定できるようになりました。
options.AdvancedOptions.HandleUnsupported = "ReplaceLUT"
インストルメンテーションおよび範囲の収集に使用するサブシステムを fxpOptimizationOptions
オブジェクトの InstrumentationContext
プロパティを使用して指定することで、インストルメンテーションをサブシステムに制限できるようになりました。
データ型変換がサポートされていないブロックが fxpopt
で見つかった場合に、分離するかエラーを発行する既存のオプションに加えて、警告メッセージを表示できるようになりました。サポートされていない構造体について警告を発行するには、fxpOptimizationOptions
オブジェクトの HandleUnsupported
プロパティを 'Warn'
に設定します。
モデル内のデータ型をスケーリングされた double でオーバーライドできるようになりました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)