計(jì)算方法實(shí)驗(yàn)六-----數(shù)值積分_第1頁
計(jì)算方法實(shí)驗(yàn)六-----數(shù)值積分_第2頁
計(jì)算方法實(shí)驗(yàn)六-----數(shù)值積分_第3頁
計(jì)算方法實(shí)驗(yàn)六-----數(shù)值積分_第4頁
計(jì)算方法實(shí)驗(yàn)六-----數(shù)值積分_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上山西大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院實(shí)驗(yàn)報(bào)告姓 名學(xué) 號專業(yè)班級課程名稱計(jì)算方法實(shí)驗(yàn)日期成 績指導(dǎo)老師批改日期實(shí)驗(yàn)名稱實(shí)驗(yàn)六 數(shù)值積分一 實(shí)驗(yàn)?zāi)康模?利用復(fù)化梯形公式、復(fù)化辛普生公式和龍貝格數(shù)值積分公式計(jì)算的近似值。二 實(shí)驗(yàn)方法:(1) 將a,b區(qū)間n等分,記分點(diǎn)為,并在每個(gè)小區(qū)間上應(yīng)用梯形公式 (2) 在每個(gè)小區(qū)間上,用辛普生公式 式中為的中點(diǎn),即(3) 先用梯形公式計(jì)算,然后,將求積區(qū)間(a,b)逐次折半的方法,令區(qū)間長度 計(jì)算,式中。 于是,得到辛普生公式。 柯斯特求積公式。 最后,得龍貝格求積公式。 利用上述各公式計(jì)算,直到相鄰兩次的積分結(jié)果之差滿足精度要求。三 實(shí)驗(yàn)

2、內(nèi)容利用復(fù)化梯形公式、復(fù)化辛普生公式和龍貝格數(shù)值積分公式計(jì)算的近似值,要求誤差為,將計(jì)算結(jié)果與精確值比較,并對計(jì)算結(jié)果進(jìn)行分析(計(jì)算量、誤差) 四 實(shí)驗(yàn)程序:復(fù)合梯形公式:#include <stdio.h>#include <math.h>#define esp 0.5e-7#define a 1 #define b 2 #define c 0#define d 1#define E 2.#define f1(x) (x*pow(E,x) #define f2(x) (4/(1+(x*x) void fun1()int i,n,k=0; double h,q,t,g;

3、 n=1; h=(double)(b-a)/2; t=h*(f1(a)+f1(b); do k+; q=t; g=0; for (i=1;i<=n;i+) g+=f1(a+(2*i-1)*h); t=(q/2)+(h*g); n*=2; h/=2; while (fabs(t-q)>esp); printf("函數(shù)1分了%d次:n",k);printf("積分結(jié)果為:"); printf("%12.8lfn",t); void fun2()int i,n,k=0; double h,q,t,g; n=1; h=(doubl

4、e)(d-c)/2; t=h*(f2(c)+f2(d); do k+; q=t; g=0; for (i=1;i<=n;i+) g+=f2(c+(2*i-1)*h); t=(q/2)+(h*g); n*=2; h/=2; while (fabs(t-q)>esp);printf("函數(shù)2分了%d次:n",k);printf("積分結(jié)果為:"); printf("%12.8lfn",t); int main()printf("/*復(fù)合梯形公式*/n"); fun1();fun2();return 0;復(fù)合

5、辛普生公式代碼:#include <stdio.h>#include <math.h>#define esp 0.5e-7#define a 1 #define b 2 #define c 0#define d 1#define E 2.#define f1(x) (x*pow(E,x) #define f2(x) (4/(1+(x*x) void fun1() int i,n,k=0; double f1,f2,f3,h,s0,s; f1=f1(a)+f1(b); f2=f1(double)(b+a)/2); f3=0; s=(double)(b-a)/6)*(f1+

6、4*f2); n=2; h=(double)(b-a)/4; do k+; f2+=f3; s0=s; f3=0; for (i=1;i<=n;i+)f3+=f1(a+(2*i-1)*h); s=(h/3)*(f1+2*f2+4*f3); n*=2; h/=2; while (fabs(s-s0)>esp); printf("函數(shù)1分了%d次數(shù):n",k);printf("積分結(jié)果為:"); printf("%12.8lfn",s); void fun2() int i,n,k=0; double f1,f2,f3,h,s

7、0,s; f1=f2(d)+f2(c); f2=f2(double)(d+c)/2); f3=0; s=(double)(d-c)/6)*(f1+4*f2); n=2; h=(double)(d-c)/4; do k+; f2+=f3; s0=s; f3=0; for (i=1;i<=n;i+)f3+=f2(c+(2*i-1)*h); s=(h/3)*(f1+2*f2+4*f3); n*=2; h/=2; while (fabs(s-s0)>esp); printf("函數(shù)1分了%d次數(shù):n",k);printf("積分結(jié)果為:"); pri

8、ntf("%12.8lfn",s); int main()printf("/*復(fù)合辛普生公式*/n"); fun1();fun2();return 0;龍貝格數(shù)值積分公式代碼:#include <stdio.h>#include <math.h>#define esp 0.5e-7#define a 1 #define b 2 #define c 0#define d 1#define E 2.#define f1(x) (x*pow(E,x) #define f2(x) (4/(1+(x*x) double t1100100;d

9、ouble t2100100;void fun1()int n,k,i,m,w=0; double h,g,p; h=(double)(b-a)/2; t100=h*(f1(a)+f1(b); k=1; n=1; do w+; g=0; for (i=1;i<=n;i+) g+=f1(a+(2*i-1)*h); t1k0=(t1k-10/2)+(h*g); for (m=1;m<=k;m+) p=pow(4,(double)(m); t1k-mm=(p*t1k-m+1m-1-t1k-mm-1)/(p-1); m-=1; h/=2; n*=2; k+=1; while (fabs(t

10、10m-t10m-1)>esp); printf("函數(shù)1分了%d次:n",w);printf("積分結(jié)果為:n"); printf("%12.8lfn",t10m); void fun2() int n,k,i,m,w=0; double h,g,p; h=(double)(d-c)/2; t200=h*(f2(c)+f2(d); k=1; n=1; do w+; g=0; for (i=1;i<=n;i+) g+=f2(c+(2*i-1)*h); t2k0=(t2k-10/2)+(h*g); for (m=1;m<

11、;=k;m+) p=pow(4,(double)(m); t2k-mm=(p*t2k-m+1m-1-t2k-mm-1)/(p-1); m-=1; h/=2; n*=2; k+=1; while (fabs(t20m-t20m-1)>esp); printf("函數(shù)2分了%d次:n",w);printf("積分結(jié)果為:n"); printf("%12.8lfn",t20m); int main()printf("/*龍貝格數(shù)值積分公式*/n"); fun1();fun2();return 0;五、結(jié)果分析 復(fù)合梯形公式結(jié)果截圖: 復(fù)合辛普生公式結(jié)果截圖:龍貝格數(shù)值積分公式結(jié)果截圖:六、 結(jié)果分析1在求積分時(shí),常把積分區(qū)間分成若干小區(qū)間,在每個(gè)小區(qū)間行采用次數(shù)不高的求積公式,如梯形、辛普生然后再把它們加起來,得到整個(gè)區(qū)間上的求積公式,這就是復(fù)合求積公式的基本思想。2龍貝格采用了變步長的求解公式,可以根據(jù)精度的要求,在計(jì)算過程中適當(dāng)調(diào)整步長,使計(jì)算結(jié)果逐步逼近精確值,但是近似值序列收斂于積分精確值的速度較慢。3復(fù)化梯形公式、復(fù)化辛普生公式和龍貝格數(shù)值積分公式都有著較高的精度,其中龍貝格數(shù)值積分公式精度基本上是最高的。而在對積分區(qū)間作同樣的分割的條件下,復(fù)合

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論