欢迎光临散文网 会员登陆 & 注册

尝试推导牛顿插值法的差商表是如何构建的

2022-10-11 18:18 作者:SpriteSword  | 我要投稿

        无意中看到一本游戏数值的书,里面讲到牛顿插值,还简单讲了一下它的思想与推导。这引起了我的兴趣,于是也在北航的《工程数值分析引论》里找到类似的内容。但这部分都是作为小引的存在,“假装”推导一下,然后就直接“类似地”,跳到如何构建差商表上。今天就想推导一下,到底是如何得出差商形式的插值公式的。

推导

        假设插值函数用P(x)表示。

        当只有一个节点 (x_0%2C%20y_0) 时,没什么好说的:P_0(x)%3Dy_0,即函数的值都为 y_0.

        如果我们想增加一个节点,而还能利用上一个表达式时,很自然会想到:令

P_1(x)%3DP_0(x)%2Ba_1(x-x_0) 

因为当 x%3Dx_0 时,已经满足 P_0(x_0)%3Dy_0 了,所以令后面的项为零,写成 x-x_0 的形式。

        上式需满足 y_1%3Dy_0%2Ba_1(x-x_0),故代入 (x_1%2C%20y_1)

y_1%3Dy_0%2Ba_1(x_1-x_0)

a_1%3D%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D

于是

P_1(x)%3Dy_0%2B%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D(x-x_0)

是一个直线公式。

        那如果再加一个节点呢?类似地令

P_2(x)%3DP_1(x)%2Ba_2(x-x_0)(x-x_1)

满足 y_2%3DP_2(x_2),即

y_2%3Dy_0%2B%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D(x_2-x_0)%2Ba_2(x_2-x_0)(x_2-x_1)

a_2%3D%5Cfrac%7B%5Cfrac%7By_2-y_0%7D%7Bx_2-x_0%7D-%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D%7D%7Bx_2-x_1%7D

是一个差商形式。

        也可化成:

a_2%3D%5Cfrac%7By_2-y_1%2By_1-y_0-%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D(x_2-x_0)%7D%7B(x_2-x_0)(x_2-x_1)%7D

a_2%3D%5Cfrac%7By_2-y_1%2B(y_1-y_0)(1-%5Cfrac%7Bx_2-x_0%7D%7Bx_1-x_0%7D)%7D%7B(x_2-x_0)(x_2-x_1)%7D

a_2%3D%5Cfrac%7B%5Cfrac%7By_2-y_1%7D%7Bx_2-x_1%7D-%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D%7D%7Bx_2-x_0%7D

这就是我们常用的形式。

        我也想,a_2不一样可以是函数吗?画成图大概这样:

P_1(x_2) 与 a_2(x_2) 一起使式子等于 y_2。但其实 a_2 的任务只是满足一个点,a_2 是常数也可以。

        至此,教材的小引结束,后面就是讲差商表了。但我就是不能理解“类似地”,之后的n阶也一定是这样吗?我再推一下。

        P_3(x)%EF%BC%9A

y_3%20%3D%20y_0%20%2B%0A%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D(x_3-x_0)%2B%0A%5Cfrac%7B%5Cfrac%7By_2-y_0%7D%7Bx_2-x_0%7D-%5Cfrac%7By_1-y_0%7D%7Bx_1-x_0%7D%7D%7Bx_2-x_1%7D(x_3-x_0)(x_3-x_1)%2B%0Aa_3(x_3-x_0)(x_3-x_1)(x_3-x_2)

a_3%20%3D%20%5Cfrac%7B%0A%20%20%20%20%5Cfrac%7B%0A%20%20%20%20%20%20%20%20%5Cfrac%7B%20y_3-y_0%20%7D%7B%20x_3-x_0%20%7D-%0A%20%20%20%20%20%20%20%20%5Cfrac%7B%20y_1-y_0%20%7D%7B%20x_1-x_0%20%7D%0A%20%20%20%20%7D%7B%0A%20%20%20%20%20%20%20%20x_3-x_1%0A%20%20%20%20%7D-%5Cfrac%7B%0A%20%20%20%20%20%20%20%20%5Cfrac%7B%20y_2-y_0%20%7D%7B%20x_2-x_0%20%7D-%0A%20%20%20%20%20%20%20%20%5Cfrac%7B%20y_1-y_0%20%7D%7B%20x_1-x_0%20%7D%0A%20%20%20%20%7D%7B%0A%20%20%20%20%20%20%20%20x_2-x_1%0A%20%20%20%20%7D%0A%7D%7B%0A%20%20%20%20x_3-x_2%0A%7D

比较

        列式的时候已发现,P_n(x) 的最末一项的因子 (x_i-x_j) 相乘,肯定会比前面的项多一个因子 (x_n-x_%7Bn-1%7D),这个将来就是作 a_n 的分母。而前面的项每除以一个因子(按顺序),就会变出一个差商,这很美妙。

        但这个差商形式与我们通常的形式不大一样,因为我不会推通常形式[捂脸]。如果差商通常形式的构建过程画成图是这样:

通用形式

        而我推的形式是:

我推导的形式

每一个必用到前面一列的第一个来构建,私以为还要稍稍好记(通用形式的分母易写错)。

        我相信这2种形式是等价的,但我数学太差不会推,还望大佬指点。


尝试推导牛顿插值法的差商表是如何构建的的评论 (共 条)

分享到微博请遵守国家法律