当前位置:文档之家› 插值法(拉格朗日插值)

插值法(拉格朗日插值)

n
f (n+1) (ξ ) n Rn ( x) = ∏(x xi ) (n +1) ! i=0
f ( n+1) (ξ ) 即Rn ( x) = ( x x0 )( x x1 )( x x2 )( x xn ) (n + 1)!
其中ξ ∈ [a, b]
——拉格朗日余项定理 拉格朗日余项定理
注:
例:已知
sin π = 1 , sin π = 1 , sin π = 3 6 2 4 3 2 2
分别利用 sin x 的1次,2次 Lagrange 插值计算 sin 50° 次 次 ° 5π 并估计误差. 并估计误差. 50 0 = 解: n = 1 分别利用x 分别利用 0, x1 以及 x1, x2 计算
f(xk) 2.302 6
试用二次插值计算f(11.75)(计算过程保留4位小 数). 解:因为11.75更接近12,故应取11,12,13三点作二次 插值.先作插值基函数. 已知x0=11,y0=2.397 9,x1=12,y0=2.484 9 ,x2=13,y2=2.564 9
l0 ( x) =
x
y=f(x)
x0 y0
x1 y1
x2 y2
…… xn …… yn
问题:无法求出不在表中的点的函数值,也不能 进一步研究函数的其他性质,如函数的积分和导 数等.因此需寻找y = f(x)的近似函数p(x),但要求 p(xi) = f(xi) .——插值问题 插值问题
已知精确函数 y = f(x) 在一系列节点 x0 … xn 处测得函数值 y0 = f(x0), … yn = f(xn),由此构 , 造一个简单易算的近似函数 p(x) ≈ f(x),满足 , 条件p(x 条件 i) = f(xi) (i = 0, … n).这里的 p(x) 称 . 插值函数. 为f(x) 的插值函数.最常用的插值函数是 …? 多项式
l0(x)
l1(x)
l2(x)
n次多项式 次多项式 n≥1 希望找到l , 希望找到 i(x),i = 0, …, n 使得
Pn ( x ) =
1 i = j li(xj)= 0 i ≠ j
;然后令

n
i=0
l i ( x ) yi ,则显然有 (x ) = y . 则显然有Pn i i
li(x) 每个 li 有 n 个根 x0 … xi … xn n 有关, 与 节点 有关,而与 f 无关 N次拉格朗日 次拉格朗日 li ( x) = Ci ( x x0 )...(x xi )...(x xn ) = Ci ∏ ( x x j ) j≠i 插值多项式 j =0 1 li ( xi ) = 1 Ci = ∏ j ≠ i ( xi xj )
通常不能确定 ξ, 而是估计
f ( n + 1 ) ( x ) ≤ M n + 1 x∈(a,b) , ∈
M n +1 n 作为误差估计上限. 将 ( n + 1)! ∏ | x x i | 作为误差估计上限. i =0
为任一个次数≤ 多项式时 当 f(x) 为任一个次数≤ n 的多项式时, f ( n+1) ( x ) ≡ 0 , 即插值多项式对于次数≤ 可知 Rn ( x ) ≡ 0 ,即插值多项式对于次数≤ n 的多项 式是精确 精确的 式是精确的.
利用 x1 = π , x2 = π 4 3
~ 0.00538 < R1 5π < 0.00660 sin 50° ≈ 0.76008, ° 18
内插 /* interpolation */ 的实际误差 ≈ 0.00596
n=2
( x π )( x π ) 1 ( x π )( x π ) 1 ( x π )( x π ) 4 6 6 L2 ( x ) = π π π π3 × + π π π π3 × + π π π π4 × 3 ( 6 4 )( 6 3 ) 2 ( 4 6 )( 4 3 ) 2 ( 3 6 )( 3 4 ) 2
π sin 50 0 ≈ L2 ( 5 ) ≈ 0.76543 18
R2 ( x ) = cos ξ x ( x π )( x π )( x π ) ; 3! 6 4 3 1 < cos ξ < 3 x 2 2
0.00044 < R2 5π < 0.00077 18
sin 50° = 0.7660444…
) yi
如果发现当前的插值方法不够精确,就要增 如果发现当前的插值方法不够精确, 加插值点的个数, 加插值点的个数,则拉格朗日插值基函数 li(x) 都将重新计算. 都将重新计算. 牛顿插值法将讨论该问题. 牛顿插值法将讨论该问题.
例:已知数据表
xk
10
11 2.397 9
12 2.484 9
13 2.564 9
l 2 ( x) =
( x x1 )(x x2 ) ( x 12)(x 13) = ( x0 x1 )(x0 x2 ) 2
l1 (x) =
(x x0 )(x x2 ) (x 11 x 13) )( = (x1 x0 )(x1 x2 ) 1
( x 11)( x 12) ( x 12)( x 13) ( x 11)( x 13) + × 2.564 9 × 2.397 9 × 2.484 9 L2(x)= 2 2 1
2次插值的实际误差 ≈ 0.00061 次插值的实际误差 高次插值通常优于 低次插值 但绝对不是次数越 高就越好, 高就越好,嘿 嘿……
拉格朗日插值多项式编程容易, 拉格朗日插值多项式编程容易,只需双重循环
L n ( x ) = ∑ (∏
i =0 j ≠i j =0 n n
(x x j ) ( xi x j )
i
l0(x)
l1(x)
抛物插值
L 2( x ) = ( x x 1 )( x x 2 ) ( x x 0 )( x x 2 ) ( x x 0 )( x x 1 ) y0 + y1 + y2 ( x 0 x 1 )( x 0 x 2 ) ( x 1 x 0 )( x 1 x 2 ) ( x 2 x 0 )( x 2 x 1 )
p(x) ≈ f(x)
x0
x1
x2
x
x3
x4
§1.1Taylor插值
函数y = f(x)在点x0处展开有Taylor 多项式:
f ' ' ( x0 ) pn ( x) = f ( x0 ) + f ( x0 )(x x0 ) + ( x x0 )2 + 2! f ( n ) ( x0 ) ... + ( x x0 ) n n!
x0
18
x1 x2 利用 x0 = π , x1 = π L1 ( x ) = x π / 4 × 1 + x π / 6 × 1 6 4 π / 6 π / 4 2 π / 4 π / 6 2 π sin 50 0 ≈ L1 ( 5 ) ≈ 0.77614 这里 f ( x) = sin x , f (2) (ξ x ) = sinξ x , ξ x ∈(π , π ) 内插通常优于外推. ) 18 内插通常优于外推.2选择 6 3 ( f (ξ x ) 而 1要计算的3x 所在的区间的x π )( x π ) , R1 ( x) = ( < sinξ x < 2 2 2! 6 4 端点,插值效果较好. 端点,插值效果较好. sin 50° = 0.7660444… 0.01319 < R1 ( 5π ) < 0.00762 18 外推 /* extrapolation */ 的实际误差 ≈ 0.01001
'
可见:
Pn(k)(x0)= f (k)(x0) k=0,1,…,n Taylor展开方法就是一种插值方法.
因此, Pn(x)在点x0邻近会很好的逼近f(x).
泰勒插值要求提供 f(x) 在点x0处的各阶导数,这仅 仅适用于 f(x) 相当简单的情况.
§1.2 Lagrange插值 设函数y = f(x)在区间[a,b]上有定义,且给
(11.75 11)(11.75 12) × 2.564 9 = 2.463 8 2
Pn ( x i ) = y i ,
i = 0 , ... , n
条件:无重合节点, 条件:无重合节点,即 i ≠ j n=1
P1 ( x 0 ) = y 0 , P1 ( x1 ) = y1
xi ≠ x j
已知 x0 , x1 ; y0 , y1 ,求 P1 ( x ) = a 0 + a 1 x 使得 两点的直线. 可见 P1(x) 是过 ( x0 , y0 ) 和 ( x1, y1 ) 两点的直线. 称为拉氏基函数 称为 y0 y 拉氏基函数 P1 ( x ) = y0 + 1 ( x x0 ) x1 x 0
出一系列点上的函数值yi=f(xi) (i=0,1,2,…,n), 求作n次多项式pn(x) 使得
pn (xi)= yi (i=0,1,2,…,n) 函数pn (x)为f(x)的插值函数;称x0,x1,… xn称为 插值节点或简称节点.插值节点所界的区间[a,b] 称为插值区间.pn (xi)= yi 称为插值条件. 构造的n次多项式可表示为: Pn(x)= a0 + a1x + a2x2+…+ anxn
y i , i = 0 , ... , n
a0 + a1 x1 + ... + an x1n = y1 ...
n a0 + a1 xn + ... + an xn = yn
这是一个关于a 元线性方程组,其系 这是一个关于 0 , a1 ,… an 的n+1元线性方程组 其系 元线性方程组 数行列式: 数行列式 n i 1
相关主题