主要内容

插值使用Prelookup

使用预先计算的指数和分数值加速n维函数的近似

  • 插值使用Prelookup块

库:
金宝app模型/查找表

描述

插值使用Prelookup块时最有效的使用Prelookup块。Prelookup块计算指数和区间分数,指定它的输入值u与断点数据集。饲料指数和分数值插值使用Prelookup块插入一个n维表。这两块分布式算法。当组合在一起时,他们执行相同的操作,一天的查找表的综合算法。然而,Prelookup和插值使用Prelookup块提供更大的灵活性,可以提供更高效的模拟和代码生成。有关更多信息,请参见效率的性能

金宝app支持块操作

使用插值使用Prelookup块,您指定一组表数据的值直接在对话框或饲料价值的T输入端口。通常,这些表值对应于断点Prelookup块中指定的数据集。插值使用Prelookup块生成的输出通过查找或估算表值基于指数和区间分数值美联储从Prelookup块。标签的索引和分数间隔出现kf在插值使用Prelookup块图标。

当输入指标和区间分数…… 插值使用Prelookup块……
在断点数据集映射到值 输出表值的交点行,列,和更高的维度断点
在断点不映射到值的数据集,但是范围内吗 插入适当的表值使用插值法你选择
在断点不映射到值的数据集,并且范围 假设输出值使用外推法你选择

块插入表数据的一个子集如何

您可以使用子表选择尺寸参数指定插值只出现在表数据的一个子集。激活这种插值模式,将这个参数设置为一个正整数。这个值定义了维度的数量来选择,从最高的维度表数据的默认列为主的算法。因此,该值必须小于或等于数量的维度表

行算法、插值开始从第一或最低维度表的数据。

为非零值,子表的选择行为是当您选择行布局的优化数学和数据类型>使用算法优化存储阵列布局配置参数。

假设你有3 d表中的数据插值使用Prelookup块。这种行为适用于列为主的算法。

数量的选择尺寸 采取行动阻止 块的外观
0 插入整个表,不激活子表选择 不会改变
1 插入第一两个维度并选择第三维度 显示一个输入端口与标签s3用来选择并插入二维表
2 插入第一个维度,选择第二和第三维度 显示两个输入端口的标签s2s3用来选择并插入一维表

子表选择使用从零开始的索引。对插值表数据的一个子集的一个例子,看看使用Prelookup和插值块

为二维或一天内插子表选择,列为主,行算法的输出计算的顺序可能有所不同,导致轻微不同的数值结果。

港口

输入

全部展开

从零开始的索引,k,包含输入的指定时间间隔u的第一个维度表。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

分数,f,代表的规范化位置输入时间间隔内,k第一维度表的。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

从零开始的索引,k,包含输入的指定时间间隔unth表的维度。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

分数,f,代表的规范化位置输入时间间隔内,k,nth表的维度。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

的输入kf1端口包含索引k和分数f指定为一个总线对象。

依赖关系

要启用这个端口,选择需要索引和分数作为一个公共汽车复选框。

可用的数量kf输入端口的值取决于数量的维度子表选择尺寸参数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点|公共汽车

的输入kfn端口包含索引k和分数f输入的第n个维度,指定为一个总线对象。

依赖关系

要启用这个端口,选择需要索引和分数作为一个公共汽车复选框。

可用的数量kf输入端口的值取决于数量的维度子表选择尺寸参数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点|公共汽车

列为主的算法,块使用的输入,年代+ 1,……年代n港子类型中进行选择和插值。映射到th表的维度。n等于数量的维度

行算法的块使用输入s1, s2,……,年代港子类型中进行选择和插值。映射到th表的维度。等于子表选择尺寸

依赖关系

启用这个港口子表选择尺寸必须是一个正整数小于或等于数量的维度

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点|枚举|公共汽车

表数据值作为输入提供港口T。通常,这些表值对应于断点Prelookup块中指定的数据集。插值使用Prelookup块生成输出通过查找或估算表值基于指数(k)和区间分数(f美联储从Prelookup块)值。

依赖关系

要启用这个端口,设置输入端口

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

输出

全部展开

n维函数的近似,计算插值(或推断)表数据使用值从输入指数,k分数,f

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

参数

全部展开

主要

表数据

指定表数据的维数。的数量的维度定义表的独立变量的数量。

指定… 这样做……

1、2、3、4

从下拉列表中选择值。

更多的维度表

直接输入一个正整数。

表维度,这一块支持的最大数量是30。金宝app

编程使用

块参数:NumberOfTableDimensions
类型:特征向量
价值观:' 1 ' | ' 2 ' | |“3”“4”|…|“30”
默认值:' 2 '

选中此复选框后,结合指数和分数输入在一辆公共汽车。

要启用Prelookup块提供的输入插值使用Prelookup块,设置:

  • 输出选择指数和部分公共汽车

  • 输出总线:<对象名称>,在那里<对象名称>必须是一个有效的总线对象名称访问模型

不管选择此复选框设置,端口总是在nonbus运营模式。

编程使用

块参数:RequireIndexFractionAsBus
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

指定是否进入表数据直接或使用一个查找表对象。如果你将这个参数设置为:

  • 明确的价值观,价值在对话框参数是可见的。

  • 查找表对象,的名字在对话框参数是可见的。

编程使用

块参数:TableSpecification
类型:特征向量
价值观:“显式值”|“查找表对象的
默认值:“显式值”

指定是否在对话框中输入表数据或继承数据从输入端口。如果你设置:

  • 对话框在文本框中,输入表数据价值

  • 输入端口,确认一个上游信号供应表数据表的输入端口

依赖关系

要启用该参数,设置规范明确的价值观

编程使用

块参数:TableSource
类型:特征向量
价值观:“对话框”|“输入端口的
默认值:“对话框”

指定表数据作为一个N- d数组,N的价值吗数量的维度参数。您可以编辑方块图没有指定一个正确尺寸的矩阵通过输入一个空矩阵([])或一个未定义的工作空间变量价值编辑字段。对于如何在MATLAB构建多维数组的信息®,请参阅多维数组

如果你设置输入端口验证一个上游信号供应表数据T输入端口。表数据必须匹配的大小数量的维度表。这个选项的块表属性的继承T输入端口。

使用查找表编辑器来编辑查找表,点击编辑(见编辑查找表)。

依赖关系

启用此参数和表值显式地指定对话框中,您必须设置规范明确的价值观对话框

编程使用

块参数:
类型:特征向量
价值观:标量、矢量、矩阵或一天数组
默认值:sqrt([1:11] *[1:11])的

指定的名称金宝appSimulink.LookupTable对象。一个查找表对象引用模型金宝app®断点对象。如果一个金宝appSimulink.LookupTable对象不存在,点击操作按钮并选择创建。新查找表的相应参数对象会自动填充块信息。

依赖关系

要启用该参数,设置规范查找表对象

编程使用

块参数:LookupTableObject
类型:特征向量
值:金宝appSimulink.LookupTable对象
默认值:
算法

指定用于插入表数据块的方法。您可以选择线性点斜式,,最近的,或线性拉格朗日。看到插值方法为更多的信息。

编程使用

块参数:InterpMethod
类型:特征向量
价值观:“平”|“线性点斜式”|“最近”|“线性拉格朗日”
默认值:“线性点斜式”

指定方法的所有输入块用来推断值超出范围的断点数据集,您可以选择剪辑线性。看到外推方法为更多的信息。

如果外推法线性,外推值计算基于所选择的线性插值方法。例如,如果是线性拉格朗日插值方法,继承了线性拉格朗日方程外推方法计算推断值。

依赖关系

要启用外推法参数设置插值法线性

不支持使用Prelookup插值的块金宝app线性外推时指定的输入或输出信号整数或定点数据类型。

编程使用

块参数:ExtrapMethod
类型:特征向量
价值观:“剪辑”|“线性”
默认值:“线性”

指定如何阻止输入指数(k)和区间分数(f)访问的最后一个元素n维表数据。基于索引值为零。

此复选框如果输入相关指数等于或大于维度表的索引。由于舍入,选择和清除此复选框可能导致不同的结果最后指数之间的模拟和代码生成。

复选框 块的行为

返回最后一个元素的值的一个维度表时:

  • k索引中最后一个表格元素对应的维度

  • f0

返回最后一个元素的值的一个维度表时:

  • k索引中的倒数第二表元素对应的维度

  • f1

依赖关系

此复选框是可见的只有:

  • 插值法线性点斜式线性拉格朗日

  • 外推法剪辑

提示

当您选择有效的索引输入可能达到最后一个索引对于一个插值使用Prelookup块,您还必须选择以上使用最后一个断点输入上限对所有Prelookup块,喂它。这个动作允许模块使用相同的索引约定当访问最后一个元素的断点和表数据集。

编程使用

块参数:ValidIndexMayReachLast
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

指定是否要产生一个警告或错误输入时飞出他的射程。选项包括:

  • 没有一个——无响应。

  • 警告——显示一个警告并继续仿真。

  • 错误——终止模拟和显示一个错误。

编程使用

块参数:DiagnosticForOutOfRangeInput
类型:特征向量
价值观:“没有”|“警告”|“错误”
默认值:“没有”

指定块的子表使用的维数来计算输出。遵循这些规则:

  • 使子表选择,输入一个正整数。

    这个整数必须小于或等于数量的维度表

  • 禁用子表选择,输入0插入整个表。

为非零值,子表的选择行为是当您选择行布局的优化数学和数据类型>使用算法优化存储阵列布局配置参数。

有关更多信息,请参见块插入表数据的一个子集如何

编程使用

块参数:NumSelectionDims
类型:特征向量
价值观:' 0 ' | ' 1 ' | ' 2 ' | |“3”“4”|…|数量的维度表
默认值:' 0 '
代码生成
复选框 结果 什么时候使用

生成的代码不包括条件语句来检查输入超出范围索引。

当输入kf的范围内,这对生成的代码可能会导致未定义的行为。

代码效率

生成的代码包括检查索引超出范围的输入条件语句。

对于安全性至关重要的应用程序

如果没有您的输入范围,您可以选择移除保护超出范围指数生成的代码复选框的代码效率。默认情况下,清除此复选框。对高安全性的应用程序时,不选中此复选框。如果你想选择移除保护超出范围指数生成的代码复选框,首先检查你的模型的输入范围。例如:

  1. 清除移除保护超出范围指数生成的代码复选框。

  2. 设置诊断为超出范围输入参数错误

  3. 在正常模式模拟模型。

  4. 如果有超出范围错误,修复它们的范围和再次运行仿真。

  5. 当仿真不再产生超出范围的输入错误,选择移除保护超出范围指数生成的代码复选框。

    请注意

    当您选择移除保护超出范围指数生成的代码复选框和输入kf的范围,生成的代码的行为是未定义的。

取决于您的应用程序,您可以运行下面的模型顾问检查来验证此复选框的用法:

  • 通过产品>嵌入式编码器>确定生成的查找表块昂贵的超出范围检查代码

  • 通过产品>金宝app仿真软件检查>建模标准>- 331 - 178 - c /做检查吗>检查使用查找表的块

关于顾问模式的更多信息,请参阅运行模式顾问检查

此外,以确定它是安全的选择此复选框,如果你有一个金宝app仿真软件设计校验™许可,考虑使用检测块输入范围违反(金宝app仿真软件设计验证器)检查。

此复选框没有任何影响在生成的代码之一,以下是正确的:

  • Prelookup块索引值插值使用Prelookup块。

    因为索引值Prelookup块总是有效的,没有检查代码是必要的。

  • 输入的数据类型k限制数据有效的索引值。

    例如,无符号整数数据类型保证非负索引值。因此,无符号的输入值k不需要校验码为负值。

编程使用

块参数:RemoveProtectionIndex
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

指定样本以外的价值1。有关更多信息,请参见指定样品时间

依赖关系

这个参数是不可见的,除非它是显式地设置以外的一个值1。欲了解更多,请看不推荐块样品时间

编程使用

块参数:SampleTime
类型:字符串标量或特征向量
默认值:“1”

数据类型

指定表数据类型。你可以将它设置为:

  • 继承了一个数据类型的规则,例如,继承:一样的输出

  • 一个内置的数据类型的名称,例如,

  • 数据类型对象的名称,例如,一个金宝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
类型:特征向量
价值观:标量
默认值:“[]”

指定中间结果数据类型。你可以将它设置为:

  • 继承了一个数据类型的规则,例如,继承:一样的输出

  • 一个内置的数据类型的名称,例如,

  • 数据类型对象的名称,例如,一个金宝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)”| < >数据类型表达的
默认值:继承:作为输入相同的

指定输出数据类型。你可以将它设置为:

  • 继承了一个数据类型的规则,例如,通过反向传播继承:继承

  • 一个内置的数据类型的名称,例如,

  • 数据类型对象的名称,例如,一个金宝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
类型:特征向量
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆”|“简单”|“零”
默认值:“地板”

指定是否溢出饱和或包装。

行动 基本原理 对溢出的影响 例子

选择此复选框()。

你的模型有可能溢出,你要明确的饱和保护在生成的代码中。

溢出的最小值或最大值,数据类型可以表示。

的最大价值int8(签署了8位整数)数据类型可以表示是127。任何块操作结果大于8位整数的最大值会导致溢出。复选框选中,浸透在127块输出。同样,块输出饱和烃至少输出值为-128。

不选中此复选框()。

你想优化生成的代码的效率。

你想避免overspecifying一块如何处理超出范围的信号。有关更多信息,请参见解决信号范围错误

溢出包装到适当值所表示的字符数据类型。

的最大价值int8(签署了8位整数)数据类型可以表示是127。任何块操作结果大于8位整数的最大值会导致溢出。清除复选框,软件解释overflow-causing值int8,它可以产生意想不到的结果。例如,一个块的结果130(二进制1000 0010)表示int8,是-126。

选中此复选框时,饱和适用于每个内部操作,不仅输出或结果。通常,代码生成过程可以发现当溢出是不可能的。在这种情况下,代码生成器不能产生饱和代码。

编程使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

块特征

数据类型

|不动点|整数|

直接引线

是的

多维信号

是的

适应信号

没有

讨论二阶导数过零检测

没有

扩展功能

C / c++代码生成
使用仿真软件生成C和c++代码®编码器™。金宝app

定点转换
设计和模拟使用定点定点系统设计师™。

版本历史

介绍了R2006b