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

下載本文檔

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

文檔簡介

1、數(shù)值積分?jǐn)?shù)值積分小組成員:引言引言 在數(shù)學(xué)分析中,當(dāng)f(x)在區(qū)間a,b上連續(xù)且具有原函數(shù)F(x)時(shí),我們往往采用Newton-Leibniz公式來求積分: 然而,隨著學(xué)習(xí)的深化,發(fā)現(xiàn)牛頓-萊布尼茲公式存 在的很大的局限性 )()()()(aFbFabxFdxxfabNewton-Leibniz公式的局限性公式的局限性v 對大多數(shù)f(x)而言,找原函數(shù)困難,即使存在原函數(shù)也不能用初等函數(shù)表示v 原函數(shù)表達(dá)式過于復(fù)雜v 被積函數(shù)由表格給出,沒有解析形式,也無法使用Newton-Leibniz公式來求積分23sin, 1.xxexx32223xx數(shù)值積分?jǐn)?shù)值積分v 為了避免上述積分過程中存在的問題

2、,我們可以采用數(shù)值積分的方法來求解,這樣就避免了原函數(shù)的求解過程,同時(shí)對于由測量或計(jì)算得到的數(shù)據(jù)表表示的f(x)也可以求解v主要有五種方法,對應(yīng)五種計(jì)算公式:v梯形法 中值法 v辛普森積分法 v高斯積分法 高斯積分法-三點(diǎn)公式梯形公式梯形公式3.532.521.510.5-0.5-1-1.5-2-2.5-0.50.511.522.533.5 x0 x0+ x原理介紹: 用一個(gè)梯形來近似代替每個(gè)子區(qū)間的面積,如下圖所示,用圖中陰影部分梯形面積替代曲邊梯形的面積,積分過程如下圖所示:)3()0() 0(21)(00 xOxxxfxfdxxfxxxI梯形公式梯形公式v 而對于整個(gè)區(qū)間x0,x1,可通

3、過累加求和得到,其中區(qū)間x0,x1被分為n等份,每個(gè)區(qū)間長度為 ,因此區(qū)間x0,x1上的積分可通過下述式子得到xdxxfxixxixdxxfxx)() 1(00)(10) 1(0()0(2xixfxixfx)1() 1(0(2.)2) 0( 2)0(2) 0(2xfxnxfxxfxxfxfx梯形公式算法梯形公式算法v for (int i=0;i20;i+)v varea1=0;vx=PI/intervalsi;vfor (int j=0;jintervalsi;j+)vvarea1=area1+0.5*(f(j*x)+f(j*x+x)*x;vv double e=(area1-2)/area

4、2;varea2=area1-2;vcoutsetiosflags(ios:left)setw(6)intervalsi setw(7)intervalsi+1 setw(20)area1-2 setw(6)eendl;v 辛普森積分法辛普森積分法x0 x0+ x0+xx23.532.521.510.5-0.5-1-1.5-2-2.5-0.50.511.522.533.5 原理介紹:把區(qū)間x0,x1分為2n等分,n個(gè)區(qū)間,在長度為 的區(qū)間上 進(jìn)行泰勒展開,可得區(qū)間x0,x0+ 上的積分形式如下所示:x2x2) 5()20()0(4) 0(3)(200 xOxxfxxfxfxdxxfxxx辛普森

5、積分法辛普森積分法3.532.521.510.5-0.5-1-1.5-2-2.5-0.50.511.522.533.5辛普森求積公式的幾何意義是用一條過三點(diǎn)的拋物線(如上圖中三點(diǎn))近似代替被積函數(shù)的曲線,從而用一個(gè)二次拋物線所圍成的容易計(jì)算的曲邊梯形面積(圖中陰影部分)來近似代替原來的曲邊梯形的面積.x0 x0+ x0+xx2辛普森積分法辛普森積分法v 通過對n個(gè)區(qū)間按上述公式累加,可得區(qū)間x0,x1上的積分形式為 ) 22 (0() 12 (0(4)20(3)(10 xixfxixfxixfxdxxfxx)1() 12 (0(4.)20(2)0(4) 0(3xfxnxfxxfxxfxfx注意

6、:因?yàn)樵摴绞前褏^(qū)間x0,x1劃分為2n等份,n個(gè)區(qū)間,因此在用循環(huán)求積分時(shí),要注意其上下限辛普森算法代碼辛普森算法代碼v for (int i=0;i20;i+)v v area1=0;v x=PI/intervalsi;v for (int j=0;jintervalsi;j+)v varea1=area1+x*(f(j*x)+4*f(j*x+0.5*x)+f(j*x+x)/6;v v double e=(area1-2)/area2;v area2=area1-2;v coutsetiosflags(ios:left)setprecision(12)setw(6)v intervalsi

7、 setw(7)intervalsi*2+1 setw(20)area1-2 setw(6)eendl;v 高斯積分高斯積分v 通過待定系數(shù)法及泰勒展開找到兩個(gè)相對精確的評估點(diǎn)高斯積分高斯積分v for(i=0; i10; i+)v v s=0;v x=(x1-x2)/intervalsi;v for(j=0; jintervalsi; j+)v s+=function(x1+(0.5- sqrt(3.0)/6)*x+j*x)+function(x1+(0.5+sqrt(3.0)/6)*x+j*x);v s=s*x/2;v error1=s-2;v Error_Ratio=error1/err

8、or2;v error2=error1;v coutsetiosflags(ios:left)setw(6)intervalsiv setw(7)intervalsi*2 v setw(15)error1 setw(10)Error_Ratioendl;v 算法特色算法特色v 代碼簡潔,用一個(gè)雙重循環(huán),兩個(gè)主要變量實(shí)現(xiàn)了計(jì)算過程,在空間代碼簡潔,用一個(gè)雙重循環(huán),兩個(gè)主要變量實(shí)現(xiàn)了計(jì)算過程,在空間和時(shí)間上做到了最優(yōu)化。和時(shí)間上做到了最優(yōu)化。 for (int i=0;i20;i+)area1=0;x=PI/intervalsi;for (int j=0;jintervalsi;j+)area1=

9、area1+x*(f(j*x)+4*f(j*x+0.5*x)+f(j*x+x)/6; double e=(area1-2)/area2;area2=area1-2; 算法特色算法特色v 采用C+中類的思想用虛基類繼承的方式實(shí)現(xiàn)五種不同的積分方法虛基類:虛基類:class Integrationpublic: virtual double integra()=0; Integration()x1=0;x2=3.1415926; Integration(double t1,double t2) x1=t1;x2=t2; protected: double x1,x2; double f(doubl

10、e x);/每個(gè)類只能對一每個(gè)類只能對一個(gè)函數(shù)積分個(gè)函數(shù)積分;繼承的子類class Trapezium_Integration:public Integrationpublic: Trapezium_Integration(double t1,double t2) x1=t1;x2=t2; double integra();vdouble Trapezium_Integration:integra()vvint i,j=0,intervals=1;vdouble xx,value_integ20,x11;vwhile(intervals=524288)vvx11=x1,value_integj

11、=0;vxx=(x2-x1)/intervals;vvalue_integj=value_integj+f(x11);/利用公式計(jì)算利用公式計(jì)算vfor(i=1;iintervals;i+)vvx11=x11+xx;vvalue_integj=value_integj+f(x11)*2;vv/x11=x11+xx;vvalue_integj=value_integj+f(x2);vvalue_integj=value_integj*xx/2;/最終積分值最終積分值vj+;vintervals=intervals*2;vvdouble e20;vfor(i=0;i20;i+)vei=value_integi-2;vcout.precision(15);vfor(j=0;j20;j+)vcoutvalue_integj ej ej+1/ejendl;vreturn 0;v算法特色算法特色v 把所有積分方法放在一個(gè).cpp文件中,以

溫馨提示

  • 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

提交評論