三次樣條插值作業(yè)題_第1頁
三次樣條插值作業(yè)題_第2頁
三次樣條插值作業(yè)題_第3頁
三次樣條插值作業(yè)題_第4頁
三次樣條插值作業(yè)題_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余5頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、例1設(shè)f(x)為定義在0,3上的函數(shù),有下列函數(shù)值表:Xi0123yi00.521.5且f'(x0)=0.2,f'(X3)=-1,試求區(qū)間0,3上滿足上述條件的三次樣條插值函數(shù)s(x)本算法求解出的三次樣條插值函數(shù)將寫成三彎矩方程的形式:s(x)=Mj6hj3Mj13(jT)所(x")m白2(yj6hjMj后)(yji-)-(xj1-x)-6(x-xj)hjMjhj2Mj12MiM(yj-a)(yj1-).其中,方程中的系數(shù),,6,6將由Matlab6hj6hjhjhj代碼中的變量Coefs_1、Coefs_2Coefs_3以及Coefs_4的值求出以下為Matlab

2、代碼:%=%本段代碼解決作業(yè)題的例i%=clearallclc%自變量x與因變量y,兩個(gè)邊界條件的取值IndVar=0,1,2,3;DepVar=0,0.5,2,1.5;LeftBoun=0.2;RightBoun=-1;%區(qū)間長度向量,其各元素為自變量各段的長度h=zeros(1,length(IndVar)-1);fori=1:length(IndVar)-1h(i)=IndVar(i+1)-IndVar(i);end%為向量科賦值mu=zeros(1,length(h);fori=1:length(mu)-1mu(i)=h(i)/(h(i)+h(i+1);endmu(i+1)=1;%為向

3、量入賦值lambda=zeros(1,length(h);lambda(1)=1;fori=2:length(lambda)lambda(i)=h(i)/(h(i-1)+h(i);end%為向量d賦值d=zeros(1,length(h)+1);d(1)=6*(DepVar(2)-DepVar(1)/(IndVar(2)-IndVar(1)-LeftBoun)/h(1);fori=2:length(h)a=(DepVar(i)-DepVar(i-1)/(IndVar(i)-IndVar(i-1);b=(DepVar(i+1)-DepVar(i)/(IndVar(i+1)-IndVar(i);c

4、=(b-a)/(IndVar(i+1)-IndVar(i-1);d(i)=6*c;end)/h(i);d(i+1)=6*(RightBoun-(DepVar(i+1)-DepVar(i)/(IndVar(i+1)-IndVar(i)%為矩陣A賦值%將主對角線上的元素全部置為2A=zeros(length(d),length(d);fori=1:length(d)A(i,i)=2;end%將向量入的各元素賦給主對角線右側(cè)第一條對角線fori=1:length(d)-1A(i,i+1)=lambda(i);end%將向量d的各元素賦給主對角線左側(cè)第一條對角線fori=1:length(d)-1A(

5、i+1,i)=mu(i);end%求解向量MM=Ad'%求解每一段曲線的函數(shù)表達(dá)式fori=1:length(h)Coefs_1=M(i)/(6*h(i);Part_1=conv(Coefs_1,.conv(-1,IndVar(i+1),.conv(-1,IndVar(i+1),-1,IndVar(i+1);S_1=polyval(Part_1,IndVar(i):0.01:IndVar(i+1);Coefs_2=M(i+1)/(6*h(i);Part_2=conv(Coefs_2,.conv(1,-IndVar(i),.conv(1,-IndVar(i),1,-IndVar(i);S

6、_2=polyval(Part_2,IndVar(i):0.01:IndVar(i+1);Coefs_3=(DepVar(i)-M(i)*h(i)A2/6)/h(i);Part_3=conv(Coefs_3,-1,IndVar(i+1);S_3=polyval(Part_3,IndVar(i):0.01:IndVar(i+1);Coefs_4=(DepVar(i+1)-M(i+1)*h(i42/6)/h(i);Part_4=conv(Coefs_4,1,-IndVar(i);S_4=polyval(Part_4,IndVar(i):0.01:IndVar(i+1);S=S_1+S_2+S_3+

7、S_4;plot(IndVar(i):0.01:IndVar(i+1),S,'LineWidth',1.25)%在樣條插值曲線的相應(yīng)位置標(biāo)注該段曲線的函數(shù)表達(dá)式text(i-1,polyval(Part_1,3),.'itS',num2str(i),'(x)=',num2str(Coefs_1),'(',num2str(IndVar(i+1),'-x)A3+',.num2str(Coefs_2),'(x-',num2str(IndVar(i),'F3+',num2str(Coefs_

8、3),.'(',num2str(IndVar(i+1),'-x)+',num2str(Coefs_4),'(x-',num2str(IndVar(i),')',.'FontName','TimesNewRoman','FontSize',14)holdonend%過x=1和x=2兩個(gè)橫軸點(diǎn)作垂線%line(1,1,2.5,-0.5,'LineStyle','-');line(2,2,2.5,-0.5,'LineStyle','-

9、');%為x軸和y軸添加標(biāo)注xlabel('itx','FontName','TimesNewRoman',.'FontSize',14,'FontWeight','bold');ylabel('its(x)','FontName','TimesNewRoman',.'Rotation',0,'FontSize',14,'FontWeight','bold');最終,三次樣條插值函

10、數(shù)s(x)|l達(dá)式為:0.06(1X)3十0.42x3+0.06(1x)+0.08x,xwb,l,s(x)=0.42(2x)3-0.62(x-1)3+0.08(2x)+2.62(x1),xw1,2】,0.62(3x)3+0.06(x-2)3+2.62(3-x)+1.44(x-2),xw12,31曲線的圖像如圖所示:例2已知函數(shù)值表:Xi1245yi1342試求在區(qū)間1,5上滿足上述函數(shù)表所給出的插值條件的三次自然樣條插值函數(shù)s(x)本算法求解出的三次樣條插值函數(shù)將寫成三彎矩方程的形式:s(x)=Mj6hj3Mj13(jT)所(X")M討(yj6hjMj后)(山1一)-(Xj1-X)-

11、6(X-Xj)hjMjh2Mj1h2MiM(yj-a)(yj1-).其中,方程中的系數(shù),,6,6將由Matlab6hj6hjhjhj代碼中的變量Coefs_1、Coefs_2Coefs_3以及Coefs_4的值求出以下為Matlab代碼:%=%本段代碼解決作業(yè)題的例2%=clearallclc%自變量x與因變量y的取值IndVar=1,2,4,5;DepVar=1,3,4,2;%區(qū)間長度向量,其各元素為自變量各段的長度h=zeros(1,length(IndVar)-1);fori=1:length(IndVar)-1h(i)=IndVar(i+1)-IndVar(i);end%為向量科賦值m

12、u=zeros(1,length(h);fori=1:length(mu)-1mu(i)=h(i)/(h(i)+h(i+1);endmu(i+1)=0;%為向量入賦值lambda=zeros(1,length(h);lambda(1)=0;fori=2:length(lambda)lambda(i)=h(i)/(h(i-1)+h(i);end%為向量d賦值d=zeros(1,length(h)+1);d(1)=0;fori=2:length(h)a=(DepVar(i)-DepVar(i-1)/(IndVar(i)-IndVar(i-1);b=(DepVar(i+1)-DepVar(i)/(I

13、ndVar(i+1)-IndVar(i);c=(b-a)/(IndVar(i+1)-IndVar(i-1);d(i)=6*c;endd(i+1)=0;%為矩陣A賦值%將主對角線上的元素全部置為2A=zeros(length(d),length(d);fori=1:length(d)A(i,i)=2;end%將向量入的各元素賦給主對角線右側(cè)第一條對角線fori=1:length(d)-1A(i,i+1)=lambda(i);end%將向量d的各元素賦給主對角線左側(cè)第一條對角線fori=1:length(d)-1A(i+1,i)=mu(i);end%求解向量MM=Ad'%求解每一段曲線的函

14、數(shù)表達(dá)式fori=1:length(h)Coefs_1=M(i)/(6*h(i);Part_1=conv(Coefs_1,.conv(-1,IndVar(i+1),.conv(-1,IndVar(i+1),-1,IndVar(i+1);S_1=polyval(Part_1,IndVar(i):0.01:IndVar(i+1);Coefs_2=M(i+1)/(6*h(i);Part_2=conv(Coefs_2,.conv(1,-IndVar(i),.conv(1,-IndVar(i),1,-IndVar(i);S_2=polyval(Part_2,IndVar(i):0.01:IndVar(i

15、+1);Coefs_3=(DepVar(i)-M(i)*h(i)A2/6)/h(i);Part_3=conv(Coefs_3,-1,IndVar(i+1);S_3=polyval(Part_3,IndVar(i):0.01:IndVar(i+1);Coefs_4=(DepVar(i+1)-M(i+1)*h(i42/6)/h(i);Part_4=conv(Coefs_4,1,-IndVar(i);S_4=polyval(Part_4,IndVar(i):0.01:IndVar(i+1);S=S_1+S_2+S_3+S_4;plot(IndVar(i):0.01:IndVar(i+1),S,

16、9;LineWidth',1.25)%在樣條插值曲線的相應(yīng)位置標(biāo)注該段曲線的函數(shù)表達(dá)式text(i,polyval(Part_1,5),.'itS',num2str(i),'(x)=',num2str(Coefs_1),'(',num2str(IndVar(i+1),'-x)A3+',.num2str(Coefs_2),'(x-',num2str(IndVar(i),'F3+',num2str(Coefs_3),.'(',num2str(IndVar(i+1),'-x

17、)+',num2str(Coefs_4),'(x-',num2str(IndVar(i),')',.'FontName','TimesNewRoman','FontSize',14)holdonend%過x=2和x=4兩個(gè)橫軸點(diǎn)作垂線%line(2,2,4.5,0.5,'LineStyle','-');line(4,4,4.5,0.5,'LineStyle','-');%為x軸和y軸添加標(biāo)注xlabel('itx','F

18、ontName','TimesNewRoman',.'FontSize',14,'FontWeight','bold');ylabel('its(x)','FontName','TimesNewRoman',.'Rotation',0,'FontSize',14,'FontWeight','bold');最終,三次自然樣條插值函數(shù)s(x層達(dá)式為:<-0.125(x-1)3+(2-x)+3.125(x-1),

19、xw1,2】,s(x)=<0.0625(4x)3-0.1875(x-2)3+1.75(4-x)+2.75(x-2),xw12,4,0.375(5x)3+4.375(5x)+2(x4),xw4,51曲線的圖像如圖所示:例3課后習(xí)題與思考題第7題Xi0.250.300.390.450.53yi0.50000.54770.62450.67080.7280試求在區(qū)間0.25,0.53比滿足上述函數(shù)表所給出的插值條件的三次自然樣條插值函數(shù)s(x)求解出的三次樣條插值函數(shù)將寫成三彎矩方程的形式:MjhjMi3Mli3-一)Ns(x)(Xj1-X)(x-Xj)6一(Xj.1-X)6%6%)-(x-xj

20、)本題采用和例2基本相同的Matlab代碼,只改變初始條件。最終,三次自然樣條插值函數(shù)s(x層達(dá)式為:s(x)=<-6,2652(x-0,25)3+10(0.3-x)+10.9697(x-0.25),xb,25,0.30,33-3.4806(0.39-x)-1.5993(x-0.3)+6,1137(0.39-x)+6.9518(x-0.3),33-2.399(0.45-x)-2.859(x-0.39)+10.417(0.45x)+11.1903(x0.39),-2.1442(0.53-x)3十8.3987(0.53x)+9,1(x0.45),x=0.45,0.53】.0.30,0,391

21、,0.39,0.45】,曲線的圖像如圖所示:例4課后習(xí)題與思考題第6題求y=的二次插值式P2(x),使:F2(100)=10,P2(121)=11,P2(144)=12(144);并計(jì)算Y市的近似值并估計(jì)誤差。本題采用拉格朗日二次插值法進(jìn)行計(jì)算:以下為Matlab代碼:%=%本段代碼解決課本第2章習(xí)題與思考題第6題%=clearallclc%自變量x與因變量y的取值IndVar=100,121,144;DepVar=10,11,12;%構(gòu)造拉格朗日插值函數(shù)Coefs_1=DepVar(1)/.(IndVar(1)-IndVar(2)*(IndVar(1)-IndVar(3);Part_1=co

22、nv(Coefs_1,.conv(1,-IndVar(2),1,-IndVar(3);f_1=polyval(Part_1,IndVar(1):0.01:IndVar(3);Coefs_2=DepVar(2)/.(IndVar(2)-IndVar(1)*(IndVar(2)-IndVar(3);Part_2=conv(Coefs_2,.conv(1,-IndVar(1),1,-IndVar(3);f_2=polyval(Part_2,IndVar(1):0.01:IndVar(3);Coefs_3=DepVar(3)/.(IndVar(3)-IndVar(1)*(IndVar(3)-IndVa

23、r(2);Part_3=conv(Coefs_3,.conv(1,-IndVar(1),1,-IndVar(2);f_3=polyval(Part_3,IndVar(1):0.01:IndVar(3);f=f_1+f_2+f_3;plot(IndVar(1):0.01:IndVar(3),f,'LineWidth',1.25);%在樣條插值曲線的相應(yīng)位置標(biāo)注該段曲線的函數(shù)表達(dá)式text(110,polyval(Part_1,110)+polyval(Part_2,110)+polyval(Part_3,110),.'itP_2(x)=',num2str(Coefs_1),'(x-',num2str(IndVar(2),.')(x-',num2str(IndVar(3),')+',num2str(Coefs_2),'(x-',num2str(IndVar(1),.')(x-'

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論