計(jì)算方法實(shí)驗(yàn)_第1頁(yè)
計(jì)算方法實(shí)驗(yàn)_第2頁(yè)
計(jì)算方法實(shí)驗(yàn)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、.計(jì)算方法實(shí)驗(yàn)報(bào)告學(xué)號(hào) 2015216772劉盼班級(jí)計(jì)算機(jī)一班實(shí)驗(yàn)項(xiàng)目名稱(chēng)插值與擬合一、實(shí)驗(yàn)名稱(chēng)實(shí)驗(yàn)一 插值與擬合二、 實(shí)驗(yàn)?zāi)康模?. 明確插值多項(xiàng)式和分段插值多項(xiàng)式各自的優(yōu)缺點(diǎn);2. 編程實(shí)現(xiàn)拉格朗日插值算法,分析實(shí)驗(yàn)結(jié)果體會(huì)高次插值產(chǎn)生的龍格現(xiàn)象;3. 理解最小二乘擬合,并編程實(shí)現(xiàn)線性擬合,掌握非線性擬合轉(zhuǎn)化為線性擬合的方法4. 運(yùn)用常用的插值和擬合方法解決實(shí)際問(wèn)題。三、 實(shí)驗(yàn)內(nèi)容及要求(1)對(duì)于要求選取11個(gè)等距插值節(jié)點(diǎn),分別采用拉格朗日插值和分段線性插值,計(jì)算x為0.5, 4.5處的函數(shù)值并將結(jié)果與精確值進(jìn)行比較。輸入:區(qū)間長(zhǎng)度,n(即n+1個(gè)節(jié)點(diǎn)),預(yù)測(cè)點(diǎn)輸出:預(yù)測(cè)點(diǎn)的近似函數(shù)值,精

2、確值,及誤差(2)已知用牛頓插值公式求的近似值。輸入:數(shù)據(jù)點(diǎn)集,預(yù)測(cè)點(diǎn)。輸出:預(yù)測(cè)點(diǎn)的近似函數(shù)值四、 實(shí)驗(yàn)原理及算法描述1. Lagrange插值法的基本原理:當(dāng)精確函數(shù) y = f(x) 非常復(fù)雜或未知,在一系列節(jié)點(diǎn) x0 xn處測(cè)得函數(shù)值 y0 = f(x0), yn = f(xn), 希望由此構(gòu)造一個(gè)簡(jiǎn)單易算的近似函數(shù) g(x) » f(x),滿足條件g(xi) = f(xi) (i = 0, n)。這里的 g(x) 稱(chēng)為f(x) 的插值函數(shù),由插值函數(shù)可以去近似估計(jì)f(x)在一些未知點(diǎn)處的函數(shù)值。最常用的插值函數(shù)是多項(xiàng)式插值。所謂多項(xiàng)式插值即求 n 次多項(xiàng)式使得基于基函數(shù)的拉

3、格朗日插值是構(gòu)造多項(xiàng)式插值最基本方法。也是推導(dǎo)數(shù)值微積分和微分方程數(shù)值解的公式的理論基礎(chǔ)。拉格朗日插值公式為:其中2. Lagrange插值算法描述:(也可以是算法流程圖)步驟1: 構(gòu)造處的插值基函數(shù),其中,插值節(jié)點(diǎn)處的插值基函數(shù)為;步驟2:以作為的系數(shù),使得通過(guò)插值點(diǎn);步驟3:把所有的線性疊加,得到通過(guò)所有插值點(diǎn)的插值函數(shù)。Lagrange插值偽代碼:給定個(gè)插值點(diǎn)的情況下,求插值函數(shù)在點(diǎn)處的函數(shù)值。/*輸入?yún)?shù)*x=(x0,x1,.,xn), 插值節(jié)點(diǎn)*y=(y0,y1,yn); 被插函數(shù)f(x)在插值節(jié)點(diǎn)處的函數(shù)值*t 求插值函數(shù)Ln (x)在t處的函數(shù)值*返回值 插值函數(shù)Ln (x)在t

4、處的函數(shù)值 */五、 程序代碼及實(shí)驗(yàn)結(jié)果1 主程序int main() double x11 = -5,-4,-3,-2,-1,0,1,2,3,4,5,y11 = 0.038461,0.058823,0.100000,0.200000,0.500000,1.000000,0.500000,0.200000,0.100000,0.058823,0.038461; double u1,u2; double m1,l1,p1,m2,l2,p2;printf("請(qǐng)輸入要計(jì)算的x的值:");scanf("%lf",&u1); m1=1/(1+u1*u1);

5、printf("x=%lf時(shí)的精確值為:%fn",u1,m1);printf("x=%lf時(shí)的拉格朗日差值近似值為:%fn",u1,Lagrange(x,y,u1);/拉格郎日插值 printf("x=%lf時(shí)的分段線性差值近似值為:%fn",u1,PiecewiseLinear(x,y,u1); /分段線性插值 l1=m1-Lagrange(x,y,u1);p1=m1-PiecewiseLinear(x,y,u1);printf("x=%lf時(shí)的拉格朗日誤差為:%fn",u1,l1);printf("x

6、=%lf時(shí)的分段線性誤差為:%fn",u1,p1);printf("請(qǐng)?jiān)佥斎胍?jì)算的x的值:");scanf("%lf",&u2); m2=1/(1+u2*u2);printf("x=%lf時(shí)的精確值為:%fn",u2,m2);printf("x=%lf時(shí)的拉格朗日差值近似值為:%fn",u2,Lagrange(x,y,u2);/拉格郎日插值 printf("x=%lf時(shí)的分段線性差值近似值為:%fn",u2,PiecewiseLinear(x,y,u2); /分段線性插值 l

7、2=m2-Lagrange(x,y,u2);p2=m2-PiecewiseLinear(x,y,u2);printf("x=%lf時(shí)的拉格朗日誤差為:%fn",u2,l2);printf("x=%lf時(shí)的分段線性誤差為:%fn",u2,p2);newton(); return 0;2 Lagrange插值子程序:double Lagrange(double *x, double *y, double *) /拉格郎日插值 int i,j; double *a,yy=0.000; a=new double11; for(i=0;i<11;i+) ai

8、=yi; for(j=0;j<11;j+) if(j!=i) ai*=(*-xj)/(xi-xj); yy+=ai; delete a; return yy; 3. 分段線性插值子程序double PiecewiseLinear(double *x, double *y, double input) /分段線性插值 double output; int i; for (i=0;i<10;i+) if (xi <= input && xi+1 >= input) output=yi +(yi+1-yi)*(input-xi)/(xi+1-xi); brea

9、k; return output; 4. 牛頓插值子程序void newton() /牛頓插值 float x100,y100,c100100,x1,xp,wx; int n,i,j; cout<<"輸入數(shù)據(jù)組的個(gè)數(shù)"<<endl; cin>>n; for(i=0;i<n;i+) cout<<"當(dāng)前輸入第"<<i<<"組數(shù)據(jù)"<<endl; cin>>xi; cin>>yi; for(j=0;j<n;j+) if(j

10、>0) for(i=0;i<n-j;i+) cij=(ci+1j-1-cij-1)/(xi+j-xi); else for(i=0;i<n;i+) ci0=yi; xp=y0; char m='y' while(m='y') cout<<"請(qǐng)輸入你要求的點(diǎn)的X值:"<<endl; cin>>x1; for(i=1;i<n;i+) wx=1; for(j=0;j<=i-1;j+) wx=wx*(x1-xj); xp=xp+c0i*wx; cout<<"newton插值的結(jié)果為:"<<xp<<endl; cout<<"是否想繼續(xù)計(jì)算(Y/N)"<<endl; cin>>m; 實(shí)驗(yàn)結(jié)果:.。如圖一所示。圖12 六、 實(shí)驗(yàn)總結(jié)1. 拉格朗日插值在高次插值時(shí)同原函數(shù)偏差大、存在龍格現(xiàn)象,高次插值多項(xiàng)式不收斂。2. 牛頓插值和拉格朗日插值的區(qū)別和聯(lián)系:Ln(x)與NN(x)均是n次多項(xiàng)式,且均滿足插值

溫馨提示

  • 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)論