3、=丄(無+兀如),對每一個厶(/)應用辛普森公式,得到復化辛普森公式近2S"(心/(x0)+2^f(xk)+f(xtl)+4^/(X,)k=£=02其截斷誤差為/7h"T(-)4E/(4)(^.)1/A
4、-0設f(x)eC4[a,b],貝U1h/(/)-?(/)=-—[/(3)(6/)-嚴")叱『1o(J21?2、復化柯斯特公式113記兀!=xk+-Z1,X!=xk+-/1,x3=xk+-/z,對每一個積分厶?(/)應用到柯斯特公瞥4迅2仁4式,得到復化柯斯特公式1hY喬7/(檢)+32.f(x,)+12/(%J+32/X兀3)+7.fC如)粽90L咒他?」其截斷誤差為/(/)7(/)=-疇%(")(少,“e[訕且當力適當小時,有2rnh/(/)-Cw(/)--—/⑸(G)-/⑸(b)(-)6943Z2、龍貝格求積公式由復化柯斯特公式組
5、合得到的計算積分/(/)的近似公式:641/?//)=—c2n(/)--c?(/)稱為計算積分/(/)的龍貝格公式,其截斷誤差為0(/?)o這種加速方法稱為龍貝格方法。MATLAB程序如下:1、復化辛普森公式functionxps(a,b,eps)%a,b為區(qū)間,eps為精度n=0;Sd=0;S=(Myfun(a)+Myfun(b))*(b-a)/2;whileabs(Sd-S)>epsSd=S;n=n+l;h=(b-a)/n;fori=l:n+lx(i)=a+(i-l)*h;endS1=Myfun(x(1))+Myfun(x(n+1)
6、);S2=0;S3=0;fori=2:nS2=S2+Myfun(x⑴);endS2=2*S2;S3=S3+Myfun((x(i)+x(i+1))/2);endS3=4*S3;S=(Sl+S2+S3)*h/6;endfprintfC%.15fS);functionf=Myfun(x)%f=exp(-xA2);f=sin(cos(2*x)*(sin(x)A2));2、龍貝格方法functionlbg(a,b,eps)%a,b為區(qū)間,eps為精度Rd=0;R=(b-a)/2*(f(a)+f(b));N=0;whileabs(Rd-R)>
7、epsRd=R;N=N+1;fork=l:2ifk==ln=N*2;else;n=N;endh=(b-a)/n;fori=l:n+lx(i)=a+(i-l)*h;endC二0;fori=l:nCl=7*f(x(i))+32*f(x(i)+l/4*h)+12*f(x(i)+2/4*h)+32*f(x(i)+3/4*h)+7*f(x(i+1));C=C+Cl*h/90;endifk==lr=C*64/63;elseR=R-C/63;endendendfprintfC結果為:%.15f,R);functiony=f(x)y=exp(-xA2)
8、;%y=sin(cos(2*x)*(sin(x)A2));三、實驗過程中需要記錄的實驗數(shù)據(jù)表格第一題:?xps(O,0.5,0.0000001)結果為:0.461281071728228?lbg(0,0.5,0.0000001)結果為:0.461281006413932第二題:>>xps(0,pi/2,0.0000001)結果為:-0.347478139850496?lbg(0,pi/2,0.0000001)結果為:-0.347478139727495、實驗中存在的問題及解決方案在編寫程序結束運行時,經(jīng)常出現(xiàn)未定義變量的錯誤。經(jīng)過檢查,
9、發(fā)現(xiàn)程序代碼編寫的不規(guī)范,對象名,類情況發(fā)生。函數(shù)名因為失誤輸錯導致前后不一致,語法書寫格式不正確等情況導致這五、心得體會在實驗中體會到編寫程序需要仔細,熟悉matlab的使用以及matlab程序設計,熟悉