近似一维函数
金宝appSimulink /查找表
HDL编码器/查找表
1-D、2-D和N - d查找表块计算一个函数在N个变量中的抽样表示
的函数F可以实证。块通过查找或插值用块参数定义的值表,将输入映射到输出值。该块支持平面(常数)金宝app,线性(线性点斜),拉格朗日(线性拉格朗日),最近邻,三次样条,和Akima样条插值方法。您可以将这些方法应用于从1到30的任何维度的表。
在下面的代码块中,第一个输入标识第一个维度(行)断点,第二个输入标识第二个维度(列)断点,以此类推。
看到旋转或翻转后的端口位置有关不同区块方向的港口顺序的说明。
当。。。的时候数学和数据类型>使用针对行主要数组布局优化的算法配置参数设置后,2-D和n-D查查表块行为从列为主改为行为主。对于这些块,列主算法和行主算法可能在输出计算的顺序上有所不同,可能导致数值略有不同。此功能需要金宝app®编码器™或者嵌入式编码器®许可证。有关行主支持的更多信息,请参见金宝app矩阵和数组的代码生成(金宝app仿真软件编码器).
这些块参数定义了断点和表数据。
块参数 | 目的 |
---|---|
表尺寸的数量 | 指定查找表的维数。 |
断点 | 指定与查找表的每个维度相对应的断点向量。 |
表数据 | 定义关联的输出值集。 |
提示
间隔均匀的断点可以使生成的代码无需分割。有关详细信息,请参阅fixt_evenspace_cleanup.
和确定有问题的定点操作(嵌入式编码).
n-D、1-D和2-D查找表块通过根据输入值查找或估计表值生成输出。
块的输入 | n-D查找表块行为 |
---|---|
匹配断点数据集中的索引值 | 在行、列和更高维度断点的交集处输出表值 |
与断点数据集中的索引值不匹配,但在范围内 | 使用该时插值适当的表值插值法你选择 |
与断点数据集中的指数值不匹配,并且超出范围 | 属性来推断输出值外推方法你选择 |
你可以使用插值使用Prelookup块prelookup.块来执行1的等价操作一天的查找表块。这种块的组合提供了更大的灵活性,可以为线性插值带来更有效的模拟性能。
当查找操作是不需要插值的数组访问时,使用直接查询表(n-D)块。例如,如果你有一个整数值K.
你想要K.
表的第Th个元素,Y =桌(k)
,则没有必要进行插值。
u1
-第一维度(行)输入的实值输入u1端口,通过查找或插入您定义的值表映射到输出值。
例子: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
|枚举
|不动点
port_1.
-通过查找或估计表值计算的输出根据输入值查找或估计表值所生成的输出。
当块输入…… | n-D查找表块… |
---|---|
匹配断点数据集中的索引值 | 在行、列和更高维度断点的交集处输出表值 |
与断点数据集中的索引值不匹配,但在范围内 | 使用该时插值适当的表值插值法你选择 |
与断点数据集中的指数值不匹配,并且超出范围 | 属性来推断输出值外推方法你选择 |
数据类型:一半
|单
|双倍的
|int8
|int16
|INT32.
|INT64.
|uint8.
|uint16
|uint32
|uint64
|不动点
表尺寸的数量
-查找表维度数1
(默认)|2
|3.
|4.
|...
|30.
输入查找表的维度数。此参数确定:
表的独立变量的数量和块输入的数量
要指定的断点集的数量
指定… | 这样做…… |
---|---|
1 2 3或4 |
从下拉列表中选择值。 |
更高数量的表尺寸 |
直接在字段中输入正整数。 此块支持的最大表维度数为30。金宝app |
例如,一个尺寸的表mXN.x。。。表示维度1的大小为m,尺寸2为N.等等m必须与第一个断点长度匹配,N.必须匹配第二个断点长度等。
块参数:NumberOfTableDimensions |
类型:字符向量 |
价值观:'1' | '2' | '3' | '4' |…| 30 |
默认值:'1' |
数据规范
-表和断点规范的方法表和断点
(默认)|查找表对象
从列表中选择:
表和断点
—指定表数据和断点。选择此选项将启用以下参数:
表数据
断点规格
断点1
编辑表和断点
若要使用输入端口指定表和断点,请参阅源参数。
查找表对象
- 使用现有查找表(金宝appsimulink.lockuptable.
) 目的。选择此选项启用的名字领域和编辑表和断点按钮。
块参数:DataSpecification |
类型:字符向量 |
价值观:'查找表对象' |
默认值:表和断点 |
的名字
—查找表对象的名称[]
(默认)|金宝appsimulink.lockuptable.
目的输入查找表的名称(金宝appsimulink.lockuptable.
)反对。如果金宝appsimulink.lockuptable.
对象不存在,请单击“操作”按钮选择创建. 新查找表对象的相应参数将自动填充块信息。
要启用此参数,请设置数据规范来查找表对象
.
块参数:LookupTableObject |
类型:字符向量 |
价值观:A的名称金宝appsimulink.lockuptable. 目的 |
默认值:'' |
断点规格
- 断点规范方法明确的价值观
(默认)|均匀间距
指定是将数据作为显式断点输入,还是作为生成均匀间隔断点的参数输入。
若要显式指定断点数据,请将该参数设置为明确的价值观
的旁边的文本框中输入断点数据断点参数。
要指定生成等距断点的参数,请将此参数设置为均匀间距
并为第一点和间距断点数据的每个维度的参数。该块计算从表数据生成的点数。
要启用此参数,请设置数据规范来表和断点
.
块参数:BreakpointsSpecification |
类型:字符向量 |
价值观:'显式值'|'甚至间距' |
默认值:“显式值” |
源
- 表格和断点数据对话
(默认)|输入端口
表和断点数据的来源,指定为:
对话
—指定中的表或断点数据价值参数。
输入端口
—通过相关的输入端口指定表或断点数据。
您可以创建多达三个断点数据输入端口。对于断点4到30,您只能通过相应的指定断点数据断点参数。
请注意
使用输入端口指定表或断点数据可能会对运行时检查引起的模拟性能产生负面影响。
要启用此参数,请设置数据规范来表和断点
.
要启用相关的价值,设置为对话
.
如果要启用相关的输入端口,设置为输入端口
.
将此参数设置为输入端口
禁用价值字段并隐藏相应的参数数据类型标签。
将此参数设置为输入端口
对于任何一个参数禁用编辑表和断点按钮。
块参数:TableSource |BreakpointsForDimension1Source |BreakpointsForDimension2Source |BreakpointsForDimension3Source |
类型:字符向量 |
价值观:对话 |输入端口 |
默认值:'对话' |
表数据
—定义输出值表Tanh([ - 5:5])
(默认)|向量的值在关联中输入输出值表价值字段。
在仿真过程中,矩阵的大小必须与定义的维数相匹配表尺寸的数量参数。但是,在编辑框图期间,您可以输入一个空矩阵(指定为[]
)或未定义的工作区变量。这种技术允许您推迟为表数据指定正确维度的矩阵,并继续编辑框图。
要启用该参数,请设置:
数据规范来表和断点
.
源表数据:来对话
.
块参数:表格 |
类型:字符向量 |
价值观:表值矢量 |
默认值:“双曲正切([5])” |
断点
- 显式断点值,或断点的第一点和间隔[5]
(默认)|单调递增值的1 × n或n × 1向量基于该值,显式或作为均匀间隔的断点指定断点数据断点规格参数。
如果你设置断点规格来明确的价值观
,输入对应于每个表数据的每个维度的断点集断点行。对于每个维度,将断点指定为1 × n或n × 1向量,其值严格单调递增。
如果你设置断点规格来均匀间距
,输入参数第一点和间距在每一个断点行在相应的尺寸下产生均匀间隔的断点。您的表数据确定均匀间隔点的数量。
要启用该参数,请设置:
数据规范来表和断点
.
源表数据:来对话
.
当。。。的时候断点规格参数设置为均匀间距
,您只能通过对话框指定断点数据。
块参数:BreakpointsForDimension1 |
类型:字符向量 |
价值观:1 × n或n × 1单调递增的向量 |
默认值:“[31]10,22日” |
第一点
- 在均匀间隔断点数据中的第一点1
(默认)|标量将均匀间隔的断点数据中的第一个点指定为实值、有限标量。当断点规格被设置为均匀间距
.
要启用此参数,请设置数据规范来表和断点
和断点规格来均匀间距
.
块参数:尺寸1第一点的断点 |
类型:字符向量 |
价值观:实值,有限的,标量 |
默认值:'1' |
间距
- 间距间隔断裂点之间的间隔1
(默认)|标量在等间距断点数据中指定点之间的间距。
要启用此参数,请设置数据规范来表和断点
和断点规格来均匀间距
.
块参数:breakpointsfordimension1spacing. |
类型:字符向量 |
价值观:正、实值、有限、标量 |
默认值:'1' |
编辑表和断点
-启动查找表编辑器对话框单击此按钮可打开查找表编辑器。有关更多信息,请参阅编辑查找表在Simuli金宝appnk文档中。
对于查找表对象,单击此按钮可以编辑对象并保存对象的新值。
插值法
- 断点值之间插值的方法线性点斜式
(默认)|平
|最近
|线性拉格朗日
|三次样条
|Akima花键
当输入在断点值之间落在断点之间时,块使用相邻断点内插输出值。有关插值方法的更多信息,请参阅插值方法.
如果您选择三次样条
,该块仅支持标量信号。金宝app另一个插值方法支持非卡尔信号。金宝app
如果您选择Akima花键
,外推法只能是Akima花键
.
设置为修改后的AKIMA插值方法时,此块不支持:金宝app
行主阵列布局和算法优化的行主阵列布局
缩放的双和定点数据类型
金宝appsimulink.lockuptable.
对象
代码生成时配置参数代码生成>界面>金宝app支持非谓语形式的数字复选框被选中
当设置为修改后的AKIMA插值方法时,已知该块在这些条件如下时会更慢地运行:
基于代码生成的仿真目标,如加速模式、快速加速模式、保护模型等。
为大断点和数据表大小生成的代码。例如,表大小为629x1601。
块参数:内插法 |
类型:字符向量 |
价值观:'线性点斜率'|'平'|'最近'|'线性拉格朗日'|'立方样条号'|'akima样条曲序' |
默认值:“线性点斜式” |
外推方法
-处理超出断点数据集范围的输入值的方法线性的
(默认)|剪辑
|三次样条
|Akima花键
选择剪辑
那线性的
,或三次样条
.看到外推方法为更多的信息。
如果外推方法是线性的
时,根据所选的线性插值方法计算外推值。例如,如果插值法是线性拉格朗日法,外推法继承线性拉格朗日方程来计算外推值。
选择三次样条
对于外推方法,您还必须选择三次样条
对于插值法.
选择Akima花键
对于外推方法,您还必须选择Akima花键
对于插值法.
块参数:ExtrapMethod |
类型:字符向量 |
价值观:'Linear' | 'Clip' | 'Cubic spline' | 'Akima spline' |
默认值:“线性” |
索引搜索法
-计算表索引的方法等间距点
(默认)|线性搜索
|二进制搜索
选择等间距点
那线性搜索
,或二进制搜索
.每个搜索方法在不同情况下具有速度优势:
对于均匀间隔的断点组(例如,10,20,30等),通过选择来实现最佳速度等间距点
计算表索引。
该算法仅使用一个集合的前两个断点来确定其余点的偏移量和间距。
请注意
集索引搜索法来等间距点
当使用金宝appsimulink.lockuptable.
对象来指定表数据和断点规格参考参数金宝appsimulink.lockuptable.
对象设置为均匀间距
.
对于间隔不均匀的断点集,请遵循以下指导原则:
如果输入信号在时间步长之间变化不大,请选择线性搜索
和使用以前的索引结果开始索引搜索产生最佳性能。
如果输入信号每个时间步跳超过一个或两个表间隔,选择二进制搜索
产生最佳性能。
索引搜索方法的次优选择可能导致依赖于查找表的模型的慢速性能。
请注意
在以下情况下,生成的代码仅存储第一个断点、空格和断点数量:
断点数据不可调谐。
索引搜索方法为等间距点
.
块参数:IndexSearchMethod. |
类型:字符向量 |
价值观:'二进制搜索'|'均匀间隔点'|'线性搜索' |
默认值:“二进制搜索” |
使用以前的索引结果开始索引搜索
—从上一个时间步骤开始使用索引关
(默认)|在
当您希望块使用在上一个时间步骤中找到的索引开始搜索时,请选中此复选框。对于相对于间隔大小变化缓慢的输入,启用该选项可以提高性能。否则,线性搜索和二元搜索方法会花费更长的时间,特别是对于大型断点集。
要启用此参数,请设置索引搜索法来线性搜索
或二进制搜索
.
块参数:BeginIndexSearchusing以前的IndexResult. |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
诊断超出范围的输入
-当输入超出范围时阻止动作没有任何
(默认)|警告
|错误
指定当输入超出范围时是否产生警告或错误。选项包括:
没有任何
- 没有产生回应。
警告
-显示警告并继续模拟。
错误
-终止模拟并显示错误。
块参数:DiagnosticForOutOfRangeInput |
类型:字符向量 |
价值观:'没有'|'警告'|'错误' |
默认值:“没有” |
尽可能采用全精度定点算法
- 更准确的定点表查找关
(默认)|在
如果可能,使用此复选框可为线性插值查找启用全精度定点算法查找。对于硬件效率高的定点舍入模式,该算法通常可以获得更好的精度。
要启用该参数,请设置:
表尺寸的数量来1
.
插值法来线性点斜式
.
外推方法来剪辑
.
块参数:适用的普瑞斯普鲁斯林interpolation. |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
在上一个断点或断点以上的输入使用上一个表值
- 用于在最后一个断点或上方输入输入的输出方法关
(默认)|在
使用此复选框,指定块用于寻址断点集的最后一个元素及其相应的表值的索引约定。如果输入等于或大于断点数据的最后一个元素,则此复选框是相关的。由于舍入,选择和清除此复选框可能会导致模拟和代码生成之间最后一个断点的结果不同。
复选框 | 块使用的索引 | 间隔分数 |
---|---|---|
选择 | 上断点数据的最后一个元素表和断点选项卡 | 0. |
变明朗 | 上的断点数据的倒数第二个元素表和断点选项卡 | 1 |
给出一个输入你在断点设置的范围内英国石油公司,区间分数F,在0≦范围内F<1,计算如下所示。
假设断点集为[1 4 5]
和输入你是5.5
.如果选中此复选框,则索引为最后一个元素的索引(5.
),区间分数为0。如果清除此复选框,则索引为倒数第二个元素的索引(4.
),区间分数为1。
要启用该参数,请设置:
插值法来线性的
.
外推方法来剪辑
.
块参数:UseLastTableValue |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
对所有输入数据使用一个输入端口
- 仅使用一个输入端口关
(默认)|在
选中此复选框以仅使用一个预期信号的输入端口N
n维表的元素。此选项可用于在具有许多查找表的框图上删除线路杂物。
请注意
选中此复选框时,一个带有标签的输入端口你
出现在街区上。
块参数:UseOneInputPortForAllInputData |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
删除对生成代码中超出范围输入的保护
-删除检查输入值超出范围的代码关
(默认)|在
指定是否包含检查超出范围的输入值的代码。
复选框 | 后果 | 什么时候使用 |
---|---|---|
|
生成的代码不包括要检查超出范围的断点输入的条件语句。 当输入超出范围时,它可能会导致生成代码的未定义行为。 |
用于代码效率 |
|
生成的代码包括条件语句,用于检查超出范围的输入。 |
对于安全性至关重要的应用程序 |
如果您的输入不在范围内,则可以选择在生成的代码中删除对超出范围索引的保护复选框以进行代码效率。默认情况下,清除此复选框。对于安全关键应用程序,请不要选中此复选框。如果你想选择在生成的代码中删除对超出范围索引的保护复选框,首先检查您的型号输入是否在范围内。例如:
清除在生成的代码中删除对超出范围索引的保护复选框。
设置诊断超出范围的输入参数错误
.
在正常模式下模拟模型。
如果有超出范围的错误,修复它们在范围内,并再次运行模拟。
当模拟不再产生超出范围的输入错误时,选择在生成的代码中删除对超出范围索引的保护复选框。
请注意
当你选择在生成的代码中删除对超出范围索引的保护复选框,并且输入超出范围,则生成的代码的行为未定义。
根据您的应用程序,您可以运行以下Model Advisor检查,以验证此复选框的使用情况:
通过产品>嵌入式编码器>标识生成昂贵的超出范围检查代码的查找表块
通过产品>金宝appSimulink检查>建模标准>- 331 - 178 - c /做检查吗>检查查找表块的使用情况
有关模型顾问的更多信息,请参阅运行模型Advisor检查.
另外,要确定是否安全选择此复选框,如果有金宝appSimulink Design Verifier™许可证,考虑使用检测块输入范围违规(金宝app仿真软件设计验证器)查看。
块参数:解除保护 |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
金宝app在代码生成中支持可调表大小
-在生成的代码中启用可调表大小关
(默认)|在
选中此复选框可在生成的代码中启用可调表大小。此选项使您可以更改生成的代码中查找表和断点数据的大小和值,而无需重新生成或重新编译代码。您只能减少查找表和断点数据的大小。
如果你设置插值法来三次样条
,此复选框不可用。
块参数:金宝appSupportTunableTableSize |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
每个维度的最大指标
-每个表维度的最大索引值[]
(默认)|正整数值的标量或向量
例子:[4 6]
对于5×7表
使用零基索引指定每个表维度的最大索引值。您可以使用以下数据类型指定正整数值的标量或向量:
内置的浮点类型:双倍的
和单
内置整数类型:int8
那int16
那INT32.
那uint8.
那uint16
和uint32
有效规范的示例包括:
[4 6]
对于5×7表
[int8 (2) int16 (5) int32 (9)]
对于一张3乘6乘10的桌子
一种金宝appSimulink.Parameter.
它在生成代码时的值比表数据的维小1。有关更多信息,请参阅生成代码中的可调表大小.
要启用此参数,请选择金宝app在代码生成中支持可调表大小.在在生成的代码中调整此参数,请与调谐参数值一起提供新表数据和断点。
块参数:MaximumIndicesForEachDimension |
类型:字符向量 |
价值观:正整数值的标量或向量 |
默认值:'[]' |
表数据
- 表数据的数据类型继承:与输出相同
(默认)|双倍的
|单
|一半
|int8
|uint8.
|int16
|uint16
|INT32.
|uint32
|INT64.
|uint64
|fixdt (16)
|fixdt (1 16 0)
|Fixdt(1,16,2 ^ 0,0)
|<数据类型表达式>
指定表数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。N.你mericType
目的
例如,评估数据类型的表达式,fixdt (1 16 0)
单击显示数据类型助手按钮来显示数据类型的助理,这有助于设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型.
提示
为这些情况指定与输出数据类型不同的表数据类型:
存储使用比输出信号更小类型的表数据所需的内存更低
在两者之间共享预伸缩表数据一天的查找表具有不同输出数据类型的块
在具有不同输出数据类型的块中的生成代码中共享自定义存储表数据
要启用此参数,请设置表数据来自表和断点选项卡,对话
.
块参数:桌子 |
类型:字符向量 |
价值观:继承:同output' |' double' |' single' |' half' |' 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)
|枚举:<类名>
|<数据类型表达式>
指定一组断点数据的数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:与相应的输入相同
内置数据类型的名称,例如,单
例如,数据类型类的名称,例如枚举数据类型类
数据类型对象的名称,例如金宝app仿真软件。N.你mericType
目的
例如,评估数据类型的表达式,fixdt (1 16 0)
提示
断点支持无序枚举数据。金宝app因此,线性搜索也是无序的,这提供了灵活性,但可能会影响性能。搜索从断点中的第一个元素开始。
如果使用以前的索引结果开始索引搜索若选中此复选框,则必须使用按顺序单调递增的数据。此顺序可提高性能。
对于枚举数据,外推方法必须是剪辑
.
该块不支持超出枚举数据的输入输入。金宝app在指定枚举数据时,包括在断点数据集中设置的整个枚举。例如,使用枚举
功能。
这是对此块使用枚举数据的限制:
该块不支持超出枚举数据的输入输入。金宝app在指定枚举数据时,包括在断点数据集中设置的整个枚举。例如,使用枚举
功能。
单击显示数据类型助手按钮来显示数据类型的助理,这有助于设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型.
提示
为这些情况指定与相应的输入数据类型不同的断点数据类型:
使用比输入信号更小的类型存储断点数据所需的内存更低
分享两者之间的预定断点数据一天的查找表具有不同输入数据类型的块
在生成的代码中共享具有不同输入数据类型的块的自定义存储断点数据
如果断点数据类型及其对应的输入数据类型具有定点数据类型,则为它们指定相同的斜率和偏差。
要启用此参数,请设置相应的断点参数的表和断点选项卡,对话
.
块参数:breakpointsfordimension 2datattypestr |…| BreakpointsForDimension30DataTypeStr |
类型:字符向量 |
价值观:'继承:与相应输入相同'|'继承:继承'断点数据''|'双'|'单身'|'半'|'int8'|'uint8'|'int16'|'UINT16'|'int32'| 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'|'' |
默认值:“继承:与相应的输入相同” |
断点最小
—断点数据的最小值[]
|标量
指定一组断点数据可以具有的最小值。默认值是[]
(未指定)。
块参数:BreakpointsForDimension1Min |…| BreakpointsForDimension30Min |
类型:字符向量 |
价值观:标量 |
默认值:'[]' |
断点最大
—断点数据的最大值[]
|标量
指定一组断点数据可以具有的最大值。默认值为[]
(未指定)。
块参数:断点ForDimension1Max |断点ForDimension2Max |…|断点坐标30max |
类型:字符向量 |
价值观:标量 |
默认值:'[]' |
分数
- 分数数据类型继承:通过内部规则继承
(默认)|双倍的
|单
|fixdt (1 16 0)
|<数据类型表达式>
指定分数数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:通过内部规则继承
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。N.你mericType
目的
例如,评估数据类型的表达式,fixdt (1 16 0)
单击显示数据类型助手按钮来显示数据类型的助理,这有助于设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型.
块参数:FractionDataTypeStr |
类型:字符向量 |
价值观:“继承:通过内部规则继承”|“double”|“single”|“fixdt(1,16,0)”|“<数据类型表达式>” |
默认值:'继承:通过内部规则继承' |
中间结果
- 中间结果数据类型继承:与输出相同
(默认)|继承:通过内部规则继承
|双倍的
|单
|int8
|uint8.
|int16
|uint16
|INT32.
|uint32
|INT64.
|uint64
|fixdt (1 16 0)
|Fixdt(1,16,2 ^ 0,0)
|<数据类型表达式>
指定中间结果数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。N.你mericType
目的
例如,评估数据类型的表达式,fixdt (1 16 0)
单击显示数据类型助手按钮来显示数据类型的助理,这有助于设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型.
提示
使用此参数可以指定与表数据或输出数据相比,内部计算的精度更高(或更低)。
块参数:IntermediateResultsDataTypeStr |
类型:字符向量 |
价值观:继承:同output' |' double' |' single' |' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' |' uint64' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式>' |
默认值:“继承:与输出相同” |
输出
-输出数据类型继承:与输入相同
(默认)|双倍的
|单
|一半
|int8
|uint8.
|int16
|uint16
|INT32.
|uint32
|INT64.
|uint64
|fixdt (16)
|fixdt (1 16 0)
|Fixdt(1,16,2 ^ 0,0)
|<数据类型表达式>
指定输出数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:通过反向传播继承
内置数据类型的名称,例如,单
数据类型对象的名称,例如金宝app仿真软件。N.你mericType
目的
例如,评估数据类型的表达式,fixdt (1 16 0)
单击显示数据类型助手按钮来显示数据类型的助理,这有助于设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型.
块参数:仰卧床 |
类型:字符向量 |
价值观:继承:继承表数据'|'继承:与第一次输入'|' double' |' single' |' half' |' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' |' uint64' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式' |
默认值:'继承:与第一个输入相同' |
输出最小
—块可以输出的最小值[]
|标量
指定块输出的最小值。默认值是[]
(未指定)。金宝appSimulink软件使用此值执行:
参数范围检查(见指定块参数的最小值和最大值).
模拟距离检查(见指定信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。
块参数:奥特明 |
类型:字符向量 |
价值观:标量 |
默认值:'[]' |
输出最大
- 块可以输出的最大值[]
|标量
指定块可以输出的最大值。默认值是[]
(未指定)。金宝appSimulink软件使用此值执行:
参数范围检查(见指定块参数的最小值和最大值).
模拟距离检查(见指定信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。
块参数:OutMax |
类型:字符向量 |
价值观:标量 |
默认值:'[]' |
内部规则优先权
-中间计算的内部规则速度
(默认)|精确
指定中间计算的内部规则。选择速度
为更快的计算。如果您这样做,可能会发生精度损失,通常高达2位。
块参数:InternalRulePriority. |
类型:字符向量 |
价值观:'速度'|'精确' |
默认值:'速度' |
要求所有输入具有相同的数据类型
-要求所有输入具有相同的数据类型在
(默认)|关
选择此选项可要求所有输入具有相同的数据类型。
块参数:InputSameDT |
类型:字符向量 |
价值观:”从“|”“ |
默认值:'在' |
根据定点工具的更改锁定数据类型设置
-防止定点工具覆盖数据类型关
(默认)|在
选择此参数可防止定点工具覆盖在此块上指定的数据类型。有关更多信息,请参阅锁定输出数据类型设置(定点设计师).
块参数:LockScale |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
整数舍入模式
-定点操作舍入模式简单的
(默认)|天花板
|会聚性的
|地板上
|最近
|轮
|零
为模拟或执行由模型生成的代码期间发生的定点查找表计算指定舍入模式。有关更多信息,请参阅舍入(定点设计师).
此选项不影响块参数值的舍入。Simulink将这些值舍入为最接近的可表示整数值。要控制块参数的舍入,请使用MATLAB输入表达式金宝app®将函数舍入到“块”对话框的编辑字段中。
块参数:RndMeth |
类型:字符向量 |
价值观:'天花板'|'收敛'|'地板'|'最近'|'圆'|'最简单'|'零' |
默认值:“简单” |
在整数溢出上饱和
-溢出动作的方法关
(默认)|在
行动 | 采取这一行动的理由 | 溢出会发生什么 | 实例 |
---|---|---|---|
选中此复选框( |
您的模型可能存在溢出,您希望在生成的代码中显示饱和保护。 |
溢出会饱和到数据类型所能表示的最小值或最大值。 |
与有符号8位整数相关的溢出可以饱和到-128或127。 |
不要选中此复选框( |
您希望优化生成代码的效率。 您希望避免超出块处理超出范围的信号的方式。有关更多信息,请参阅排除信号范围误差. |
溢出包装为数据类型可表示的适当值。 |
数字130不适用于带符号的8位整数,它将自动换行为-126。 |
提示
如果将模型另存为R2009a或更早版本,则此复选框设置无效,并且不会显示饱和代码。此行为保留向后兼容性。
选中此复选框后,饱和度适用于块上的每个内部操作,而不仅仅是输出或结果。通常,代码生成过程可以检测到何时无法溢出。在这种情况下,代码生成器不会产生饱和码。
块参数:SaturateOnIntegerOverflow |
类型:字符向量 |
价值观:”从“|”“ |
默认值:“关闭” |
数据类型 |
|
直接馈通 |
|
多维信号 |
|
适应信号 |
|
零交叉检测 |
|
假设您有一个查找表,并且希望在生成的代码中使大小可调。当你使用金宝appsimulink.lockuptable.
和金宝appsimulink.breakpoint.
对象来配置生成代码中用于校准的查找表数据,请使用金宝app支持可调大小
属性以启用可调优表大小。如果不使用这些类,请使用金宝app在代码生成中支持可调表大小参数在一个一天的查找表块以启用可调大小的表。
假使,假设:
你定义一个金宝appSimulink.Parameter.
结构在你的模型的预加载函数:
p = 金宝appSimulink.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、 桌子 |
断点1 | p、 BP1 |
断点2 | p、 BP2 |
金宝app在代码生成中支持可调表大小 | 在 |
每个维度的最大指标 | 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}};/*更多代码*/ /*模型输出函数*/ static void ex_lut_nd_tunable_table_output(int_T tid) {/* Lookup_n-D: '/n-D Lookup Table'合并:* import: ' /In1' */Y = look2_binlcpw(U1, U2, p.BP1, p.BP2, p.Table,…p.MaxIdx, p.MaxIdx[0] + 1U);/ *出口:' / out1'* / ex_lut_nd_tunable_table_y.out1 = y;/ * TID需要统一功能界面。* Argument TID不在功能中使用。* / unused_parameter(TID);}
突出显示的代码行指定查找表的可调表大小。您可以更改查找表和断点数据的大小和值,而无需重新生成或重新编译代码。
假设你有一个查询表,上面定义了一个枚举类:
< Simulink. classdef(Enumerati金宝appon) Gears枚举GEAR1(1), GEAR2(2), GEAR3(4), GEAR4(8), SPORTS(16), REVERSE(-1), NEUTRAL(0)结束结束
n-D查找块有以下设置:
尺寸的数量来1
.
表数据值是[5 10 20 40 80 -5 0]
.
断点1值是枚举(齿轮)
.
插值方法为Flat。
对于无序搜索,设置索引搜索法来线性搜索
并清除使用以前的索引结果开始索引搜索复选框。
模拟生成一个矢量[10-5 80]
,对应于GEAR2
那反向
和运动的
.
HDL Coder™提供了影响HDL实现和合成逻辑的额外配置选项。有关1-D查询表块的HDL代码生成支持的信息,请参见金宝appHDL代码生成.
直接查询表(n-D)|prelookup.|插值使用Prelookup|查找表动态|金宝appsimulink.lockuptable.
|金宝appsimulink.breakpoint.
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。