資源描述:
《積分方程的數(shù)值計算技巧》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實驗七積分方程的數(shù)值計算方法1.實驗描述計算定積分的近似值,起始容差1.用組合梯形公式M=10計算。2.用組合辛普生公式M=5計算。3.用龍貝格積分計算。4.用自適應(yīng)積分方法計算。2.實驗內(nèi)容1.用組合梯形公式M=10計算。YN子區(qū)間寬度輸入?yún)^(qū)間開始結(jié)束圖1.組合梯形算法流程圖8/8將積分區(qū)間劃分為寬度為的M個子區(qū)間,再將各區(qū)間的面積求和即可得到近似面積。2.用組合辛普生公式M=5計算。輸出SYN結(jié)束子區(qū)間寬度輸入?yún)^(qū)間開始圖2.組合辛普森算法流程圖將積分區(qū)間劃分為寬度為的2M個子區(qū)間,再由辛普森公式將各區(qū)間的面積求和即可得到近似面積。3.用龍貝格積分計算。8/8結(jié)束開始輸出面積近似值輸
2、入?yún)^(qū)間圖3.龍貝格積分算法流程圖①.由遞歸梯形公式序列得到遞歸辛普森序列序列。②.由遞歸辛普森序列序列得到遞歸布爾公式序列。8/8③.通過理查森改進提高誤差項的階數(shù)。4.用自適應(yīng)積分方法計算結(jié)束將辛普森公式中的區(qū)間劃分為兩個相等的子區(qū)間開始圖4.自適應(yīng)積分算法流程圖在辛普森公式基礎(chǔ)上,將區(qū)間再進行劃分,即為自適應(yīng)積分。3.實驗結(jié)果及分析真實值S=0.199714662161441.用組合梯形公式M=10計算。面積近似值S1=0.16965032127666。誤差error1=0.03006434088479。2.用組合辛普森公式M=5計算面積近似值S2=0.19966805529718
3、。誤差error2=。3.用龍貝格積分計算。表1.龍貝格積分表J梯形公式辛普森公式布爾公式8/80-0.00199504693265000001-0.02186444123413-0.02848757266796000020.016117544001270.028778205746400.0325959243073600030.152657188447420.198170403262800.209463216430560.212270633765850040.188002801390540.199784672371580.199892290312170.199740370849970.
4、19969123256403050.196791377983860.199720903514970.199716652257860.199713864352240.199713760405190.19971378242654面積近似值S3=0.19971378242654。誤差error3=。4.用自適應(yīng)積分方法計算面積近似值S4=0.19971391278871。誤差error4=。4.結(jié)論自適應(yīng)計分方法和龍貝格積分法都可以得到較高的精確度。組合梯形和組合辛普森可以增大M值,得到較高的精確度。附件(代碼)1.f=inline('sin(4*x)*exp(-2*x)','x');%定義
5、函數(shù)A=0;t=0;S=0;fork=1:9t=k*0.3;A=A+0.3*feval(f,t);endS=A+0.15*(feval(f,0)+feval(f,3))%組合梯形的近似值RS=int(sin(4*x)*exp(-2*x),0,3)%真實值error=RS-S%真實值與近似值的誤差2.f=inline('sin(4*x)*exp(-2*x)','x');%定義函數(shù)S=0;X=zeros(1,11);h=0.3;forj=1:11X(j)=(j-1)*h;endfork=1:5S=S+h/3*(feval(f,X(2*k-1))+4*feval(f,X(2*k))+feva
6、l(f,X(2*k+1)));endRS=int(sin(4*x)*exp(-2*x),0,3);%真實值8/8Serror=RS-S%真實值與近似值的誤差3.function[R,quad,err,h]=romber(f,a,b,n,tol)%INPUT-fistheintergrandinputasastring'f'%-aandbareupperandlowerlimitsofinteration%-nisthemaxiumnumberofrowsinthetable%-tolisthetolerance%OUTPT-RistheRombergtable%-quadisthequ
7、adraturevalue%-erristheerrorestimate%-histhesmalleststepsizeuesdM=1;h=b-a;err=1;J=0;R=zeros(4,4);R(1,1)=h*(feval(f,a)+feval(f,b))/2;while((err>tol)&(J8、(J<4)J=J+1;h=h/2;s=0;forp=1:Mx=a+h*(2*p-1);s=s+feval(f,x);endR(J+1,1)