主要内容

定义和修改变量数据类型

在a中创建变量时MATLAB函数块,你可以使用类型属性设置数据类型。变量可以继承其数据类型,也可以设置为内置、定点或枚举数据类型。变量也可以是非虚拟总线。默认情况下,MATLAB函数块变量继承它们的数据类型。

有关创建变量的详细信息,请参见创建和定义MATLAB函数块变量

指定变量数据类型

属性指定数据类型符号窗格和属性检查器,或模型资源管理器。

属性指定数据类型符号窗格和属性检查器:

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

  2. 打开符号窗格。在函数选项卡上,单击编辑数据

  3. 选择变量。

  4. 在属性检查器中属性选项卡中选择数据类型类型财产。

使用模型资源管理器指定变量的数据类型:

  1. 打开模型资源管理器。在建模选项卡,在设计部分中,点击模型浏览器

  2. 模型层次结构窗格选择MATLAB函数块。

  3. 单击要修改的变量。

  4. 类型中的数据类型类型财产。

在Model Explorer中,您还可以筛选数据类型选项。在一般选项卡,单击“显示数据类型助手”按钮显示“数据类型助手”参数。然后,选择一个选项从模式参数。根据您选择的模式,指定数据类型:

模式 指定什么
继承(默认)

继承的数据取决于范围属性:

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

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

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

建在 从内置数据类型列表中选择。
不动点

指定定点数据属性。

枚举 输入a的名称金宝app仿真软件。IntEnumType在基本工作区中定义的。看到枚举的代码生成
总线对象

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

请注意

您可以点击编辑按钮,用于创建或修改金宝app仿真软件。公共汽车对象使用Simulink类型编辑器。金宝app看到将总线信号附加到MATLAB函数块

表达式 输入计算为数据类型的表达式。

继承数据类型

MATLAB函数块变量可以从它们连接的信号继承它们的数据类型,包括定点类型。要使变量继承数据类型,请设置类型财产继承:与Simulink相同金宝app

参数也可以从连接到它的信号继承复杂性。要继承复杂性,请设置复杂性财产继承了

在您构建模型之后,CompiledType模型资源管理器的列给出了从Simulink继承的实际类型。金宝app如果期望的类型与推断的类型匹配,则继承成功。

内置数据类型

在“模型资源管理器”中,展开“数据类型助手”并设置模式建在,您可以设置类型到这些内置数据类型。内置的数据类型是:

数据类型 描述

64位双精度浮点数

32位单精度浮点数

一半

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

int64

64位有符号整数

int32

32位有符号整数

int16

16位有符号整数

int8

8位有符号整数

uint64

64位无符号整数

uint32

32位无符号整数

uint16

16位无符号整数

uint8

8位无符号整数

布尔

布尔

字符串

字符串标量

定点设计师数据类型属性

用定点数表示变量MATLAB函数块,您必须安装定点设计器™。

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

Signedness

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

字长

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

扩展

指定缩放定点变量的方法,以避免溢出条件和最小化量化问题。您可以选择以下伸缩模式:

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

数据类型助手将显示部分长度参数,该参数指定二进制点的位置。

二进制点可以是正整数也可以是负整数。正整数将最右边位的二进制点向左移动相同的量。例如,2的项将二进制点设置在右起第二位的前面。负整数将二进制点从最右边的位向右移动相应的值,如下例所示:

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

默认为0

斜率和偏置

数据类型助手将显示而且偏见参数:

  • 斜率可以是任何正实数。默认为1.0

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

可以输入斜率和偏置作为包含MATLAB工作区中定义的参数的表达式。

请注意

尽可能使用二进制点扩展来简化生成代码中定点数字的实现。使用二进制点缩放的定点数操作通过简单的位移位来执行,并消除了单独的斜率和偏置值所需的昂贵代码实现。

数据类型覆盖

指定数据类型覆盖设置是否为继承.有关更多信息,请参见MATLAB函数块与数据类型覆盖(定点设计师)

计算最佳精度缩放

Simul金宝appink会自动计算两者的最佳精度值吗二点而且斜率和偏置缩放,基于最低而且最大您指定的属性。

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

  1. 指定最低最大属性。

  2. 点击计算最佳精度缩放

金宝appSimulink计算缩放值,然后将它们显示在部分长度,或而且偏见字段。

请注意

最低而且最大属性不应用于具有范围属性设置为常数参数.该软件无法计算出这些变量的最佳精度缩放。

定点的细节

显示有关在数据类型助手中定义的定点变量的信息:

  • 最低而且最大属性中指定的相同值最低而且最大属性。

  • 能被描绘的最低能被描绘的最大,精度显示定点变量所能表示的最小值、最大值和精度。

此图像显示名为data的变量的定点细节。

如果不首先编译模型就不能确定字段的值,则定点的细节Subpane显示值为未知的.控件显示的值定点的细节如果更改定义定点变量的值,子窗格将不会自动更新。方法中显示的值定点的细节subpane,点击刷新的细节

点击刷新的细节不修改变量。它只改变了显示。如需应用显示值,请单击应用好吧

定点的细节子窗格指示由定点变量规范引起的问题。例如,该图显示了两个问题。

此图像显示了命名为data的数据的定点细节,有两个问题。

被标记的行最大属性指定的值最大属性不能用定点变量表示。要纠正这个问题,请进行以下修改之一,使定点数据类型可以表示最大值:

  • 中的值最大财产。

  • 增加字长

  • 减少部分长度

被标记的行最低显示消息无法评估因为对表达式求值MySymbol,由最低属性不返回数字值。表达式未成功求值时,定点的细节Subpane显示未求值的表达式(根据需要截断为10个字符),以代替不可用的值。要纠正此问题,请定义MySymbol在基本工作空间中提供数值。

如果你点击刷新的细节的值,则问题指示器和描述将被移除MySymbol出现在未求值文本的位置。

用表达式指定数据类型

的类型MATLAB函数通过使用模型资源管理器或属性检查器将变量块为表达式。

要使用模型资源管理器,请设置模式财产表达式.在类型财产,取代<数据类型表达式>使用计算结果为数据类型的表达式。

要使用属性检查器,双击类型属性,清除内容,并输入表达式。

你可以使用以下表达:

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

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

  • 类型(Stateflow)操作符,以先前定义的数据为基础。

例如,假设您想要指定工作区变量myDataType的别名类型中用作表达式的数据类型类型的属性MATLAB函数块输入变量。类的实例金宝app仿真软件。AliasType类,并将其基类型属性,输入以下命令:

myDataType = 金宝appSimulink.AliasType;myDataType。基类型=“单身”

在属性检查器中,输入数据类型别名,myDataType的值类型财产。

此图像显示输入数据类型的表达式后的属性检查器。

另请参阅

相关的话题