邢 麗
(上海第二工業(yè)大學(xué)理學(xué)院,上海201209)
三次樣條插值端點(diǎn)約束條件的構(gòu)造與Matlab實現(xiàn)
邢 麗
(上海第二工業(yè)大學(xué)理學(xué)院,上海201209)
在工程計算中,樣條插值技術(shù)的研究越來越重要。三次樣條插值的邊界條件是根據(jù)實際問題在端點(diǎn)的狀態(tài)給出。通過研究三次樣條函數(shù)插值,針對不同的端點(diǎn)約束,用Matlab計算分析,顯示各區(qū)間段三次樣條函數(shù)體表達(dá)式,計算出已給點(diǎn)插值并顯示各區(qū)間分段曲線圖,并應(yīng)用到實際問題中。重點(diǎn)討論端點(diǎn)約束條件以及混合邊界條件。
計算數(shù)學(xué);三次樣條插值;端點(diǎn)約束;Matlab
在工程計算中,插值技術(shù)的研究越來越重要。樣條插值,就是利用已經(jīng)測得的一系列的點(diǎn),在每個節(jié)點(diǎn)區(qū)間內(nèi)建立三次多項式函數(shù),通過條件限制,使所得函數(shù)曲線或曲面一次、二次導(dǎo)數(shù)均存在,即擬合出的曲線或曲面是連續(xù)的,并具有較好的光滑性。因此,樣條插值函數(shù)是實際應(yīng)用中比較常用的擬合逼近方法。其中,端點(diǎn)約束條件的選擇是非常重要的。本文通過研究三次樣條函數(shù)插值,把五種不同的端點(diǎn)約束條件應(yīng)用到實際問題中,針對不同的端點(diǎn)約束,用Matlab計算分析,通過圖像及取值比較,從而能得出不同端點(diǎn)約束下插值函數(shù)的異同和優(yōu)缺點(diǎn)。
在實際工程計算中,對數(shù)據(jù)集進(jìn)行多項式擬合有許多應(yīng)用。操作者希望畫出經(jīng)過數(shù)據(jù)點(diǎn)的無誤的光滑曲線。從數(shù)學(xué)角度分析,在每個區(qū)間[xk,xk+1]可構(gòu)造一個三次函數(shù)Sk(x), 使得分段曲線y=S( x)和它的一階導(dǎo)數(shù)和二階導(dǎo)數(shù)在更大的區(qū)間[x0, xN]內(nèi)連續(xù)。
定義[1]設(shè){(xk,yk)有N+1個節(jié)點(diǎn),其中a=x0 (I)S( x)=S(x)=s+s(x?x)+s(x?x)2+s(x?x)3,x∈[x,x],k=0,1,…,N ?1 k k,0k,1kk,2kk,3kkk+1 (II)S( xk)=yk,k=0,1,…,N (III)Sk(xk+1)=Sk+1(xk+1),k=0,1,…,N ?2 則函數(shù)S( x)為三次樣條函數(shù)。以上性質(zhì)說明S( x)不僅是由分段三次多項式構(gòu)成,而且是一個光滑的連續(xù)函數(shù)。 三次樣條的存在性[1]:由于S( x)是分段三次多項式,它的二階導(dǎo)數(shù)S''(x)在區(qū)間[x0, xN]內(nèi)是分段線性的。根據(jù)線性拉格朗日插值, S"(x)=(x)可表示為 方程組(1)中的未知數(shù)是要求的值{mk}, 其他的項是可以通過數(shù)據(jù)節(jié)點(diǎn)得到的常量。因此,方程組(1)是包含N+1個未知數(shù),具有N?1個方程的不定方程組。需要另外兩個方程才能求解,可通過它們消去方程組(1)中的m0和mN。針對端點(diǎn),采取不同的端點(diǎn)策略[2]。 (IV)S''(x)是靠近端點(diǎn)的常量:m0=m1, mN=mN?1 (V)在每個端點(diǎn)處指定S''(x):m0=S''(x0),mN=S''(xN) 以策略(Ⅴ)為例,如果給定m0,方程組(1)的第一個方程為 如果給定Nm,方程組(1)的最后一個方程為 如果不考慮具體策略,根據(jù)(1), (2), (3), 可得到一個包含m1, m2,…mN?1的三角線性方程組 下面討論針對不同的端點(diǎn)約束,所得到的方程組的形式。 (II)natural樣條:S'( a)=0,S'( b)=0,此時方程組(4)的形式為 (III)外推樣條:通過對點(diǎn)1x和2x外推得到''()Sa, 對1Nx?和2Nx?外推得到''()S b, 此時,方程組(4)的形式為 (IV)拋物線終結(jié)樣條:在區(qū)間[x0, x1]內(nèi),令S'''(x)=0, 在區(qū)間[xN?1,xN]內(nèi),令S'''(x)=0, 此時,方程組(4)的形式為 (V)端點(diǎn)曲率調(diào)整樣條:S''(a),S''( b)是確定的值,此時,方程組(4)的形式為 下表給出洛杉磯郊區(qū)12小時內(nèi)每個小時的溫度(華氏溫度)[1]。對這些數(shù)據(jù)利用不同的端點(diǎn)約束進(jìn)行三次樣條插值。 表1 溫度表Tab. 1 Thermometer 算法與步驟: ①輸入N+1個插值節(jié)點(diǎn)a=x0 ②計算步長hk=xk+1?xk, k=1,2,…,N ?1 ③計算uk=6(dk?dk?1),k=1,2,…,N ?1 ④根據(jù)不同端點(diǎn)約束條件計算m0, mN ⑤分別用追趕法求三對角方程組(4)得到不同條件下的m1, m2,…,mN ⑥輸出各區(qū)間Sk(x)的表達(dá)式,然后用Matlab畫圖,分別得到插值曲線如下圖。 圖1 不同端點(diǎn)約束條件下的插值曲線Fig. 1 The interpolation curves of the different endpoints 從圖1中可以看出,對于五種端點(diǎn)約束,左端點(diǎn)高度一致,右端點(diǎn)處差別較大。在一些問題中,可以采取混合端點(diǎn)條件得到更多的樣條形式。樣條插值是分段三次多項式插值,不存在高次的插值函數(shù),并且三次函數(shù)在節(jié)點(diǎn)處保持了較好的光滑性、連續(xù)性,插值效果在一定程度上優(yōu)于拉格朗日插值。從應(yīng)用中也可以看出,對于曲線較平坦的地方,即使節(jié)點(diǎn)間距離很大的曲線的逼近效果仍然是很好的[3]。本文通過構(gòu)造不同的端點(diǎn)約束條件,編制了通用的Matlab程序,直觀地了解了三次樣條插值的優(yōu)缺點(diǎn),在實際問題的計算中起到了一定的作用。 [1] MATHEWS J H, FINK K D. 數(shù)值方法[M]. 第四版. 北京: 電子工業(yè)出版社, 2005. [2] 金堅明. 論一階、二階導(dǎo)數(shù)端點(diǎn)存在誤差對三次樣條插值函數(shù)的影響[J]. 數(shù)學(xué)的實踐與認(rèn)識, 1987(2): 96-98. [3] 曹德欣, 王海軍. 三次樣條插值函數(shù)的數(shù)值穩(wěn)定性[J]. 中國礦業(yè)大學(xué)學(xué)報: 自然科學(xué)版, 2001(2): 213-216. Structure and Matlab Implementation of Cubic Spline Interpolation Endpoint Constraints XING Li Spline interpolation techniques are increasingly important in engineering calculations. The boundary conditions of the cubic spline interpolation are given according to the actual problem in the state of the endpoint. Through researching cubic spline function interpolation constraints for different endpoints, using Matlab computational analysis, each interval segment cubic spline function body expression is showed. The point of interpolation is calculated and each interval segment graph is displayed which is applied to practical problems. Endpoint constraints as well as mixed boundary conditions is focused on. computational mathematics; cubic spline interpolation; endpoint constraints; Matlab P315.31 A 1001-4543(2012)04-0319-05 2012-09-24; 2012-11-20 邢麗(1978-),女,山東人,講師,碩士,主要研究方向為偏微分方程數(shù)值解,電子郵箱xingli@sf.sspu.cn。2 端點(diǎn)約束
3 數(shù)值例子
4 結(jié)論
( Department of Applied Mathematics, Shanghai Second Polytechnic University, Shanghai 201209, P. R. China )