主要内容

优化内存效率的查找表

查找表优化器优化断点的间距和查找表数据的数据类型来减少使用的内存一个查找表。使用查找表优化器和它的命令行,您可以:

  • 优化现有的查找表块。

  • 从模型生成一个查找表金宝app®块,包括一个数学函数块或一个子系统。

  • 从一个函数或函数处理生成一个查找表。

优化现有的查找表使用查找表的优化器

优化现有的查找表,包含打开模型查找表块。

load_system (“sldemo_fuelsys”);open_system (“sldemo_fuelsys / fuel_rate_control / airflow_calc”);
这个例子展示了如何优化泵恒 查找表块。

  1. 打开查找表优化器,选择泵恒查找表块。上下文敏感的查找表标签出现在仿真软件将来发布。金宝app在查找表选项卡上,选择查找表优化器

  2. 选择你想要的类型的块优化。优化模型块或子系统,包括现有金宝app的查找表块或数学函数块,选择金宝app仿真软件块或子系统。为一个函数生成一个查找表近似处理,选择MATLAB函数处理

    在本例中,选择金宝app仿真软件块或子系统优化泵恒查找表。点击下一个

  3. 块的信息,输入的路径泵恒查找表块。选择模型中的块,然后单击得到当前块在查找表中优化器自动填入块路径。

  4. 点击收集当前值模型更新模型图,并允许查找表优化器自动收集信息所需的优化过程包括电流输出数据类型,并输入数字,数据类型和值范围。您可以手动编辑所有这些字段指定范围和数据类型规定的其他比目前。

    • 指定期望输出值数据类型作为一个生成的查找表numerictype金宝appSimulink.NumericType对象。

    • 指定数据类型的每个块的输入numerictype金宝appSimulink.NumericType对象。

    • 指定的最小值和最大值的每个输入生成的查找表,表中的标量。

    对于这个示例,使用指定的当前值模型。点击下一个

  5. 指定要使用约束的优化。设置输出误差公差接受你的设计。

    • 绝对宽容的定义是之间的差异的绝对值的原始输出值和输出值优化的查找表。

    • 相对公差测量误差相对于价值在这一点上,指定为一个非负。

  6. 指定允许的单词长度作为一个向量基于类型,目的是有效的为你的硬件的目标。举个例子,如果你想让优化器考虑只有8 - 16 -,和32位类型,指定(8 16个32)允许单词长度(向量)字段。

  7. 为优化的查找表指定额外的属性,点击附近地区规范。在每个属性的更多信息,参见FunctionApproximation.Options。在这个例子中,使用这些属性的默认值。

  8. 指定优化选项,如最大时间或最大内存使用量为生成的查找表通过单击按钮。

  9. 设置约束条件后,单击优化

    可选地,您可以选择停止前的优化解算器优化解算器是通过点击完成停止。优化器将选择最好的解决方案时发现停止按钮被选中并显示在应用程序。

    当完成优化,优化器报告内存优化的查找表。您可以编辑约束和再次运行优化,以达到进一步减少内存。

    使用默认设置,查找表优化器减少了内存的使用泵恒查找表块从1516字节到505字节(66.69%)。

    点击下一个

  10. 点击显示比较图把一块原始块的输出与输出的新优化的查找表。

    点击取代原始的函数生成一个新发现的查找表使用优化设置应用程序,并替换原来的块。

    新块蒙面变体子系统中活跃的变体是优化的查找表块。不活跃的变体是原来的块。

编辑优化设置,生成一个新的近似

迭代可以更改近似块通过编辑设置中使用优化生成一个新的查找表。

  1. 双击注入恒定的块。在块编辑优化设置,参数对话框中,点击重新设计近似

  2. 在查找表优化器中,单击下一个继续的创建页面的应用程序。在这个例子中,编辑的绝对和相对公差略大的值,这样就可以进一步减少查找表的大小。

    • 设置绝对0.01,或1%。

    • 设置相对0.01,或1%。

  3. 点击优化优化的查找表的新选项。

    使用这些公差值,新的查找表只使用304字节的内存。

  4. 点击下一个。在结果页面,点击取代原始的函数按钮替换的第一次迭代近似块用这个最新的迭代。

  5. 在模型中,双击泵恒块打开块参数。块参数显示设置用于近似

    使原来的块或子系统活动的变体,旁边选择所需功能的版本中,选择原始

    删除的查找表近似模型,在块参数,单击恢复到原来的

另请参阅

应用程序

相关的话题