有几种算法可以生成与有限级数匹配的多项式,因为“justhalf”确定了拉格朗日插值是一种技术。
一般来说,如果给定一个具有 n 个点的函数,您可以唯一地定义一个 n-1 次(或有时更小)的多项式,它在每个点上都匹配。
考虑只有两个术语“2, 4”的系列。由于这只有两项(n = 2),因此有一个 1 次多项式将生成该系列。一般形式是y = ax+b,我们需要找到a和b:
y = ax + b
所以
2 = a⋅1 + b => 2 = a + b
4 = a⋅2 + b => 4 = 2a + b
因此 a = 2 且 b = 0。
y = 2x
您可以看到,如果将 x=1 和 x=2 替换,则分别得到值 2 和 4。
如果系列是 2、4、8,那么你需要一个 3-1 = 2 次的多项式,比如 y = ax^2 + bx + c(其中 a 和 b 是新值,不一定相同作为前一种情况的 a 和 b)。
那么你就会知道:
2 = a⋅1² + b⋅1 + c => 2 = a + b + c (i)
4 = a⋅2² + b⋅2 + c => 4 = 4a + 2b + c (ii)
8 = a⋅3² + b⋅3 + c => 8 = 9a + 3b + c (iii)
你可以解这些方程来找到 a、b 和 c:
从 (ii) 中减去 (i):
2 = 3a + b (iv)
从 (iii) 中减去 (ii)
4 = 5a + b (v)
从 (v) 中减去 (iv)
2 = 2a => a = 1
所以从 (iv)
2 = 3⋅1 + b = 3 + b => b = -1
来自 (i)
2 = a + b + c = 1 + -1 + c = c => c = 2
所以多项式 y = ax² + bx + c = x² - x + 2 在三个点上一致
验证:
1² - 1 + 2 = 2
2² - 2 + 2 = 4
3² - 3 + 2 = 8
如我们所愿。
但请注意,这个多项式 y = x² - x + 2 也准确地生成了仅包含前 2 项“2, 4”的系列。所以这个只有两项的数列满足两个多项式,y = 2x 和 y = x² - x + 2。尽管前两个值 2,4 一致,但它们是非常不同的多项式。
一般来说,如果您有一系列 n 项,则有一个唯一的 n-1 次多项式将生成该系列。一般来说,不会有任何次数小于 n-1 的多项式会准确地生成它(你可能会很幸运,但它通常不是真的)。有无数个次数大于 n-1 的多项式将生成数据。
通常在数值分析中,您会尝试生成一个次数小于 n-1 的多项式,以逼近数据(不完全匹配,但可以最大限度地减少误差)。 n-1 阶的精确解是不稳定的,因为输入序列的微小变化会产生非常不同的方程。对于次数小于 n-1 的多项式逼近,情况并非如此。由于许多物理测量具有固有误差,因此使用低次多项式可以最大限度地减少测量误差的影响。
现在让我们考虑系列 2、4、8、16
您可以使用完全相同的方法生成与这些数据点完全匹配的 3 次多项式 (y = ax³ + bx² + cx + d)。这(再次)只是求解一组线性联立方程。这基本上就是拉格朗日算法的工作原理;我们手动求解方程,而不是使用矩阵表示法(如拉格朗日所做的那样)。
但是考虑到 2、4、8、16,大多数人会认为等式是 y = 2x。这不是多项式方程,所以不能表示为多项式。
对于级数 2,4,8,我们推导出多项式 y = x² - x + 2。如果我们尝试外推以找到下一个值,插入 x=4 将得到 y = 4² - 4 + 2 = 14 . (x=5) 之后的项是 y = 5² - 5 + 2 = 22。随着 x 变大,y = x² - x + 2 越来越接近 y = 2x。事实上,没有多项式会像 y = 2x 这样快速增长。
所以...
如果你有 n 个点,你总能找到一个唯一的 n-1 次(或有时更小)多项式,它会为 x=1,2,3..n 准确地生成这 n 个点。这不常用于现实生活中的问题,因为这些解决方案是不稳定的(输入的微小变化会对多项式产生很大的变化)。
如果您有 n 个点,则有无数个 n 次或更大的多项式将产生该级数。这些对于 x = 1, 2, ... n 都有相同的值,但在 n+1, n+2 等项上会有不同。
通常使用次数小于 n-1 的多项式逼近。它通常不会精确拟合,但通常会显示曲线的一般形状。对于 8 点,您可能会尝试找到一个 4 次多项式 (y = ax⁴ + cx³ + dx² + e),它可以最大限度地减少误差。根据经验,经常使用大约 n/2 次的多项式。这更像是艺术而不是科学;通常您对基本(正确)公式是什么有所了解,这有助于选择近似多项式的次数。
多项式近似可以很好地用于插值(在两个数据点之间找到一个值),但对于外插则没有希望。由于我们完全不知道“下一个”值可能是一个系列(它可以是任何东西),因此没有公式可以成功预测它。
我希望这是有用的。生成一个精确生成有限级数的多项式并不难......它只需求解具有 n 个变量的 n 个线性联立方程(xn-1、xn-2 的系数sup>, ... x², x 和常数项)。这就是我们上面所做的以及拉格朗日的工作原理。然而,在物理系统中,它可能不是特别有意义。用户小心。