![](https://csdnimg.cn/release/download_crawler_static/86383394/bg6.jpg)
函数 (i
=
0,1,
L
, n) 。
I
n
( x) 可以表示为
n
I
n
( x)
=
∑
y
i
l
i
( x)
i
=
0
⎧
x
−
x
i
−
1
⎪
−
x
⎪
i
,
i
−
1
x
∈
[ x
i
−
1
, x
i
] (i
=
0时舍去)
⎪
x
−
x
i
+
1
l
i
( x)
=
⎨
⎪
x
i
,
−
x
i
+
1
x
∈
[ x
i
, x
i
+
1
] (i
=
n时舍去)
⎪
0, 其它
⎪
⎩
I
n
( x) 有良好的收敛性,即对于 x
∈
[a, b] 有,
lim I
n
( x)
=
n
→
∞
f ( x) 。
用 I
n
( x) 计算 x 点的插值时,只用到 x 左右的两个节点,计算量与节点个数 n 无关。
但 n 越大,分段越多,插值误差越小。实际上用函数表作插值计算时,分段线性插值就
足够了,如数学、物理中用的特殊函数表,数理统计中用的概率分布表等。
1.3.3 用 Matlab 实现分段线性插值
用 Matlab 实现分段线性插值不需要编制函数程序,Matlab 中有现成的一维插值函
数 interp1。
y=interp1(x0,y0,x,'method')
method 指定插值的方法,默认为线性插值。其值可为:
'nearest' 最近项插值
'linear' 线性插值
'spline' 逐段 3 次样条插值
'cubic' 保凹凸性 3 次插值。
所有的插值方法要求 x0 是单调的。
当 x0 为等距时可以用快速插值法,使用快速插值法的格式为'*nearest'、'*linear'、
'*spline'、'*cubic'。
1.4 埃尔米特(Hermite)插值
1.4.1 Hermite 插值多项式
如果对插值函数,不仅要求它在节点处与函数同值,而且要求它与函数有相同的一
阶、二阶甚至更高阶的导数值,这就是 Hermite 插值问题。本节主要讨论在节点处插值
函数与函数的值及一阶导数值均相等的 Hermite 插值。
设已知函数 y
=
f ( x) 在 n
+
1 个互异节点 x
0
, x
1
,
L
, x
n
上的函数值 y
i
=
f ( x
i
)
(i
=
0,1,
L
, n) 和导数值 y'
i
=
H ( x) ,使得
f ' ( x
i
)
(i
=
0,1,
L
, n) ,要求一个至多 2n
+
1 次的多项式
H ( x
i
)
=
y
i
H ' ( x
i
)
=
y'
i
(i
=
0,1,
L
, n)
满足上述条件的多项式 H ( x) 称为 Hermite 插值多项式。
Hermite 插值多项式为