主要内容

二维查找表

近似二维函数

  • 库:
  • 万博1manbetxSimulink /查找表

    HDL编码器/查找表

  • 二维查找表块

描述

万博1manbetx支持的块操作

1-D、2-D和N - d查找表块计算一个函数在N个变量中的抽样表示

y F x 1 x 2 x 3. ... x N

其中函数F可以是经验的。块通过查找或插入用块参数定义的值表,将输入映射到输出值。该块支持平坦(常量)万博1manbetx、线性(线性点斜率)、拉格朗日(线性拉格朗日)、最近、三次样条和Akima样条插值方法。可以将这些方法应用于从1到30的任何维度的表。

在下面的块中,第一个输入标识第一个维度(行)断点,第二个输入标识第二个维度(列)断点,依此类推。

看到旋转或翻转后的端口位置获取各种块朝向的端口顺序的描述。

数学和数据类型>使用针对行主数组布局优化的算法配置参数时,二维和n-D查找表的块行为从主要列变为主要行。对于这些块,列主算法和行主算法在输出计算的顺序上可能不同,可能导致数值略有不同。此功能需要一个万博1manbetx®编码器™或嵌入式编码器®许可证。有关行主码支持的详细信息,请参见万博1manbetx矩阵和数组的代码生成(万博1manbetx仿真软件编码器)

断点和表数据的规范

这些块参数定义断点和表数据。

块参数 目的
表维数 指定查找表的维数。
断点 指定与查找表的每个维度对应的断点向量。
表数据 定义相关的输出值集。

提示

均匀间隔的断点可以使生成的代码免于除法。有关更多信息,请参见fixpt_evenspace_cleanup而且识别有问题的定点操作(嵌入式编码)

区块如何生成输出

n-D、1-D和2-D查找表块通过根据输入值查找或估计表值来生成输出。

块的输入 n-D查找表块行为
匹配断点数据集中的索引值 输出行、列和高维断点交点处的表值
不匹配断点数据集中的索引值,但在范围内 方法插值适当的表值插值法你选择
与断点数据集中的索引值不匹配,并且超出范围 方法推断输出值外推法你选择

执行相同操作的其他块

您可以使用使用预查找的插值Prelookup块执行相当于一个的操作n-D查找表块。这种块的组合提供了更大的灵活性,可以为线性插值带来更有效的模拟性能。

当查找操作是不需要插值的数组访问时,请使用直接查表(n-D)块。例如,如果您有一个整数值k你想要k表的第Th元素,Y =表(k),不需要插补。

港口

输入

全部展开

的实值输入u1端口,通过查找或插入所定义的值表映射到输出值。

例子:0:10

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|枚举|不动点

的实值输入u2端口,通过查找或插入所定义的值表映射到输出值。

例子:0:10

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|枚举|不动点

使用在运行时可调的信号指定输出值表。

类定义的维数必须匹配表维数参数和表的每个维度的断点长度。但是,在编辑方框图期间,您可以输入一个空矩阵(指定为[])或未定义的工作区变量。这种技术允许您推迟为表数据指定正确维度的矩阵,并继续编辑方框图。

依赖关系

要启用此端口,请设置:

  • 数据规范表和断点

  • 表数据输入端口

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

属性的值显式指定断点数据断点规范参数,带有在运行时可调的信号。

  • 如果你设置断点规范明确的价值观,输入与每个表数据的每个维度对应的断点集断点行。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。

请注意

若要以均匀间距规范格式指定断点,请设置断点规范甚至间距并使用断点第一点和间距参数。

依赖关系

要启用此端口,请设置:

  • 数据规范表和断点

  • 断点规范明确的价值观

  • 断点1输入端口

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|枚举|不动点

属性的值显式指定断点数据断点规范参数,带有在运行时可调的信号。

  • 如果你设置断点规范明确的价值观,输入与每个表数据的每个维度对应的断点集断点行。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。

请注意

若要指定间隔均匀的断点数据,请使用断点参数。不能通过输入端口指定间隔均匀的断点数据。

依赖关系

要启用此端口,请设置:

  • 数据规范表和断点

  • 断点规范明确的价值观

  • 断点2输入端口

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|枚举|不动点

输出

全部展开

根据输入值查找或估计表值而生成的输出。

当块输入… n-D查找表块…
匹配断点数据集中的索引值 输出行、列和高维断点交点处的表值
不匹配断点数据集中的索引值,但在范围内 方法插值适当的表值插值法你选择
与断点数据集中的索引值不匹配,并且超出范围 方法推断输出值外推法你选择

数据类型:一半|||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

参数

全部展开

表和断点

输入查找表的维数。该参数确定:

  • 表的自变量的数量和块输入的数量

  • 要指定的断点集的数目

指定… 这样做……

1 2 3 4

在下拉列表中选择。

更多的表维数

直接在字段中输入正整数。

这个块支持的表维度的最大数量是30。万博1manbetx

例如,大小为的表xNx……表示维度1的大小为, 2维的大小为N等等。必须匹配第一个断点长度,N必须匹配第二个断点长度,等等。

编程使用

块参数:NumberOfTableDimensions
类型:特征向量
价值观:'1' | '2' | '3' | '4' |…| 30
默认值:' 2 '

从列表中选择:

  • 表和断点—指定表数据和断点。选择此选项可启用以下参数:

    • 表数据

    • 断点规范

    • 断点1

    • 断点2

    • 编辑表和断点

    若要使用输入端口指定表和断点,请参见参数。

  • 查找表对象-使用现有的查找表(万博1manbetx仿真软件。LookupTable)对象。选择此选项可启用的名字场和编辑表和断点按钮。

编程使用

块参数:DataSpecification
类型:特征向量
价值观:“查找表对象”|
默认值:“表和断点”

输入查找表的名称(万博1manbetx仿真软件。LookupTable)对象。如果一个万博1manbetx仿真软件。LookupTable对象不存在,请单击操作按钮并选择创建.新的查找表对象的相应参数将自动填充块信息。

依赖关系

若要启用该参数,请设置数据规范查找表对象

编程使用

块参数:LookupTableObject
类型:特征向量
价值观:a的名称万博1manbetx仿真软件。LookupTable对象
默认值:

指定是将数据输入为显式断点,还是输入为生成均匀间隔断点的参数。

  • 若要显式指定断点数据,请将此参数设置为明确的价值观属性旁边的文本框中输入断点数据断点参数。

  • 若要指定生成均匀间隔断点的参数,请将此参数设置为甚至间距的值第一点而且间距断点数据的每个维度的参数。该块计算要从表数据生成的点的数量。

依赖关系

若要启用该参数,请设置数据规范表和断点

编程使用

块参数:BreakpointsSpecification
类型:特征向量
价值观:'显式值' | '均匀间距'
默认值:“显式值”

表和断点数据的来源,指定为:

  • 对话框中指定表或断点数据价值参数。

  • 输入端口—通过关联的输入端口指定表或断点数据。通过输入端口,您最多只能指定三组断点数据。要指定三个以上的断点数据,请使用价值参数。

请注意

由于运行时检查,使用输入端口指定表或断点数据可能会对模拟的块性能产生负面影响。

依赖关系

  • 若要启用该参数,请设置数据规范表和断点

  • 要启用关联的价值,设置为对话框

  • 如果要启用关联的输入端口,将该参数设置为输入端口

  • 将此参数设置为输入端口禁用价值属性上的相应参数数据类型选项卡。

  • 将此参数设置为输入端口对于任意一个参数禁用编辑表和断点按钮。

编程使用

块参数:TableSource|BreakpointsForDimension1Source|BreakpointsForDimension2Source|BreakpointsForDimension3Source
类型:特征向量
价值观:对话框|输入端口
默认值:“对话框”

中输入输出值的表价值字段。

类定义的维数必须匹配表维数参数。但是,在编辑方框图期间,您可以输入一个空矩阵(指定为[])或未定义的工作区变量。这种技术允许您推迟为表数据指定正确维度的矩阵,并继续编辑方框图。

依赖关系

要启用该参数,请设置:

  • 数据规范表和断点

  • 表数据:对话框

编程使用

块参数:表格
类型:特征向量
价值观:表值矩阵
默认值:'[4 5 6;16 19 20;10 18 23]'

属性的值显式指定断点数据或指定为间隔均匀的断点断点规范参数。

  • 如果你设置断点规范明确的价值观,输入与每个表数据的每个维度对应的断点集断点在关联的价值字段。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。

  • 如果你设置断点规范甚至间距,输入参数第一点而且间距在每一个断点行在相应维度中生成间隔均匀的断点。表数据决定了等距点的数量。

依赖关系

  • 若要启用该参数,请设置

    • 数据规范表和断点

    • 断点:来源对话框

  • 断点规范参数设置为甚至间距,您只能通过对话框指定断点数据。

编程使用

块参数:BreakpointsForDimension1
类型:特征向量
价值观:1 × n或者n × 1的单调递增向量
默认值:“[1:3]”

将等距断点数据中的第一个点指定为实值有限标量。当断点规范设置为甚至间距

依赖关系

若要启用该参数,请设置数据规范表和断点,断点规范甚至间距

编程使用

块参数:BreakpointsForDimension1FirstPoint | BreakpointsForDimension2FirstPoint
类型:特征向量
价值观:实值,有限,标量
默认值:' 1 '

指定均匀间隔断点数据中点之间的间距。

依赖关系

若要启用该参数,请设置数据规范表和断点,断点规范甚至间距

编程使用

块参数:BreakpointsForDimension1Spacing | BreakpointsForDimension2Spacing
类型:特征向量
价值观:正,实值,有限,标量
默认值:' 1 '

单击此按钮打开查找表编辑器。有关更多信息,请参见编辑查找表在Simuli万博1manbetxnk文档中。

单击查找表对象的此按钮,可以编辑该对象并保存该对象的新值。

算法

查找方法

当输入位于断点值之间时,块使用邻近的断点插入输出值。有关插值方法的更多信息,请参见插值方法

依赖关系

  • 如果您选择三次样条,该块只支持标量信号。万博1manbetx其他插值方法支持非标量信号。万博1manbetx

  • 如果您选择Akima花键,外推法只能Akima花键

    当设置为修改后的Akima插值方法时,该块不支持:万博1manbetx

    • 行主数组布局和为行主数组布局优化的算法

    • 缩放的双精度和定点数据类型

    • 万博1manbetx仿真软件。LookupTable对象

    • 代码生成时配置参数代码生成>接口>万博1manbetx支持非有限数选中复选框。

    当设置为修改后的Akima插值方法时,当这些条件为真时,该块运行得更慢:

    • 基于代码生成的仿真目标,例如用于加速模式、快速加速模式、受保护模型等的目标。

    • 为较大的断点和数据表大小生成的代码。例如,表大小为629x1601。

编程使用

块参数:InterpMethod
类型:特征向量
价值观:'线性点斜' | '平坦' | '最近' | '线性拉格朗日' | '三次样条' | '阿基马样条'
默认值:“线性点斜式”

选择剪辑线性,或三次样条.看到外推方法获取更多信息。

如果外推法是线性,根据所选线性插值方法计算外推值。例如,如果插值方法为线性拉格朗日,则外推方法继承线性拉格朗日方程来计算外推值。

依赖关系

  • 选择三次样条外推法,你也必须选择三次样条插值法

  • 选择Akima花键外推法,你也必须选择Akima花键插值法

编程使用

块参数:ExtrapMethod
类型:特征向量
价值观:“线性”|“剪辑”|“三次样条”|“Akima样条”
默认值:“线性”

选择等距点线性搜索,或二分查找.每种搜索方法在不同情况下都有速度优势:

  • 对于间隔均匀的断点集(例如,10、20、30等等),可以通过选择来获得最佳速度等距点计算表索引。

    该算法仅使用集合的前两个中断点来确定其余点的偏移和间距。

    请注意

    索引检索法等距点当使用万博1manbetx仿真软件。LookupTable对象来指定表数据和断点规范参考参数万博1manbetx仿真软件。LookupTable对象设置为甚至间距

  • 对于间隔不均匀的断点集,请遵循以下准则:

    • 如果输入信号在时间步长之间变化不大,则选择线性搜索开始索引搜索使用以前的索引结果产生最好的性能。

    • 如果输入信号在每个时间步跃超过一个或两个表间隔,则选择二分查找产生最好的性能。

索引搜索方法的次优选择可能导致严重依赖查找表的模型性能变慢。

请注意

生成的代码只存储第一个断点、间隔和断点的数量:

  • 断点数据不可调。

  • 索引搜索方法为等距点

编程使用

块参数:IndexSearchMethod
类型:特征向量
价值观:“二分搜索”|“等距点”|“线性搜索”
默认值:“二分法”

如果希望块使用上一个时间步骤中找到的索引开始搜索,则选中此复选框。对于相对于间隔大小变化缓慢的输入,启用此选项可以提高性能。否则,线性搜索和二分搜索方法会花费更长的时间,特别是对于大型断点集。

依赖关系

若要启用该参数,请设置索引检索法线性搜索二分查找

编程使用

块参数:BeginIndexSearchUsing PreviousIndexResult
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

指定当输入超出范围时是否产生警告或错误。选项包括:

  • 没有一个-没有回应。

  • 警告-显示警告并继续模拟。

  • 错误-终止模拟并显示错误。

编程使用

块参数:DiagnosticForOutOfRangeInput
类型:特征向量
价值观:' | '警告' | '错误'
默认值:“没有”

使用此复选框可在可能的情况下启用线性插值查找的全精度定点算法查找。该算法在硬件效率较高的定点舍入模式下,通常具有较高的精度。

依赖关系

要启用该参数,请设置:

  • 表维数1

  • 插值法线性点斜式

  • 外推法剪辑

编程使用

块参数:ApplyFullPrecisionForLinearInterpolation
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

使用此复选框,指定块用于寻址断点集的最后一个元素及其对应的表值的索引约定。如果输入等于或大于断点数据的最后一个元素,则此复选框是相关的。由于四舍五入,选择并清除此复选框可能导致模拟和代码生成之间的最后一个断点的结果不同。

复选框 块使用的索引 分数间隔
选择 上的断点数据的最后一个元素表和断点选项卡 0
清除 中断点数据的倒数第二个元素表和断点选项卡 1

给定一个输入u在断点集的范围内英国石油公司,区间分数f,在0≦范围内f<1,计算如下所示。

假设断点集为[1 4 5]和输入u5.5.如果选中此复选框,则索引为最后一个元素(5),区间分数为0。如果清除此复选框,则索引为倒数第二个元素的索引(4),区间分数为1。

依赖关系

要启用该参数,请设置:

  • 插值法线性

  • 外推法剪辑

编程使用

块参数:UseLastTableValue
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”
输入设置

选中此复选框可仅使用一个期望为信号的输入端口nn维表的元素宽度。此选项用于在具有许多查找表的方框图上消除线路混乱。

请注意

选中此复选框时,一个带有标签的输入端口u出现在块上。

编程使用

块参数:UseOneInputPortForAllInputData
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”
代码生成

指定是否包含检查超出范围输入值的代码。

复选框 结果 何时使用

生成的代码不包括检查超出范围的断点输入的条件语句。

当输入超出范围时,可能会导致生成的代码出现未定义的行为。

为了提高代码效率

生成的代码包括条件语句,用于检查超出范围的输入。

安全关键应用

如果您的输入没有超出范围,您可以选择在生成的代码中删除对超出范围索引的保护复选框表示代码效率。默认情况下,该复选框被清除。对于安全性较高的应用,请不要选中此复选框。如果要选择在生成的代码中删除对超出范围索引的保护复选框,首先检查您的模型输入是否在范围内。例如:

  1. 清除在生成的代码中删除对超出范围索引的保护复选框。

  2. 设置诊断超出范围的输入参数错误

  3. 在正常模式下模拟模型。

  4. 如果有超出范围的错误,将它们修复到范围内并再次运行模拟。

  5. 当模拟不再产生超出范围的输入错误时,选择在生成的代码中删除对超出范围索引的保护复选框。

    请注意

    当你选择在生成的代码中删除对超出范围索引的保护复选框,且输入超出范围,则生成的代码的行为未定义。

根据您的应用程序,您可以运行以下Model Advisor检查来验证此复选框的使用:

  • 通过产品>嵌入式编码器>识别生成昂贵的范围外检查代码的查找表块

  • 通过产品>万博1manbetx仿真软件检查>建模标准>- 331 - 178 - c /做检查吗>检查查找表块的使用情况

有关Model Advisor的更多信息,请参见运行Model Advisor检查

此外,要确定选择此复选框是否安全,如果您有万博1manbetxSimulink设计验证器™许可证,考虑使用检测块输入范围违反(万博1manbetxSimulink Design Verifier)检查。

编程使用

块参数:RemoveProtectionInput
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

选中此复选框可在生成的代码中启用可调表大小。此选项使您可以在生成的代码中更改查找表和断点数据的大小和值,而无需重新生成或重新编译代码。只能减小查找表和断点数据的大小。

依赖关系

如果你设置插值法三次样条,此复选框不可用。

编程使用

块参数:万博1manbetxSupportTunableTableSize
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

指定采样时间为-1以外的值。有关更多信息,请参见指定采样时间

依赖关系

此参数不可见,除非显式地设置为其他值-1.要了解更多信息,请参见不建议采样时间的块

编程使用

块参数:SampleTime
类型:特征向量
价值观:标量或向量
默认值:' 1 '

例子:(4 - 6)对于一个5乘7的桌子

使用从零开始的索引为每个表维指定最大索引值。可以使用以下数据类型指定正整数值的标量或向量:

  • 内置浮点类型:而且

  • 内置整数类型:int8int16int32uint8uint16,uint32

有效规范的例子包括:

  • (4 - 6)对于一个5乘7的桌子

  • [int8(2) int16(5) int32(9)]对于一个3 × 6 × 10的表

  • 一个万博1manbetx仿真软件。参数它在生成代码时的值比表数据的维数小1。有关更多信息,请参见生成代码中的可调表大小

依赖关系

若要启用该参数,请选中万博1manbetx在代码生成中支持可调表大小.在生成的代码中调优此参数时,提供新的表数据和断点以及调优的参数值。

编程使用

块参数:MaximumIndicesForEachDimension
类型:特征向量
价值观:正整数值的标量或向量
默认值:“[]”

数据类型

指定表数据类型。你可以设置为:

  • 继承数据类型的规则,例如,Inherit:与output相同

  • 内置数据类型的名称,例如,

  • 数据类型对象的名称,例如a万博1manbetx仿真软件。NumericType对象

  • 求值为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

提示

为以下情况指定不同于输出数据类型的表数据类型:

  • 用于存储使用比输出信号更小类型的表数据的较低内存需求

  • 在两个表之间共享预伸缩表数据n-D查找表具有不同输出数据类型的块

  • 在生成的代码中为具有不同输出数据类型的块共享自定义存储表数据

依赖关系

若要启用该参数,请设置表数据表和断点选项卡,对话框

编程使用

块参数:TableDataTypeStr
类型:特征向量
价值观:'继承:继承自'表数据'|'继承:与输出'|'双'|'单'|'半'|' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' |' uint64' |' fixdt(1,16)' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式>'
默认值:“继承:与输出相同”

为表数据指定最小值。默认值为[](不明)。

编程使用

块参数:TableMin
类型:特征向量
价值观:标量
默认值:“[]”

为表数据指定最大值。默认值为[](不明)。

编程使用

块参数:TableMax
类型:特征向量
价值观:标量
默认值:“[]”

为一组断点数据指定数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:与相应的输入相同

  • 内置数据类型的名称,例如,

  • 数据类型类的名称,例如,枚举数据类型类

  • 数据类型对象的名称,例如a万博1manbetx仿真软件。NumericType对象

  • 求值为数据类型的表达式,例如,fixdt (1 16 0)

提示

  • 断点支持无序枚举数据。万博1manbetx因此,线性搜索也是无序的,这提供了灵活性,但会影响性能。搜索从断点中的第一个元素开始。

  • 如果开始索引搜索使用以前的索引结果复选框,则必须使用有序单调递增的数据。这种排序可以提高性能。

  • 对于枚举数据,外推法必须剪辑

  • 该块不支持超出范围的枚举数据输入。万博1manbetx指定枚举数据时,将整个枚举集包含在断点数据集中。例如,使用枚举函数。

这是在此块中使用枚举数据的限制:

  • 该块不支持超出范围的枚举数据输入。万博1manbetx指定枚举数据时,将整个枚举集包含在断点数据集中。例如,使用枚举函数。

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

提示

为以下情况指定不同于相应输入数据类型的断点数据类型:

  • 用于存储使用比输入信号更小类型的断点数据的较低内存需求

  • 在两个之间共享预先缩放的断点数据n-D查找表块具有不同的输入数据类型

  • 在具有不同输入数据类型的块的生成代码中共享自定义存储断点数据

为断点数据类型及其对应的输入数据类型指定相同的斜率和偏置(如果其中任何一个具有定点数据类型)。

依赖关系

若要启用该参数,请设置相应的断点参数。表和断点选项卡,对话框

编程使用

块参数:BreakpointsForDimension1DataTypeStr | BreakpointsForDimension2DataTypeStr|…| BreakpointsForDimension30DataTypeStr
类型:特征向量
价值观:'继承:与对应输入相同'|'继承:继承'断点数据'|'双'|'单'|'半'|' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' |' uint64' |' fixdt(1,16)' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式>'
默认值:“继承:与相应的输入相同”

指定一组断点数据可以具有的最小值。默认值为[](不明)。

编程使用

块参数:BreakpointsForDimension1Min | BreakpointsForDimension2Min |…| BreakpointsForDimension30Min
类型:特征向量
价值观:标量
默认值:“[]”

指定一组断点数据可以具有的最大值。默认值为[](不明)。

编程使用

块参数:BreakpointsForDimension1Max | BreakpointsForDimension2Max |…| BreakpointsForDimension30Max
类型:特征向量
价值观:标量
默认值:“[]”

指定分数数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:通过内部规则继承

  • 内置数据类型的名称,例如,

  • 数据类型对象的名称,例如a万博1manbetx仿真软件。NumericType对象

  • 求值为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

编程使用

块参数:FractionDataTypeStr
类型:特征向量
价值观:fixdt(1,16,0)'|'<数据类型表达式>'
默认值:“继承:通过内部规则继承”

指定中间结果数据类型。你可以设置为:

  • 继承数据类型的规则,例如,Inherit:与output相同

  • 内置数据类型的名称,例如,

  • 数据类型对象的名称,例如a万博1manbetx仿真软件。NumericType对象

  • 求值为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

提示

使用此参数可指定内部计算比表数据或输出数据更高(或更低)的精度。

编程使用

块参数:IntermediateResultsDataTypeStr
类型:特征向量
价值观:继承:通过内部规则继承'|'继承:与输出'|'双'|'单'|' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' |' uint64' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式>'
默认值:“继承:与输出相同”

指定输出数据类型。你可以设置为:

  • 继承数据类型的规则,例如,继承:通过反向传播继承

  • 内置数据类型的名称,例如,

  • 数据类型对象的名称,例如a万博1manbetx仿真软件。NumericType对象

  • 求值为数据类型的表达式,例如,fixdt (1 16 0)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型

编程使用

块参数:OutDataTypeStr
类型:特征向量
价值观:继承:通过反向传播继承'|'继承:从表数据继承'|'继承:与第一次输入相同'|'双'|'单'|'半'|' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' b| 'uint64' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式'
默认值:继承:与第一次输入相同

指定块输出的最小值。默认值为[](不明)。万博1manbetxSimulink软件使用这个值执行:

编程使用

块参数:OutMin
类型:特征向量
价值观:标量
默认值:“[]”

指定块可以输出的最大值。默认值为[](不明)。万博1manbetxSimulink软件使用这个值执行:

编程使用

块参数:OutMax
类型:特征向量
价值观:标量
默认值:“[]”

指定用于中间计算的内部规则。选择速度为了更快的计算。如果您这样做,可能会发生精度损失,通常高达2位。

编程使用

块参数:InternalRulePriority
类型:特征向量
价值观:“速度”|“精度”
默认值:“速度”

选择此选项要求所有输入具有相同的数据类型。

编程使用

块参数:InputSameDT
类型:特征向量
价值观:'off' | 'on'
默认值:“上”

选择此参数可防止定点工具覆盖在此块上指定的数据类型。有关更多信息,请参见锁定输出数据类型设置(定点设计师)

编程使用

块参数:LockScale
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

为在模拟或执行由模型生成的代码期间发生的定点查找表计算指定舍入模式。有关更多信息,请参见舍入(定点设计师)

此选项不影响块参数值的舍入。万博1manbetxSimulink将这些值舍入为最接近的可表示整数值。若要控制块参数的舍入,请使用MATLAB输入表达式®舍入函数到块对话框的编辑字段中。

编程使用

块参数:RndMeth
类型:特征向量
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆”|“最简单”|“零”
默认值:“简单”

行动 采取这一行动的原因 溢出会发生什么 例子

选中此复选框().

您的模型可能有溢出,您希望在生成的代码中显式的饱和保护。

溢出饱和到数据类型可以表示的最小值或最大值。

与有符号8位整数相关的溢出可以饱和到-128或127。

不要选中此复选框().

您希望优化生成代码的效率。

您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围错误

溢出包装为由数据类型表示的适当值。

数字130不适合一个有符号的8位整数,而是-126。

提示

如果将模型保存为R2009a或更早版本,则此复选框设置无效,并且不会出现饱和代码。这种行为保持向后兼容性。

选中此复选框后,饱和将应用于块上的每个内部操作,而不仅仅是输出或结果。通常,代码生成过程可以检测不可能出现溢出的情况。在这种情况下,代码生成器不会产生饱和代码。

编程使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:'off' | 'on'
默认值:“关闭”

块特征

数据类型

|枚举|不动点|一半|整数|

直接引线

是的

多维信号

是的

适应信号

没有

讨论二阶导数过零检测

没有

更多关于

全部展开

扩展功能

C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。万博1manbetx

定点转换
使用定点设计器设计和模拟定点系统。

在R2011a中引入