APP下载

带二阶Hermite插值条件的最小二乘估计

2014-09-04

关键词:插值法二阶插值

(西华大学数学与计算机学院, 四川 成都 610039)

插值,即构造函数使得已知点能最大程度的满足某种函数关系,通过构造已知点和点之间的某种内在规律的数量关系,进而推测未知点的性质。在现实生活中,我们的研究通常是基于有限样本数据,且已知的这些数据也很可能不会恰好满足已知的某个函数。插值法就是构造函数,从而揭示样本数据间的内在规律的方法。

常见的插值法有:Lagrange插值、Newton插值多项式、Hermite插值、分段低次插值、三次样条插值[1-7]。每种插值法都有其优缺点。Lagrange插值结构紧凑、思想清晰、显式表示、公式对称,与插值节点的编号无关,适合理论分析;但是该方法无承袭性。Newton插值法既有Lagrange插值公式便于理论分析的优点,又具有承袭性,从而在需要增加节点时,可大大减少计算量;然而该法只是Lagrange插值公式的一种变形[8-11]。Hermite插值作为显式算法,简单且收敛性、稳定性好,而且具有局部性,即如果要修改某个数据,插值曲线仅仅在某个局部范围内受到影响,而代数插值却会影响到整个插值区间;然而该法光滑性不高,若要提高光滑度,必须提供较多的信息才能达到。分段三次Hermite插值比分段线性插值效果明显要好,但其要求给出节点上的导数值,所要提供的已知信息变多,其光滑度也不高,只有一阶导数连续。三次样条插值具有良好的收敛性与稳定性,又有二阶光滑性,理论上和实际都有重要意义。

实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系、疾病疗效与疗程长短的关系、毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。已知数据通常本身不一定可靠,个别数据的误差甚至可能远远大于已知数据,不妨记样本数据点为(xk,yk),k=1,2,…,n,并称为拟合点。最小二乘法在工业技术和其他科学研究中有广泛应用。如果还要求拟合曲线必须经过另外s个点(xk,yk),k=1,2,…,s,那么这s个点就称为插值点,文献[1-5]中讨论了带插值条件的最小二乘法,文献[6]系统地阐述了最小二乘法。本文将在插值条件的基础上,增加满足一阶导数和二阶导数条件的要求,即二阶Hermite插值条件。下面给出带二阶Hermite插值条件的最小二乘法的定义。

1 主要结果及证明

同理可证

(2)

其中:

若将δ看作关于自变量a、b的二元函数,则上述问题转化为求函数δ=δ[a,b]在哪些点取得最小值。即解方程组

(3)

故方程组的解为

(4)

经过带二阶Hermite插值条件的最小二乘法的拟合,使得曲线的拟合效果更好。

2 Lingo程序设计

设n为需要拟合的点的个数,k为满足插值点、一阶导数点、二阶导数点的个数,s-1是需要寻找的拟合曲面的次数,则带n个拟合点、k个插值点、k个一阶导数点及k个二阶导数点的s-1次曲线拟合的Lingo程序如下:

model:

sets:

shuju/1..n/:x,y;

chazhi/1..k/:a,b,c,d,e,f;

xishu/1..s/:z;

endsets

data:

x=?;!输入拟合点数据;

y=?;

a=?;!输入插值点数据;

b=?;

c=?;!输入一阶导数点数据;

d=?;

e=?;!输入二阶导数点数据;

f=?;

enddata

min=@sum(shuju:(z(s)*x^(s-1)+z(s-1)*x^(s-2)+..+z(2)*x+z(1)-y)^2);

@for(chazhi:z(s)*a^(s-1)+z(s-1)*a^(s-2)+..+z(2)*a+z(1)=b);

@for(chazhi:(s-1)*z(s)*c^(s-2)+(s-2)*z(s-1)*c^(s-3)+..+2*z(3)*c+z(2)=d);

@for(chazhi:(s-1)*(s-2)*z(s)*e^(s-3)+(s-2)*(s-3)*z(s-1)*e^(s-4)+...+2*z(3)=f);

@free(z(i));(i>1)

end

示例

拟合点357 9 26.3 25.724.823.9插值点126.8一阶导数点1-1二阶导数点1-5

model:

sets:

shuju/1..4/:x,y;

chazhi/1..1/:a,b,c,d,e,f;

xishu/1..4/:z;

endsets

data:

x=3 5 7 9;

y=26.3 25.7 24.8 23.9;

a=1;

b=26.8;

c=1;

d=-1;

e=1;

f=-5;

enddata

min=@sum(shuju:(z(4)*x^3+z(3)*x^2+z(2)*x+z(1)-y)^2);

@for(chazhi:z(4)*a^3+z(3)*a^2+z(2)*a+z(1)=b);

@for(chazhi:3*z(4)*c^2+2*z(3)*c+z(2)=d);

@for(chazhi:6*z(4)*e+2*z(3)=f);

@free(z(1));

@free(z(2));

@free(z(3));

@free(z(4));

end

运行结果

VariableValueReduced CostZ(1)24.955950.000000Z(2)5.0321400.000000Z(3)-3.5321400.000000Z(4)0.34404650.000000

[1]颜宁生. 带Hermite插值条件的最小二乘估计[J].大学数学学报: 2011, 27(5) : 80-84.

[2]颜宁生. 带插值条件的最小二乘法[J].北京服装学院学报: 2007, 27(2) : 42-48.

[3]颜宁生. 带一个插值点的最小二乘估计和最大似然估计[J].北京服装学院学报, 2008, 28(3) : 56-59.

[4]张光远, 李庆福, 颜宁生. 带Hermite 插值条件下的三点曲线拟合[J].温州职业技术学院学报, 2009, 9(4) : 61- 63.

[5]颜宁生. 带一个插值点的回归模型的参数分析[J].高等数学研究, 2010, 13(4) : 6- 8.

[6]贾小勇, 徐传胜, 白欣. 最小二乘法的创立及思想方法[J].西北大学学报:自然科学版, 2006, 36(3) : 507 -511.

[7]Liu Guangpu, Gao Yuchun.The Application of MATLAB in Communication Theory [J]. Procedia Engineering, 2012, 28(3):321-324.

[8]吉家锋,张晓丽,谢维成.用MATLAB计算等距三次样条插值问题[J].四川工业学院学报,2003(S1): 37-40.

[9]刘卫国.MATLAB程序设计与应用[M].2版.北京:高等教育出版社,2006.

[10]张德丰.MATLAB程序设计与典型应用[M].北京:电子工业出版社,2009.

[11]李海涛. MATLAB程序设计教程[M].北京:高等教育出版社,2010.

猜你喜欢

插值法二阶插值
一类二阶迭代泛函微分方程的周期解
《计算方法》关于插值法的教学方法研讨
基于Sinc插值与相关谱的纵横波速度比扫描方法
一类二阶中立随机偏微分方程的吸引集和拟不变集
二阶线性微分方程的解法
一类二阶中立随机偏微分方程的吸引集和拟不变集
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
基于二次插值法的布谷鸟搜索算法研究
Newton插值法在光伏发电最大功率跟踪中的应用