使用预先计算的索引和分数值加速N维函数的逼近
万博1manbetxSimulink /查找表
使用Prelookup块的插值在与预备课块。Prelookup块计算指定其输入值的方式的索引和间隔分数U
与断点数据集相关。使用Prelookup块将生成的索引和分数值输入到插值中,以插值N维表。这两个区块都有分布式算法。当组合在一起时,它们执行与n-D Lookup Table块中集成的算法相同的操作。然而,Prelookup和插值使用Prelookup块提供了更大的灵活性,可以提供更有效的模拟和代码生成。有关更多信息,请参见绩效效率.
若要使用Prelookup块进行插值,请直接在对话框中指定一组表格数据值,或将值输入到T输入端口。通常,这些表值对应于Prelookup块中指定的断点数据集。使用Prelookup块的插值通过基于Prelookup块提供的索引和间隔分数值查找或估计表值来生成输出。索引和区间分数的标签显示为K
和F
在插值使用预查找块图标。
当索引和区间分数的输入。。。 | 使用Prelookup块的插值。。。 |
---|---|
映射到断点数据集中的值 | 在行、列和更高维度断点的交点处输出表值 |
不映射到断点数据集中的值,但在范围内 | 使用插值法你选择 |
不要映射到断点数据集中的值,这些值超出范围 | 属性推断输出值外推法你选择 |
你可以使用子表选择维度的数目参数指定插值仅在表数据的子集上发生。要激活此插值模式,请将此参数设置为正整数。此值定义要选择的维度数,从表数据的最高维度开始。因此,该值必须小于或等于表维数.
假设您的数据库中有三维表格数据插值使用Prelookup块。这种行为适用。
选择维度数 | 积木行动 | 块外观 |
---|---|---|
0 | 插入整个表格,但不激活子表格选择 | 不会改变 |
1. | 插值前两个维度并选择第三个维度 | 显示带有标签的输入端口s3 用来选择和插入二维表格 |
2. | 插值第一个维度并选择第二个和第三个维度 | 显示带有标签的两个输入端口s2 和s3 用来选择和插入1-D表 |
子表选择使用基于零的索引。对于插入表数据子集的示例,请键入sldemo\bpcheck
在MATLAB®命令提示符。
k1
——指数,K
,用于表的第一个维度从零开始的索引,K
,指定包含输入的间隔U
对于表的第一个维度。
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
f1
-分数,F
,用于表的第一个维度小部分F
,表示该区间内输入的归一化位置,K
,用于表的第一个维度。
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
kn
——指数,K
,供N
表的第th维度从零开始的索引,K
,指定包含输入的间隔U
对于N
-表的第个维度。
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
fn
-分数,F
,供N
表的第th维度小部分F
,表示该区间内输入的归一化位置,K
,供N
-表的第个维度。
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
kf1
-包含索引的输入K
和分数F
总线对象
输入到kf1端口包含索引K
和分数F
指定为总线对象。
要启用该端口,请选择需要索引和分数作为总线复选框。
可用的kf
输入端口取决于数量的维度和子表选择维度的数目参数。
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
|公共汽车
肯德基
-包含索引的输入K
和分数F
总线对象
输入到肯德基端口包含索引K
和分数F
对于输入的第n维,指定为总线对象。
要启用该端口,请选择需要索引和分数作为总线复选框。
可用的kf输入端口取决于数量的维度和子表选择维度的数目参数。
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
|公共汽车
山猫
-选择并插入表数据的子集块使用s的输入M
,年代M
1……端口来执行子表内的选择和插值。M
等于数量的维度-子表选择维度的数目.
要启用此端口,请子表选择维度的数目必须是一个正整数小于或等于数量的维度.
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|布尔
|定点
|公共汽车
T
-表数据作为端口输入提供的表数据值T.通常,这些表值对应于Prelookup块中指定的断点数据集。Using Prelookup块通过根据索引查找或估计表值生成输出(K
)和区间分数(F
)值由Prelookup块提供。
要启用此端口,请设置来源到输入端口
.
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
Port_1
- n维函数的近似N维函数的近似值,通过使用输入索引中的值插值(或外推)表格数据计算,K
,和分数,F
.
数据类型:仅有一个的
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
|定点
数量的维度
-表数据维度数2.
(默认值)|介于1和30之间的整数指定表数据必须具有的维度数。这个数量的维度定义表的自变量数。
要指定。。。 | 这样做…… |
---|---|
1、2、3或4 |
从下拉列表中选择该值。 |
更多的表维度 |
直接在字段中输入正整数。 此块支持的最大表维度数为30。万博1manbetx |
块参数:表维数 |
类型:特征向量 |
价值观:'1' | '2' | '3' |'4' | ... | '30' |
违约:'2' |
要求索引和分数作为总线
-索引和分数输入必须在非虚拟总线中组合从
(默认)|在…上
如果选择此参数,子表选择端口将继续在非总线模式下工作。
使预备课块以将输入提供给插值使用Prelookup块,集:
输出选择到指数和分数作为总线
输出到总线:<对象名称>
,在那里<对象名称>
必须是模型可访问的有效总线对象名称
块参数:RequireIndexFractionAsBus |
类型:特征向量 |
价值观:“关”|“开” |
违约:“关” |
规范
—选择表数据的输入方式显式值
(默认)|查找表对象
指定是直接输入表数据还是使用查找表对象。如果设置为:
显式值
这个来源和价值参数在对话框中可见。
查找表对象
这个的名字参数在对话框中可见。
块参数:TableSpecification |
类型:特征向量 |
价值观:' | '查找表对象' |
违约:“显式值” |
来源
-表数据的来源对话
(默认)|输入端口
指定是在对话框中输入表数据还是从输入端口继承数据。如果你设定来源:
对话
,在下方的文本框中输入表格数据价值
输入端口
,验证上游信号是否向表格输入端口提供表格数据
要启用该参数,请设置规范到显式值
.
块参数:表源 |
类型:特征向量 |
价值观:“对话框”|“输入端口” |
违约:“对话” |
价值
-指定表数据值sqrt([1:11]'*[1:11])
(默认)|表数据的多维数组的名字
-现有系统的名称万博1manbetx仿真软件。LookupTable
对象万博1manbetxSimulink.LookupTable对象
指定一个已存在的名称万博1manbetx仿真软件。LookupTable
对象现有查找表对象引用Simulink万博1manbetx®断点对象。
要启用该参数,请设置规范到查找表对象
.
块参数:可查找对象 |
类型:特征向量 |
值:万博1manbetxSimulink.LookupTable对象 |
违约:'' |
插值法
-挑选线性点斜率
,平的
,最近的
或线性拉格朗日
线性点斜率
(默认)|最近的
|平的
|线性拉格朗日
指定块用于插入表数据的方法。您可以选择线性点斜率
,平的
,最近的
或线性拉格朗日
看见插值方法为更多的信息。
块参数:InterpMethod |
类型:特征向量 |
价值观:“平坦”|“线性点斜率”|“最近的”|“线性拉格朗日” |
违约:“线性点斜率” |
外推法
-处理超出断点数据集范围的输入的方法线性
(默认)|剪辑
指定块用于推断位于断点数据集范围之外的所有输入的值的方法。您可以选择剪辑
或线性
看见外推方法为更多的信息。
使外推法参数,设置插值法到线性
.
使用Prelookup块的插值不支持万博1manbetx线性
当输入或输出信号指定整数或定点数据类型时的外推。
块参数:外部方法 |
类型:特征向量 |
价值观:“剪辑”|“线性” |
违约:“线性” |
有效的索引输入可能到达最后一个索引
-允许输入访问表数据的最后元素从
(默认)|在…上
指定索引的块输入方式(K
)和区间分数(F
)访问N-维度表数据。索引值是从零开始的。
复选框 | 块的行为 |
---|---|
|
在以下情况下,返回其表维度中最后一个元素的值:
|
|
在以下情况下,返回其表维度中最后一个元素的值:
|
此复选框仅在以下情况下可见:
插值法是线性
外推法是剪辑
当您选择有效的索引输入可能到达最后一个索引对于使用Prelookup块的插值,还必须选择对于大于或等于上限的输入,使用最后一个断点对所有预备课给它供电的块。此操作允许块在访问其断点和表数据集的最后元素时使用相同的索引约定。
块参数:ValidIndexMayReachLast |
类型:特征向量 |
价值观:“关”|“开” |
违约:“关” |
诊断超出范围的输入
-输入超出范围时阻止操作没有一个
(默认)|警告
|错误
指定输入超出范围时是生成警告还是生成错误。选择包括:
没有一个
-不产生响应。
警告
-显示警告并继续模拟。
错误
—终止模拟并显示错误。
块参数:超出范围输入的诊断 |
类型:特征向量 |
价值观:“无”|“警告”|“错误” |
违约:“没有” |
子表选择维度的数目
-输出计算子表的维数0
(默认值)|正整数,小于或等于表维度数指定块用于计算输出的子表的维数。遵循这些规则:
要启用子表选择,请输入一个正整数。
此整数必须小于或等于表维数.
要禁用子表选择,输入0
插入整个表。
有关更多信息,请参见块如何插值表数据的子集.
块参数:numselection变暗 |
类型:特征向量 |
价值观:'0' | '1' | '2' | '3' | '4' |…|表维度数 |
违约:'0' |
删除对生成代码中超出范围索引的保护
-删除检查超出范围索引输入的代码从
(默认)|在…上
复选框 | 结果 | 何时使用 |
---|---|---|
|
生成的代码不包括检查超出范围的索引输入的条件语句。 当输入 |
为了提高代码效率 |
|
生成的代码包括条件语句,用于检查超出范围的索引输入。 |
用于安全关键应用 |
如果您的输入未超出范围,则可以选择删除对生成代码中超出范围索引的保护代码效率复选框。默认情况下,此复选框被清除。对于安全关键应用程序,不要选中此复选框。如果要选择删除对生成代码中超出范围索引的保护复选框,首先检查您的模型输入是否在范围内。例如:
清除删除对生成代码中超出范围索引的保护复选框。
设置诊断超出范围的输入参数到错误
.
在正常模式下模拟模型。
如果存在超出范围的错误,请将其修复为在范围内,然后再次运行模拟。
当模拟不再生成超出范围的输入错误时,选择删除对生成代码中超出范围索引的保护复选框。
当你选择删除对生成代码中超出范围索引的保护复选框和输入K
或F
超出范围,行为是未定义的生成的代码和模拟使用加速模式。
根据您的应用程序,您可以运行以下Model Advisor检查以验证此复选框的使用情况:
副产品>嵌入式编码器>识别生成昂贵的超出范围检查代码的查找表块
副产品>万博1manbetx模拟链路检查>建模标准>DO-178C/DO-331检查>检查查找表块的使用情况
有关Model Advisor的更多信息,请参见运行模型检查.
当下列情况之一为真时,此复选框对生成的代码没有影响:
这个预备课块将索引值提供给插值使用Prelookup块。
因为索引值来自预备课块始终有效,无需检查代码。
输入的数据类型K
将数据限制为有效的索引值。
例如,无符号整数数据类型保证索引值为非负。因此,的无符号输入值K
不需要检查负数的代码。
块参数:RemoveProtectionIndex |
类型:特征向量 |
价值观:“关”|“开” |
违约:“关” |
采样时间
-将采样时间指定为非采样时间的值-1
-1
(默认)|标量将采样时间指定为-1以外的值。有关详细信息,请参阅指定采样时间.
这个参数是不可见的,除非它被显式地设置为非-1
. 要了解更多信息,请参阅不建议使用采样时间的块.
块参数:SampleTime |
类型:特征向量 |
价值观:标量 |
违约:' 1 ' |
表数据
—表值的数据类型继承:与输出相同
(默认)|继承:从“表数据”继承
|双
|仅有一个的
|int8
|uint8
|int16
|uint16
|int32
|uint32
|fixdt(1,16)
|fixdt (1 16 0)
|fixdt(1,16,2^0,0)
|<数据类型>表达
指定表数据类型。你可以设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,仅有一个的
数据类型对象的名称,例如万博1manbetxSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,fixdt (1 16 0)
点击显示数据类型助手按钮显示数据类型的助理,它帮助您设置表数据类型。
在这些情况下,指定与输出数据类型不同的表数据类型:
存储使用比输出信号更小类型的表数据所需的内存较低
在两个用户之间共享预定标度表数据插值使用Prelookup具有不同输出数据类型的块
中共享自定义存储表数据万博1manbetxSimulink编码器™为具有不同输出数据类型的块生成代码
块参数:TableDataTypeStr |
类型:特征向量 |
价值观:“继承:从表数据继承”|“继承:与输出相同”|“double”|“single”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“fixdt(1,16)”|“fixdt(1,16,0)”|“<数据类型表达式>” |
违约:“继承:与输入相同” |
表最小值
-表数据的最小值[]
(默认)|标量将表数据的最小值指定为有限、实数、双精度标量。默认值为[]
(不明)。
块参数:TableMin |
类型:特征向量 |
价值观:标量 |
违约:'[]' |
表最大
-表数据的最大值[]
(默认)|标量将表数据的最大值指定为有限、实数、双精度标量。默认值为[]
(不明)。
块参数:TableMax |
类型:特征向量 |
价值观:标量 |
违约:'[]' |
中间结果
-中间结果的数据类型继承:通过内部规则继承
(默认)|继承:与输出相同
|双
|仅有一个的
|int8
|uint8
|int16
|uint16
|int32
|uint32
|fixdt(1,16)
|fixdt (1 16 0)
|fixdt(1,16,2^0,0)
|<数据类型>表达
指定中间结果数据类型。您可以将其设置为:
继承数据类型的规则,例如,继承:与输出相同
内置数据类型的名称,例如,仅有一个的
数据类型对象的名称,例如万博1manbetxSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,fixdt (1 16 0)
点击显示数据类型助手按钮显示数据类型的助理,这有助于设置数据类型属性。看见使用数据类型助手指定数据类型为更多的信息。
使用此参数可以为内部计算指定比表数据或输出数据更高的精度。
块参数:中间结果数据类型STR |
类型:特征向量 |
价值观:“继承:通过内部规则继承”|“继承:与输出相同”|“double”|“single”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“fixdt(1,16)”|“fixdt(1,16,0)”|“<数据类型表达式>” |
违约:“继承:与输入相同” |
输出
-输出数据类型继承:从“表数据”继承
(默认)|继承:通过反向传播进行继承
|双
|仅有一个的
|int8
|uint8
|int16
|uint16
|int32
|uint32
|fixdt(1,16)
|fixdt (1 16 0)
|fixdt(1,16,2^0,0)
|<数据类型>表达
指定输出数据类型。你可以设置为:
继承数据类型的规则,例如,继承:通过反向传播进行继承
内置数据类型的名称,例如,仅有一个的
数据类型对象的名称,例如万博1manbetxSimulink.NumericType
对象
计算结果为数据类型的表达式,例如,fixdt (1 16 0)
点击显示数据类型助手按钮显示数据类型的助理,它可以帮助您设置输出数据类型。
看见控制信号数据类型为更多的信息。
块参数:OutDataTypeStr |
类型:特征向量 |
价值观:继承:从表数据中继承| 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'fixdt(1,16,2^0,0)' | '<数据类型表达式>' |
违约:'Inherit:从表数据继承' |
最小输出
-块可以输出的最小值[]
(默认)|标量指定块应输出为有限实值标量的最小值。默认值为[]
(不明)。万博1manbetxSimulink软件使用这个值来执行:
参数范围检查(参见指定块参数的最小值和最大值).
模拟范围检查(参见信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。有关更多信息,请参见使用指定的最小值和最大值进行优化(万博1manbetxSimulink编码器)。
块参数:OutMin |
类型:特征向量 |
价值观:标量 |
违约:'[]' |
输出最大
-块可以输出的最大值[]
(默认)|标量指定块输出为有限实值标量的最大值。默认值为[]
(不明)。万博1manbetxSimulink软件使用这个值来执行:
参数范围检查(参见指定块参数的最小值和最大值).
模拟范围检查(参见信号范围).
定点数据类型的自动缩放。
优化您从模型生成的代码。这种优化可以删除算法代码,并影响某些模拟模式(如SIL或外部模式)的结果。有关更多信息,请参见使用指定的最小值和最大值进行优化(万博1manbetxSimulink编码器)。
块参数:奥特马克斯 |
类型:特征向量 |
价值观:标量 |
违约:'[]' |
内部规则优先级
-中间计算的内部规则速度
(默认)|精度
指定中间计算的内部规则。选择速度
为了更快的计算。如果这样做,可能会发生精度损失,通常高达2位。
块参数:InternalRulePriority |
类型:特征向量 |
价值观:“速度”|“精度” |
违约:“速度” |
根据定点工具的更改锁定数据类型设置
—防止定点工具覆盖数据类型从
(默认)|在…上
整数舍入模式
-定点操作的舍入模式地板
(默认)|收敛
|天花板
|最近的
|轮
|简单的
|零
指定定点操作的舍入模式。有关详细信息,请参阅四舍五入(定点设计师)。
块参数始终舍入到最近的可表示值。要控制块参数的舍入,请在“遮罩”字段中使用MATLAB舍入函数输入表达式。
块参数:RndMeth |
类型:特征向量 |
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆形”|“最简单”|“零” |
违约:“地板” |
整数溢出饱和
-溢出作用方法从
(默认)|在…上
指定溢出是饱和还是换行。
行动 | 基本原理 | 对溢出的影响 | 例子 |
---|---|---|---|
选择此复选框( |
您的模型可能存在溢出,您希望在生成的代码中显示饱和保护。 |
溢出饱和到数据类型可以表示的最小值或最大值。 |
的最大值 |
不选择此复选框( |
您希望优化生成代码的效率。 您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参见检查信号距离错误. |
溢出将换行为可由数据类型表示的适当值。 |
的最大值 |
选中此复选框时,饱和应用于块上的每个内部操作,而不仅仅是输出或结果。通常,代码生成过程可以检测何时无法溢出。在这种情况下,代码生成器不会生成饱和代码。
块参数:饱和积分溢出 |
类型:特征向量 |
价值观:“关”|“开” |
违约:“关” |
数据类型 |
|
多维信号 |
|
适应信号 |
|
有关HDL代码生成的更多信息,请参阅万博1manbetx支撑块(HDL编码器)。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。