文档介绍:第三章插值/* Interpolation */
当精确函数 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) 的插值函数。最常用的插值函数是…?
多项式
x0
x1
x2
x3
x4
x
g(x) f(x)
f(x)
g(x)
已知函数y=f(x)在区间[a, b]内一系列点xi上的函数值f(xi)=yi, i=0,1,…,n,求一简单函数P(x),使满足条件
P(xi)=yi, i=0,1,…,n,
称点xi为插值节点/* interpolating points */ ,[a, b]为插值区间/* interpolating region */ ,P(x)为插值函数/* interpolating
function */ ,求P(x)的过程为函数插值/* function interpolating */ ,求P(x)的方法为插值法/* interpolation */ 。
定义
由于代数多项式的结构简单,数值近似和理论分析都方便,实用中常取代数多项式
作为插值函数,称其为n次插值多项式/* n-degree Interpolating polynomial */ ,求Pn(x)的过程也叫做拉格朗日插值/* Lagrange Interpolation */ 。
点斜式
拉格朗日插值/* Lagrange Interpolation */
n
i
y
x
L
i
i
n
,
...
,
0
,
)
(
=
=
求 n 次多项式使得
条件:无重合节点,即
n = 1
线性插值
已知 x0 , x1 ; y0 , y1 ,求
使得
1
1
1
0
0
1
)
(
,
)
(
y
x
L
y
x
L
=
=
可见 L1(x) 是过( x0 , y0 ) 和( x1, y1 ) 两点的直线。
)
(
)
(
0
0
1
0
1
0
1
x
x
x
x
y
y
y
x
L
-
-
-
+
=
1
0
1
x
x
x
x
-
-
0
1
0
x
x
x
x
-
-
= y0 + y1
l0(x)
l1(x)
=
=
1
0
)
(
i
i
i
y
x
l
称为拉氏基函数/* Lagrange Basis */,
满足条件 li(xj)=ij /* Kronecker Delta */
n = 2
抛物线插值
已知 x0 , x1 , x2 ; y0 , y1 , y2 ,求L2(x)=a0+a1x + a2x2, 使得L2(xi)= yi , i=0,1,2.
用基函数表示
Lagrange Interpolation
其中l0(x)、l1(x)、l2(x)为二次式,且满足以下条件
li(xj)=ij
The mathematician S. had to move to a new place.
His wife didn't trust him very much, so when they stood
down on the street with all their things, she asked him to
watch their ten trunks, while she got a taxi. Some minutes
later she returned. Said the husband: "I thought you said
there were ten trunks, but I've only counted to nine!"
The wife said: "No, they're TEN!"
"But I have counted them: 0, 1, 2, ..."
n 1
希望找到li(x),i = 0, …, n 使得 li(xj)=ij ;然后令
=
=
n
i
i
i
n
y
x
l
x
L
0
)
(
)
(
,则显然有Ln(xi) = yi 。
li(x)
每个 li 有 n 个零点 x0 …[xi] … xn
=
-
=
-
-
-
=
n
j
j i
j
i
n