三次樣條差值擬合車門曲線_第1頁
三次樣條差值擬合車門曲線_第2頁
三次樣條差值擬合車門曲線_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)學實驗三次樣條數(shù)學實驗三次樣條插值實驗1:某汽車制造商用三次樣條插值設計車門的曲線,其中一段的數(shù)據(jù)如下:x012345678910V0.00.791.532.192.713.033.272.893.063.193.29V0.80.2用三次樣條插值求Sio(x),用軟件繪制S1o(x)的圖像,即車門的曲線1、計算S1o(x):程序:/splineaaaa.cpp:定義控制臺應用程序的入口點。/*三次樣條差值*/*第一步,利用差商,代替導數(shù),求差商;/*第二步,利用追趕法求解三對角方程組,得到Mi;/*第三步,將求得值帶入三次樣條函數(shù),求得S(x)#include<stdlib.h>

2、#include<stdio.h>#include<math.h>#defineN10doublexN+1,fxN+1,hN,HN,fN,aN+1,bN+1,cN+1,MN+1,betaN+1,yN+1,sN;/定義變量數(shù)組;doubletiaojian1,tiaojian2;/邊界條件;/求插商;voidchashang()inti;|for(i=0;i<=N-1;i+)hi=xi+1-xi;Ifor(i=0;i<=N-1;i+)fi=(fxi+1-fxi)/(xi+1-xi);for(i=1;i<=N-1;i+)ai=hi-1/(hi-1+hi);

3、bi=hi/(hi-1+hi);ci=3*(ai*fi-1+bi*fi);匚for(i=1;i<=N-1;i+)(Hi=pow(hi,2);/求hi的平方;)/利用追趕法解三對角方程組前期初始值;aN=1;/aN相當于卬N;b0=1;/入0;c0=6.*(f0-tiaojian1)/h0;/相當于d0;cN=6.*(tiaojian2-fN-1)/hN-1;/相當于dN;)/追趕法計算彎矩向量Mi;voidZhuigan()(inti;|beta0=b0/2.;y0=c0/2.;|for(i=1;i<=N-1;i+)betai=bi/(2.-ai*betai-1);/計算pi;fo

4、r(i=1;i<=Ni+)yi=(ci-ai*yi-1)/(2.-ai*betai-1);/順序求解計算yi;MN=yN;|for(i=N-1;i>=0;i-)/逆序求解計算MiMi=yi-betai*Mi+1;)/輸出三次樣條差值函數(shù)S1(x)S10(x)voidPrints()(inti;for(i=0;i<Ni+)printf("s%d=%lf*(%lf-x)人3+%lf*(x-%l伊3+%lf*(%lf-x)+%lf*(x-%lf)n",i+1,Mi/(6.*hi),xi+1,Mi+1/(6.*hi),xi,fxi/hi-Mi*Hi/6.,xi+1

5、,fxi+1/hi-Mi+1*Hi/6.,xi);)/主函數(shù)調用;voidmain()(inti;x0=0;fx0=0.0;x1=1;fx1=0.79;x2=2;fx2=1.53;x3=3;fx3=2.19;x4=4;fx4=2.71;x5=5;fx5=3.03;x6=6;fx6=3.27;x7=7;fx7=2.89;x8=8;fx8=3.06;x9=9;fx9=3.19;x10=10;fx10=3.29;tiaojianl=0.8;tiaojian2=0.2;chashang();printf("追趕法計算所得Mi:n");Zhuigan();for(i=0;i<=

6、Ni+)printf("%fn",Mi);printf("三次插值多項式si=n");Prints();結果:追趕法計算所得Mi:-0.6038191.1476380.6032690.6392880.3795800.362392-0.149149-0.1857950.2623290.0364770.281761三次插值多項式si=s1=-0.100636.*(1.000000-x1).人3+0.191273.*x1.人3+0.790000.*x1;s2=0.191273.*(2.000000-x2).人3+0.100545.*(x2-1.000000).

7、人3+0.598727.*(2.000000-x2)+1.429455.*(x2-1.000000);s3=0.100545.*(3.000000-x3).人3+0.106548.*(x3-2.000000).人3+1.429455.*(3.000000-x3)+2.083452.*(x3-2.000000);s4=0.106548.*(4.000000-x4).人3+0.063263.*(x4-3.000000).人3+2.083452.*(4.000000-x4)+2.646737.*(x4-3.000000);s5=0.063263.*(5.000000-x5).人3+0.060399.

8、*(x5-4.000000).人3+2.646737.*(5.000000-x5)+2.969601.*(x5-4.000000);s6=0.060399.*(6.000000-x6).人3+-0.024858.*(x6-5.000000).人3+2.969601.*(6.000000-x6)+3.294858.*(x6-5.000000);s7=-0.024858.*(7.000000-x7).人3+-0.030966.*(x7-6.000000).人3+3.294858.*(7.000000-x7)+2.920966.*(x7-6.000000);s8=-0.030966.*(8.0000

9、00-x8).人3+0.043722.*(x8-7.000000).人3+2.920966.*(8.000000-x8)+3.016278.*(x8-7.000000);s9=0.043722.*(9.000000-x9).人3+0.006080.*(x9-8.000000).人3+3.016278.*(9.000000-x9)+3.183920.*(x9-8.000000);s10=0.006080.*(10.000000-x10).人3+0.046960.*(x10-9.000000).人3+3.183920.*(10.000000-x10)+3.243040.*(x10-9.000000

10、);2、繪制車門曲線S10(x):matlab程序:clcclearsymsxsymss;symssj;x11=0:1:10;s11=0.0;0.79;1.53;2.19;2.71;3.03;3.27;2.89;3.06;3.19;3.29;pp=csape(x11,s11,'complete',0.8,0.2);sj=ppval(pp,x11);x1=0.0001:0.01:1;x2=1:0.01:2;x3=2:0.01:3;x4=3:0.01:4;x5=4:0.01:5;x6=5:0.01:6;x7=6:0.01:7;x8=7:0.01:8;x9=8:0.01:9;x10=

11、9:0.01:10;s1=-0.100636.*(1.000000-x1).人3+0.191273.*x1.人3+0.790000.*x1;s2=0.191273.*(2.000000-x2).人3+0.100545.*(x2-1.000000).人3+0.598727.*(2.000000-x2)+1.429455.*(x2-1.000000);s3=0.100545.*(3.000000-x3).人3+0.106548.*(x3-2.000000).人3+1.429455.*(3.000000-x3)+2.083452.*(x3-2.000000);s4=0.106548.*(4.0000

12、00-x4).人3+0.063263.*(x4-3.000000).人3+2.083452.*(4.000000-x4)+2.646737.*(x4-3.000000);s5=0.063263.*(5.000000-x5).人3+0.060399.*(x5-4.000000).人3+2.646737.*(5.000000-x5)+2.969601.*(x5-4.000000);s6=0.060399.*(6.000000-x6).人3+-0.024858.*(x6-5.000000).人3+2.969601.*(6.000000-x6)+3.294858.*(x6-5.000000);s7=-

13、0.024858.*(7.000000-x7).人3+-0.030966.*(x7-6.000000).人3+3.294858.*(7.000000-x7)+2.920966.*(x7-6.000000);s8=-0.030966.*(8.000000-x8).人3+0.043722.*(x8-7.000000).人3+2.920966.*(8.000000-x8)+3.016278.*(x8-7.000000);s9=0.043722.*(9.000000-x9).人3+0.006080.*(x9-8.000000).人3+3.016278.*(9.000000-x9)+3.183920.*(x9-8.000000);s10=0.006080.*(10.000000-x10).人3+0.046960.*(x10-9.000000).人3+3.183920.*(10.000000-x10)+3.243040.*(x10-9.000000);x=x1,x2,x3,x4,x5,x6,x7,x8,x9,x10;S=s1,s2,s3,s4,s5,s6,s7,s8,s9,s10;QX=plot(x,S,'r')set(QX,'LineWidth',1.85);holdonplot(x11,s11,

溫馨提示

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

最新文檔

評論

0/150

提交評論