于振廷
摘 要:二次樣條插值在工程設(shè)計上被廣泛應(yīng)用,且具有計算簡單、穩(wěn)定性好、收斂快等特點。憑借定義討論給定一階導(dǎo)數(shù)值時的二次樣條插值,并根據(jù)數(shù)據(jù)用MATLAB實現(xiàn)。
關(guān)鍵詞:二次樣條;插值;MATLAB
工程上的許多問題,為了顯示其內(nèi)在規(guī)律的數(shù)量關(guān)系,我們都可用數(shù)學(xué)函數(shù)的思想y=f(x)來表示。有些問題其計算量大且較為復(fù)雜,難以還原準(zhǔn)確的f(x)。[ 1 ]因此我們引入差值概念,用分段多項式P(x)近似f(x)。
一、二次樣條插值的特點
二次樣條插值是一種低階次的插值,與高階次插值相比較,它具有計算簡單、穩(wěn)定性好、收斂性有保證且易在電子計算機上實現(xiàn)等特點,同時能保證在連接處的連續(xù)性及一階導(dǎo)數(shù)的連續(xù)性。[ 2 ]
二、二次樣條差值的定義
給定區(qū)間[a,b],取n+1個點分別x0,x1,x2,…xn,另a=x0,b=xn,二次樣條函數(shù)S(x)滿足以下條件:
1)S(x)在每個區(qū)間間隔[xi-1,xi](i=1,2,…,n)上是一個二階多項式;
2)S(x)在每一個內(nèi)接點xi(i=1,2,…,n-1)上具有一階的連續(xù)導(dǎo)數(shù);
3)S(x)在所有節(jié)點滿足S(xi)=yi(i=0,1,2,…,n)。
這樣就可以確定3n-1個方程,并在[a,b]的兩個端點處增加一個條件,這樣就能確定一個特定的二次樣條插值函數(shù)。這個條件即邊界條件,本文僅討論給定初始端點的一階導(dǎo)數(shù)值: (x0)= 0的情況。[ 3 ]
三、二次樣條插值的計算
給定初始端點一階導(dǎo)數(shù)值: (x0)= 0:[ 4 ]
在區(qū)間[x0,x1]內(nèi),已知S(x0)=y0,S(x1)=y1和 (x0)= 0,由Hermite插值公式可知:
S(x)= (x-x0)2+ 0(x-x0)+y0 (1)
其中hi=xi+1-xi(i=1,2,…,n-1),此時, 1= (x1)= - 0,同樣加上S(x1)=y1,S(x2)=y2,兩個條件可推導(dǎo)出區(qū)間[x1,x2]內(nèi)的二次插值函數(shù),以此類推得到區(qū)間內(nèi)[xi,xi+1](i=1,2,…,n-1)二次樣條插值函數(shù)為:
S(x)= (x-xi)2+ i(x-xi)+yi(2)
而 i+1可由公式3遞推得到:
i+1= (xi+1)= - i (3)
四、二次樣條插值函數(shù)的MATLAB實現(xiàn)
我們以y=2sin(x)+1為例,在區(qū)間[0,π]上分為5段并計算x,y的數(shù)值,如表1,并計算得出其端點的一階導(dǎo)數(shù)值 =2。
我們僅根據(jù)數(shù)據(jù)x,y, ,用MATLAB的方法計算二次樣條插值,并畫出其仿真圖,如圖1。
表1
clear all
syms z;
x=0:(1/5)*pi:pi;y=[1.0000 2.1756 2.9021 2.9021 2.1756 1.0000];
y1(1,1)=2;n1=length(x)-1;
for i=1:1:n1;
A1=(y(1,i+1)-y(1,i)-(x(1,i+1)-x(1,i))*y1(1,i))/(x(1,i+1)-x(1,i))^2;A2=y1(1,i);A3=y(1,i);
y11(1,i)=A1;y12(1,i)=A2-2*A1*x(1,i);y13(1,i)=A1*x(1,i)^2-A2*x(1,i)+A3;
y1(1,i+1)=2*(y(1,i+1)-y(1,i))/(x(1,i+1)-x(1,i))-y1(1,i)
end
for i=1:1:n1
ai=y11(1,i);bi=y12(1,i);ci=y13(1,i);fi=ai*z.^2+bi*z+ci;ezplot(z,fi,[x(1,i),x(1,i+1)]);
hold on;end
由圖1可知二次樣條插值可以很好的還原原函數(shù)。
五、結(jié)語
本文對二次樣條插值進(jìn)行介紹,并引用數(shù)據(jù)用MATLAB方法計算二次樣條插值,并給出相應(yīng)的程序以及仿真圖。從結(jié)果上看二次樣條插值計算簡單,并可以很好的還原原函數(shù)。
參考文獻(xiàn):
[1] 李慶楊,王能超.數(shù)值分析[M].第五版.北京:清華大學(xué)出版社,2008.12:22.
[2] 許小勇,鐘太勇.三次樣條插值函數(shù)的構(gòu)造與Matlab實現(xiàn)[J].自動測量與控制,2006,第25卷第11期:76-78.
[3] 李岳生.多點邊值問題與樣條插值[J].中國科學(xué),1983,第二期:147-156.
[4] 劉為,高毅.二次樣條插值研究[J].計算機與數(shù)學(xué)工程,2011,第3期:21-24.