计算方法-插值法-Lagrange插值.ppt
文本预览下载声明
以n+1个n次基本插值多项式 为基础,可直接写出满足插值条件 的n次代数插值多项式: … … … 是次数不超过n次的多项式 。 (2.8) 由于每个插值基函数 都是n次多项式,所以他们的线性组合 定义:称形如(2.8)式的插值多项式为n次拉格朗日插值多项式。并记为 。 … 记: 得其导数在xk 点的值为: 于是: (2.11) (2.10) Home … … … Lagrange插值的例子 例2.2 已知y=f(x)的函数表 求线性插值多项式, 并计算x=1.5 的值 解: 由线性插值多项式公式得 x 1 3 y 1 2 例2.3 已知x=1, 4, 9 的平方根值, 用抛物插值公式, 求 的值 x 1 4 9 y 1 2 3 解:函数表为 例2.4 已知函数y=f(x)在节点上满足 解方程组, 得 a0=1,a1=-3,a2 = 2 , p(x) = 1 - 3x + 2x2 x 0 1 2 y 1 0 3 用待定系数法,求二次多项式 p(x) = a0 + a1x + a2x2 使之满足p(xi) = yi , i = 0, 1, 2 解: 将各节点值依次代入所求多项式, 得 1= a0 + a1*0 + a202 0= a0 + a1*1 + a2*12 3= a0 + a1*2 + a2*22 例2.5 求过点(0,1),(1,2),(2,3)的三点插值多项式 解:函数表为 问题:为什么得到了一个1次方程? x 0 1 2 y 1 2 3 由Lagrange 插值公式,得 回答:因为插值表给出的3个点共线。 例2.6 已知f (x)的观测数据,求Lagrange插值多项式 解: 4个点可构造3次Lagrange插值多项式,基函数: x 0 1 2 4 f(x) 1 9 23 3 Lagrange插值多项式为: 验证了 例2.7 已知f(x)的观测数据 构造插值多项式 解: 四个点可以构造三次插值多项式, 将数据 代入插值公式,有 这个例子说明p(x)的项数不超过n+1项,但可以有缺项。 x 1 2 3 4 f(x) 0 -5 -6 3 拉格朗日插值算法实现 使用C语言实现 使用Matlab实现 Home Lagrange插值的误差 x0 x1 xi xi+1 xn-1xn y=f(x) y=p(x) a b 在插值区间?a, b?上用插值多项式p(x)近似代替f(x), 除了在插值节点xi上没有误差外,在其它点上有误差。 若记 R (x) = f(x) - p(x) ,则 R(x) 就是用 p(x) 近似代替 f(x) 时的截断误差, 或称插值余项。 插值多项式的误差 定理2 设f(x)在?a, b?有n+1阶导数, x0, x1,…, xn 为?a, b?上n+1个互异节点, p(x)为满足 p(xi) = f(xi) (i=0,1,2, …, n) 其中 的n 次插值多项式,那么对于任何x ? ?a, b?有插值余项 说明:若n+1阶导数不存在,则 无法使用该公式估计误差 证明:由于P(x)是f(x)在xk(k=0, 1, …, n)上的插值多项式,故R(x) =f(x) –P(x)在节点xk(k=0, 1, …, n)上值为0,即 R(xk) = 0, (k=0, 1,…,n) 现在,将x看作是[a, b]上的一个固定点,作函数 g(t)=f(t)-P(t)-K(x) (t-x0) (t-x1)…(t-xn) 根据f的假设,知 g(n)(t)在[a, b]上连续,g(n+1)(t)在(a, b)内存在。 于是可以将R(x)写为: R(x) = K(x)(x-x0) (x-x1)…(x-xn) (*) 其中,K(x)是和x有关的待定函数。 只须证明:K(x)= f(n+1)(ξ)/(n+1)!, a ξ b 根据插值条件和余项的定义,g(t)有n+2个0点: x0, x1,…,xn, x 于是: K(x)= f(n+1)(ξ)/(n+1)!, a ξ b, ξ依赖于x 将其代入(*)式,得 根据罗尔定理,g‘(t)在g(t)的两个0点之间至少有一个0点,从而,g‘(t)在(a, b)中有n+1个0点; 类似地,得到g‘’(t)在(a, b)中有n个0点;连续使用罗尔定理,知g(n+1)(t)在(a, b)中至少有1个0点,记为ξ: g(n+1)(ξ) = f(n+1)(ξ)-(n+1)!K(x) = 0 1) 对于线性插值,误差公式: 2) 对于抛物插值(2次插值
显示全部