Main Content

Simulink.NumericType

指定浮点数、整数或定点数据类型

说明

使用 Simulink.NumericType 对象设置和共享模型中的信号、状态和参数数据的数值数据类型。

  1. 在 MATLAB® 基础工作区、模型工作区或数据字典中创建此类的实例。要在模型工作区中创建数值类型,必须清除是别名属性。

  2. 设置对象的属性以创建自定义浮点、整数或定点数据类型。

  3. 将数据类型赋给要支持该数据类型的模型的所有信号和参数。

以这种方式赋予数据类型可让您通过更改描述对象的属性来更改模型中信号和参数的数据类型。您不需要更改模型本身。

要重命名模型中以及从模型中生成的代码中的数据类型(通过生成 typedef 语句),可以使用 Simulink.AliasType 类的对象。

创建对象

要以交互方式创建 Simulink.NumericType 对象,请使用模型资源管理器:

  1. 在模型资源管理器的模型层次结构窗格中,选择一个工作区(例如基础工作区)或数据字典。

  2. 从模型资源管理器的添加菜单中,选择 Simulink.NumericType

    模型资源管理器创建 Simulink.NumericType 对象的一个实例,并将其赋给目标工作区中名为 Numeric 的变量。

  3. 将该变量重命名为更合适的名称,例如反映其用途的名称。

    要更改名称,请编辑模型资源管理器的目录窗格上的名称字段中显示的名称。

  4. 在模型资源管理器的对话框窗格中,使用数据类型模式属性选择该对象表示的数据类型。

要以编程方式创建 Simulink.NumericType 对象,请使用如下所述的 Simulink.NumericType 函数。

描述

示例

typeObj = Simulink.NumericType 返回具有默认属性值的 Simulink.NumericType 对象。

属性

全部展开

用于定点数据类型的斜率和偏置定标的偏置 (Fixed-Point Designer™),指定为实数。

如果您使用非 double 数据类型的数值来设置该值,则 Simulink® 会将该值转换为 double

对应于属性对话框中的偏置

示例: 3

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

指定是在生成代码 (Simulink Coder™) 中生成类型定义还是导入类型定义 (typedef),指定为 'Auto''Exported'Imported'

下表说明了每个选项的影响。

操作
'Auto'(默认值)如果没有为 HeaderFile 指定任何值,则将数据类型定义导出到 model_types.hmodel 是模型名称。

如果为 HeaderFile 指定了值,则从指定的头文件中导入数据类型定义。
'Exported'将数据类型定义导出到头文件中,该文件可在 HeaderFile 属性中指定。如果没有为 HeaderFile 指定任何值,则头文件名称的默认值为 type.htype 是数据类型名称。
'Imported'从头文件中导入数据类型定义,该文件可在 HeaderFile 属性中指定。如果没有为 HeaderFile 指定任何值,则头文件名称的默认值为 type.htype 是数据类型名称。

有关详细信息,请参阅Control File Placement of Custom Data Types (Embedded Coder)

对应于属性对话框中的数据作用域

数值数据类型的模式,指定为下列字符向量之一:

  • 'Double' - 与 MATLAB double 类型相同。

  • 'Single' - 与 MATLAB single 类型相同。

  • 'Half' - 半精度浮点类型。

  • 'Boolean' - 与 MATLAB boolean 类型相同。

  • 'Fixed-point: unspecified scaling' - 具有未指定的定标的定点数据类型。

  • 'Fixed-point: binary point scaling' - 具有二进制小数点定标的定点数据类型。

  • 'Fixed-point: slope and bias scaling' - 具有斜率和偏置定标的定点数据类型。

选择一种半精度或定点数据类型模式会导致模型仅在具有 Fixed-Point Designer 许可证的系统上运行,具体取决于您选择的其他对话框选项。

对应于属性对话框中的数据类型模式

数据类型: char

数据类型覆盖模式,指定为 'Inherit''Off'

  • 如果您指定 'Inherit',使用此数值类型的上下文(Simulink 中的模块、信号、Stateflow 图)的数据类型覆盖设置应用于此数值类型。

  • 如果您指定 'Off',则数据类型覆盖不应用于此数值类型。

有关数据类型覆盖的详细信息,请参阅Control Data Type Override

对应于属性对话框中的数据类型覆盖

数据类型: char

数据类型的自定义描述,指定为字符向量。

对应于属性对话框中的说明

示例: 'This is a floating-point data type.'

数据类型: char

用于二进制小数点定标的指数,指定为实数。设置此属性会导致 Simulink 软件相应地设置 FractionLengthSlope 属性,反之亦然。仅当 “DataTypeMode” 为“定点: 二进制小数点定标”或“定点: 斜率和偏置定标”时,才应用此属性。

如果您使用非 double 数据类型的数值来设置该值,则 Simulink 会将该值转换为 double

此属性不出现在属性对话框中。

示例: -8

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

定点数的小数部分的位长度 (Fixed-Point Designer),指定为实整数。此属性等效于 -FixedExponent。设置此属性会导致 Simulink 软件相应地设置 FixedExponent 属性,反之亦然。

如果您使用非 double 数据类型的数值来设置该值,则 Simulink 会将该值转换为 double

对应于属性对话框中的小数长度

示例: 8

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

在生成的代码中包含类型定义 (typedef) 的头文件的名称,指定为字符向量。

如果指定了此属性,则在导入或导出的代码生成过程中使用指定的名称。如果此属性为空,则当 DataScope 等于 'Imported''Exported' 时默认值为 type.h,当 DataScope 等于 'Auto' 时默认值为 model_types.h

默认情况下,生成的 #include 指令使用预处理器分隔符 ",而不是 <>。要生成指令 #include <myTypes.h>,请将 HeaderFile 指定为 '<myTypes.h>'

有关详细信息,请参阅Control File Placement of Custom Data Types (Embedded Coder)

对应于属性对话框中的头文件

示例: 'myHdr.h'

示例: 'myHdr'

示例: 'myHdr.hpp'

数据类型: char

指定是否使用对象名称创建数据类型别名,指定为 true(是)或 false(否)。

如果指定 true,则该对象将以类似于 Simulink.AliasType 对象的方式充当数据类型别名。有关详细信息,请参阅Control Data Type Names in Generated Code (Embedded Coder)

对应于属性对话框中的是别名

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

定点数据类型的符号性 (Fixed-Point Designer),指定为 'Signed'(有符号)、'Unsigned'(无符号)或 'Auto'(继承符号性)。

对应于属性对话框中的符号性

数据类型: char

定点数据类型 (Fixed-Point Designer) 的符号性,指定为布尔值。

对应于属性对话框中的符号性

数据类型: logical

用于定点数据类型的斜率和偏置定标的斜率 (Fixed-Point Designer),指定为实数。

此属性等效于 SlopeAdjustmentFactor * 2^FixedExponent。如果 SlopeAdjustmentFactor 为 1.0,Simulink 软件将此字段的值显示为 2^SlopeAdjustmentFactor。否则,将其显示为数值。设置此属性会导致 Simulink 软件相应地设置 FixedExponentSlopeAdjustmentFactor 属性,反之亦然。

如果您使用非 double 数据类型的数值来设置该值,则 Simulink 会将该值转换为 double

仅当 “DataTypeMode” 为“定点: 斜率和偏置定标”时,才会显示此属性。

对应于属性对话框中的斜率

示例: 5.2

示例: 2^9

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

用于定点数据类型的斜率和偏置定标的斜率 (Fixed-Point Designer),指定为范围 [1, 2) 中的实数。

设置此属性会导致 Simulink 软件相应地调整 Slope 属性,反之亦然。仅当 “DataTypeMode” 为“定点: 斜率和偏置定标”时,才会应用此属性。

如果您使用非 double 数据类型的数值来设置该值,则 Simulink 会将该值转换为 double

此属性不出现在属性对话框中。

示例: 1.7

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

定点 (Fixed-Point Designer) 或整数数据类型的字长,指定为整数位数。

仅当 “DataTypeMode” 为 Fixed-point 时,才会显示此属性。

如果您使用非 double 数据类型的数值来设置该值,则 Simulink 会将该值转换为 double

对应于属性对话框中的字长

示例: 8

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

对象函数

isbooleanDetermine whether numeric type represents the Boolean data type boolean
isdoubleDetermine whether numeric type represents the double-precision, floating-point data type double
isfixedDetermine whether numeric type represents a fixed-point data type
isfloatDetermine whether numeric type represents a floating-point data type
isscalingbinarypointDetermine whether fixed-point numeric type has binary-point scaling
isscalingslopebiasDetermine whether numeric type represents a fixed-point data type with slope-and-bias scaling
isscalingunspecifiedDetermine whether numeric type represents a data type with unspecified scaling
issingleDetermine whether numeric type represents the single-precision, floating-point data type single
ishalfDetermine whether numeric type represents the half-precision, floating-point data type half

示例

全部折叠

扩展功能

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出