近似二维函数
万博1manbetxSimulink /查找表
HDL编码器/查找表
1-D、2-D和N - d查找表块计算一个函数在N个变量中的抽样表示
其中函数F可以是经验的。块通过查找或插入用块参数定义的值表,将输入映射到输出值。该块支持平坦(常量)万博1manbetx、线性(线性点斜率)、拉格朗日(线性拉格朗日)、最近、三次样条和Akima样条插值方法。可以将这些方法应用于从1到30的任何维度的表。
在下面的块中,第一个输入标识第一个维度(行)断点,第二个输入标识第二个维度(列)断点,依此类推。
看到旋转或翻转后的端口位置获取各种块朝向的端口顺序的描述。
当数学和数据类型>使用针对行主数组布局优化的算法配置参数时,二维和n-D查找表的块行为从主要列变为主要行。对于这些块,列主算法和行主算法在输出计算的顺序上可能不同,可能导致数值略有不同。此功能需要一个万博1manbetx®编码器™或嵌入式编码器®许可证。有关行主码支持的详细信息,请参见万博1manbetx矩阵和数组的代码生成(万博1manbetx仿真软件编码器).
这些块参数定义断点和表数据。
块参数 | 目的 |
---|---|
表维数 | 指定查找表的维数。 |
断点 | 指定与查找表的每个维度对应的断点向量。 |
表数据 | 定义相关的输出值集。 |
提示
均匀间隔的断点可以使生成的代码免于除法。有关更多信息,请参见fixpt_evenspace_cleanup
而且识别有问题的定点操作(嵌入式编码).
n-D、1-D和2-D查找表块通过根据输入值查找或估计表值来生成输出。
块的输入 | n-D查找表块行为 |
---|---|
匹配断点数据集中的索引值 | 输出行、列和高维断点交点处的表值 |
不匹配断点数据集中的索引值,但在范围内 | 方法插值适当的表值插值法你选择 |
与断点数据集中的索引值不匹配,并且超出范围 | 方法推断输出值外推法你选择 |
u1
—一维(行)输入的实值输入u1端口,通过查找或插入所定义的值表映射到输出值。
例子:0:10
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
u2
-二维(列)输入的实值输入u2端口,通过查找或插入所定义的值表映射到输出值。
例子:0:10
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
T
—定义输出值表使用在运行时可调的信号指定输出值表。
类定义的维数必须匹配表维数参数和表的每个维度的断点长度。但是,在编辑方框图期间,您可以输入一个空矩阵(指定为[]
)或未定义的工作区变量。这种技术允许您推迟为表数据指定正确维度的矩阵,并继续编辑方框图。
要启用此端口,请设置:
数据规范来表和断点
.
表数据来输入端口
.
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
bp1
-明确的断点值属性的值显式指定断点数据断点规范参数,带有在运行时可调的信号。
如果你设置断点规范来明确的价值观
,输入与每个表数据的每个维度对应的断点集断点行。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。
请注意
若要以均匀间距规范格式指定断点,请设置断点规范来甚至间距
并使用断点第一点和间距参数。
要启用此端口,请设置:
数据规范来表和断点
.
断点规范来明确的价值观
.
断点1来输入端口
.
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
bp2
-明确的断点值属性的值显式指定断点数据断点规范参数,带有在运行时可调的信号。
如果你设置断点规范来明确的价值观
,输入与每个表数据的每个维度对应的断点集断点行。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。
请注意
若要指定间隔均匀的断点数据,请使用断点参数。不能通过输入端口指定间隔均匀的断点数据。
要启用此端口,请设置:
数据规范来表和断点
.
断点规范来明确的价值观
.
断点2来输入端口
.
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|枚举
|不动点
Port_1
-通过查找或估计表值计算输出根据输入值查找或估计表值而生成的输出。
当块输入… | n-D查找表块… |
---|---|
匹配断点数据集中的索引值 | 输出行、列和高维断点交点处的表值 |
不匹配断点数据集中的索引值,但在范围内 | 方法插值适当的表值插值法你选择 |
与断点数据集中的索引值不匹配,并且超出范围 | 方法推断输出值外推法你选择 |
数据类型:一半
|单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
表维数
—查找表维数2
(默认)|1
|3.
|4
|...
|30.
输入查找表的维数。该参数确定:
表的自变量的数量和块输入的数量
要指定的断点集的数目
指定… | 这样做…… |
---|---|
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
)对象。如果一个万博1manbetx仿真软件。LookupTable
对象不存在,请单击操作按钮并选择创建.新的查找表对象的相应参数将自动填充块信息。
若要启用该参数,请设置数据规范来查找表对象
.
块参数:LookupTableObject |
类型:特征向量 |
价值观:a的名称万博1manbetx仿真软件。LookupTable 对象 |
默认值:” |
断点规范
-断点规范的方法明确的价值观
(默认)|甚至间距
指定是将数据输入为显式断点,还是输入为生成均匀间隔断点的参数。
若要显式指定断点数据,请将此参数设置为明确的价值观
属性旁边的文本框中输入断点数据断点参数。
若要指定生成均匀间隔断点的参数,请将此参数设置为甚至间距
的值第一点而且间距断点数据的每个维度的参数。该块计算要从表数据生成的点的数量。
若要启用该参数,请设置数据规范来表和断点
.
块参数:BreakpointsSpecification |
类型:特征向量 |
价值观:'显式值' | '均匀间距' |
默认值:“显式值” |
源
-表和断点数据的来源对话框
(默认)|输入端口
表和断点数据的来源,指定为:
对话框
中指定表或断点数据价值参数。
输入端口
—通过关联的输入端口指定表或断点数据。通过输入端口,您最多只能指定三组断点数据。要指定三个以上的断点数据,请使用价值参数。
请注意
由于运行时检查,使用输入端口指定表或断点数据可能会对模拟的块性能产生负面影响。
若要启用该参数,请设置数据规范来表和断点
.
要启用关联的价值,设置为对话框
.
如果要启用关联的输入端口,将该参数设置为输入端口
.
将此参数设置为输入端口
禁用价值属性上的相应参数数据类型选项卡。
将此参数设置为输入端口
对于任意一个参数禁用编辑表和断点按钮。
块参数:TableSource |BreakpointsForDimension1Source |BreakpointsForDimension2Source |BreakpointsForDimension3Source |
类型:特征向量 |
价值观:对话框 |输入端口 |
默认值:“对话框” |
表数据
—定义输出值表[4 5 6;16 19 20;10 18 23]
(默认)|值矩阵中输入输出值的表价值字段。
类定义的维数必须匹配表维数参数。但是,在编辑方框图期间,您可以输入一个空矩阵(指定为[]
)或未定义的工作区变量。这种技术允许您推迟为表数据指定正确维度的矩阵,并继续编辑方框图。
要启用该参数,请设置:
数据规范来表和断点
.
表数据:来对话框
.
块参数:表格 |
类型:特征向量 |
价值观:表值矩阵 |
默认值:'[4 5 6;16 19 20;10 18 23]' |
断点
-明确的断点值,或者断点的第一个点和间隔[1:3]
(默认值)|单调递增的1 × n或n × 1向量属性的值显式指定断点数据或指定为间隔均匀的断点断点规范参数。
如果你设置断点规范来明确的价值观
,输入与每个表数据的每个维度对应的断点集断点在关联的价值字段。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。
如果你设置断点规范来甚至间距
,输入参数第一点而且间距在每一个断点行在相应维度中生成间隔均匀的断点。表数据决定了等距点的数量。
若要启用该参数,请设置
数据规范来表和断点
.
断点:来源来对话框
.
当断点规范参数设置为甚至间距
,您只能通过对话框指定断点数据。
块参数:BreakpointsForDimension1 |
类型:特征向量 |
价值观:1 × n或者n × 1的单调递增向量 |
默认值:“[1:3]” |
第一点
-间隔均匀的断点数据中的第一个点1
(默认)|标量将等距断点数据中的第一个点指定为实值有限标量。当断点规范设置为甚至间距
.
若要启用该参数,请设置数据规范来表和断点
,断点规范来甚至间距
.
块参数:BreakpointsForDimension1FirstPoint | BreakpointsForDimension2FirstPoint |
类型:特征向量 |
价值观:实值,有限,标量 |
默认值:' 1 ' |
间距
-间隔均匀的断点1
(默认)|标量指定均匀间隔断点数据中点之间的间距。
若要启用该参数,请设置数据规范来表和断点
,断点规范来甚至间距
.
块参数:BreakpointsForDimension1Spacing | BreakpointsForDimension2Spacing |
类型:特征向量 |
价值观:正,实值,有限,标量 |
默认值:' 1 ' |
编辑表和断点
—启动查找表编辑器对话框单击此按钮打开查找表编辑器。有关更多信息,请参见编辑查找表在Simuli万博1manbetxnk文档中。
单击查找表对象的此按钮,可以编辑该对象并保存该对象的新值。
插值法
-断点值之间的插值方法线性点斜式
(默认)|平
|最近的
|线性拉格朗日
|三次样条
|Akima花键
当输入位于断点值之间时,块使用邻近的断点插入输出值。有关插值方法的更多信息,请参见插值方法.
如果您选择三次样条
,该块只支持标量信号。万博1manbetx其他插值方法支持非标量信号。万博1manbetx
如果您选择Akima花键
,外推法只能Akima花键
.
当设置为修改后的Akima插值方法时,该块不支持:万博1manbetx
行主数组布局和为行主数组布局优化的算法
缩放的双精度和定点数据类型
万博1manbetx仿真软件。LookupTable
对象
代码生成时配置参数代码生成>接口>万博1manbetx支持非有限数选中复选框。
当设置为修改后的Akima插值方法时,当这些条件为真时,该块运行得更慢:
基于代码生成的仿真目标,例如用于加速模式、快速加速模式、受保护模型等的目标。
为较大的断点和数据表大小生成的代码。例如,表大小为629x1601。
块参数:InterpMethod |
类型:特征向量 |
价值观:'线性点斜' | '平坦' | '最近' | '线性拉格朗日' | '三次样条' | '阿基马样条' |
默认值:“线性点斜式” |
外推法
处理超出断点数据集范围的输入值的方法线性
(默认)|剪辑
|三次样条
|Akima花键
选择剪辑
,线性
,或三次样条
.看到外推方法获取更多信息。
如果外推法是线性
,根据所选线性插值方法计算外推值。例如,如果插值方法为线性拉格朗日,则外推方法继承线性拉格朗日方程来计算外推值。
选择三次样条
为外推法,你也必须选择三次样条
为插值法.
选择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]
和输入u是5.5
.如果选中此复选框,则索引为最后一个元素(5
),区间分数为0。如果清除此复选框,则索引为倒数第二个元素的索引(4
),区间分数为1。
要启用该参数,请设置:
插值法来线性
.
外推法来剪辑
.
块参数:UseLastTableValue |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
对所有输入数据使用一个输入端口
—只能使用一个输入端口从
(默认)|在
选中此复选框可仅使用一个期望为信号的输入端口n
n维表的元素宽度。此选项用于在具有许多查找表的方框图上消除线路混乱。
请注意
选中此复选框时,一个带有标签的输入端口u
出现在块上。
块参数:UseOneInputPortForAllInputData |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
在生成的代码中删除对超出范围输入的保护
删除检查超出范围输入值的代码从
(默认)|在
指定是否包含检查超出范围输入值的代码。
复选框 | 结果 | 何时使用 |
---|---|---|
|
生成的代码不包括检查超出范围的断点输入的条件语句。 当输入超出范围时,可能会导致生成的代码出现未定义的行为。 |
为了提高代码效率 |
|
生成的代码包括条件语句,用于检查超出范围的输入。 |
安全关键应用 |
如果您的输入没有超出范围,您可以选择在生成的代码中删除对超出范围索引的保护复选框表示代码效率。默认情况下,该复选框被清除。对于安全性较高的应用,请不要选中此复选框。如果要选择在生成的代码中删除对超出范围索引的保护复选框,首先检查您的模型输入是否在范围内。例如:
清除在生成的代码中删除对超出范围索引的保护复选框。
设置诊断超出范围的输入参数错误
.
在正常模式下模拟模型。
如果有超出范围的错误,将它们修复到范围内并再次运行模拟。
当模拟不再产生超出范围的输入错误时,选择在生成的代码中删除对超出范围索引的保护复选框。
请注意
当你选择在生成的代码中删除对超出范围索引的保护复选框,且输入超出范围,则生成的代码的行为未定义。
根据您的应用程序,您可以运行以下Model Advisor检查来验证此复选框的使用:
通过产品>嵌入式编码器>识别生成昂贵的范围外检查代码的查找表块
通过产品>万博1manbetx仿真软件检查>建模标准>- 331 - 178 - c /做检查吗>检查查找表块的使用情况
有关Model Advisor的更多信息,请参见运行Model Advisor检查.
此外,要确定选择此复选框是否安全,如果您有万博1manbetxSimulink设计验证器™许可证,考虑使用检测块输入范围违反(万博1manbetxSimulink Design Verifier)检查。
块参数:RemoveProtectionInput |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
万博1manbetx在代码生成中支持可调表大小
-在生成的代码中启用可调表大小从
(默认)|在
选中此复选框可在生成的代码中启用可调表大小。此选项使您可以在生成的代码中更改查找表和断点数据的大小和值,而无需重新生成或重新编译代码。只能减小查找表和断点数据的大小。
如果你设置插值法来三次样条
,此复选框不可用。
块参数:万博1manbetxSupportTunableTableSize |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
每个维度的最大索引
-每个表维度的最大索引值[]
(默认)|正整数值的标量或向量
例子:(4 - 6)
对于一个5乘7的桌子
使用从零开始的索引为每个表维指定最大索引值。可以使用以下数据类型指定正整数值的标量或向量:
内置浮点类型:双
而且单
内置整数类型:int8
,int16
,int32
,uint8
,uint16
,uint32
有效规范的例子包括:
(4 - 6)
对于一个5乘7的桌子
[int8(2) int16(5) int32(9)]
对于一个3 × 6 × 10的表
一个万博1manbetx仿真软件。参数
它在生成代码时的值比表数据的维数小1。有关更多信息,请参见生成代码中的可调表大小.
若要启用该参数,请选中万博1manbetx在代码生成中支持可调表大小.在生成的代码中调优此参数时,提供新的表数据和断点以及调优的参数值。
块参数:MaximumIndicesForEachDimension |
类型:特征向量 |
价值观:正整数值的标量或向量 |
默认值:“[]” |
表数据
—表数据的数据类型Inherit:与output相同
(默认)|双
|单
|一半
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt (16)
|fixdt (1 16 0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型表达式>
指定表数据类型。你可以设置为:
继承数据类型的规则,例如,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 |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
断点
—断点数据类型继承:与相应的输入相同
(默认)|双
|单
|一半
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt (16)
|fixdt (1 16 0)
|fixdt(1, 16日2 ^ 0,0)
|Enum: <类名>
|<数据类型表达式>
为一组断点数据指定数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与相应的输入相同
内置数据类型的名称,例如,单
数据类型类的名称,例如,枚举数据类型类
数据类型对象的名称,例如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 |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
分数
-分数数据类型继承:通过内部规则继承
(默认)|双
|单
|fixdt (1 16 0)
|<数据类型表达式>
指定分数数据类型。你可以设置为:
继承数据类型的规则,例如,继承:通过内部规则继承
内置数据类型的名称,例如,单
数据类型对象的名称,例如a万博1manbetx仿真软件。NumericType
对象
求值为数据类型的表达式,例如,fixdt (1 16 0)
单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
块参数:FractionDataTypeStr |
类型:特征向量 |
价值观:fixdt(1,16,0)'|'<数据类型表达式>' |
默认值:“继承:通过内部规则继承” |
中间结果
—中间结果数据类型Inherit:与output相同
(默认)|继承:通过内部规则继承
|双
|单
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt (1 16 0)
|fixdt(1, 16日2 ^ 0,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)'|'<数据类型表达式>' |
默认值:“继承:与输出相同” |
输出
-输出数据类型Inherit:与input相同
(默认)|双
|单
|一半
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt (16)
|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软件使用这个值执行:
参数范围检查(参见指定块参数的最小值和最大值).
模拟范围检查(见指定信号范围).
自动缩放定点数据类型。
优化从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。
块参数:OutMin |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
输出最大
—该块可输出的最大值[]
|标量
指定块可以输出的最大值。默认值为[]
(不明)。万博1manbetxSimulink软件使用这个值执行:
参数范围检查(参见指定块参数的最小值和最大值).
模拟范围检查(见指定信号范围).
自动缩放定点数据类型。
优化从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。
块参数:OutMax |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
内部规则优先级
-中间计算的内部规则速度
(默认)|精度
指定用于中间计算的内部规则。选择速度
为了更快的计算。如果您这样做,可能会发生精度损失,通常高达2位。
块参数:InternalRulePriority |
类型:特征向量 |
价值观:“速度”|“精度” |
默认值:“速度” |
要求所有输入具有相同的数据类型
—要求所有输入具有相同的数据类型在
(默认)|从
选择此选项要求所有输入具有相同的数据类型。
块参数:InputSameDT |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“上” |
锁定数据类型设置,防止由定点工具更改
—防止定点工具覆盖数据类型从
(默认)|在
选择此参数可防止定点工具覆盖在此块上指定的数据类型。有关更多信息,请参见锁定输出数据类型设置(定点设计师).
块参数:LockScale |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
整数舍入模式
-舍入模式的定点操作简单的
(默认)|天花板
|收敛
|地板上
|最近的
|轮
|零
为在模拟或执行由模型生成的代码期间发生的定点查找表计算指定舍入模式。有关更多信息,请参见舍入(定点设计师).
此选项不影响块参数值的舍入。万博1manbetxSimulink将这些值舍入为最接近的可表示整数值。若要控制块参数的舍入,请使用MATLAB输入表达式®舍入函数到块对话框的编辑字段中。
块参数:RndMeth |
类型:特征向量 |
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆”|“最简单”|“零” |
默认值:“简单” |
饱和整数溢出
-溢出动作方式从
(默认)|在
行动 | 采取这一行动的原因 | 溢出会发生什么 | 例子 |
---|---|---|---|
选中此复选框( |
您的模型可能有溢出,您希望在生成的代码中显式的饱和保护。 |
溢出饱和到数据类型可以表示的最小值或最大值。 |
与有符号8位整数相关的溢出可以饱和到-128或127。 |
不要选中此复选框( |
您希望优化生成代码的效率。 您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围错误. |
溢出包装为由数据类型表示的适当值。 |
数字130不适合一个有符号的8位整数,而是-126。 |
提示
如果将模型保存为R2009a或更早版本,则此复选框设置无效,并且不会出现饱和代码。这种行为保持向后兼容性。
选中此复选框后,饱和将应用于块上的每个内部操作,而不仅仅是输出或结果。通常,代码生成过程可以检测不可能出现溢出的情况。在这种情况下,代码生成器不会产生饱和代码。
块参数:SaturateOnIntegerOverflow |
类型:特征向量 |
价值观:'off' | 'on' |
默认值:“关闭” |
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|
假设您有一个查找表,并希望在生成的代码中设置大小可调。当你使用万博1manbetx仿真软件。LookupTable
而且万博1manbetx仿真软件。断点
对象在生成的代码中配置查找表数据以进行校准,请使用万博1manbetxSupportTunableSize
属性启用可调表大小。不使用这些类时,请使用万博1manbetx在代码生成中支持可调表大小的参数。n-D查找表块来启用可调表大小。
假设:
你定义一个万博1manbetx仿真软件。参数
结构在您的模型的预加载功能:
p = 万博1manbetxSimulink.Parameter;p.Value.MaxIdx = [2 2];p.Value。Bp1 = [1 2 3];p.Value。Bp2 = [1 4 16];p.Value.Table = [4 5 6;16 19 20;10 18 23];p.DataType = '总线:slLookupTable'; p.CoderInfo.StorageClass = 'ExportedGlobal'; % Create bus object slBus1 from MATLAB structure Simulink.Bus.createObject(p.Value); slLookupTable = slBus1; slLookupTable.Elements(1).DataType = 'uint32';
这些块参数应用于n-D查找表块。
参数 | 价值 |
---|---|
表维数 | 2 |
表数据 | p.Table |
断点1 | p.BP1 |
断点2 | p.BP2 |
万博1manbetx在代码生成中支持可调表大小 | 在 |
每个维度的最大索引 | p.MaxIdx |
生成的
头文件包含一个类似这样的类型定义。模型
_types.h
typedef struct {uint32_T MaxIdx[2];real_T BP1 [3];real_T BP2 [3];real_T表[9];} slLookupTable;
生成的
文件包含类似这样的代码。模型
.c
/*导出块参数*/ slLookupTable p = {{2U, 2U}, {1.0, 2.0, 3.0}, {1.0, 4.0, 16.0}, {4.0, 16.0, 10.0, 5.0, 19.0, 18.0, 6.0, 20.0, 23.0}};/*更多代码*/ /*模型输出函数*/静态void ex_lut_nd_tunable_table_output(int_T tid) {/* Lookup_n-D: '<根>/n-D查找表'合并:*输入:'<根>/In1' *输入:'<根>/In2' */ /Y = look2_binlcpw(U1, U2, p.BP1, p.BP2, p.Table,…p.MaxIdx, p.MaxIdx[0] + 1U);/* Outport: '/Out1' */ ex_lut_nd_tunable_table_Y. /* Outport: ' /Out1'Out1 = Y;/* tid表示统一的功能接口。函数中没有使用参数tid。* / UNUSED_PARAMETER (tid);}
突出显示的代码行指定查找表的可调表大小。您可以更改查找表和断点数据的大小和值,而无需重新生成或重新编译代码。
假设你有一个查找表,其中定义了一个这样的枚举类:
classdef(枚举)齿轮< Simulink。万博1manbetxIntEnumType枚举GEAR1(1), GEAR2(2), GEAR3(4), GEAR4(8),运动(16),反向(-1),中性(0)结束结束
n-D查找块具有以下设置:
维数来1
.
表数据值是[5 10 20 40 80 -5 0]
.
断点1值是枚举(齿轮)
.
插补方法为Flat。
对于无序搜索,设置索引检索法来线性搜索
清除开始索引搜索使用以前的索引结果复选框。
模拟生成一个矢量[10 -5 80]
,对应于GEAR2
,反向
,体育
.
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。有关支持2-D查找表块的HDL代码生成的信息,请参见万博1manbetxHDL代码生成.
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。