邢麗
一維插值算法在實際問題中的應(yīng)用和比較
邢麗
(上海第二工業(yè)大學(xué)理學(xué)院,上海201209)
通過分別介紹拉格朗日插值法、分段線性插值法和三次樣條插值法的理論知識,結(jié)合數(shù)學(xué)軟件Matlab編程工具,對機床加工零件問題展開研究。針對3種插值方法所得到的圖像曲線,比較它們的適宜性,分析和判斷哪一條曲線最能反映出實際問題中的關(guān)系。
一維插值;拉格朗日插值;分段線性插值;三次樣條插值
在工程實踐中,如信息技術(shù)中的圖像重建、圖像放大過程中為避免圖像失真與扭曲而增加的插值補點、建筑工程中的外觀設(shè)計、化學(xué)工程中的實驗數(shù)據(jù)與模型分析、天文觀測數(shù)據(jù)、地理信息數(shù)據(jù)的處理等方面,插值技術(shù)的應(yīng)用是不可或缺的。插值技術(shù)的主要思想是要從一組試驗觀測數(shù)據(jù)(xi,yj) (i=0,1,···,n)之中找到自變量x與因變量y之間的函數(shù)關(guān)系,一般可用一個近似函數(shù)y=g(x)來表示。插值主要是要求近似函數(shù)y=g(x)在每一個觀測點xi處一定要滿足yi=g(xi),i=0,1,···,n。在實際問題中插值理論上的方法有很多,關(guān)鍵在于什么情況下使用、怎樣使用、使用何種插值方法。本文針對同一實際問題,采用不同的插值方法,分析比較每種方法的優(yōu)缺點。
1.1拉格朗日(Lagrange)插值法
拉格朗日插值是一種最常見的多項式插值法,也是一種最常用的逼近工具。拉格朗日的思想:已知函數(shù)y=f(x)在區(qū)間[a,b]上n+1個互異點xj的函數(shù)值為yj=f(xj),則在構(gòu)造一組基函數(shù)
顯然Li(x)是基于節(jié)點的n次多項式且滿足
則得到過n+1個點的次數(shù)最高為n的多項式pn(x)的構(gòu)造函數(shù)為[1]
1.2分段線性(Piecewise Linearity)插值法
分段線性插值法的思想:假設(shè)區(qū)間[a,b]上的連續(xù)函數(shù)f(x)在n+1個節(jié)點a=x0<x1<···<xn=b上的函數(shù)值f(xj)=yj(j=0,1,···,n),則可得到xy平面上的n+1個數(shù)據(jù)點(xj,yj)。連接相鄰數(shù)據(jù)點(xj,yj)、(xj+1,yj+1)得到n條線段,它們組成一條折線。把區(qū)間[a,b]上這n條折線段表示的函數(shù)稱為被插函數(shù)f(x)關(guān)于這n+1個數(shù)據(jù)點的分段線性插值函數(shù),記作S(x),則通過拉格朗日多項式可用來表示分段線性曲線:
則線性樣條函數(shù)可表示為[2]
1.3三次樣條(Cubic Spline)插值法
三次樣條插值法的思想:區(qū)間[a,b]上的連續(xù)函數(shù)f(x)有n+1個節(jié)點,其中a=x0<x1<···<xn=b,如果存在n個三次多項式Si(x),滿足
則稱函數(shù)S(x)為三次樣條函數(shù)。
計算實例1待加工零件的外形根據(jù)工藝要求由一組數(shù)據(jù)(x,y)給出(在平面情況下),用程控銑床加工時每一刀只能沿x方向和y方向走非常小的一步,這就需要從已知數(shù)據(jù)得到加工所要求的步長很小的(x,y)坐標。表1中給出的x,y數(shù)據(jù)位于機翼斷面的下輪廓線上,假設(shè)需要得到x坐標每改變0.1時的y坐標,試畫出曲線。
表1 已知數(shù)據(jù)表Tab.1 Known data table
用上述3種插值方法構(gòu)造一維插值函數(shù)曲線。
通過Matlab編程[3]可以直觀地畫出通過拉格朗日插值法所得到的插值曲線(見圖1)。把3種插值函數(shù)曲線放在同一個圖形界面中,觀察各個曲線的光滑性和適用性。
圖1 3種插值函數(shù)曲線及10個插值節(jié)點Fig.1 Three interpolation function curve and 10 interpolation nodes
可以清楚地看出,利用拉格朗日插值法得出的結(jié)果根本不能應(yīng)用,原因在于它的插值曲線走勢陡峭,不夠穩(wěn)定,高次插值(n>7)收斂性差[4],在x=1.0和x=3.8處有明顯的急彎。分段線性插值得出的結(jié)果光滑性較差,觀察到的曲線有略微明顯的急彎,尤其在x=14處不夠圓滑,但比拉格朗日插值曲線的收斂性、穩(wěn)定性強,而且方法簡單適用、計算量小。相對于拉格朗日和分段線性插值法,三次樣條插值的結(jié)果就比較好,它克服了拉格朗日插值函數(shù)的缺點,不僅收斂性、穩(wěn)定性強,而且也很容易實現(xiàn),應(yīng)用也十分廣泛。所以建議選用三次樣條插值的結(jié)果。
計算實例2通過Matlab編程得到的圖像如圖2所示。
從圖2(a)中可以看出,拉格朗日插值在起始節(jié)點處波動很大,不太符合實際情況。圖2(c)和圖2(d)是分別使用非扭結(jié)邊界條件和邊界為兩階導(dǎo)數(shù)的三次樣條插值,可以看出,使用非扭結(jié)邊界條件在邊界處波動稍大,第二種邊界條件更好。而如圖2(b)所示的分段線性插值在有些地方不是很光滑。
表2 北部灣藍圓鲹體長和體重的實測原始數(shù)值Tab.2 Beibu Gulfround scad body length and weightofthe originalvalue of the measured
圖2 3種插值方法得到的插值曲線Fig.2 Three interpolation function curve
拉格朗日插值是一種最常見的多項式插值法,也是一種最常用的逼近工具。利用兩個計算實例給出的數(shù)據(jù),結(jié)合Matlab編制程序,可以直觀地畫出所需數(shù)據(jù)的插值曲線,從圖中不難看出,拉格朗日插值的方法并不適合,它的光滑和穩(wěn)定性很差。否定了拉格朗日插值法后,接著利用分段線性插值法,以同樣的方式作出曲線后發(fā)現(xiàn),分段線性插值法的光滑性較拉格朗日插值法強,但觀察到的曲線也有略微明顯的急彎,穩(wěn)定性弱。最后,再利用三次樣條插值法以同樣的步驟構(gòu)造曲線后,發(fā)現(xiàn)得出的圖像不僅收斂性、穩(wěn)定性強,而且也很容易實現(xiàn)。
[1]MATHEWS J H,FINK K D.數(shù)值方法(Matlab法)[M]. 4版.周璐,陳渝,錢方,等譯.北京:電子工業(yè)出版社, 2005.
[2]李岳生.樣條與插值[M].上海:上??茖W(xué)技術(shù)出版社, 2009.
[3]趙靜,但琦.數(shù)學(xué)建模與數(shù)學(xué)實驗[M].北京:高等教育出版社,2003.
[4]BURDEN R L,FAIRES J D.Numericalanalysis[M].7th ed.Boston:PWS,2001.
Application and Comparison ofthe One-DimensionalInterpolation Algorithm in PracticalProblems
XING Li
(Schoolof Science,ShanghaiSecond Polytechnic University,Shanghai201209,P.R.China)
Lagrange interpolation,piecewise linear interpolation and cubic spline interpolation methods of theoretical knowledge is focused on,combined with mathematicalsoftware Matlab programming toolfor machining parts problems to study and compare their suitability of the curves obtained by the three interpolation methods.Atthe same time,itis analyzed and determined which curve best reflects the relationship between the actualproblems.
one-dimension interpolation;Lagrange interpolation;piecewise linear interpolation;cubic spline interpolation
P315.31
A
1001-4543(2013)04-0311-04
2013-08-28;
2013-10-28
邢麗(1978–),女,山東人,副教授,碩士,主要研究方向為偏微分方程數(shù)值解,電子郵箱xingli@sspu.edu.cn。