三次Cardinal样条函数的自由参数优化方案 *
2020-11-30李军成刘成志
李军成,刘成志
(湖南人文科技学院数学与金融学院,湖南 娄底 417000)
1 引言
在计算机辅助设计与计算机图形学中,数据插值一直都是重要的研究课题。由于三次Cardinal样条[1]不仅无需求解方程组即可直接插值于给定的数据点,而且当数据点保持不变时还可通过所含的自由参数对插值曲线的形状进行调控,这些优点使其被应用在许多工程领域[2,3]。近年来,为了进一步扩展多项式形式的三次Cardinal样条,研究者们构造了基于三角函数的Cardinal样条[4,5]、基于双曲函数的Cardinal样条[6]以及五次多项式Cardinal样条[7]等。这些扩展型的三次Cardinal样条虽然在某些方面要优于传统的三次Cardinal样条,但其表示形式的复杂度也随之提高。因此,传统三次Cardinal样条仍具有较高的研究价值。
虽然在利用三次Cardinal样条进行插值时,可通过所含的自由参数对插值效果进行任意修改,但若要使得插值曲线能满足某些特定的几何要求,则需要合理地选定自由参数的取值。然而,在实际应用中,往往很难对自由参数进行合理的选择,此时则需要给出自由参数的选取方案。为了使得构造的平面三次Cardinal样条曲线尽可能光顺,文献[8,9]提出利用曲率变化极小化选取自由参数。在插值问题中,往往需要构造具有良好的形状保持效果或逼近效果的插值函数,因此如何选定自由参数的最优取值使得构造的三次Cardinal样条函数具有良好的形状保持效果或较好地逼近给定的函数也是值得研究的问题。为此,本文讨论了插值问题中数据插值与函数逼近这2种情形下三次Cardinal样条函数所含自由参数最优取值的计算方案。分别通过极小化二次平均振荡与逼近误差,获得三次Cardinal样条函数所含自由参数的唯一解,从而使得构造的插值曲线能具有良好的形状保持效果或较好地逼近给定的函数。
2 三次Cardinal样条函数
给定平面上一列数据点(xi,yi)(i=0,1,…,n),设xi+1-xi=h(即相邻节点间等距),对于xi≤x≤xi+1,t=(x-xi)/h,三次Cardinal样条[1]对应的函数可表示为:
Si(t)=b0(t)yi-1+b1(t)yi+
b2(t)yi+1+b3(t)yi+2
(1)
(2)
其中,i=1,2,…,n-2,α∈R为自由参数。
由式(1)计算可得:
(3)
(4)
由式(3)可知,除数据点(x0,y0)与(xn,yn)外,三次Cardinal样条函数插值于其他给定的数据点(xi,yi)(i=1,2,…,n-1)。若要求三次Cardinal样条函数也插值于数据点(x0,y0)与(xn,yn),则需要添加2个辅助数据点(x-1,y-1)与(xn+1,yn+1)。为方便起见,在实际应用中常将添加的2个辅助数据点取为(x-1,y-1)=(x0,y0),(xn+1,yn+1)=(xn,yn)。
进一步地,由式(3)与式(4)可得Si(xi+1)=Si+1(xi+1),S′i(xi+1)=S′i+1(xi+1),即三次Cardinal样条函数满足C1连续。
显然,当给定数据点(xi,yi)(i=-1,0,…,n+1)时,三次Cardinal样条函数的形状将完全由自由参数α决定。
例1设数据点为xi=iπ/2,yi=cos(xi),i=0,1,2,3,4。图1所示为补充2个辅助数据点后参数α取不同值时的三次Cardinal样条函数曲线,其中长虚线对应的参数为α=-0.2,短虚线对应的参数为α=-0.5,实线对应的参数为α=-0.8。
Figure 1 Cubic Cardinal spline curves with different parameters图1 不同参数对应的三次Cardinal样条函数曲线
由图1可知,当数据点保持不变时,可通过修改参数α的取值对三次Cardinal样条函数的插值效果进行修改。然而,在实际应用中,往往要求插值曲线能满足特定的几何要求。此时,则需要合理地选定参数α的取值。下面给出插值问题中2种不同情形下,如何合理地选取三次Cardinal样条函数中参数α的取值。
3 Cardinal样条函数的自由参数优化方案
3.1 具有极小二次平均振荡的三次Cardinal样条函数
在插值问题中,数据插值是一种常见的情形。而在数据插值中,保形插值一直都是重要的研究课题[10 - 13]。下面讨论如何选取参数α的最优取值,使得三次Cardinal样条函数曲线具有良好的形状保持效果。
对于给定的数据点(xi,yi)(i=0,1,…,n),令xi=x0+hi(h为步长,且h>0),若设L(x):=Li(x)=(1-t)yi+tyi+1,t=(x-xi)/h,显然线性插值函数L(x)是最简单的保形插值。因此,为了使得添加2个辅助点(x-1,y-1)与(xn+1,yn+1)后的三次Cardinal样条函数Si(x)(i=0,1,…,n-1)具有良好的形状保持效果,可定义目标函数:
(5)
由文献[14,15]可知,通过极小化式(5)构造出的三次Cardinal样条函数与L(x)最为接近。本文将通过极小化式(5)所构造出的三次Cardinal样条函数称为具有极小二次平均振荡的三次Cardinal样条函数。
为讨论方便,将式(1)改写为:
Si(x)=ui(x)α+vi(x)
(6)
其中,
ui(x):=-(t3+2t2-t)yi-1-(t3-t2)yi+
(t3-2t2+t)yi+1+(t3-t2)yi+2
vi(x):=(2t3-3t2+1)yi-
(2t3-3t2)yi+1
由式(6)得:
(7)
将式(7)代入式(5),可得:
I1(α)=A1α2+2B1α+C1
(8)
其中,
由式(8)有:
(9)
(2) 当A1=0时,I1(α)=2B1α+C1,此时函数I1(α)没有极值点。在这种情况下,可通过适当调整部分样本点yi的取值以使得A1>0成立。
于是,可得如下定理:
定理1对于给定的数据点(xi,yi)(i=0,1,…,n),令(x-1,y-1)=(x0,y0),(xn+1,yn+1)=(xn,yn),当A1≠0时,要使插值于数据点(xi,yi)(i=0,1,…,n)的三次Cardinal样条函数具有极小二次平均振荡,则参数应取为α=-B1/A1。
例2将数据点取为(x0,y0)=(0,0),(x1,y1)=(1,1),(x2,y2)=(2,3),(x3,y3)=(3,4),(x4,y4)=(4,7),(x5,y5)=(5,8),补充2个辅助数据点(x-1,y-1)=(0,0),(x6,y6)=(5,8)。利用具有极小二次平均振荡的三次Cardinal样条函数进行插值时,经计算可得参数α约为0.038 0。绘制的具有极小二次平均振荡的三次Cardinal样条函数曲线(实线)、参数α=1.2时的三次Cardinal样条函数曲线(短虚线)以及数据多边形(长虚线)如图2所示。
Figure 2 Cubic Cardinal spline curve with minimal quadratic average oscillation图2 具有极小二次平均振荡的三次Cardinal样条函数曲线
由图2可知,相对于参数取α=1.2时的三次Cardinal样条函数曲线,具有极小二次平均振荡的三次Cardinal样条函数曲线明显能更好地保持数据多边形的形状。因此,在实际应用中,当需要构造具有良好形状保持效果的三次Cardinal样条函数时,可通过所提出的方案选取自由参数的最优取值。
3.2 具有极小逼近误差的三次Cardinal样条函数
在插值问题中,函数逼近是另一种常见的情形。下面讨论如何选取参数α的最优取值,使得三次Cardinal样条函数能较好地逼近给定的函数。
给定函数y=f(x)(a≤x≤b),设xi=a+hi,h=(b-a)/n,yi=f(xi)(i=0,1,…,n)。添加2个辅助点(x-1,y-1)与(xn+1,yn+1)后,为了使得三次Cardinal样条函数Si(x)(i=0,1,…,n-1)能较好地逼近函数y=f(x),可将式(5)中的Li(x)替换为f(x),即定义目标函数:
(10)
显然,通过极小化式(10)构造出的三次Cardinal样条函数逼近函数y=f(x)的效果最好。 本文将通过极小化式(10)所构造出的三次Cardinal样条函数称为具有极小逼近误差的三次Cardinal样条函数。
与定理1类似,可得如下定理:
定理2对于给定的函数y=f(x)(a≤x≤b),设xi=a+h′i,h′=(b-a)/n,yi=f(xi)(i=0,1,…,n),令(x-1,y-1)=(x0,y0),(xn+1,yn+1)=(xn,yn)。当A2≠0时,要使插值于函数y=f(x)的三次Cardinal样条函数具有极小逼近误差,则参数应取为α=-B2/A2,其中,
例3给定函数y=1/(1+x2),取xi=-5+i,i=0,1,…,10,补充2个辅助数据点(x-1,y-1)=(x0,y0),(x11,y11)=(x10,y10)。利用具有极小逼近误差的三次Cardinal样条函数逼近给定的函数时,经计算可得参数α约为-0.000 9。绘制的具有极小逼近误差的三次Cardinal样条函数曲线(实线)、参数α=1.4时的三次Cardinal样条函数曲线(短虚线)以及原函数曲线(长虚线)如图3所示。
Figure 3 Cubic Cardinal spline curve with minimal approximation error图3 具有极小逼近误差的三次Cardinal样条函数曲线
由图3可知,相对于参数α=1.4时的三次Cardinal样条函数曲线,具有极小逼近误差的三次Cardinal样条函数曲线明显能更好地逼近给定的函数。因此,在实际应用中,当需要构造能较好地逼近给定函数的三次Cardinal样条函数时,可通过本文提出的方案选取自由参数的最优取值。
4 结束语
在利用三次Cardinal样条函数进行插值时,为了使得插值曲线能满足某些特定的几何要求,需要合理地选定三次Cardinal样条函数所含自由参数的取值。本文分别给出了通过极小化二次平均振荡与逼近误差来选取三次Cardinal样条函数所含自由参数最优取值的方案,所获得的插值曲线具有良好的形状保持效果或能较好地逼近给定的函数。在实际应用中,当需要构造满足相应几何要求的三次Cardinal样条曲线时,可利用本文所提出的方案选取自由参数的最优取值。