您可以使用数据类型替代模式来临时切换模型中的数据类型。此功能使您可以维护一个模型,但使用多种数据类型模拟模型,并验证每种类型的数值行为。例如,如果您使用双精度数据类型实现算法,并希望检查该算法是否也适合单精度使用,则可以将数据类型应用于浮点数据类型,以无需单打替换所有双打永久影响模型中的任何其他数据类型。
要应用数据类型替代,您必须指定要应用的数据类型以及要替换的数据类型。
You can set data type override using the following method. This example changes all floating-point data types to single.
For example:
set_param(GCS,“ datatypeoverride”,,,,'Single',,,,...'datatypeoverrideappliesto',,,,'Floating-point');
有关数据类型覆盖设置的更多信息,请参见控制数据类型覆盖。
此示例使用ex_single_validation
模型以显示如何使用数据类型替代。它证明了实现双重精确数据类型的算法也适用于单精度嵌入式使用。
输入In2
andIn3
are double-precision inputs to the和and产品blocks.
这outputs of the和and产品blocks are data inputs to theMultiport Switch堵塞。
输入三机一体
控制输入吗Multiport Switch堵塞。这value of this control input determines which of its other inputs, the sum ofIn2
andIn3
或乘积In2
andIn3
,传递到输出端口。因为三机一体
是控件输入,其数据类型为int8
。
这Relational Operator块比较了Multiport Switch块到In4
并输出一个布尔信号。
打开Model
打开ex_single_validation
模型。在Matlab®命令行,输入:
addpath(fullfile(Docroot,'toolbox',,,,'万博1manbetxsimulink',,,,'examples'))ex_single_validation
覆盖单身的浮点数据类型
在命令行,用单身覆盖模型中的浮点数据类型
set_param(GCS,“ datatypeoverride”,,,,'Single',,,,...'datatypeoverrideappliesto',,,,'Floating-point');
In the model, on the造型选项卡,单击更新模型。
数据类型替代了所有浮点(双倍的
)模型中的数据类型与单身的
data types, but does not affect the integer or Boolean data types.
运行模型顾问检查
从模型,在造型选项卡,单击模型顾问。
在系统选择器对话框中,单击OK。
模型顾问开放。
在模型顾问中,扩展按任务节点和下建模单位系统,,,,select the确定严格单精制设计的可疑操作查看。
In the right pane, click运行此检查。
检查通过,表明此算法适用于单精度使用。为了确保在生成的代码中没有双重精确数据类型,请在生成代码以进行单精度嵌入式使用之前使用单精度转换器。有关更多信息,请参阅开始使用单精度转换器(Fixed-Point Designer)。
识别simulink万博1manbetx®在命令提示符下,支持单个万博1manbetx精度的块输入showblockdatatypetable
。在模型中,要查找不支持单个精度的块,请使用模型顾问检查万博1manbetx确定严格单精制设计的可疑操作。
万博1manbetxsimulink.Airstype
|万博1manbetxsimulink.numerictype