表查找操作的第二阶段涉及生成与所提供的输入相对应的输出。如果输入与断点数据集中指定的索引值匹配,则块输出相应的值。但是,如果输入不能匹配断点数据集中的索引值,则Simulink金宝app®估计输出。在块参数对话框中,您可以指定在这种情况下如何计算输出。以下部分将描述可用的查找方法。
当输入介于断点值之间时,块使用相邻断点插值输出值。大多数查找表块具有以下可用的插值方法:
平
-禁用插值并使用标题为的舍入操作使用输入下面的
. 有关详细信息,请参阅舍入法.
最近的
-禁用插值并返回与最接近输入的断点对应的表值。如果输入与两个相邻断点的距离相等,则选择索引较高的断点。
线性点斜式
-在相邻的断点之间拟合一条线,并返回该线上对应于输入的点。这是线性点斜式的方程x是输入数据,Y是输出表数据(x我,Y我是表格数据的坐标),并且F是分数。有关x我,Y我看见关于查找表块.
三次样条
-拟合三次样条到相邻的断点,并返回样条上对应于输入的点。
线性拉格朗日
-使用一阶拉格朗日插值拟合相邻断点之间的一条线,并返回该线上对应于输入的点。这是线性拉格朗日方程x是输入数据,Y是输出表数据,并且F是分数。F约束范围为0到小于1([0,1)
)。有关x和Y看见关于查找表块.
如果外推方法是线性的
,根据选定的线性插值方法计算外推值。例如,如果插值方法是线性拉格朗日,则外推方法将继承线性拉格朗日方程来计算外推值。
Akima花键
-拟合Akima样条到相邻的断点,并返回样条上对应于输入的点。插值方法只适用于Akima花键
外推法。改进的Akima三次Hermite插值方法具有以下特性:
它产生的波动比三次样条更少。
它在实时应用中比三次样条更有效。
与三次样条不同,它不会产生超调。
与三次样条曲线不同,它支持非标度信号。金宝app
这个动态查找表块不允许您选择插值方法。这个插值外推
选项查找方法“块参数”对话框的字段执行线性插值。
每种插值方法都包括计算时间和结果平滑度之间的权衡。虽然四舍五入最快,但最不平滑。线性插值比舍入慢,但生成的结果更平滑,除非在坡度发生变化的断点处。三次样条插值是最慢的方法,但会产生平滑的结果。Akima样条线生成最平滑的结果。
当输入超出断点数据集的范围时,该块从断点数据集末尾的一对值推断输出值。大多数查找表块都有以下的推断方法:
剪辑
-禁用外推并返回对应于断点数据集范围结尾的表数据。这并不能防止值超出范围。
线性的
—如果插值方法为线性的
,此外推方法在第一对断点或最后一对断点之间拟合一条线,具体取决于输入是小于第一个断点还是大于最后一个断点。如果插值方法是三次样条
或Akima花键
,此外推方法使用第一个或最后一个断点处插值的斜率拟合线性曲面,具体取决于输入是小于第一个断点还是大于最后一个断点。外推方法返回生成的线性曲面上与输入相对应的点。
如果外推方法是线性的
,根据选定的线性插值方法计算外推值。例如,如果插值方法是线性拉格朗日,则外推方法将继承线性拉格朗日方程来计算外推值。
三次样条
-将三次样条曲线拟合到第一对或最后一对断点,具体取决于输入分别小于第一个断点还是大于最后一个断点。此方法返回与输入对应的样条曲线上的点。
Akima花键
-根据输入是否小于第一个断点或大于最后一个断点,将Akima样条拟合到第一个或最后一对断点。这个方法返回样条上对应于输入的点。
这个动态查找表块不允许您选择外推方法。这个插值外推
选项查找方法“块参数”对话框的字段执行线性外推。
除了这些方法之外,还有一些查找表块,例如n-D查找表块,允许您在遇到需要推断的情况时选择要执行的操作。例如,可以指定当查找表输入超出断点数据集的范围时,Simulink生成金宝app警告或错误。要指定这样的操作,请从超出范围输入的诊断在块参数对话框中列出。
如果输入位于断点值之间或断点数据集的范围之外,并且您没有指定插值或外推,则该块将该值舍入到相邻的断点并返回相应的输出值。例如,动态查找表块用于选择以下舍入方法之一:
使用最近的输入
-返回与最近的输入值对应的输出值。
使用输入下面的
-返回与立即小于输入值的断点值对应的输出值。如果在输入值以下不存在断点值,则返回最接近输入值的断点值。
使用上面的输入
-返回与断点值相对应的输出值,该值立即大于输入值。如果输入值上方不存在断点值,则返回距离输入值最近的断点值。
在接下来的模型这个动态查找表块接受断点数据向量[5]
和给出的表数据向量sinh ([5])
.
使用指定的查找方法和输入时,查找表动态块输出以下值。
查找方法 | 输入 | 输出 | 评论 |
---|---|---|---|
|
|
|
不适用 |
|
|
不适用 |
|
|
|
|
不适用 |
|
|
块使用的值为 |
|
|
|
|
块使用的值为 |
|
|
块使用的值为 |
|
|
|
|
块使用的值为 |
|
|
块使用的值为 |
|
|
|
|
块使用的值为 |