数值积分的应用_计算方法论文.doc_第1页
数值积分的应用_计算方法论文.doc_第2页
数值积分的应用_计算方法论文.doc_第3页
数值积分的应用_计算方法论文.doc_第4页
数值积分的应用_计算方法论文.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值微积分 数值微积分一、知识归纳1.总体框架差商逼近公式Taylor展开法差值计算法外推算法数值微分机械求积公式,求积节点,求积系数代数精度概念,代数精度法差值求积法,插值求积公式机械求积公式具等距节点的插值型求积公式Newton-Cotes公式梯形公式、Simpson公式复合求积公式Newton-Cotes公式变步长求积法变步长梯形公式Romberg算法变步长求积法Gauss 求积公式, Gauss点,代数精度Gauss点的确定,Legendre 多项式Gauss系数的计算Gauss求积公式的特点Gauss求积公式2.机械求积公式,为求积节点,为求积系数矩形公式:梯形公式:Simpson公式:3.代数精度法若一个求积公式对次数不超过m的多项式f(x)精确成立,但是对次数为m+1的多项式不精确成立,则称该求积公式具有m次代数精度。4.插值求积法余项:其中,定理:N+1个节点的求积公式为插值型的充要条件是该公式至少有N次代数精度。5.Newton-Cotes公式N=1时,梯形公式:N=2时,Simpson公式:复合梯形公式:复合Simpson公式:6.变步长积分法(1)变步长梯形求积公式:(2)Romberg算法记为二分k次积分区间a,b后利用复合梯形公式所得积分逼近值,称之为梯形值,为将梯形值序列经过m次外推后所得积分逼近值,即有7.Gauss求积公式具有2N+1次代数精度的插值型求积公式成为Gauss型求积公式,其,称为Gauss点。一个仅以区间-1,1上的Gauss点(n=0,1,2.)为零点的N+1次多项式成为Legendre多项式。首项系数为1的Legendre多项式可唯一地表示成二、数值求积公式的MATLAB编程实现与应用MATLAB是由MathWorks公式开发的一种主要用于数值计算及可视化图形处理的工程语言,是当今最优秀的科技应用软件之一。它将数值计算、矩阵运算、图形图像处理、信号处理和仿真等诸多强大的功能集成在较易使用的交互计算机环境中,为科学研究、工程应用提供了一种功能强、效率高的编程工具。下面我们将各种求积算法通过MATLAB软件编程实现,以下程序均用MATLAB7.0编写,以下总共编写了六个算法程序,为了体现程序的正确性,以下程序都以为例进行运算。原积分的精确值为1.Newton-Cotes求积公式的MATLAB实现先用M文件定义一个名为f1.m的函数:% i是要调用第几个被积函数g(i),x是自变量function f=f1(i,x) g(1)=sqrt(x);if x=0 g(2)=1;elseg(2)=sin(x)/x;endg(3)=4/(1+x2);f=g(i);程序一:function C,g=NCotes(a,b,n,m)% a,b分别为积分的上下限;% n是子区间的个数;% m是调用上面第几个被积函数;% 当n=1时计算梯形公式;当n=2时计算Simpson公式,以此类推; i=n; h=(b-a)/i; z=0;for j=0:i x(j+1)=a+j*h; s=1; if j=0 s=s; elsefor k=1:j s=s*k;endendr=1;if i-j=0 r=r;elsefor k=1:(i-j) r=r*k;endendif mod(i-j),2)=1 q=-(i*s*r);else q=i*s*r;endy=1;for k=0:i if k=j y=y*(sym(t)-k); endendl=int(y,0,i);C(j+1)=l/q; z=z+C(j+1)*f1(m,x(j+1);endg=(b-a)*z1)当输入,时,即在MATLAB命令窗口输入 NCotes(0,1,1,2)即可得用梯形公式的积分值和相应Cotes系数 如图3.12)当输入,时,即在MATLAB命令窗口输入 NCotes(0,1,2,2)即可得用Simpson公式的积分值和相应Cotes系数如图3.23)当输入,时,即在MATLAB命令窗口输入 NCotes(0,1,4,2)即可得用Cotes公式的积分值和相应Cotes系数如图3.3图 3.1 图 3.2 图3.32.复合求积公式的MATLAB实现(1)复合梯形求积公式的MATLAB实现通过的个等步长节点逼近积分其中,。程序二:function s=trapr1(f,a,b,n)% f是被积函数;% a,b分别为积分的上下限;% n是子区间的个数;% s是梯形总面积;h=(b-a)/n;s=0;for k=1:(n-1) x=a+h*k; s=s+feval(f,x);endformat long s=h*(feval(f,a)+feval(f,b)/2+h*s;先用M文件定义一个名为f.m的函数:function y=f(x)if x=0 y=1;else y=sin(x)/x;end在MATLAB命令窗口中输入 trapr1(f,0,1,4) 回车得到 如图3.4 图 3.4若取子区间的个数在MATLAB命令窗口中输入 trapr1(f,0,1,8) 回车得到 如图3.5 图3.5(2)复合Simpson求积公式的MATLAB实现程序三:function s=simpr1(f,a,b,n)% f是被积函数;% a,b分别为积分的上下限;% n是子区间的个数;% s是梯形总面积,即所求积分数值;h=(b-a)/(2*n);s1=0;s2=0;for k=1:n x=a+h*(2*k-1); s1=s1+feval(f,x);endfor k=1:(n-1) x=a+h*2*k; s2=s2+feval(f,x);ends=h*(feval(f,a)+feval(f,b)+4*s1+2*s2)/3;先用M文件定义一个名为f.m的函数:function y=f(x)if x=0 y=1;else y=sin(x)/x;end在MATLAB命令窗口中输入 simpr1(f,0,1,4)回车得到 如图3.6图3.6若取子区间个数时在MATLAB命令窗口中输入 simpr1(f,0,1,8)回车得到 如图3.7图3.73.Romberg求积公式的MATLAB实现构造数表来逼近积分其中。表示数表的最后一行,最后一列的值。程序五:function R,quad,err,h=romber(f,a,b,n,delta)% f是被积函数% a,b分别是积分的上下限% n+1是T数表的列数% delta是允许误差% R是T数表% quad是所求积分值M=1;h=b-a;err=1J=0;R=zeros(4,4);R(1,1)=h*(feval(f,a)+feval(f,b)/2while (errdelta)&(Jn)|(J romber(f,0,1,5,0.5*(10(-8)回车得到 如图3.8 图3.84.各种求积算法的分析比较例1 分别用不同的方法计算积分,并作比较。(1)下面用各种求积公式分别计算积分,并给出了相应的计算误差,进行比较,结果如下:A、用Newton-Cotes公式当n=1时,即用梯形公式,用程序一 在MATLAB命令窗口中输入 NCotes(0,1,1,2) 得0.92703549240395 0.01904757796323当n=2时, 即用Simpson公式,用程序一在MATLAB命令窗口中输入 NCotes(0,1,2,2)得0.94614588227359 0.000062811906407当n=4时, 即用Cotes公式,用程序一在MATLAB命令窗口中输入 NCotes(0,1,4,2)得0.94608300406367 0.000000066303513B、用复合梯形公式 令h=1/8=0.125,用程序二在MATLAB命令窗口中输入 trapr1(f,0,1,8),得=0.94569086352700.000392206840182C、用复合Simpson公式 令h=1/8=0.125,用程序三在MATLAB命令窗口中输入 simpr1(f,0,1,8),得 =0.94608308538495 0.000000015017767 D、用Romberg公式,用程序五在MATLAB命令窗口中输入 romber(f,0,1,5,0.5*(10(-8),得0.94608307036718 0.000000000000002(2)算法比较n 此例题的精确值为0.946083070367183n 由例题的各种求积算法可知:n 对Newton-cotes公式,当n=1时只有1位有效数字,当n=2时有3位有效数字,当n=4时有7位有效数字。n 对复合梯形公式有2位有效数字,对复合Simpson公式有7位有效数字。n 用复合梯形公式,对积分区间二分了11次用2049个函数值,才可得到7位准确数字。n 用Romberg公式对区间二分3次,用了9个函数值,能得到同样的结果;二分4次,用了14个函数值,却能得到14位有效数字。(3)小结本章主要对各种求积算法,即Newton-Cotes、复合求积、Romberg求积公式的算法在计算机上运用MATLAB软件进行编程实现,从而简化了运算。并且通过实例计算,误差分析对各种求积公式进行了分析比较。三、结论本文主要讨论了数值积分的计算方法并通过MATLAB软件编程实现,通过前面的研究我们知道求数值积分近似值的计算方法很多,包括Newton-Cotes求积公式、复合求积公式、Romberg求积公式、高斯求积公式等等 。其中Newton-Cotes方法是一种利用插值多项式来构造数值积分的常用方法,这其中梯形积分方法的误差最大,近似效果最差,Simpson方法的精度比梯形积分高了一个数量级,它的代数精度比梯形积分的代数精度高,能更好地近似积分值;Cotes积分方法的误差比Simpson积分精度高两个数量级。因此,一般情况下,代数精度越高,积分公式计算精度也越高。但是高阶的Newton -Cotes方法的收敛性没有保证,因此,在实际计算中很少使用高阶的Newton-Cotes公式。复合梯形积分方法比单独的梯形积分精度高,它的积分精度和被积函数有关,还和复化积分时的步长有关。复合Simpson积分公式比单独的Simpson积分公式高近7个数量级,效果明显。Romberg方法收敛速度快、计算精度较高,但是计算量较大。Gauss求积方法积分精度高、数值稳定、收敛速度较快,但是节点与系数的计算较麻烦、而且要求已知积分函数。一般来说,Newton-Cotes方法的代数精度越高,数值积分的效果越好、越精确。当积分区间比较大的时候,可以采用复合积分方法可以得到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论