(西華大學數(shù)學與計算機學院, 四川 成都 610039)
插值,即構造函數(shù)使得已知點能最大程度的滿足某種函數(shù)關系,通過構造已知點和點之間的某種內(nèi)在規(guī)律的數(shù)量關系,進而推測未知點的性質。在現(xiàn)實生活中,我們的研究通常是基于有限樣本數(shù)據(jù),且已知的這些數(shù)據(jù)也很可能不會恰好滿足已知的某個函數(shù)。插值法就是構造函數(shù),從而揭示樣本數(shù)據(jù)間的內(nèi)在規(guī)律的方法。
常見的插值法有:Lagrange插值、Newton插值多項式、Hermite插值、分段低次插值、三次樣條插值[1-7]。每種插值法都有其優(yōu)缺點。Lagrange插值結構緊湊、思想清晰、顯式表示、公式對稱,與插值節(jié)點的編號無關,適合理論分析;但是該方法無承襲性。Newton插值法既有Lagrange插值公式便于理論分析的優(yōu)點,又具有承襲性,從而在需要增加節(jié)點時,可大大減少計算量;然而該法只是Lagrange插值公式的一種變形[8-11]。Hermite插值作為顯式算法,簡單且收斂性、穩(wěn)定性好,而且具有局部性,即如果要修改某個數(shù)據(jù),插值曲線僅僅在某個局部范圍內(nèi)受到影響,而代數(shù)插值卻會影響到整個插值區(qū)間;然而該法光滑性不高,若要提高光滑度,必須提供較多的信息才能達到。分段三次Hermite插值比分段線性插值效果明顯要好,但其要求給出節(jié)點上的導數(shù)值,所要提供的已知信息變多,其光滑度也不高,只有一階導數(shù)連續(xù)。三次樣條插值具有良好的收斂性與穩(wěn)定性,又有二階光滑性,理論上和實際都有重要意義。
實際工作中,變量間未必都有線性關系,如服藥后血藥濃度與時間的關系、疾病療效與療程長短的關系、毒物劑量與致死率的關系等常呈曲線關系。曲線擬合是指選擇適當?shù)那€類型來擬合觀測數(shù)據(jù),并用擬合的曲線方程分析兩變量間的關系。已知數(shù)據(jù)通常本身不一定可靠,個別數(shù)據(jù)的誤差甚至可能遠遠大于已知數(shù)據(jù),不妨記樣本數(shù)據(jù)點為(xk,yk),k=1,2,…,n,并稱為擬合點。最小二乘法在工業(yè)技術和其他科學研究中有廣泛應用。如果還要求擬合曲線必須經(jīng)過另外s個點(xk,yk),k=1,2,…,s,那么這s個點就稱為插值點,文獻[1-5]中討論了帶插值條件的最小二乘法,文獻[6]系統(tǒng)地闡述了最小二乘法。本文將在插值條件的基礎上,增加滿足一階導數(shù)和二階導數(shù)條件的要求,即二階Hermite插值條件。下面給出帶二階Hermite插值條件的最小二乘法的定義。
同理可證
(2)
其中:
若將δ看作關于自變量a、b的二元函數(shù),則上述問題轉化為求函數(shù)δ=δ[a,b]在哪些點取得最小值。即解方程組
(3)
故方程組的解為
(4)
經(jīng)過帶二階Hermite插值條件的最小二乘法的擬合,使得曲線的擬合效果更好。
設n為需要擬合的點的個數(shù),k為滿足插值點、一階導數(shù)點、二階導數(shù)點的個數(shù),s-1是需要尋找的擬合曲面的次數(shù),則帶n個擬合點、k個插值點、k個一階導數(shù)點及k個二階導數(shù)點的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=?;!輸入擬合點數(shù)據(jù);
y=?;
a=?;!輸入插值點數(shù)據(jù);
b=?;
c=?;!輸入一階導數(shù)點數(shù)據(jù);
d=?;
e=?;!輸入二階導數(shù)點數(shù)據(jù);
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一階導數(shù)點1-1二階導數(shù)點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].大學數(shù)學學報: 2011, 27(5) : 80-84.
[2]顏寧生. 帶插值條件的最小二乘法[J].北京服裝學院學報: 2007, 27(2) : 42-48.
[3]顏寧生. 帶一個插值點的最小二乘估計和最大似然估計[J].北京服裝學院學報, 2008, 28(3) : 56-59.
[4]張光遠, 李慶福, 顏寧生. 帶Hermite 插值條件下的三點曲線擬合[J].溫州職業(yè)技術學院學報, 2009, 9(4) : 61- 63.
[5]顏寧生. 帶一個插值點的回歸模型的參數(shù)分析[J].高等數(shù)學研究, 2010, 13(4) : 6- 8.
[6]賈小勇, 徐傳勝, 白欣. 最小二乘法的創(chuàng)立及思想方法[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].四川工業(yè)學院學報,2003(S1): 37-40.
[9]劉衛(wèi)國.MATLAB程序設計與應用[M].2版.北京:高等教育出版社,2006.
[10]張德豐.MATLAB程序設計與典型應用[M].北京:電子工業(yè)出版社,2009.
[11]李海濤. MATLAB程序設計教程[M].北京:高等教育出版社,2010.