清华大学课程“数值分析”(No.20240033)
交互演示网站

<<主页

分段三次插值

本模块演示分段三次插值,包含Hermite三次插值和三次样条插值. 给定一组数据点(ti, yi)i =1,…,n, 并且t1 < t2 < · · · < tn,分段三次插值函数由各个子区间[ti, ti+1]不同的三次多项式组成. 通常会有充分多的参数用于选择3次多项式,使得最终的分段三次插值函数不仅连续,而且一阶导数连续(例如Hermite三次插值),甚至二阶导数也连续(例如三次样条插值). 事实上,即使是后一种情况,仍然有两个可自由设置的参数,对它们进行不同的设置将得到不同种类的三次样条.

使用者可用两种方法指定插值数据点:一种是选择两个预置例子当中的一个(Example 1 or 2),另一种是手工指定任意一组数据点,先点击"Choose Points"按钮,然后在绘图区用鼠标点击的方式定义每个点,最后点击"Apply"按钮完成输入. 为了确定一个分段三次插值函数,至少需要4个数据点. 为了防止插值节点彼此太靠近,在已选择的点周围会形成有阴影的缓冲区域,不允许在这些缓冲区定义新的数据点. 当所有点定义好之后,绘图区中将显示一条通过所有点的分段三次插值曲线. 使用者可以选择分段三次插值的类型,对某些类型还可以设置有关的额外参数. 除了单调三次Hermite插值(monotonic Hermite cubic interpolant)之外,其他的可选类型都是三次样条插值. 当插值曲线绘出后,还可以通过点击"Add Point"按钮添加新的数据点,此时在绘图区用鼠标点击新的数据点位置,得到的新的插值曲线将被实时绘出.

周期三次样条插值(periodic cubic spline)最适合于周期性数据,而对于非周期的数据,则可要求在两个端点上样条函数的一阶和二阶导数相等,本演示就使用了这种策略. 类似地,单调三次Hermite插值最适合于单调变化的数据,而对于非单调数据,在本演示中要求在每个单调的子区间插值函数都保持单调性.

操作与思考: (1) "保形分段插值"可以作为这里的单调三次Hermite插值吗? 若是请严格证明,否则举出反例.
                      (2) 对于"Not-a-knot"三次样条插值,两个可选的参数分别是什么含义?

参考内容: 课本第6.6, 6.7节.