第二章 插值法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

事实上 f [ x0 , ... , xk ] =
k
f ( xi ) i = 0 k 1 ( x i )
k j =0 ji
k
其中 k 1 ( x ) = ( x - xi ) , k 1 ( xi ) = ( xi - x j )
i =0
Warning: my head is exploding… 差商的值与 of this formula? What is the pointxi 的顺序无关!
( n1) ( x ) = 0, x (a , b)
§1 Lagrange Polynomial
Rn(x) 至少有 n+1 个根
Rn ( x) = K ( x ) ( x - xi )
i =0 n i=0
n
任意固定 x xi (i = 0, …, n), 考察 ( t ) = Rn ( t ) - K ( x ) ( t - x i )
Ch2 插值法
/* Interpolatiowk.baidu.com */
当精确函数 y = f(x) 非常复杂或未知时,在一 系列节点 x0 … xn 处测得函数值 y0 = f(x0), … yn = f(xn),由此构造一个简单易算的近似函 数 g(x) f(x),满足条件g(xi) = f(xi) (i = 0, … n)。这里的 g(x) 称为f(x) 的插值函数。最常 用的插值函数是 …? 多项式
i=0
i
n
i
,则显然有Pn(xi) = yi 。
li(x)
每个 li 有 n 个根 x0 … xi … xn
li ( x) = Ci ( x - x0 )...(x - xi )...(x - xn ) = Ci ( x - x j )
n ji j =0
li ( xi ) = 1
Ci =
1 j i ( xi - x j )
g(x) f(x)
x0
x1
x2
x
x3
x4
§1 拉格朗日多项式
Pn ( x i ) = y i ,
/* Lagrange Polynomial */
n 求 n 次多项式 Pn ( x ) = a0 a1 x an x 使得
i = 0 , ... , n
条件:无重合节点,即 i j
与 节点 有关,而与 f 无关
Lagrange Polynomial
(x - xj ) li ( x ) = ( xi - x j ) ji
n j =0
Ln ( x ) = l i ( x ) yi
i =0
n
§1 Lagrange Polynomial
定理 (唯一性) 满足 P ( xi ) =
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

x0
x1
x2

利用 x1 = , x2 =
4
3
~ 0.00538 R1 5 0.00660 sin 50 0.76008, 18
内插 /* interpolation */ 的实际误差 0.00596
§1 Lagrange Polynomial
§2 Newton’s Interpolation
牛顿插值 /* Newton’s Interpolation */
N n ( x ) = a0 a1 ( x - x0 ) a2 ( x - x0 )( x - x1 ) ... an ( x - x0 )...( x - xn-1 )

sin 50 = 0.7660444…
2次插值的实际误差 0.00061 高次插值通常优于 低次插值 但绝对不是次数越 高就越好,嘿 嘿……
When What if I writing the program, Oh yeah? you start find Right. Then all you will find how easy it iswant to take Then you might the current interpolation , to calculate the Lagrange basis, li(x) point ! Excellent theinterpolating points into account. Lagrange polynomial. more to be enough? not accuratere-calculated.this problem willWe will come to discuss have next time.
=
x - x1 y + x 0 - x1 0
x - x0 y = x1 - x 0 1
l ( x) y
i =0 i
1
i
l0(x)
l1(x)
§1 Lagrange Polynomial
n1
希望找到li(x),i = 0, …, n 使得 li(xj)=ij ;然后令
Pn ( x ) =
l (x) y
(x)有 n+2 个不同的根 x0 …
注意这里是对 t 求导
xn x
( n1) ( x ) = 0, x (a , b)
f (n
1)
( x ) - L(nn
1)
( ( x ) - K ( x )( n 1) ! = Rnn 1 ) ( x ) - K ( x ) ( n 1) !
项式是唯一存在的。
证明:
yi , i = 0, ... , n 的 n 阶插值多
反证:若不唯一,则除了Ln(x) 外还有另一 n 阶多项 式 Pn(x) 满足 Pn(xi) = yi 。 考察 Qn ( x ) = Pn ( x ) - Ln ( x ) , 则 Qn 的阶数 n 而 Qn 有 n + 1 个不同的根 x0 … xn 注:若不将多项式次数限制为 n ,则插值多项式不唯一。 例如 P ( x ) = Ln ( x ) p( x ) ( x - x i ) 也是一个插值
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
0 ( x0 , x1 ), 1 ( x1 , x2 ) 推广:若 ( x0 ) = ( x1 ) = ( x2 ) = 0 ( 0 , 1 ) 使得 ( ) = 0 使得 ( 0 ) = (1 ) = 0
( x0 ) = = ( x n ) = 0
M n 1 n 将 ( n 1)! | x - xi | 作为误差估计上限。 i =0
( n 1 )
当 f(x) 为任一个次数 n 的多项式时, f
( x) 0 ,
可知 Rn ( x ) 0 ,即插值多项式对于次数 n 的多项 式是精确的。
例:已知
sin = 1 , sin = 1 , sin = 3 6 2 4 3 2 2
设节点 a x0 x1 xn b ,且 f 满足条件 f C [a, b] , f ( n1)在[a , b]内存在, 考察截断误差 R ( x ) = f ( x ) - L ( x ) n n
n
Rolle’s Theorem: 若 ( x ) 充分光滑, ( x0 ) = ( x1 ) = 0 ,则 存在 ( x0 , x1 ) 使得 ( ) = 0 。
f [ xi , x j ] - f [ x j , xk ] f [ xi , x j , xk ] = (i k ) xi - xk
2阶差商
§2 Newton’s Interpolation
(k+1)阶差商:
f [ x0 , x1 , ... , xk ] - f [ x1 , ... , xk , xk 1 ] f [ x0 , ... , xk 1 ] = x 0 - x k 1 f [ x0 , ... , xk -1 , xk ] - f [ x0 , ... , xk -1 , xk 1 ] = x k - x k 1
§1 Lagrange Polynomial
分别利用 sin x 的1次、2次 Lagrange 插值计算 sin 50 5 并估计误差。 500 =
18
解: n = 1
分别利用x0, x1 以及 x1, x2 计算

, x1 =
利用 x0 =
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 内插通常优于外推。选择 6 3 ( 2) f ( x ) 而 1要计算的3 x 所在的区间的x - )( x - ) sin x , R1 ( x ) = ( 2 2 2! 6 4 端点,插值效果较好。 sin 50 = 0.7660444… - 0.01319 R1 ( 5 ) -0.00762 18 外推 /* extrapolation */ 的实际误差 -0.01001
§2 牛顿插值
/* Newton’s Interpolation */
Lagrange 插值虽然易算,但若要增加一个节点时, 全部基函数 li(x) 都需重新算过。
? 将 Ln(x) 改写成 a0 a1 ( x ? x0 ) a2 ( x ? x0 )( x - x1 ) ... an ( x?- x0 )...( x - xn-1 ) 的形式,希望每加一个节点时,
K ( x) =
f ( n 1) !
( n 1 )
( x )
f ( n1) ( x ) n Rn ( x ) = ( x - xi ) ( n 1) ! i =0
§1 Lagrange Polynomial
注: 通常不能确定 x , 而是估计
f ( n 1) ( x ) M n 1, x(a,b)
i =0 n
多项式,其中 p( x )可以是任意多项式。
推论: 令f ( x ) = x , m = 0,1, 2, , n, 得到
m
x
k =0
n
m k k
l ( x) = x ,
m
取m = 0,
l ( x) = 1
k =0 k
n
§1 Lagrange Polynomial
插值余项 /* Remainder */
n=1
P1 ( x 0 ) = y0 , P1 ( x1 ) = y1
xi x j
已知 x0 , x1 ; y0 , y1/* Lagrange ) = a0 , x 使得 称为拉氏基函数 ,求 P1 ( x Basis */ a1 满足条件 li(xj)=ij /* Kronecker Delta */ 可见 P1(x) 是过 ( x0 , y0 ) 和 ( x1, y1 ) 两点的直线。 y1 - y 0 P1 ( x ) = y0 ( x - x0 ) x1 - x 0
只附加一项上去即可。 差商(亦称均差) /* divided difference */
f ( xi ) - f ( x j ) f [ xi , x j ] = xi - x j (i j , xi x j )
1阶差商 /* the 1st
divided difference of f w.r.t. xi and xj */
相关文档
最新文档