定点插桩和数据类型覆盖
模型从浮点到定点的转换需要配置定点插桩和数据类型覆盖。但是,在转换后保留这些设置可能导致意外的结果。
当您点击定点工具中的收集范围按钮时,该工具会自动启用定点插桩。默认情况下,定点工具使用在模型上设置的当前数据类型覆盖。您还可以选择用双精度、单精度或定标双精度来覆盖数据类型。当仿真或推导完成时,如果在工具中选择了数据类型覆盖,则工具会自动禁用插桩并删除数据类型覆盖。当您点击用嵌入类型进行仿真按钮时,工具会在仿真期间启用插桩。模型上的数据类型覆盖设置不受影响。
控制插桩设置
定点插桩模式控制哪些对象在仿真期间记录最小、最大和溢出数据。使用定点工具收集仿真范围需要插桩。这些范围用于建议模型的数据类型。当您不主动将模型转换为定点时,请禁用定点插桩,以还原模型的最大仿真速度。
要在定点工具之外启用插桩,请在命令行中将 MinMaxOverflowLogging
参数设置为 MinMaxAndOverflow
或 OverflowOnly
。
set_param('MyModel','MinMaxOverflowLogging','MinMaxAndOverflow')
插桩需要 Fixed-Point Designer™ 许可证。要在模型上禁用插桩,请将该参数设置为 ForceOff
或 UseLocalSettings
。
set_param('MyModel','MinMaxOverflowLogging','UseLocalSettings')
控制数据类型覆盖
您可以通过数据类型覆盖,使用双精度、单精度或定标双精度数据类型来对模型进行仿真。如果您没有 Fixed-Point Designer,您仍可以将数据类型覆盖设置为对指定了定点数据类型的模型进行仿真。使用此设置时,软件会在仿真期间临时用浮点数据类型覆盖数据类型。
set_param('MyModel','DataTypeOverride','Double')
要观察模型的真实行为,请将数据类型覆盖参数设置为 UseLocalSettings
或 Off
。
set_param('MyModel','DataTypeOverride','Off')
模型引用层次结构的插桩设置和数据类型覆盖
当您仿真一个包含引用模型的模型时,顶层模型的数据类型覆盖和定点插桩设置不会控制引用模型的设置。您必须为引用模型单独指定这些设置。如果设置不一致,例如顶层模型数据类型覆盖设置为双精度,而引用模型设置为使用本地设置,并且引用模型使用定点数据类型,则可能会出现数据类型传播问题。
当您更改引用模型的任何实例的定点插桩和数据类型覆盖设置时,该模型的所有实例和引用模型本身的设置都会发生变化。
数据类型覆盖限制
以下模块不支持数据类型覆盖。
使用 MATLAB® 作为动作语言的 Stateflow® Chart 模块
使用 MATLAB 作为动作语言的 State Transition Table 模块
使用 MATLAB 作为动作语言的 Truth Table 模块
Test Sequence 模块
MATLAB Function 模块
MATLAB Discrete-Event System 模块
Requirements Table 模块