拉格朗日插值法与牛顿插值多项式

本文介绍了多项式插值的基本概念,通过拉格朗日插值法和牛顿插值多项式阐述了如何在给定点上找到唯一的多项式函数。讨论了拉格朗日插值法的误差估计,并通过均差概念解释了牛顿插值法的高效计算过程。这两种方法在数值分析和数据拟合中有广泛应用。
摘要由CSDN通过智能技术生成

多项式插值

先有一个函数 f ( x ) f(x) f(x),如果给定在区间 [ a , b ] [a,b] [a,b]上的 n + 1 n+1 n+1个点 a &lt; = x 0 &lt; x 1 &lt; ⋅ ⋅ ⋅ &lt; x n &lt; = b a&lt;=x_0&lt;x_1&lt;···&lt;x_n&lt;=b a<=x0<x1<<xn<=b,已知 f ( x ) f(x) f(x)在这些点的函数值 y 0 , y 1 , ⋅ ⋅ ⋅ , y n y_0,y_1,···,y_n y0,y1,,yn,现在要求一个次数不超过n次的多项式函数P(x),使得 P ( x i ) = y i P(x_i)=y_i P(xi)=yi,这样的一个过程叫做多项式插值。现在问题是,是否一定存在这样的多项式,如果存在,这样的多项式是否唯一?
求解这个问题就等价于求解线性方程组: { a 0 + a 1 x 0 + a 2 x 0 2 + ⋅ ⋅ ⋅ + a n x 0 n = y 0 a 0 + a 1 x 1 + a 2 x 1 2 + ⋅ ⋅ ⋅ + a n x 1 n = y 1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ a 0 + a 1 x n + a 2 x n 2 + ⋅ ⋅ ⋅ + a n x n n = y n \begin{cases} a_0+a_1x_0+a_2x_0^2+···+a_nx_0^n=y_0\\ a_0+a_1x_1+a_2x_1^2+···+a_nx_1^n=y_1\\·····················\\ a_0+a_1x_n+a_2x_n^2+···+a_nx_n^n=y_n \end{cases} a0+a1x0+a2x02++anx0n=y0a0+a1x1+a2x12++anx1n=y1a0+a1xn+a2xn2++anxnn=yn
这是一个关于系数 ( a 0 , a 1 , ⋅ ⋅ ⋅ , a n ) (a_0,a_1,···,a_n) (a0,a1,,an)的线性方程组,考虑它的系数矩阵行列式: ∣ 1 x 0 x 0 2 x 0 3 ⋅ ⋅ ⋅ x 0 n 1 x 1 x 1 2 x 1 3 ⋅ ⋅ ⋅ x 1 n 1 x 2 x 2 2 x 2 3 ⋅ ⋅ ⋅ x 2 n ⋅ ⋅ ⋅ ⋅ ⋅ 1 x n x n 2 x n 3 ⋅ ⋅ ⋅ x n n ∣ \begin{vmatrix} 1 &amp; x_0 &amp;x_0^2 &amp; x_0^3 ··· &amp;x_0^n \\ 1 &amp; x_1 &amp;x_1^2 &amp; x_1^3 ··· &amp;x_1^n \\ 1 &amp; x_2 &amp;x_2^2 &amp; x_2^3 ··· &amp;x_2^n\\ ·&amp;·&amp;·&amp;·&amp;·\\ 1 &amp; x_n &amp;x_n^2 &amp; x_n^3 ··· &amp;x_n^n\\ \end{vmatrix} 1111x0x1x2xnx02x12x22xn2x03x13x23xn3x0nx1nx2nxnn
这是一个范德蒙行列式,它的值为: ∏ 0 &lt; = i &lt; j &lt; = n ( x j − x i ) \prod_{0&lt;=i&lt;j&lt;=n}(x_j-x_i) 0<=i<j<=n(xjxi),由于 x j ≠ x i x_j ≠ x_i xj̸=xi,这个行列式的值不等于零,因此系数矩阵满秩,该线性方程组有且只有一个解。
因此,给定一个点值序列 ( x 0 , y 0 ) , ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x n , y n ) (x_0,y_0),(x_1,y_1),···,(x_n,y_n) (x0,y0),(x1,y1),,(xn,yn),如果这些点的横坐标互不相同,那么这个序列就可以被映射到一个唯一的多项式,反过来,如果给定互不相同的n+1个x,对于任意的两个不同的n次多项式,它们在这些x下的取值一定不完全相同,否则上述方程组就不应该只有一个解。因此点值序列与多项式之间存在一个一一对应的关系。
直接求解上述方程组可以得到结果,但是这个方法效率太低。

拉格朗日插值法

先从最简单的情况出发,即n=1时,这个时候对应的多项式应该是一条直线,由直线的两点式表示法有: L ( x ) = y k x k + 1 − x x k + 1 − x k + y k + 1 x − x k x k + 1 − x k L(x) = y_k\frac{x_{k+1}-x}{x_{k+1}-x_{k}} + y_{k+1}\frac{x-x_k}{x_{k+1}-x_k} L(x)=ykxk+1xkxk+1x+yk+1xk+1xkxxk
观察这个式子,可以看到 L ( x ) L(x) L(x)实际上是两个线性函数 l k ( x ) = x k + 1 − x x k + 1 − x k , l k + 1 ( x ) = x − x k x k + 1 − x k l_k(x)=\frac{x_{k+1}-x}{x_{k+1}-x_k},l_{k+1}(x)=\frac{x-x_k}{x_{k+1}-x_k} l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值