Engee 文档

函数值近似方法

关于函数值的近似

在查表操作的第二步中,将生成与输入值相对应的输出。如果输入与参考点向量中给出的索引值相匹配,程序块就会输出相应的值。但是,如果输入与参考点向量中的索引值不匹配,Engee 将对输出进行评估。您可以在程序块参数窗口中指定在这种情况下如何计算输出。下文将介绍可用的搜索方法。

插值方法

当输入值位于参考点之间时,程序块会使用邻近点对输出值进行插值。大多数查找表块都有以下插值方法:

  • 扁平- 禁用插值,并使用四舍五入运算。 使用下面的输入.

  • 最近- 禁用插值运算,并返回与最靠近输入信号的参考点相对应的表值。如果输入信号与两个相邻参考点的距离相等,则选择指数较高的参考点。

  • 线性点斜率- 在相邻参考点之间画一条直线,并返回该直线上与输入相对应的点。直线方程

    ,

    ,

    其中 是输入数据, 是输出表格数据( 是表格数据的坐标), 是区间的分数(fraction)。

  • 三次样条曲线- 根据相邻参考点构建三次样条曲线,并返回样条曲线上与输入数据相对应的点。

  • 线性拉格朗日- 使用一阶拉格朗日插值法在相邻参考点之间构建一条直线,并返回直线上与输入值相对应的点。直线方程:

    ,

    ,

    其中 是输入数据, 是输出表数据, 是分数, 的值在 [0,1) 范围内。

    如果外推法设置为 线性,则外推值将根据所选的线性插值方法计算。例如,如果内插法为 `线性拉格朗日`则外推法将继承线性拉格朗日方程来计算外推值。

  • 阿基马花键- 根据相邻参考点构建 Akima 样条曲线,并返回样条曲线上与输入值相对应的点。插值法仅适用于 Akima 样条外推法。修正的 Akima 立方赫米特插值法具有以下特性:

    • 与三次样条曲线相比,它的振荡更小;

    • 在实时应用中比三次样条法更有效;

    • 与立方样条法不同,它不会产生过冲。

动态查找表 块不允许选择插值方法。参数 `插值-外推法`参数 查找方法 的选项表示线性插值。

每种插值方法都需要在计算时间和结果的平滑度之间进行权衡。虽然四舍五入最快,但最不平滑。线性插值比四舍五入慢,但结果更平滑,斜率发生变化的参考点除外。三次样条插值是最慢的方法,但能得到平滑的结果。阿基马样条插值法的结果最平滑。

外推法

当输入信号超出参考矢量的范围时,程序块会从参考矢量末端的一对值外推输出值。大多数查找表块都有以下外推方法:

  • 夹子- 禁用外推,并返回与参考点矢量范围末端相对应的表数据。这种方法不能防止超出范围的值。

  • 线性- 如果细分方法是线性的,这种外推法会在第一对参考点或最后一对参考点之间画一条线,具体取决于输入信号是小于第一个参考点还是大于最后一个参考点。如果细分方法为 `三次样条曲线`或 `阿基马花键`则该外推法会根据输入信号是小于第一个参考点还是大于最后一个参考点,利用第一个或最后一个参考点的内插斜率构建一个线性曲面。外推法将在生成的线性曲面上返回一个与输入信号相对应的点。

    如果外推法 `线性`则外推值根据所选线性插值方法计算。例如,如果内插法为 `线性拉格朗日`则外推法继承线性拉格朗日方程来计算外推值。

  • 三次样条曲线- 根据输入信号是小于第一个参考点还是大于最后一个参考点,以第一对参考点或最后一对参考点为基础构建三次样条曲线。该方法会返回与输入信号相对应的样条曲线上的点。

  • 阿基马样条线- 根据输入信号是小于第一个参考点还是大于最后一个参考点,分别基于第一对参考点或最后一对参考点构建一条 Akima 样条曲线。此方法会返回与输入值相对应的样条上的点。

动态查找表 块不允许选择外推法。在 插值-外推法 查找方法 选项执行线性外推法。

四舍五入方法

如果输入值位于参考点之间或参考点矢量范围之外,且未指定内插法或外推法,程序块会将该值舍入到邻近的参考点,并返回相应的输出值。例如,动态查找表 程序块允许您选择以下四舍五入方法之一:

  • 使用最近输入- 返回与最近输入值相对应的输出值。

  • 使用下面的输入- 返回与较低且最接近输入值的参考点值相对应的输出值。如果没有低于输入值的参考点,则返回最接近输入值的参考点值。

  • 使用以上输入- 返回与较大且最接近输入值的参考点值相对应的输出值。如果没有高于输入值的参考点值,则返回最接近输入值的参考点值。