(样条) 把一组点插值到- - 条曲线中的一种实用方法是采用三次样条(cubic spline)。已知n+ 1个点值对组成的集合{(x;,y;): i=0,1, n}, 其中xo<x<**.<xn.我们希望拟合出这些点的分段三次曲线(样条)f(x)。也就是说, 曲线f(x)由n个三次多项式
(i=0, 1,..., n- 1)组成,其中如果x落在区间xi≤x≤xi+1,那么曲线的值由f(x)= fi(x- xi)给出。把三次多项式“粘和”在一-起的点x;称为结(knot)。为了简单起见, 假定对i=0, 1,...,n,有xi=i。
为了保证f(x)的连续性,我们要求当i=0, 1,...,n-1时,
为了保证f(x)的连续性,我们要求当i=0, 1,...,n-1时,
为了保证f(x)足够光滑,我们还要求当i=0, 1,”",n2时, 在每个结的一阶导数是连续的:
f'(x:+)= fl(1) = fi+1(0)
a.假定当i=0,1, ...,n时,我们不仅知道点值对{(xi, yi)}, 而且知道每个结的一阶导数Di=f'(xi)。 请用值yi、yi+1、Di 和Di+1来表示每个系数ai、bi、ci和di。(记住xi=i.)根据,点值对和一阶导数计算出4n个系数需要多少时间?
如何选择f(x)在每个结的一阶导数仍然是个问题。一种方法是要求当i=0,1,...,n-2时,二阶导数在每个结处连续;

在第一个结和最后一个结,假设f
;这些假设使f(x)成为一个自然三次样条。
f'(x:+)= fl(1) = fi+1(0)
a.假定当i=0,1, ...,n时,我们不仅知道点值对{(xi, yi)}, 而且知道每个结的一阶导数Di=f'(xi)。 请用值yi、yi+1、Di 和Di+1来表示每个系数ai、bi、ci和di。(记住xi=i.)根据,点值对和一阶导数计算出4n个系数需要多少时间?
如何选择f(x)在每个结的一阶导数仍然是个问题。一种方法是要求当i=0,1,...,n-2时,二阶导数在每个结处连续;
在第一个结和最后一个结,假设f
b.利用二阶导数的连续性限制,说明当i=1, 2, ..., n-1时,
c.请说明
d.重写上述等式内包含未知量向量D=〈D0, D1, ., Dn〉的矩阵方程。你所给的方程中矩阵具有什么性质?
e.论证:送用自然三次样条可以在O(n)时间内对一组n+l点值进行插值。
f.请说明xi不一定等于i时,如何确定出一个自然三次样条对一组n+l个满足x0<x1<...<xn的点(xi,yi)进行插值。你必须求解什么样的矩阵方程,你所给出的算法运行速度有多快?
e.论证:送用自然三次样条可以在O(n)时间内对一组n+l点值进行插值。
f.请说明xi不一定等于i时,如何确定出一个自然三次样条对一组n+l个满足x0<x1<...<xn的点(xi,yi)进行插值。你必须求解什么样的矩阵方程,你所给出的算法运行速度有多快?
