數(shù)值分析實(shí)驗(yàn)二分段插值_第1頁(yè)
數(shù)值分析實(shí)驗(yàn)二分段插值_第2頁(yè)
數(shù)值分析實(shí)驗(yàn)二分段插值_第3頁(yè)
數(shù)值分析實(shí)驗(yàn)二分段插值_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、 數(shù)學(xué)與軟件科學(xué)學(xué)院 實(shí)驗(yàn)報(bào)告 學(xué)期: 至 第 學(xué)期 年 月 日 課程名稱(chēng):_計(jì)算機(jī)數(shù)值方法_ 專(zhuān)業(yè): 級(jí) 班實(shí)驗(yàn)編號(hào):2 實(shí)驗(yàn)項(xiàng)目 分段線性、分段二次插值多項(xiàng)式 指導(dǎo)教師_張莉_姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績(jī):一、實(shí)驗(yàn)?zāi)康募耙髮?shí)驗(yàn)?zāi)康模?. 體會(huì)分段低次插值在不增加結(jié)點(diǎn)的情況下,提高插值精度的思想和這種用低代價(jià)換取高回報(bào)的手段。2. 熟練掌握分段一次、分段二次插值多項(xiàng)式公式;3. 掌握分段插值多項(xiàng)式算法設(shè)計(jì)的特點(diǎn)。實(shí)驗(yàn)要求:1. 給出分段一次、二次插值算法;2. 用C語(yǔ)言實(shí)現(xiàn)算法3. 給出誤差分析。二、實(shí)驗(yàn)內(nèi)容用下列插值節(jié)點(diǎn)數(shù)據(jù),構(gòu)造分段線性插值多項(xiàng)式,并計(jì)算f(1.075),f(1.175)的

2、值。x1.051.101.151.20F(x)2.122.202.172.32三、實(shí)驗(yàn)步驟(該部分不夠填寫(xiě).請(qǐng)?zhí)顚?xiě)附頁(yè))步驟一:寫(xiě)出分段插值函數(shù)的算法:1 輸入n的值,及節(jié)點(diǎn)值(xi,yi),i=0,1,2,3n;記f(xi)=yi2 For i=0,1,2,.n-1 在xi,xi+1上計(jì)算Pi(x)=f(xi)*(x-xi+1)/(xi-xi+1)+f(xi+1)(x-xi)/(xi+1-xi)3. 在x_k,x_k+1,x_k+2 上 計(jì)算 P(x)=y_i*(x-x_r)/(x_j-x_r)4.輸入x的值,計(jì)算結(jié)果。步驟二:輸入分段插值函數(shù)的程序如下:#include<stdio.

3、h>#define MAX_N 20typedef struct tagPOINT /*the structer of point */ double x; double y;POINT;int main() int n,i,j,k,l,r; POINT pointsMAX_N+1; double x; double lar1; double tmp=1.0; double lar2=0.0; clrscr(); printf("nInput n value :"); /*the number of the points inserted*/ scanf("

4、%d",&n); if(n>MAX_N) printf("The input n is larger than MAX_N,please redefine the MAX_N.n"); return 1; if(n<=0) printf("Please input a number between 1 and %d.n",MAX_N); printf("Now input the (x_i,y_i),i=0,.%d:n",n); for(i=0;i<=n;i+) scanf("%lf %l

5、f",&pointsi.x,&pointsi.y); printf("Now input the x value:"); /*the value of x*/ scanf("%lf",&x); printf("the result of fen duan cha zhi yi ci han shu is:n"); /一次插值拉格朗日函數(shù)的實(shí)現(xiàn) for(i=0;i<n;i+) if(x>=pointsi.x && x<=pointsi+1.x) lar1=(x-poin

6、tsi+1.x)/(pointsi.x-pointsi+1.x)*pointsi.y+(x-pointsi.x)/(pointsi+1.x-pointsi.x)*pointsi+1.y; break; printf("once time's result is:%fn",lar1); printf("the results of fen duan cha zhi er ci han shu is:n"); /二次插值拉格朗日函數(shù)的實(shí)現(xiàn) i=0; while(i<n-1) if(x<points1.x) k=0;break; else

7、if(x>pointsn-2.x) k=n-2;break; else if(x>pointsi.x && x<=pointsi+1.x && fabs(x-pointsi.x)<=fabs(x-pointsi+1.x) k=i-1;break; else if(x>pointsi.x && x<=pointsi+1.x && fabs(x-pointsi.x)>fabs(x-pointsi+1.x) k=i;break; else i+; for(j=k;j<=k+2;j+) fo

8、r(r=k;r<k+2 && r!=j;r+) tmp*=(x-pointsr.x)/(pointsj.x-pointsr.x); l=pointsj.y*tmp; lar2+=l; printf("the result of ren duan er ci cha zhi is:%lf",lar2); return 0;實(shí) 驗(yàn) 報(bào) 告 附 頁(yè)四、實(shí)驗(yàn)結(jié)果分析與評(píng)價(jià) (該部分不夠填寫(xiě).請(qǐng)?zhí)顚?xiě)附頁(yè))運(yùn)行程序,將錯(cuò)誤改正后。輸入x=1.075,分別由一次和二次插值函數(shù)得到的結(jié)果如下:將x=1.175輸入,分別得到的結(jié)果為:誤差分析:用分段一次拉格朗日插值函數(shù)時(shí),誤差為: 當(dāng)xx_i,x_i+1時(shí),f(x)-p(x)=f(x)-p_i(x)=f(2)(a)(x-x_i)(x-x_i+1)/2!<=M2(x_i+1-x_i)2/8其中,M2=m

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論