的Akima算法对于一维插值,参见[1]和[2],执行三次插值,以产生具有连续一阶导数(C1)的分段多项式。该算法保留了平面区域的斜率,避免了平面区域的波动。当有三个或三个以上的连续共线点时,就会出现一个平坦区域,算法将这些点与一条直线连接起来。为了确保两个数据点之间的区域是平坦的,请在这两个数据点之间插入一个额外的数据点。
当两个具有不同斜率的平面区域相遇时,对原始AKIMA算法的修改使得坡度更靠近零的侧面的重量。该修改优先于靠近水平的侧面,这更直观并避免过冲。(原始AKIMA算法向两侧的点提供平等的权重,因此均匀地划分波动。)
的样条算法另一方面,执行三次插值,产生具有连续二阶导数的分段多项式(C2)。该结果可与正则多项式插值相媲美,但不太容易受到数据点之间高程度的剧烈振荡的影响。不过,这种方法可能会受到数据点之间的超调和振荡的影响。
与样条算法相比,Akima算法产生的波动更少,更适合处理平坦区域之间的快速变化。下面使用连接多个平坦区域的测试数据说明了这种差异。