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'
作为目标函数,模型必须准备好进行代码生成。有关确定代码生成就绪的详细信息,请参阅Check Model and Configuration for Code Generation (Embedded Coder)。'CustomCostFunction'
- 通过为设计中的模块指定代价函数来自定义目标函数。
示例: options.ObjectiveFunction = 'OperatorCount';
数据类型: char
| string
是否并行运行优化迭代,指定为逻辑值 0
(false) 或 1
(true)。并行运行迭代需要 Parallel Computing Toolbox™ 许可证。如果您没有 Parallel Computing Toolbox 许可证,或指定 0
(false),则迭代将串行运行。
示例: options.UseParallel = 1;
数据类型: logical
优化的其他高级选项。AdvancedFxpOptimizationOptions
是包含可影响优化的其他属性的对象。
属性 | 描述 |
---|---|
PerformNeighborhoodSearch |
|
EnforceLooseCoupling | 一些 Simulink 模块包含的参数会强制要求各个输入具有相同的数据类型,或输出与输入具有相同的数据类型。
|
UseDerivedRangeAnalysis |
根据模型配置,推导范围分析可能比模型仿真需要更长的时间。 |
SimulationScenarios | 使用 Simulink.SimulationInput 对象定义在优化期间要考虑的其他仿真场景。有关示例,请参阅Optimize Data Types Using Multiple Simulation Scenarios。 |
SafetyMargin | 输入安全裕度,指定为非负标量值,指示收集范围边界增加的百分比。安全裕度应用于所有收集范围(包括仿真范围、推导范围和设计范围)的并集。 |
DataTypeOverride | 在优化的范围收集阶段进行仿真时覆盖在模型中指定的数据类型。
|
HandleUnsupported | 定点转换不支持某些模块。请指定优化器如何处理不支持的模块。
有关详细信息,请参阅Blocks That Do Not Support Fixed-Point Data Types。 |
PerformSlopeBiasCancellation |
|
InstrumentationContext | [model '/Subsystem'] - 将优化的范围收集步骤的最小值、最大值和溢出记录的插桩限制到子系统。该子系统必须位于顶层模型下并包含在设系统。 |
示例: options.AdvancedOptions.PerformNeighborhoodSearch = 0;
方法
addSpecification | Specify known data types in a system |
addTolerance | Specify numeric tolerance for optimized system |
showSpecifications | Show specifications for a system |
showTolerances | Show tolerances specified for a system |
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
对象导入定点工具以在 App 中执行数据类型优化。通过导入 fxpOptimizationOptions
对象而不是在 App 中手动指定设置,您可以轻松保存和还原设置。
打开模型。
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'
。
您现在可以使用定标双精度值覆盖模型中的数据类型。
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)