复化梯形求积公式

复化梯形求积公式

ID:14855333

大小:315.11 KB

页数:6页

时间:2018-07-30

复化梯形求积公式_第1页
复化梯形求积公式_第2页
复化梯形求积公式_第3页
复化梯形求积公式_第4页
复化梯形求积公式_第5页
资源描述:

《复化梯形求积公式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章1.1复合梯形求积公式复合梯形求积公式是复合求积法的一种,在本章中,将从其原理、概念等方面对它做一个详细介绍。在本章的最后,会对复合梯形求积法进行程序设计,使得可以从不同的方面对这种方法有更深的理解。1.1.1复合梯形求积公式的理论当积分区间[a,b]的长度较大,而节点个数固定时,直接使用Newton-Cotes公式的余项将会较大。但是如果增加节点个数,即增加时,公式的舍入误差又很难得到控制。为了提高公式的精度,又使算法简单易行,往往使用复化方法。即将积分区间分成若干子区间,然后在每个小区间上使用低阶Newto

2、n-Cotes公,最后将每个小区间上的积分的近似值相加,这就叫做复合求积法。而复合梯形求积公式就是复合求积法的一种。1.1.2复合求积公式的原理将区间划分为n等分,分点在每个子区间上采用梯形公式,则得记,(1.1)称为复合梯形公式,其余项可由得由于且所以使于是复合梯形公式的余项为可以看出误差是阶,且由式立即得到,当时,则即复合梯形公式是收敛的.事实上只要设,则可得收敛性,只要把改写成为当时,上式右端括号内的两个和式均收敛到积分,所以复合梯形公式(1.1)收敛.此外,的求积系数为正,由定理可知复合梯形公式是稳定的。1.

3、2复合梯形求积公式的实例如果在区间(a,b)上直接应用梯形公式则可得:若在区间(,b)中,增加一个结点,则把区间(分成两个小区间与,在两个小区间上分别应用梯形公式,然后相加就会得出新的求积公式T2:(其中)=继续增加结点,把区间分成4等分,在每个小区间上分别应用梯形公式后再相加,就会得出新的求积公式:其中同理,把区间(a,b)分成8等分时,可得求积公式T8:上面我们将区间分成等分,是为了在计算后面的数值时,充分利用到前面的数据。在一般情况下,若把区间(分成n等分,记结点为,在每一个小区间[xk,xk-1]上应用梯形公

4、式,则有:就可导出复合梯形公式利用梯形公式的余项公式(5.2.3),可得复合梯形公式的截断误差为:例1利用复合梯形公式计算积分:该积分的精确值是。此时,下面分别用T1、T2、T4、T8进行计算。函数f(x)=4/(1+x2)在各结点上的值可列表如下:01/82/83/84/84.000003.938463.764703.506853.200005/86/87/812.876402.560002.265492.00000T8与准确值之间的误差为:即T8只有三位有效数字。如果要求误差不超过,就必须对函数f(x)=4/(1

5、+x2)的二阶导数在区间[0,1]上的最大值作出估计。因为:,,可见在区间[0,1]上是单调增函数,(0)=-8,(1)=0,因此,M==8,则Tn的截断误差为:R(Tn)==若要求≤,即,则817。由这个例题可以看出,梯形公式的精确度比较低,收敛也比较慢,因此,梯形公式并不直接用来计算积分,而是为其它的积分法(如龙贝格积分法)提供初始数据,在那里,由梯形公式得出的这些不够准确的近似值,将被一些简单的运算加工后变得非常准确。1.3复合梯形求积公式算法的程序设计一实验内容用复合梯形公式计算函数在区间[0,0.6]上的弧

6、长s.二算法原理对于积分数值方法的基本思想是用被积函数在某些节点处所对应的函数值做线性组合来做近似。我们可以从不同角度来构造就求积公式,常用的方法是利用插值多项式来获得求积公式(称之为差值型求积)。Newton-Cotes公式是在等距节点下的特殊插值型求积公式,但做实际计算时,往往出现数值不稳定,精度难以保证,所以采用复合求积法。低级复合求积法是把积分区间分成若干小区间,分别在每一个小区间上用基本公式(如低阶的N-C公式:梯形,Simpson,cotes公式等)做近似,然后求和,从而导出求定积分的数值公式。一般在[a

7、,b]上n等分,取步长,节点,每个小区间[,]上用梯形公式,根据积分区间的可加性的复合梯形求积公式为然后计算可得答案三变量说明a:存放区间下限b:存放区间上限f[x]:存放被积分函数h:存放节点步长n:存放复合梯形公式的节点等分次数s:存放弧长四源程序代码#include"stdio.h"#include"math.h"main(){intn=8,k;doublea=0,b=0.6;doublex,s;doubleh=(b-a)/8;doublef[9];doubles1=0;for(k=0;k<=8;k++){x=

8、a+k*h;f[k]=sqrt(1+(2*x-3*x*x)*(2*x-3*x*x));}for(k=1;k<=7;k++){s1=s1+f[k];}s=h/2*(f[0]+2*s1+f[8]);printf("%f",s);}五输出结果0.619092

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

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

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