本文介绍了拉格朗日插值法的原理和方法,通过构建多个子多项式,使得每个子多项式在特定的约束点上为非零值,而在其他约束点上为零,最终将这些子多项式组合成满足所有约束条件的目标多项式。文章通过一个具体例子,详细展示了如何构建这些子多项式,并验证了最终多项式满足所有约束条件。
查克·诺里斯不需要拉格朗日插值。他瞪着那些分散的点,它们就会完美地按照他的意愿排列,形成一条纯粹、清澈的直线。
在前一节中,我们看到 n
个点可以完全定义一个次数至多为 n-1
的多项式。在本节中,我们将看到如何从这 n
个点的坐标中找到这样一个多项式的系数。
一种方法是使用拉格朗日插值法。虽然这个维基百科页面看起来令人深刻,但要遵循的步骤实际上非常简单。
我们想要找到一个次数至多为 2
的多项式 P
,它满足以下 3
个约束:
P(-1) = 4
P(2) = 1
P(3) = 4
为此,我们将构建 3 个子多项式(每个约束一个)P₁
、P₂
和 P₃
,它们的次数至多为 2
。
这 3 个子多项式必须遵循以下子约束:
x | P₁(x) | P₂(x) | P₃(x) |
---|---|---|---|
-1 | 4 | 0 | 0 |
2 | 0 | 1 | 0 |
3 | 0 | 0 | 4 |
每个子多项式在所有约束点上都计算为 0
,只有一个点除外。
最后,我们设置:
\[\ P(x) = P_1(x) + P_2(x) + P_3(x)\ \]
让我们快速检查一下,参考前面的选项卡,P
是否满足其所有约束:
\[\ P(-1) = P_1(-1) + P_2(-1) + P_3(-1) = 4 + 0 + 0 = 4\ \]
\[\ P(2) = P_1(2) + P_2(2) + P_3(2) = 0 + 1 + 0 = 1\ \]
\[\ P(3) = P_1(3) + P_2(3) + P_3(3) = 0 + 0 + 4 = 4\ \]
我们刚刚验证了 P
满足其 3 个约束。现在,让我们构建 P₁
、P₂
和 P₃
。
P₁
。使用因式分解形式,我们可以将 P₁
定义为:
\[\ P_1(x) = A(x-2)(x-3)\ \]
P₁
已经满足约束
\[\ P_1(2) = P_1(3) = 0\ \]
现在让我们找到 A
使得
\[\ P_1(-1) = 4\ \]
我们有以下等式:
\[\ P_1(-1) = A(-1 - 2)(-1 - 3) = 4\ \]
这给了我们
\[\ A = \frac{1}{3}\ \]
最后
\[\ P_1(x) = \frac{1}{3}(x-2)(x-3)\ \]
P₁
现在满足其 3 个子约束。
P₂
。使用 因式分解形式,我们可以将 P2
定义为:
\[\ P_2(x) = B(x+1)(x-3)\ \]
P2
已经满足约束
\[\ P_2(-1) = P_2(3) = 0\ \]
现在让我们找到 B
使得
\[\ P_2(2) = 1\ \]
我们有以下等式:
\[\ P_2(2) = B(2 + 1)(2 - 3) = 1\ \]
这给了我们
\[\ B = -\frac{1}{3}\ \]
最后
\[\ P_2(x) = -\frac{1}{3}(x+1)(x-3)\ \]
P₂
现在满足其 3 个子约束。
P3
。使用 因式分解形式,我们可以将 P2
定义为:
\[\ P_3(x) = C(x+1)(x-2)\ \]
P₃
已经满足约束
\[\ P_3(-1) = P_3(2) = 0\ \]
现在让我们找到 C
使得
\[\ P_3(3) = 4\ \]
我们有以下等式:
\[\ P_3(3) = C(3 + 1)(3 - 2) = 4\ \]
这给了我们
\[\ C = 1\ \]
最后
\[\ P_3(x) = (x+1)(x-2)\ \]
P₃
现在满足其 3 个子约束。
如前所述,
\[\ P(x) = P_1(x) + P_2(x) + P_3(x)\ \]
将 P₁
、P₂
和 P₃
替换为它们各自的表达式,我们得到:
\[\ P(x) = \frac{1}{3}(x-2)(x-3) - \frac{1}{3}(x+1)(x-3) + (x+1)(x-2)\ \]
展开和简化后,我们得到:
\[\ P(x) = x^2 - 2x + 1\ \]
让我们快速检查一下 P
是否满足 3 个约束:
\[\ P(-1) = (-1)^2 - 2*(-1) + 1 = 4\ \]
\[\ P(2) = 2^2 - 2*2 + 1 = 1\ \]
\[\ P(3) = 3^2 - 2*3 + 1 = 4\ \]
我们现在知道如何从 n
个约束构建一个次数至多为 n-1
的多项式。
- 原文链接: hackmd.io/@manunalepa/ry...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!