近似二维函数
金宝appSimulink/查找表
HDL编码器/查找表
1-D、2-D和N - d查找表块计算一个函数在N个变量中的抽样表示
的函数F可以是经验性的。块通过查找或插值使用块参数定义的值表,将输入映射到输出值。块支持平面(常数)、线性(线性点坡度)、拉格朗日(线性拉格朗日)、最近、三次样条和Akima样条插值方法。您可以将这些方法应用于从1到30的任何维度的表。金宝app
在下面的块中,第一个输入标识第一个维度(行)断点,第二个输入标识第二个维度(列)断点,依此类推。
看到旋转或翻转后的端口位置用于描述各种块方向的端口顺序。
当数学和数据类型>使用优化的行主阵列布局算法配置参数设置后,2-D和n-D查查表块行为从列为主改为行为主。对于这些块,列主算法和行主算法可能在输出计算的顺序上有所不同,可能导致数值略有不同。此功能需要金宝app®编码器™或者嵌入式编码器®许可证有关行主要支持的更多信息,请参阅金宝app矩阵和数组的代码生成(金宝app仿真软件编码器).
这些块参数定义断点和表数据。
块参数 | 目的 |
---|---|
表维数 | 指定查找表的维数。 |
断点 | 指定与查找表的每个维度对应的断点向量。 |
表数据 | 定义相关联的输出值集。 |
提示
间隔均匀的断点可以使生成的代码无分割。有关更多信息,请参见fixpt_evenspace_cleanup
和确定有问题的定点操作(嵌入式编码器).
n-D、1-D和2-D查找表块通过根据输入值查找或估计表值生成输出。
块的输入 | n-D查找表块行为 |
---|---|
匹配断点数据集中的索引值 | 在行、列和更高维度断点的交点处输出表值 |
与断点数据集中的索引值不匹配,但在范围内 | 属性插入适当的表值插值法你选择 |
与断点数据集中的索引值不匹配,并且超出范围 | 使用外推法你选择 |
你可以使用使用Prelookup进行插值块的Prelookup块来执行一个n-D查找表块。这种块的组合提供了更大的灵活性,可以为线性插值带来更有效的模拟性能。
当查找操作是不需要插值的数组访问时,使用直接查询表(n-D)块。例如,如果你有一个整数值k
你想要这个k
表的第个元素,y =表(k)
,则没有必要进行插值。
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。金宝app |
例如,大小为的表米xNx……表示维度1的大小是米,维度2的大小为N等等。米必须与第一个断点长度匹配,N必须与第二个断点长度匹配,以此类推。
块参数:NumberOfTableDimensions |
类型:特征向量 |
价值观:'1' | '2' | '3' | '4' | ... | 30 |
默认值:' 2 ' |
数据规范
-表和断点说明方法表和断点
(默认)|查找表对象
从列表中选择:
表和断点
—指定表数据和断点。选择此选项将启用以下参数:
表数据
断点规范
断点1
断点2
编辑表和断点
若要使用输入端口指定表和断点,请参阅来源参数。
查找表对象
-使用现有的查找表(金宝app仿真软件。LookupTable
)对象。选择此选项将启用名称场和编辑表和断点按钮。
块参数:DataSpecification |
类型:特征向量 |
价值观:'查找表对象' |
默认值:“表和断点” |
名称
-查找表对象的名称[]
(默认)|金宝app仿真软件。LookupTable
对象输入查找表的名称(金宝app仿真软件。LookupTable
)对象。如果一个金宝app仿真软件。LookupTable
对象不存在时,单击操作按钮并选择创造.新查找表对象的相应参数将自动使用块信息填充。
要启用该参数,请设置数据规范到查找表对象
.
块参数:可查找对象 |
类型:特征向量 |
价值观:的名字金宝app仿真软件。LookupTable 对象 |
默认值:'' |
断点规范
-断点规范的方法明确的价值观
(默认)|甚至间距
指定是作为显式断点还是作为生成等距断点的参数输入数据。
若要显式指定断点数据,请将该参数设置为明确的价值观
的旁边的文本框中输入断点数据断点参数。
要指定生成间隔均匀的断点的参数,请将该参数设置为甚至间距
的值第一点和间距断点数据的每个维度的参数。块计算从表格数据生成的点数。
要启用该参数,请设置数据规范到表和断点
.
块参数:断点指定 |
类型:特征向量 |
价值观:'显式值' | '偶数间距' |
默认值:“显式值” |
来源
-表和断点数据的来源对话框
(默认)|输入端口
表和断点数据的源,指定为:
对话框
—指定中的表或断点数据价值参数。
输入端口
—通过相关的输入端口指定表或断点数据。通过输入端口,您最多可以指定三组断点数据。要指定三个以上的断点数据,请使用价值参数。
请注意
由于运行时检查,使用输入端口指定表或断点数据可能会对模拟的块性能产生负面影响。
要启用该参数,请设置数据规范到表和断点
.
要启用相关的价值,设置为对话框
.
要启用关联的输入端口,请将此参数设置为输入端口
.
将该参数设置为输入端口
禁用价值字段并隐藏相应的参数数据类型选项卡。
将该参数设置为输入端口
对于任何一个参数禁用编辑表和断点按钮。
块参数:表源 |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金宝appnk文档中。
单击查找表对象的此按钮可以编辑该对象并保存该对象的新值。
插值法
-断点值之间的插值方法线性点斜式
(默认)|平
|最近的
|线性拉格朗日
|三次样条
|Akima花键
当输入落在断点值之间时,块使用相邻的断点插入输出值。有关插值方法的更多信息,请参见插值方法.
如果您选择三次样条
,块只支持标量信号。金宝app其他插值方法支持非标量信号。金宝app
如果您选择Akima花键
,外推法只能是Akima花键
.
当设置为修改的Akima插值方法时,该块不支持:金宝app
行主阵列布局和算法优化的行主阵列布局
缩放的双精度和定点数据类型
金宝app仿真软件。LookupTable
对象
代码生成时配置参数代码生成>接口>金宝app支持非有限数选中此复选框
当设置为修改后的Akima插值方法时,已知当下列条件为真时,该块运行得更慢:
基于代码生成的仿真目标,如加速模式、快速加速模式、保护模型等。
为大断点和数据表大小生成的代码。例如,表大小为629x1601。
块参数:InterpMethod |
类型:特征向量 |
价值观:'线性点斜' | '平坦' | '最近' | '线性拉格朗日' | '三次样条' | 'Akima样条' |
默认值:“线性点斜率” |
外推法
-处理超出断点数据集范围的输入值的方法线性
(默认)|夹子
|三次样条
|Akima花键
选择夹子
,线性
或三次样条
.看到外推方式了解更多信息。
如果外推法是线性
,根据选定的线性插值方法计算外推值。例如,如果插值方法是线性拉格朗日,则外推方法将继承线性拉格朗日方程来计算外推值。
选择三次样条
为外推法,您还必须选择三次样条
为插值法.
选择Akima花键
为外推法,您还必须选择Akima花键
为插值法.
块参数:外部方法 |
类型:特征向量 |
价值观:“线性”|“剪裁”|“三次样条曲线”|“Akima样条曲线” |
默认值:“线性” |
索引搜索方法
-表指数的计算方法等间距的点
(默认)|线性搜索
|二分查找
选择等间距的点
,线性搜索
或二分查找
.每种搜索方法在不同的情况下都有速度优势:
对于间隔均匀的断点集(例如10、20、30,等等),您可以通过选择实现最佳速度等间距的点
计算表索引。
该算法仅使用集合的前两个断点来确定剩余点的偏移量和间距。
请注意
集索引搜索方法到等间距的点
当使用金宝app仿真软件。LookupTable
对象来指定表数据和断点规范参考参数金宝app仿真软件。LookupTable
对象设置为甚至间距
.
对于间距不均匀的断点集,请遵循以下准则:
如果输入信号在时间步长之间变化不大,则选择线性搜索
与使用以前的索引结果开始索引搜索产生最佳性能。
如果每个时间步的输入信号跳转超过一个或两个表格间隔,选择二分查找
产生最佳性能。
索引搜索方法的次优选择可能导致严重依赖查找表的模型性能变慢。
请注意
在以下情况下,生成的代码仅存储第一个断点、间距和断点数:
断点数据是不可调优的。
索引搜索方法是等间距的点
.
块参数:IndexSearchMethod |
类型:特征向量 |
价值观:' | '等间距点' | '线性搜索' |
默认值:“二分法” |
使用以前的索引结果开始索引搜索
—从上一个时间步骤开始使用索引从
(默认)|在…上
如果希望块使用上一时间步中找到的索引开始搜索,请选中此复选框。对于相对于间隔大小变化缓慢的输入,启用此选项可以提高性能。否则,线性搜索和二进制搜索方法可能需要更长的时间,尤其是对于大型断点集。
要启用该参数,请设置索引搜索方法到线性搜索
或二分查找
.
块参数:BeginIndexSearchUsing PreviousIndexResult |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关” |
诊断超出范围的输入
-当输入超出范围时阻止动作没有一个
(默认)|警告
|错误
指定当输入超出范围时是否产生警告或错误。选项包括:
没有一个
-不产生响应。
警告
-显示警告并继续模拟。
错误
—终止模拟并显示错误。
块参数:DiagnosticForOutOfRangeInput |
类型:特征向量 |
价值观:'无' | 'Warning' | 'Error' |
默认值:“没有” |
尽可能采用全精度定点算法
-更精确的定点表查找从
(默认)|在…上
使用此复选框可在可能时为线性插值查找启用全精度定点算法查找。对于硬件效率高的定点四舍五入模式,该算法通常能达到更好的精度。
要启用该参数,请设置:
表维数到1
.
插值法到线性点斜式
.
外推法到夹子
.
块参数:ApplyFullPrecisionForLinearInterpolation |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关” |
使用最后一个表值作为最后一个断点处或以上的输入
-计算在上一个断点或以上的输入输出的方法从
(默认)|在…上
使用此复选框,指定块用于寻址断点集的最后一个元素及其对应的表值的索引约定。如果输入等于或大于断点数据的最后一个元素,则此复选框相关。由于舍入,选中并清除此复选框可能会导致模拟和代码生成之间最后一个断点的结果不同。
复选框 | 块使用的索引 | 分数间隔 |
---|---|---|
选择 | 上的断点数据的最后一个元素表和断点标签 | 0 |
清除 | 上断点数据的最后一个元素旁边表和断点标签 | 1 |
给定一个输入u在断点集的范围内英国石油公司,区间分数f,在0≦范围内f<1,计算如下所示。
假设断点集为(1 4 5)
和输入u是5.5
.如果选中此复选框,则索引为最后一个元素的索引(5
),区间分数为0。如果清除此复选框,则索引为倒数第二个元素的索引(4
)区间分数为1。
要启用该参数,请设置:
插值法到线性
.
外推法到夹子
.
块参数:UseLastTableValue |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关” |
所有输入数据使用一个输入端口
—只能使用一个输入端口从
(默认)|在…上
选择此复选框只使用一个期望信号为n
n维表的宽元素。这个选项对于消除带有许多查找表的框图中的行杂乱很有用。
请注意
当您选择此复选框时,一个带有标签的输入端口u
出现在街区上。
块参数:UseOneInputPortForAllInputData |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关” |
在生成的代码中删除对超出范围输入的保护
-删除检查超出范围的输入值的代码从
(默认)|在…上
指定是否包含检查输入值超出范围的代码。
复选框 | 结果 | 什么时候使用 |
---|---|---|
|
生成的代码不包括用于检查超出范围的断点输入的条件语句。 当输入超出范围时,可能会导致生成代码的未定义行为。 |
代码效率 |
|
生成的代码包括条件语句,用于检查超出范围的输入。 |
对于安全性至关重要的应用程序 |
如果您的输入没有超出范围,您可以选择在生成的代码中删除对超出范围索引的保护复选框用于代码效率。默认情况下,此复选框被清除。对于安全要求严格的应用程序,不要选中此复选框。如果你想选择在生成的代码中删除对超出范围索引的保护复选框,首先检查您的模型输入是否在范围内。例如:
清除在生成的代码中删除对超出范围索引的保护复选框。
设定诊断超出范围的输入参数错误
.
在正常模式下模拟模型。
如果存在超出范围的错误,请将其修复为在范围内,然后再次运行模拟。
当模拟不再生成超出范围的输入错误时,选择在生成的代码中删除对超出范围索引的保护复选框。
请注意
当你选择在生成的代码中删除对超出范围索引的保护复选框,且输入超出范围,则生成的代码的行为未定义。
根据您的应用程序,您可以运行以下Model Advisor检查,以验证此复选框的使用情况:
副产品>嵌入式编码器>识别生成昂贵的超出范围检查代码的查找表块
副产品>金宝app仿真软件检查>建模标准>- 331 - 178 - c /做检查吗>检查查找表块的使用情况
有关Model Advisor的更多信息,请参见运行模型顾问检查.
此外,要确定选中此复选框是否安全,请选择金宝app仿真软件设计校验™许可证,考虑使用检测块输入范围冲突(金宝appSimulink设计验证程序)检查。
块参数:RemoveProtectionInput |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关” |
金宝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的桌子
一个金宝app仿真软件。参数
其在生成代码时的值比表数据的维度小一个。有关详细信息,请参阅生成代码中的可调表大小.
要启用该参数,请选择金宝app在代码生成中支持可调表大小.在生成的代码中调优此参数时,提供新的表数据和断点以及调优的参数值。
块参数:MaximumIndicesForEachDimension |
类型:特征向量 |
价值观:正整数值的标量或向量 |
默认值:“[]” |
表数据
—表数据的数据类型继承:与输出相同
(默认)|双
|仅有一个的
|一半
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt(1,16)
|fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型>表达
指定表数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,仅有一个的
数据类型对象的名称,例如金宝appSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
提示
在这些情况下,指定与输出数据类型不同的表数据类型:
存储使用比输出信号更小类型的表数据所需的内存较低
在两者之间共享预伸缩表数据n-D查找表具有不同输出数据类型的块
在生成的代码中共享具有不同输出数据类型的块的自定义存储表数据
要启用该参数,请设置表数据从表和断点选项卡,对话框
.
块参数:TableDataTypeStr |
类型:特征向量 |
价值观:继承:同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(1,16)
|fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|枚举:<类名>
|<数据类型>表达
指定一组断点数据的数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与相应的输入相同
内置数据类型的名称,例如,仅有一个的
数据类型类的名称,例如,枚举数据类型类
数据类型对象的名称,例如金宝appSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,fixdt(1,16,0)
提示
断点支持无序枚举数据。金宝app因此,线性搜索也是无序的,这提供了灵活性,但可能会影响性能。搜索从断点中的第一个元素开始。
如果使用以前的索引结果开始索引搜索复选框,则必须使用有序单调递增数据。这种排序可以提高性能。
对于枚举数据,外推法必须夹子
.
该块不支持枚举数据的超出范围的输入。金宝app当指定枚举数据时,在断点数据集中包含整个枚举集。例如,使用the枚举
函数。
这是在这个块中使用枚举数据的一个限制:
该块不支持枚举数据的超出范围的输入。金宝app当指定枚举数据时,在断点数据集中包含整个枚举集。例如,使用the枚举
函数。
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
提示
为这些情况指定与相应输入数据类型不同的断点数据类型:
使用比输入信号更小的类型存储断点数据所需的内存更低
在两者之间共享预先设定的断点数据n-D查找表块具有不同的输入数据类型
在生成的代码中共享具有不同输入数据类型的块的自定义存储断点数据
如果断点数据类型及其对应的输入数据类型具有定点数据类型,则为它们指定相同的斜率和偏差。
要启用该参数,需要设置相应的参数断点来自表和断点选项卡,对话框
.
块参数:breakpointsfordimension 2datattypestr |…| BreakpointsForDimension30DataTypeStr |
类型:特征向量 |
价值观:继承:继承from ` Breakpoint data ` | ` double ` | ` single ` | ` half ` | ` int8 ` | ` uint8 ` | ` int16 ` | ` uint16 ` | ` int32 ` | ` uint32 ` | ` int64 ` | ` uint64 ` | ` fixdt(1,16) ` | ` fixdt(1,16,0) ` | ` fixdt(1,16,2^0,0) ` | ` <数据类型表达式> ` |
默认值:'继承:与相应的输入相同' |
最小断点
-断点数据可以具有的最小值[]
|标量
指定一组断点数据可以具有的最小值。默认值为[]
(不明)。
块参数:中断时间间隔1min |中断时间间隔2min |…|中断时间间隔30min |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
最大断点
—断点数据的最大值[]
|标量
指定一组断点数据可以具有的最大值。默认值为[]
(不明)。
块参数:BreakpointsForDimension1Max |…| BreakpointsForDimension30Max |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
小部分
-分数数据类型继承:通过内部规则继承
(默认)|双
|仅有一个的
|fixdt(1,16,0)
|<数据类型>表达
指定分数数据类型。可以将其设置为:
继承数据类型的规则,例如,继承:通过内部规则继承
内置数据类型的名称,例如,仅有一个的
数据类型对象的名称,例如金宝appSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
块参数:FractionDataTypeStr |
类型:特征向量 |
价值观:fixdt(1,16,0)'|'' |
默认值:“继承:通过内部规则继承” |
中间结果
—中间结果数据类型继承:与输出相同
(默认)|继承:通过内部规则继承
|双
|仅有一个的
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型>表达
指定中间结果数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,仅有一个的
数据类型对象的名称,例如金宝appSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,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(1,16)
|fixdt(1,16,0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型>表达
指定输出数据类型。你可以设置为:
继承数据类型的规则,例如,继承:通过反向传播继承
内置数据类型的名称,例如,仅有一个的
数据类型对象的名称,例如金宝appSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,fixdt(1,16,0)
点击显示数据类型助手按钮来显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型.
块参数:OutDataTypeStr |
类型:特征向量 |
价值观:继承:继承表数据'|'继承:与第一次输入'|' double' |' single' |' half' |' int8' |' uint8' |' int16' |' uint16' |' int32' |' uint32' |' int64' |' uint64' |' fixdt(1,16,0)' |' fixdt(1,16,2^0,0)'|'<数据类型表达式' |
默认值:“继承:与第一次输入相同” |
最小输出
—块可以输出的最小值[]
|标量
指定块输出的最小值。默认值为[]
(不明)。金宝appSimulink软件使用这个值来执行:
参数范围检查(参见指定块参数的最小值和最大值).
模拟距离检查(见指定信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。
块参数:OutMin |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
输出最大
—块可输出的最大值[]
|标量
指定块可以输出的最大值。默认值为[]
(不明)。金宝appSimulink软件使用这个值来执行:
参数范围检查(参见指定块参数的最小值和最大值).
模拟距离检查(见指定信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。
块参数:OutMax |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
内部规则优先级
-中间计算的内部规则速度
(默认)|精度
指定中间计算的内部规则。选择速度
用于更快的计算。如果这样做,可能会发生精度损失,通常高达2位。
块参数:InternalRulePriority |
类型:特征向量 |
价值观:“速度”|“精度” |
默认值:“速度” |
要求所有输入具有相同的数据类型
-要求所有输入具有相同的数据类型在…上
(默认)|从
选择此选项可要求所有输入具有相同的数据类型。
块参数:InputSameDT |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“上” |
根据定点工具的更改锁定数据类型设置
—防止定点工具覆盖数据类型从
(默认)|在…上
选择此参数可防止定点工具覆盖在此块上指定的数据类型。有关详细信息,请参阅锁定输出数据类型设置(定点设计师).
块参数:LockScale |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关” |
整数舍入模式
-定点操作的舍入模式简单的
(默认)|天花板
|收敛
|地板
|最近的
|圆形的
|零
为模拟或执行从模型生成的代码期间发生的定点查找表计算指定舍入模式。有关详细信息,请参阅舍入(定点设计师).
此选项不影响块参数值的舍入。金宝appSimulink将这些值舍入到最接近的可表示整数值。要控制块参数的舍入,请使用MATLAB输入表达式®四舍五入功能到块对话框的编辑字段。
块参数:RndMeth |
类型:特征向量 |
价值观:'天花板' | '收敛' | '地板' | '最近' | 'Round' | '最简单' | '零' |
默认值:“简单” |
整数溢出饱和
-溢出作用方法从
(默认)|在…上
行动 | 采取这一行动的原因 | 溢出会发生什么 | 例子 |
---|---|---|---|
选择此复选框( |
您的模型可能存在溢出,您希望在生成的代码中提供显式的饱和保护。 |
溢出会饱和到数据类型所能表示的最小值或最大值。 |
与带符号的8位整数相关联的溢出可以饱和为-128或127。 |
不选择此复选框( |
您希望优化生成代码的效率。 您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围误差. |
溢出包装为数据类型可表示的适当值。 |
数字130不适用于带符号的8位整数,它将自动换行为-126。 |
提示
如果将模型保存为版本R2009a或更早的版本,则此复选框设置没有效果,也不会出现饱和度代码。这种行为保持了向后兼容性。
当您选中此复选框时,饱和度将应用于块上的每个内部操作,而不仅仅是输出或结果。一般来说,代码生成过程可以在不可能溢出时进行检测。在这种情况下,代码生成器不会产生饱和代码。
块参数:饱和积分溢出 |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关” |
数据类型 |
|
直接引线 |
|
多维信号 |
|
可变大小信号 |
|
讨论二阶导数过零检测 |
|
假设您有一个查找表,并希望在生成的代码中使大小可调。当你使用金宝app仿真软件。LookupTable
和金宝app仿真软件。断点
对象来配置生成代码中用于校准的查找表数据,请使用金宝appSupportTunableSize
属性以启用可调优表大小。如果不使用这些类,请使用金宝app在代码生成中支持可调表大小参数在一个n-D查找表块以启用可调的表大小。
假设:
你定义了一个金宝app仿真软件。参数
结构在你的模型的预加载函数:
p=Si金宝appmulink.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='Bus:slLookupTable';p.CoderInfo.StorageClass='ExportedGlobal';%从MATLAB结构Simulink.Bus.createObject(p.Value)创建总线对象slBus1;slLookupTable=slBus1;slLookupTable.Elements(1.DataType='uint32';
这些块参数应用于n-D查找表块。
参数 | 价值 |
---|---|
表维数 | 2 |
表数据 | p.Table |
断点1 | p.BP1 |
断点2 | p.BP2 |
金宝app在代码生成中支持可调表大小 | 在…上 |
每个维度的最大指标 | p、 MaxIdx |
生成的
头文件包含一个类似这样的类型定义。模型
_types.h
typedef结构{uint32_T MaxIdx[2];real_T BP1[3];real_T BP2[3];real_T Table[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'包含:*Inport:' /In1'*Inport:' /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. txt . txt . txt着干活= Y;/* tid是一个统一的函数接口所必需的。*参数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值是枚举('齿轮')
.
插值方法简单。
对于无序搜索,设置索引搜索方法到线性搜索
和明确的使用以前的索引结果开始索引搜索复选框。
模拟生成一个向量(80 5)
,对应于GEAR2
,反向
,体育
.
HDL编码器™ 提供影响HDL实现和合成逻辑的其他配置选项。有关二维查找表块的HDL代码生成支持的信息,请参阅金宝appHDL代码生成.
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。