(muchong com) NA002a插值
(muchong com) NA002a插值
(muchong com) NA002a插值
Interpolation */
§1 引 言
许多实际问题都用函数y f (x ) 来表示某种内在规
律的数量关系,其中相当一部分函数是通过实验或计算
得到的 , 并且只是[a , b] 上一系列点x i 的函数值
yi f ( x i )( i 0,1, , n)
这只是一张函数表。有的问题虽有解析表达式,但由于
计算复杂,使用不方便,通常也造一个函数表,比如平
方根表、立方根表、对数表和三角函数表等等。为了研
究函数的变化规律,往往需要求不在表上的函数值。因
此,我们希望根据给定的函数表做一个既能反映函数 f (x )
的特性,又便于计算的简单函数 p( x ) , 用p( x ) 近似f ( x ) 。
§1 Introduction
如:通常用代数多项式或分段代数多项式作为 p( x ) , 并使
p( x i ) f ( x i ) i 0,1, , n p( x )
对 成立。这样确定的
就是我们希望得到的插值函数。
f ( x)
p( x )
p(x) f(x)
x0 x1 x2 x x3 x4
插值法定义 §1 Introduction
这是一个关于 a0 , a1 a n的 n 1元线性方程组。
要证明插值多项式的存在唯一性,只要证明上述方
程组存在唯一解,也就是证明方程组的系数行列式的值不
为零。
§1 Introduction
Vn ( x0 , x1 , , x n )
i 1 j 0
( xi x j ),
由于 i j时x i x j, 故所有因子 x i x j 0
于是 Vn ( x0 , x1 , , x n ) 0
故方程组( 2.3)存在唯一的一组解。
以上论述可写成下列定理:
§1 Introduction
例如 P ( x) Pn ( x) p ( x) ( x xi )
i 0
p( 也是一个插值多项式,其中
x)
可以是任意多项式。
§2 拉格朗日多项式 /* Lagrange Polynomial */
求 n 次多项式 Ln ( x ) y0 l0 ( x ) y1l1 ( x ) ynln ( x )
使得 Ln ( xi ) yi , i 0,1, 2, , n 插值法
插值法
Lagrange插值法
Lagrange
Lagrange
(1779)
(1795)
(1783)
条件:无重合节点,即 i j xi x j
n = 1 已知 x0 , x1 ; y0 , y1 , L1 ( x ) l 0 ( x ) y0 l1 ( x ) y1
求
使得 L 1( x0 ) y 0 , L1 ( x1) y 1
称为拉氏基函数 /* Lagrange Basis */ ,
可见 L1(x) 是过 满足条件 ( x0 , y0 l)i(x和
j)=ij /*
y1 ) 两点的直
( x1, Kronecker Delta */
线。 y1 y 0
L1 ( x ) y0 ( x x0 )
x1 x 0
x x1 x x0 1 L.
E.Euler
Waring
= y +
x 0 x1 0
y
x1 x 0 1 l ( x) y
i 0
i i (1707-1783)
(1736-1798)
瑞士数学家
英国数学家、皇家
l0(x) l1(x) 最伟大的数学家之一
学会院士
最多产的数学家
Lucas 教授
§2 Lagrange Polynomial
li(x) 每个 li 有 n 个零点 x0 … xi
与… x 节点 有关,而与f 无关 Lagrange n
li ( xn) Ci ( x x0 )...(x xi )...(x xn ) Ci ( x x j )
Polynomial
ji
Ci 1 j 0
li ( xi ) 1
j i ( xi xj )
n (x xj )
li ( x )
n
( xi x j ) Ln ( x ) l i ( x ) y i
ji
j 0 i 0
注: l ( x)
i
i 1 (特别的, f(x)=1 )
§2 Lagrange Polynomial
特别地,一点零次插值多项式为
Ln ( x ) y0
两点一次插值(线性插值)多项式为
x x1 x x0
L1 ( x ) y0 y1
x0 x1 x1 x0
三点二次插值(抛物插值)多项式为
( x x1 )( x x2 ) ( x x0 )( x x2 ) ( x x0 )( x x1 )
L2 ( x ) y0 y1 y2
( x0 x1 )( x0 x2 ) ( x1 x0 )( x1 x2 ) ( x2 x0 )( x2 x1 )
插值余项 /* Remainder
*/
设节点 a x0 x1 xn b ,且 f 满足条件f C [a , b]
n
n
Rn ( x ) K( x( )x ( x( xxi )) 0
n(x) 至少有
RRolle’s n+1
Theorem: 若 个( x ) 充分光滑, )
0i 0 1
零点
存在 ( x0 , x1 ) ( ) 使得0 。
n
任意固定 注意这里是对 x xi (i = 0,t …, 求n), 考察 ( t ) Rn ( t ) K ( x ) ( t x i )
推广:若 ( x0导 ) ( x1 ) ( x 2 ) 0 0 ( x0 , x1 ), 1 i ( 0x1 , x 2 )
(t) 有 使得n+2 个不同的零点
( 0 ) ( 1 ) 0 x 0 … ( n 1 )
( 0 , 1 ) 使得 ( x )0(, ) x0 (a , b )
xn x
( n 1 ) ( x 0 ) ( x n ) 0 ( n 1 )
( x ) Ln ( x ) K ( x )( n 1) ! Rn ( x ) K ( x ) ( n 1) !=0
( n 1)
f
存在 (a , b ) 使得 ( ) 0
(n)
( n 1 )
f ( n 1 )
( ) n
K ( x)
f ( x) Rn ( x ) x
( n 1) ! i 0 ( x xi )
( n 1) !
§2 Lagrange Polynomial
当
作为误差估计上限。f(x) 为任一个次数 n 的多项式时,
f ( n 1 )
( x) 0
Rn ( x ) 0, 可知 ,即插值多项
式对于次数 n 的多项式是精确的。
1 "
当 n 1 时,R1 ( x ) f ( )( x x0 )( x x1 ), [ x0 , x1 ]
2
当 n 2 时,抛物插值余项为
1 "'
R2 ( x ) f ( )( x x0 )( x x1 )( x x2 ), [ x0, x2 ]
6
§2 Lagrange Polynomial
0 1 2 3 4 5 6 x 0 1 2 3 4 5 6 x 0 1 2 3 4 5 6 x
-0.5- -0.5- -0.5-
§2 Lagrange Polynomial
例:已知 sin 1 , sin 1 , sin 3
6 2 4 2 3 2
分别利用 sin x 的 1 次、 2 次 Lagrange 插值计算
sin 50 5
50 0
并估计误差。
18
解: n = 1 分别利用 x0, x1 以及 x1, x2 计
x0 x1 x2
算
利用 x0 , x1 L1 ( x ) x / 4 1 x / 6 1
6 4 / 6 / 4 2 / 4 / 6 2
sin 50 L1 ( 5 ) 0.77614 这里 f ( x ) sin x , f ( 2 ) ( x ) sin x , x ( , )
0
内插通常优于外推。选择18 6 3
f ( x )
( 2)
而 1 要计算的 sin x 3 , x R所在的区间
1 ( x ) ( x )( x )
2 2 2! 6 4
的端点,插值效果较好。
外推
5
0.01319 R1 (
18
) 0.00762
/* extrapolation */ 的实际误差
sin 50 = 0.7660444…
利用x1 , x 2
~ 5
0.00660
sin 50 0.76008, 0 .00538 R1
4 3 18
18
cos x
R2 ( x ) ( x )( x )( x ) ; 1 cos 3
x
3! 6 4 3 2 2
0.00044 R2 5 0.00077
18 sin 50 = 0.7660444…
2 次插值的实际误差
但绝对不是次数越高
就越好,嘿嘿……
§2 Lagrange Polynomial
When
Oh yeah? you
Right. What start
Then ifall writing the program,
I find
you
the will find how
Then youeasy
might it iswant
to calculate
to take
the current
Lagrange interpolation
basis, l
Excellenti(x) , point !
morethe
notwill Lagrange
interpolating
accurate enough?polynomial.
points into account.
We
will have tocontinue to discuss this problem
be re-calculated.
next time.