本模块演示分段三次插值,包含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节.