积分的数值方法(numericalintegration)

积分的数值方法(numericalintegration)

ID:34114546

大小:82.50 KB

页数:8页

时间:2019-03-03

积分的数值方法(numericalintegration)_第1页
积分的数值方法(numericalintegration)_第2页
积分的数值方法(numericalintegration)_第3页
积分的数值方法(numericalintegration)_第4页
积分的数值方法(numericalintegration)_第5页
资源描述:

《积分的数值方法(numericalintegration)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、羂艿蒂螅肄肂莈袄螄芇芄袄袆肀薂袃罿芆薈袂膁聿蒄袁袁莄莀袀羃膇虿衿肅莂薅衿膇膅蒁羈袇莁莇薄罿膃芃薃肂荿蚁薂袁膂薇薂羄蒇蒃薁肆芀荿薀膈肃蚈蕿袈芈薄蚈羀肁蒀蚇肃芇莆蚆螂聿节蚆羅芅蚀蚅肇膈薆蚄腿莃蒂蚃衿膆莈蚂羁莂芄螁肃膄薃螀螃莀葿螀袅膃莅蝿肈蒈莁螈膀芁蚀螇袀肄薆螆羂艿蒂螅肄肂莈袄螄芇芄袄袆肀薂袃罿芆薈袂膁聿蒄袁袁莄莀袀羃膇虿衿肅莂薅衿膇膅蒁羈袇莁莇薄罿膃芃薃肂荿蚁薂袁膂薇薂羄蒇蒃薁肆芀荿薀膈肃蚈蕿袈芈薄蚈羀肁蒀蚇肃芇莆蚆螂聿节蚆羅芅蚀蚅肇膈薆蚄腿莃蒂蚃衿膆莈蚂羁莂芄螁肃膄薃螀螃莀葿螀袅膃莅蝿肈蒈莁螈膀芁

2、蚀螇袀肄薆螆羂艿蒂螅肄肂莈袄螄芇芄袄袆肀薂袃罿芆薈袂膁聿蒄袁袁莄莀袀羃膇虿衿肅莂薅衿膇膅蒁羈袇莁莇薄罿膃芃薃肂荿蚁薂袁膂薇薂羄蒇蒃薁肆芀荿薀膈肃蚈蕿袈芈薄蚈羀肁蒀蚇肃芇莆蚆螂聿节蚆羅芅蚀蚅肇膈薆蚄腿莃蒂蚃衿膆莈蚂羁莂芄螁肃膄薃螀螃莀葿螀袅膃莅蝿肈蒈莁螈膀芁蚀螇袀肄薆螆羂艿蒂螅肄肂莈袄螄芇芄袄袆肀薂袃罿芆薈袂膁聿蒄袁袁莄莀袀羃膇虿衿肅莂薅第三章積分的數值方法(NumericalIntegration)在本章中包含Matlab的m-file1.trapezoid.m2.romberg.m3.simp

3、son.m4.adpsmpson.m5.gaussian.m將須要的m-file之檔案夾加入搜尋路徑中path('c:matlabr11workumerical',path)註:如果你有安裝MatlabNotebook要執行下列inputcells(綠色指令敘述)之前必須先執行上面的cell–[path(…)]藍色的內容是Matlab[outputcells]1.trapezoid.m--合成的梯形法(compositetrapezoidrule)顯示trapezoid.m的內容type

4、trapezoid.mfunctionrs=trapezoid(s,a,b,n)%togettheapproximationoftheintegraloffunction's'%on[a,b]bycompositetrapezoidrule%h=(b-a)/n;r=(feval(s,a)+feval(s,b))/2;forj=1:n-1x=a+j*h;r=r+feval(s,x);end%loopjrs=r*h;例題1:Compute∫01sin(x)/xdxbycompositetrapezo

5、idrulewithn=6.此積分的近似值~0.9460830704首先定義函數與準備必要的參數f=inline('sin(x)/x');%用inline函數定義簡單的函數a=0.0+eps;b=1;n=6;%eps是Matlab最小正數tp=trapezoid(f,a,b,n)tp=0.9454與Matlabquad(adaptiverecursiveSimpson'salgorithm)的結果做比較,此方法較複雜但是精確度高.以後我們會說明其數學理論.欲套用quad()必須先定義積分的函數.

6、typef1.mfunctiony=f1(x)ifx==0y=1;chapter3page.8elsey=sin(x)./x;endquad('f1',a,b)ans=0.94612.romberg.m–RombergAlgorithmtoestimatetheintegral∫abf(x)dx顯示romberg.m的內容typeromberg.mfunctionRm=romberg(s,a,b,n)%RombergAlgorithm%%Rm(1,1)=(b-a)*(feval(s,a)+fev

7、al(s,b))/2;fori=2:n+1h=(b-a)/2^(i-1);x=linspace(a,b,2^(i-1)+1);sm=0;fork=2:2:2^(i-1)sm=sm+feval(s,x(k));end%kRm(i,1)=Rm(i-1,1)/2+h*sm;forj=1:i-1Rm(i,j+1)=Rm(i,j)+(Rm(i,j)-Rm(i-1,j))/(4^j-1);endend例題2:Compute∫011/(1+x^2)dxbyRombergAlgorithm.首先定義函數與準備必

8、要的參數f=inline('1/(1+x^2)');a=0;b=1;n=4;rm=romberg(f,a,b,n)rm=0.750000000.77500.78330000.78280.78540.7855000.78470.78540.78540.785400.78520.78540.78540.78540.7854我們知道此積分的正確值是π/4~0.78539816339745把上面數據採用formatlong觀察rm(5,5)非常接近此近似值formatlongrm(2:5,2:5)for

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。