Main Content

验证浮点嵌入式模型

您可以使用数据类型替代模式来临时切换模型中的数据类型。此功能使您可以维护一个模型,但使用多种数据类型模拟模型,并验证每种类型的数值行为。例如,如果您使用双精度数据类型实现算法,并希望检查该算法是否也适合单精度使用,则可以将数据类型应用于浮点数据类型,以无需单打替换所有双打永久影响模型中的任何其他数据类型。

将数据类型覆盖到浮点数据类型

要应用数据类型替代,您必须指定要应用的数据类型以及要替换的数据类型。

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模型以显示如何使用数据类型替代。它证明了实现双重精确数据类型的算法也适用于单精度嵌入式使用。

关于模型

  • 输入In2andIn3are double-precision inputs to theand产品blocks.

  • 这outputs of theand产品blocks are data inputs to theMultiport Switch堵塞。

  • 输入三机一体控制输入吗Multiport Switch堵塞。这value of this control input determines which of its other inputs, the sum ofIn2andIn3或乘积In2andIn3,传递到输出端口。因为三机一体是控件输入,其数据类型为int8

  • Relational Operator块比较了Multiport Switch块到In4并输出一个布尔信号。

运行示例

打开Model

  1. 打开ex_single_validation模型。在Matlab®命令行,输入:

    addpath(fullfile(Docroot,'toolbox',,,,'万博1manbetxsimulink',,,,'examples'))ex_single_validation

覆盖单身的浮点数据类型

  1. 在命令行,用单身覆盖模型中的浮点数据类型

    set_param(GCS,“ datatypeoverride”,,,,'Single',,,,...'datatypeoverrideappliesto',,,,'Floating-point');
  2. In the model, on the造型选项卡,单击更新模型

    数据类型替代了所有浮点(双倍的)模型中的数据类型与单身的data types, but does not affect the integer or Boolean data types.

运行模型顾问检查

  1. 从模型,在造型选项卡,单击模型顾问

  2. 在系统选择器对话框中,单击OK

    模型顾问开放。

  3. 在模型顾问中,扩展按任务节点和下建模单位系统,,,,select the确定严格单精制设计的可疑操作查看。

  4. In the right pane, click运行此检查

    检查通过,表明此算法适用于单精度使用。为了确保在生成的代码中没有双重精确数据类型,请在生成代码以进行单精度嵌入式使用之前使用单精度转换器。有关更多信息,请参阅开始使用单精度转换器(Fixed-Point Designer)

支持单个精度的块万博1manbetx

识别simulink万博1manbetx®在命令提示符下,支持单个万博1manbetx精度的块输入showblockdatatypetable。在模型中,要查找不支持单个精度的块,请使用模型顾问检查万博1manbetx确定严格单精制设计的可疑操作

也可以看看

|

Related Topics