主要内容

定义和修改函数参数类型

创建函数参数MATLAB函数块的函数声明语句中输入它们MATLAB函数块编辑器.当你定义参数时,Simulink金宝app®上创建相应的端口MATLAB函数可以附加到信号的块。可以为定义的每个参数选择数据类型模式。每种数据类型模式都有自己的一组选项。

默认情况下,MATLAB函数块从传入或传出信号继承它们的数据类型。若要覆盖默认类型,请选择数据类型模式,然后修改相关属性。

指定参数类型

指定…的类型MATLAB函数块函数参数:

  1. 双击MATLAB函数块打开MATLAB函数块编辑器

  2. 点击端口和数据管理器打开端口和数据管理器。

  3. 在左侧窗格中,选择感兴趣的参数。

  4. 数据窗格中,单击“显示数据类型助手”按钮显示数据类型助理按钮显示“数据类型助手”。然后,选择一个选项模式下拉菜单。

    数据“属性”对话框显示每个选择的附加字段模式

  5. 根据选择的模式,指定需要的数据类型:

    模式 如何指定
    继承(默认)

    数据类型继承自先前定义的数据,基于范围你选择了MATLAB函数块函数参数:

    • 如果范围输入,数据类型继承自指定端口的输入信号。

    • 如果范围输出,数据类型从指定端口的输出信号继承。

    • 如果范围参数,数据类型继承自相关参数,可在Simulink掩码子系统或MATLAB中定义金宝app®工作区。

    看到继承参数数据类型

    建在 从支持的数据类型的下拉列表中选择,如金宝app参数的内置数据类型
    不动点

    指定定点数据属性,如指定定点设计器数据属性

    表达式 输入计算结果为数据类型的表达式,如用表达式指定参数类型
    总线对象

    总线对象字段,输入名称金宝app仿真软件。公共汽车对象来定义一个MATLAB结构的属性。您必须在基本工作空间中定义总线对象。看到结构输入和输出如何与总线信号接口

    请注意

    你可以点击编辑按钮来创建或修改金宝app仿真软件。公共汽车使用Simulink总线编辑器(参见金宝app将总线信号附加到MATLAB函数块

    枚举 在枚举字段中,输入金宝app仿真软件。IntEnumType在基本工作区中定义的对象。看到枚举的代码生成

继承参数数据类型

MATLAB函数块函数参数可以从它们的连接信号继承它们的数据类型,包括固定点类型。

  1. 在端口和数据管理器中选择感兴趣的参数

  2. 数据属性对话框中,选择继承:与Simulink相同金宝app类型下拉菜单。

参数还可以从连接到它的信号继承复杂性(无论它的值是实数还是复数)。要继承复杂性,请设置复杂性场的数据属性对话框继承了

请注意

图书馆MATLAB函数块可以像普通块一样继承数据类型、大小和复杂性MATLAB函数块。但是,给定模型中的库块的所有实例都必须具有具有相同属性的输入。

在构建模型之后CompiledType端口和数据管理器或模型资源管理器的列给出了在编译模拟中从Simulink继承的实际类型。金宝app在指定的输出中存储值的关系图操作决定了输出数据的继承类型。如果期望的类型与推断类型匹配,则继承成功。在所有其他情况下,不匹配都发生在构建时。

参数的内置数据类型

当您选择内置的模式,类型属性对话框提供支持的数据类型的下拉列表。金宝app控件中的数据类型数据类型列。支持的数金宝app据类型有:

数据类型 描述

64位双精度浮点数

32位单精度浮点数

一半

半精确数据类型占用16位内存,但其浮点表示形式使其能够处理比相同大小的整数或定点数据类型更宽的动态范围。看到Simulink中的半精度数据类型金宝app(定点设计师)

int64

64位带符号整数

int32

32位带符号整数

int16

16位带符号整数

int8

8位带符号整数

uint64

64位无符号整数

uint32

32位无符号整数

uint16

16位无符号整数

uint8

8位无符号整数

布尔

布尔(1真正的0

用表达式指定参数类型

可以指定的类型MATLAB函数块函数参数作为端口和数据管理器中的表达式。

  1. 选择<数据类型>表达类型下拉菜单的“数据属性”对话框,或设置模式表达式

  2. 类型领域,取代“<数据类型>表达,并使用计算结果为数据类型的表达式。允许使用下列表达式:

    • 别名类型从MATLAB工作区,如中所述金宝app仿真软件。AliasType

    • fixdt函数创建金宝app仿真软件。NumericType对象,描述定点或浮点数据类型。

    • 类型(Stateflow)操作符,使类型基于前面定义的数据。

指定定点设计师数据属性

MATLAB函数块可以用定点数字表示信号和参数值。来模拟使用定点数据的模型MATLAB函数块,您必须安装定点设计器™。

您可以设置以下定点属性:

Signedness。选择是否希望固定点数据为签署无符号.有符号的数据可以表示正数和负数。无符号数据仅表示正值。默认值是签署

单词长度。指定将保存量化整数的单词的大小(以位为单位)。较大的字长比较小的字长表示更大的数量,精度更高。字长可以是0到128位之间的任何整数。默认值是16。

扩展。指定缩放定点数据的方法,以避免溢出条件并最小化量化误差。您可以选择以下缩放模式:

扩展模式 描述
二点(默认)

如果选择此模式,“数据类型助手”将显示部分长度字段,指定二进制点位置。

二进制点可以是正整数也可以是负整数。一个正整数将最右位的二进制点向左移动这个量。例如,一个2的项将二进制点设置在从右边开始的第二个位的前面。一个负整数将二进制位的最右移了那么多,如下面这个例子所示:

显示二进制点的图形表示。

默认值是0。

斜率和偏见

如果选择此模式,数据类型助手将显示用于输入的字段偏见

  • 斜率可以是任意的积极的实数。默认值是1.0。

  • 偏差可以是任何实数。默认值是0.0。

您可以输入斜率和偏差表达式,其中包含在MATLAB工作空间中定义的参数。

请注意

只要有可能,您就应该使用二进制点缩放来简化生成代码中定点数据的实现。使用二值点缩放的定点数据操作通过简单的位移位来执行,并消除了单独斜率和偏差值所需的昂贵代码实现。

数据类型覆盖。指定数据类型覆盖设置是否为继承(默认)或

计算Best-Precision缩放。Simu金宝applink软件可以自动计算两者的“最佳精度”值二点斜率和偏见缩放,基于您指定的限制范围属性。

自动计算最佳精度缩放值:

  1. 指定最低最大限制范围属性。

  2. 点击计算Best-Precision扩展

Simu金宝applink软件计算缩放值,然后将它们显示在部分长度,或偏见字段。

请注意

属性的数据不适用Limit范围属性范围属性设置为常数参数.金宝appSimulink无法计算出这类数据的最佳精度缩放。

定点的细节。您可以查看以下定点详情:

定点的细节 描述
能被描绘的最大 可由所选数据类型、符号、字长和分数长度(或数据类型、符号、斜率和偏差)表示的最大数目。
最大 指定的最大值。
最低 指定的最小值。
能被描绘的最低 可由所选数据类型、符号、字长和分数长度(或数据类型、符号、斜率和偏差)表示的最小数。
精度 给定单词长度和分数长度的精度(或斜率和偏差)。

使用MATLAB函数块的数据类型覆盖

如果将“数据类型覆盖模式”设置为在仿真金宝app软件中,MATLAB函数块将所有继承的输入信号和参数的类型设置为fi双fi单对象分别(见带数据类型覆盖的MATLAB函数块(定点设计师)的更多信息)。您必须检查继承的输入信号和参数的数据类型,并使用Ports和data Manager为任何不应该是固定点的输入设置显式类型。一些操作,如,不适用于定点物体。

请注意

如果没有显式设置正确的输入类型,在设置“数据类型覆盖”后可能会遇到编译问题。

要设置数据类型覆盖,请遵循以下步骤:

  1. 在仿真软件金宝app应用程序选项卡上,选择定点的工具

  2. 设置的值数据类型覆盖参数

另请参阅

相关的话题