插值使用Prelookup
使用预先计算的指数和分数值加速n维函数的近似
库:
金宝app模型/查找表
描述
插值使用Prelookup块时最有效的使用Prelookup块。Prelookup块计算指数和区间分数,指定它的输入值u
与断点数据集。饲料指数和分数值插值使用Prelookup块插入一个n维表。这两块分布式算法。当组合在一起时,他们执行相同的操作,一天的查找表的综合算法。然而,Prelookup和插值使用Prelookup块提供更大的灵活性,可以提供更高效的模拟和代码生成。有关更多信息,请参见效率的性能。
金宝app支持块操作
使用插值使用Prelookup块,您指定一组表数据的值直接在对话框或饲料价值的T输入端口。通常,这些表值对应于断点Prelookup块中指定的数据集。插值使用Prelookup块生成的输出通过查找或估算表值基于指数和区间分数值美联储从Prelookup块。标签的索引和分数间隔出现k
和f
在插值使用Prelookup块图标。
当输入指标和区间分数…… | 插值使用Prelookup块…… |
---|---|
在断点数据集映射到值 | 输出表值的交点行,列,和更高的维度断点 |
在断点不映射到值的数据集,但是范围内吗 | 插入适当的表值使用插值法你选择 |
在断点不映射到值的数据集,并且范围 | 假设输出值使用外推法你选择 |
块插入表数据的一个子集如何
您可以使用子表选择尺寸参数指定插值只出现在表数据的一个子集。激活这种插值模式,将这个参数设置为一个正整数。这个值定义了维度的数量来选择,从最高的维度表数据的默认列为主的算法。因此,该值必须小于或等于数量的维度表。
行算法、插值开始从第一或最低维度表的数据。
为非零值,子表的选择行为是当您选择行布局的优化数学和数据类型>使用算法优化存储阵列布局配置参数。
假设你有3 d表中的数据插值使用Prelookup块。这种行为适用于列为主的算法。
数量的选择尺寸 | 采取行动阻止 | 块的外观 |
---|---|---|
0 | 插入整个表,不激活子表选择 | 不会改变 |
1 | 插入第一两个维度并选择第三维度 | 显示一个输入端口与标签s3 用来选择并插入二维表 |
2 | 插入第一个维度,选择第二和第三维度 | 显示两个输入端口的标签s2 和s3 用来选择并插入一维表 |
子表选择使用从零开始的索引。对插值表数据的一个子集的一个例子,看看使用Prelookup和插值块。
为二维或一天内插子表选择,列为主,行算法的输出计算的顺序可能有所不同,导致轻微不同的数值结果。
例子
港口
输入
k1- - - - - -指数,k
第一维度表的
标量| |向量矩阵
从零开始的索引,k
,包含输入的指定时间间隔u
的第一个维度表。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
f1- - - - - -分数,f
第一维度表的
标量| |向量矩阵
分数,f
,代表的规范化位置输入时间间隔内,k
第一维度表的。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
kn- - - - - -指数,k
,n
th表的维度
标量| |向量矩阵
从零开始的索引,k
,包含输入的指定时间间隔u
为n
th表的维度。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
fn- - - - - -分数,f
,n
th表的维度
标量| |向量矩阵
分数,f
,代表的规范化位置输入时间间隔内,k
,n
th表的维度。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
kf1- - - - - -输入包含索引k
和分数f
总线对象
的输入kf1端口包含索引k
和分数f
指定为一个总线对象。
依赖关系
要启用这个端口,选择需要索引和分数作为一个公共汽车复选框。
可用的数量kf
输入端口的值取决于数量的维度和子表选择尺寸参数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
|公共汽车
kfn- - - - - -输入包含索引k
和分数f
总线对象
的输入kfn端口包含索引k
和分数f
输入的第n个维度,指定为一个总线对象。
依赖关系
要启用这个端口,选择需要索引和分数作为一个公共汽车复选框。
可用的数量kf输入端口的值取决于数量的维度和子表选择尺寸参数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
|公共汽车
sm- - - - - -选择并插入表数据的一个子集
标量| |向量矩阵
列为主的算法,块使用的输入米,年代米+ 1,……年代n港子类型中进行选择和插值。米
映射到米th表的维度。n等于数量的维度。
行算法的块使用输入s1, s2,……,年代米港子类型中进行选择和插值。米
映射到米th表的维度。米等于子表选择尺寸。
依赖关系
启用这个港口子表选择尺寸必须是一个正整数小于或等于数量的维度。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|布尔
|不动点
|枚举
|公共汽车
T- - - - - -表数据
标量向量矩阵| | |天数组
表数据值作为输入提供港口T。通常,这些表值对应于断点Prelookup块中指定的数据集。插值使用Prelookup块生成输出通过查找或估算表值基于指数(k
)和区间分数(f
美联储从Prelookup块)值。
依赖关系
要启用这个端口,设置源来输入端口
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
输出
Port_1- - - - - -n维函数的近似
标量| |向量矩阵
n维函数的近似,计算插值(或推断)表数据使用值从输入指数,k
分数,f
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|不动点
参数
主要
表数据数量的维度- - - - - -表数据维度的数量
2
(默认)|整数1到30之间
指定表数据的维数。的数量的维度定义表的独立变量的数量。
指定… | 这样做…… |
---|---|
1、2、3、4 |
从下拉列表中选择值。 |
更多的维度表 |
直接输入一个正整数。 表维度,这一块支持的最大数量是30。金宝app |
编程使用
块参数:NumberOfTableDimensions |
类型:特征向量 |
价值观:' 1 ' | ' 2 ' | |“3”“4”|…|“30” |
默认值:' 2 ' |
需要索引和分数作为总线- - - - - -指数和分数的输入可以结合在一辆公共汽车
从
(默认)|在
选中此复选框后,结合指数和分数输入在一辆公共汽车。
要启用Prelookup块提供的输入插值使用Prelookup块,设置:
输出选择来
指数和部分公共汽车
输出来
总线:<对象名称>
,在那里<对象名称>
必须是一个有效的总线对象名称访问模型
不管选择此复选框设置,端口总是在nonbus运营模式。
编程使用
块参数:RequireIndexFractionAsBus |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关闭” |
规范- - - - - -选择如何输入表数据
明确的价值观
(默认)|查找表对象
指定是否进入表数据直接或使用一个查找表对象。如果你将这个参数设置为:
明确的价值观
,源和价值在对话框参数是可见的。查找表对象
,的名字在对话框参数是可见的。
编程使用
块参数:TableSpecification |
类型:特征向量 |
价值观:“显式值”|“查找表对象的 |
默认值:“显式值” |
源- - - - - -源表数据
对话框
(默认)|输入端口
指定是否在对话框中输入表数据或继承数据从输入端口。如果你设置源:
对话框
在文本框中,输入表数据价值输入端口
,确认一个上游信号供应表数据表的输入端口
依赖关系
要启用该参数,设置规范来明确的价值观
。
编程使用
块参数:TableSource |
类型:特征向量 |
价值观:“对话框”|“输入端口的 |
默认值:“对话框” |
价值- - - - - -指定表数据值
√(1:11)‘* [1:11])
(默认)|表数据的多维数组
指定表数据作为一个N
- d数组,N
的价值吗数量的维度参数。您可以编辑方块图没有指定一个正确尺寸的矩阵通过输入一个空矩阵([]
)或一个未定义的工作空间变量价值编辑字段。对于如何在MATLAB构建多维数组的信息®,请参阅多维数组。
如果你设置源来输入端口
验证一个上游信号供应表数据T输入端口。表数据必须匹配的大小数量的维度表。这个选项的块表属性的继承T输入端口。
使用查找表编辑器来编辑查找表,点击编辑(见编辑查找表)。
依赖关系
启用此参数和表值显式地指定对话框中,您必须设置规范来明确的价值观
和源来对话框
。
编程使用
块参数:表 |
类型:特征向量 |
价值观:标量、矢量、矩阵或一天数组 |
默认值:sqrt([1:11] *[1:11])的 |
的名字- - - - - -的名字金宝appSimulink.LookupTable
对象
金宝appSimulink.LookupTable对象
指定的名称金宝appSimulink.LookupTable
对象。一个查找表对象引用模型金宝app®断点对象。如果一个金宝appSimulink.LookupTable
对象不存在,点击操作按钮并选择创建。新查找表的相应参数对象会自动填充块信息。
依赖关系
要启用该参数,设置规范来查找表对象
。
编程使用
块参数:LookupTableObject |
类型:特征向量 |
值:金宝appSimulink.LookupTable对象 |
默认值:” |
插值法- - - - - -选择线性点斜式
,平
,最近的
,或线性拉格朗日
线性点斜式
(默认)|最近的
|平
|线性拉格朗日
指定用于插入表数据块的方法。您可以选择线性点斜式
,平
,最近的
,或线性拉格朗日
。看到插值方法为更多的信息。
编程使用
块参数:InterpMethod |
类型:特征向量 |
价值观:“平”|“线性点斜式”|“最近”|“线性拉格朗日” |
默认值:“线性点斜式” |
外推法- - - - - -方法处理输入超出范围的断点数据集
线性
(默认)|剪辑
指定方法的所有输入块用来推断值超出范围的断点数据集,您可以选择剪辑
或线性
。看到外推方法为更多的信息。
如果外推法线性
,外推值计算基于所选择的线性插值方法。例如,如果是线性拉格朗日插值方法,继承了线性拉格朗日方程外推方法计算推断值。
依赖关系
要启用外推法参数设置插值法来线性
。
不支持使用Prelookup插值的块金宝app线性
外推时指定的输入或输出信号整数或定点数据类型。
编程使用
块参数:ExtrapMethod |
类型:特征向量 |
价值观:“剪辑”|“线性” |
默认值:“线性” |
有效的索引输入可能达到最后一个索引- - - - - -允许输入访问表数据的最后一个元素
从
(默认)|在
指定如何阻止输入指数(k
)和区间分数(f
)访问的最后一个元素n维表数据。基于索引值为零。
此复选框如果输入相关指数等于或大于维度表的索引。由于舍入,选择和清除此复选框可能导致不同的结果最后指数之间的模拟和代码生成。
复选框 | 块的行为 |
---|---|
|
返回最后一个元素的值的一个维度表时:
|
|
返回最后一个元素的值的一个维度表时:
|
依赖关系
此复选框是可见的只有:
插值法是
线性点斜式
或线性拉格朗日
外推法是
剪辑
提示
当您选择有效的索引输入可能达到最后一个索引对于一个插值使用Prelookup块,您还必须选择以上使用最后一个断点输入上限对所有Prelookup块,喂它。这个动作允许模块使用相同的索引约定当访问最后一个元素的断点和表数据集。
编程使用
块参数:ValidIndexMayReachLast |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关闭” |
诊断为超出范围输入- - - - - -块操作时输入范围
没有一个
(默认)|警告
|错误
指定是否要产生一个警告或错误输入时飞出他的射程。选项包括:
没有一个
——无响应。警告
——显示一个警告并继续仿真。错误
——终止模拟和显示一个错误。
编程使用
块参数:DiagnosticForOutOfRangeInput |
类型:特征向量 |
价值观:“没有”|“警告”|“错误” |
默认值:“没有” |
子表选择尺寸- - - - - -的维数计算子表的输出
0
(默认)|正整数,小于或等于表维度的数量
指定块的子表使用的维数来计算输出。遵循这些规则:
使子表选择,输入一个正整数。
这个整数必须小于或等于数量的维度表。
禁用子表选择,输入
0
插入整个表。
为非零值,子表的选择行为是当您选择行布局的优化数学和数据类型>使用算法优化存储阵列布局配置参数。
有关更多信息,请参见块插入表数据的一个子集如何。
编程使用
块参数:NumSelectionDims |
类型:特征向量 |
价值观:' 0 ' | ' 1 ' | ' 2 ' | |“3”“4”|…|数量的维度表 |
默认值:' 0 ' |
移除保护超出范围指数生成的代码- - - - - -删除代码,检查输入超出范围索引
从
(默认)|在
复选框 | 结果 | 什么时候使用 |
---|---|---|
|
生成的代码不包括条件语句来检查输入超出范围索引。 当输入 |
代码效率 |
|
生成的代码包括检查索引超出范围的输入条件语句。 |
对于安全性至关重要的应用程序 |
如果没有您的输入范围,您可以选择移除保护超出范围指数生成的代码复选框的代码效率。默认情况下,清除此复选框。对高安全性的应用程序时,不选中此复选框。如果你想选择移除保护超出范围指数生成的代码复选框,首先检查你的模型的输入范围。例如:
清除移除保护超出范围指数生成的代码复选框。
设置诊断为超出范围输入参数
错误
。在正常模式模拟模型。
如果有超出范围错误,修复它们的范围和再次运行仿真。
当仿真不再产生超出范围的输入错误,选择移除保护超出范围指数生成的代码复选框。
请注意
当您选择移除保护超出范围指数生成的代码复选框和输入
k
或f
的范围,生成的代码的行为是未定义的。
取决于您的应用程序,您可以运行下面的模型顾问检查来验证此复选框的用法:
通过产品>嵌入式编码器>确定生成的查找表块昂贵的超出范围检查代码
通过产品>金宝app仿真软件检查>建模标准>- 331 - 178 - c /做检查吗>检查使用查找表的块
关于顾问模式的更多信息,请参阅运行模式顾问检查。
此外,以确定它是安全的选择此复选框,如果你有一个金宝app仿真软件设计校验™许可,考虑使用检测块输入范围违反(金宝app仿真软件设计验证器)检查。
此复选框没有任何影响在生成的代码之一,以下是正确的:
的Prelookup块索引值插值使用Prelookup块。
因为索引值Prelookup块总是有效的,没有检查代码是必要的。
输入的数据类型
k
限制数据有效的索引值。例如,无符号整数数据类型保证非负索引值。因此,无符号的输入值
k
不需要校验码为负值。
编程使用
块参数:RemoveProtectionIndex |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关闭” |
数据类型
表数据- - - - - -数据类型的表值
继承:一样的输出
(默认)|继承:继承的表数据
|双
|单
|int8
|uint8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|fixdt (16)
|fixdt (1 16 0)
|fixdt(1, 16日2 ^ 0,0)
|<数据类型>表达
指定表数据类型。你可以将它设置为:
继承了一个数据类型的规则,例如,
继承:一样的输出
一个内置的数据类型的名称,例如,
单
数据类型对象的名称,例如,一个
金宝appSimulink.NumericType
对象一个表达式计算一个数据类型,例如,
fixdt (1 16 0)
单击显示数据类型的助理按钮来显示数据类型的助理帮助你设置表数据类型。
提示
指定表数据类型不同于这些情况下的输出数据类型:
降低内存需求存储表数据类型使用小于输出信号
在两个之间共享预分频表数据插值使用Prelookup块与不同的输出数据类型
共享自定义存储表中的数据金宝app仿真软件编码器™生成的代码块的不同的输出数据类型
编程使用
块参数:TableDataTypeStr |
类型:特征向量 |
价值观:“继承:继承表数据”|“继承:一样输出”|“双重”|“单一”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|“uint64”|“fixdt (16) |“fixdt(0) 1, 16日”|“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)
|<数据类型>表达
指定中间结果数据类型。你可以将它设置为:
继承了一个数据类型的规则,例如,
继承:一样的输出
一个内置的数据类型的名称,例如,
单
数据类型对象的名称,例如,一个
金宝appSimulink.NumericType
对象一个表达式计算一个数据类型,例如,
fixdt (1 16 0)
的数据类型的助理帮助你设置数据属性。使用数据类型的助理,点击显示数据类型的助理。有关更多信息,请参见使用数据类型指定数据类型的助理。
提示
使用这个参数指定为内部计算精度高于表数据和输出数据。
编程使用
块参数:IntermediateResultsDataTypeStr |
类型:特征向量 |
价值观:“继承:继承通过内部规则”|“继承:一样输出”|“双重”|“单一”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|“uint64”|“fixdt (16) |“fixdt(0) 1, 16日”|“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)
|<数据类型>表达
指定输出数据类型。你可以将它设置为:
继承了一个数据类型的规则,例如,
通过反向传播继承:继承
一个内置的数据类型的名称,例如,
单
数据类型对象的名称,例如,一个
金宝appSimulink.NumericType
对象一个表达式计算一个数据类型,例如,
fixdt (1 16 0)
单击显示数据类型的助理按钮来显示数据类型的助理帮助您设置输出数据类型。
看到控制信号的数据类型为更多的信息。
编程使用
块参数:OutDataTypeStr |
类型:特征向量 |
价值观:“继承:继承通过反向传播”|“继承:继承表数据”|“双重”|“单一”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|“uint64”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“fixdt(1, 16日2 ^ 0,0)”| < >数据类型表达的 |
默认值:“继承:继承表数据” |
输出最小- - - - - -最小值块可以输出
[]
(默认)|标量
指定块的最小值应该输出有限,实值标量。默认值是[]
(不明)。金宝app仿真软件软件使用这个值来执行:
检查(见参数范围为块参数指定最小值和最大值)。
模拟范围检查(见指定信号范围)。
定点的自动扩展数据类型。
优化的代码生成模型。这种优化可以删除算法代码,影响结果的一些仿真模式如银或外部模式。有关更多信息,请参见优化使用指定的最小和最大值(嵌入式编码)。
编程使用
块参数:OutMin |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
输出最大- - - - - -最大值块可以输出
[]
(默认)|标量
指定块应该输出的最大值作为有限,实值标量。默认值是[]
(不明)。金宝app仿真软件软件使用这个值来执行:
检查(见参数范围为块参数指定最小值和最大值)。
模拟范围检查(见指定信号范围)。
定点的自动扩展数据类型。
优化的代码生成模型。这种优化可以删除算法代码,影响结果的一些仿真模式如银或外部模式。有关更多信息,请参见优化使用指定的最小和最大值(嵌入式编码)。
编程使用
块参数:OutMax |
类型:特征向量 |
价值观:标量 |
默认值:“[]” |
内部规则优先级- - - - - -内部为中级水平的计算规则
速度
(默认)|精度
指定中间的内部规则计算。选择速度
为更快的计算。如果你这样做,准确性可能发生的损失,通常2位。
编程使用
块参数:InternalRulePriority |
类型:特征向量 |
价值观:“速度”|“精度” |
默认值:“速度” |
锁对变化的数据类型设置定点工具- - - - - -防止定点工具最重要的数据类型
从
(默认)|在
选择这个参数来防止定点工具覆盖您所指定的数据类型在这个块。有关更多信息,请参见锁输出数据类型设置(定点设计师)。
编程使用
块参数:LockScale |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关闭” |
整数舍入模式- - - - - -舍入为定点操作模式
地板上
(默认)|收敛
|天花板
|最近的
|轮
|简单的
|零
指定定点运算的舍入模式。有关更多信息,请参见舍入(定点设计师)。
块参数都调整到最近的价值。控制块的舍入参数,输入一个表达式在面具领域使用MATLAB的函数。
编程使用
块参数:RndMeth |
类型:特征向量 |
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆”|“简单”|“零” |
默认值:“地板” |
浸透在整数溢出- - - - - -溢出的方法操作
从
(默认)|在
指定是否溢出饱和或包装。
行动 | 基本原理 | 对溢出的影响 | 例子 |
---|---|---|---|
选择此复选框( |
你的模型有可能溢出,你要明确的饱和保护在生成的代码中。 |
溢出的最小值或最大值,数据类型可以表示。 |
的最大价值 |
不选中此复选框( |
你想优化生成的代码的效率。 你想避免overspecifying一块如何处理超出范围的信号。有关更多信息,请参见解决信号范围错误。 |
溢出包装到适当值所表示的字符数据类型。 |
的最大价值 |
选中此复选框时,饱和适用于每个内部操作,不仅输出或结果。通常,代码生成过程可以发现当溢出是不可能的。在这种情况下,代码生成器不能产生饱和代码。
编程使用
块参数:SaturateOnIntegerOverflow |
类型:特征向量 |
价值观:”从“|”“ |
默认值:“关闭” |
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|
扩展功能
C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app
PLC的代码生成
使用仿真软件生成结构化文本代码®PLC编码器™。金宝app
金宝app仿真软件PLC编码器™查找表街区提供了有限的支金宝app持。编码器不支持:金宝app
维数大于2
三次样条插值法
开始索引搜索使用前一个索引模式
三次样条曲线外推法
定点转换
设计和模拟使用定点定点系统设计师™。
版本历史
介绍了R2006b
另请参阅
主题
- 查找表街区
- 解剖一个查找表
- 输入断点和表数据
- 选择一个查找表的指导方针
- 列为主的布局与查找表行布局模型的转换(金宝app仿真软件编码器)
- 插值与子表选择算法行阵列布局(金宝app仿真软件编码器)
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。