人力资源基于Romberg算法的数值积分的原理与实现
基于Romberg算法的数值积分的原理与实现
杨俊峰’ 李静
(1(贵州大学电信学院 贵州贵阳 550003; 2(菏泽学院计算机系 山东菏泽 27401 5)
摘要:本文首先简单地介绍了数值积分的基本思想,然后阐述了复合梯形
公式
小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载
、Richardson
外推算法及Romberg算法,最后给出
了实现Romberg算法的通用函数。
关键词:数值积分 复合梯形公式 Richardson外推算法 Romberg算法
中图分类号:G424 文献标识码:A 文章编号:1673 0534(2o07)03(b)一0059—02
在实际的计算中,常常需要计算定积分 l f(x)dx的值,若知道f(x)的原函数V(x), 则由牛顿 莱布尼兹公式就把求定积分的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
转化成了求函数F(b),F(a)的值了。但是, 实际上很多被积函数的原函数不能用初等函 数表示出来,有的即使可用初等函数表出但 表达式较复杂,再者在实际应用中,有时被积 函数是以
表格
关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载
或图形的形式给出,因此对千 这些问题,需要建立数值积分的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
才能加
以解决。
1数值积分的基本思想川
定积分的几何意义是曲边梯形的面积, 而在高等数学上,定积分的定义是求和式的 极限,和式中每一项则是小曲边梯形面积的 近似值 小矩形的面积。计算中并不能取 极限这个无限过程,这就需用有限个小矩形面 积之和来近似代替曲边梯形面积,这实际上 是用阶梯函数来近似代替被积函数。例如构 造一个简单函数(如多项式) (x)来近似代替 一(
被积分函数,(X),然后通过求1 ( )出 求得I八 )dx的近似值。为了精确计算,往 往把积分区间细分,然后再在每个小区间内 用这个简单函数代替被积函数并积分以求得 积分的近似值,这就是数值积分的基本思想。 2 Romberg方法数值积分的相关原理[2】【。1 2 1复合梯形公式
由于梯形公式
}、
l八 )ch 【 ((1 (,(^1】,误差较大,一 般无法使用。下面讨论改进的梯形公式即复 合梯形公式,在这里为了说明问题的方便,将 积分区间【a,bln等分,节点
h 一口
:a+ih,h: ,i=1,2,3?,,rl,对每 一个小区间Ix(,Xi+l】采用梯形公式,就得到如 下的复合梯形公式:
m)=ff(x Σn-1 )+ 川 】:
(,’(口)+2艺厂(口+ )+厂(6)J,h表示把
,b】n等分,这样T、h )就可表示把 积分区间Ia
积分区间Ia,bl2n等分,则可 推导出 九 h h
x ){
汶个关系给}}j了 积分 问的分点增加后的 计算公式与原计算公式之间的关系,即当节 h
点增加一倍计算复合梯形公式T(三)时,只需 把原来复合梯形公式T(h)的值除以2,再加上 ’, , 、h
新节点上的函数值 + 之和与新步长 的乘积。这样既可使计算结果更精确而且节 约计算量,也可由此来判断是否达到要求的 精度。
(2 Richardson外推算法 2
在高等数学中,一般只考虑收敛性,并 不考虑收敛速度问题,但在实际的数值计算 中,收敛的快慢显得特别重要,因此要研究加 速收敛的技巧。
2(2(I加速收敛技巧的基本思想 在实际的数值计算中,常常用一系列数 {Fk}去逼近准确值F ,若固定k,则F 固 定,随之误差F‘F 也就固定。因此要提高 计算的精确度,就必须计算F +(,F + , F ,?,现在需要的是不去计算新值F , F +,,F + , ?,而是由已知信息F(,F,, F ,? ,F (,F 的线性组合,得出新的 序列{F 1 ,而使F1(F+的误差较小, 亦即 f J }比{F, }更快地收敛于F ,这是加速收敛技 巧的基本思想。
2(2(2 Richardson外推算法
假设有一命题F ,用一个步长为h的函 数F(h)去逼近(这里F 与h无关),则Richar dson外推算法由如下的递推关系来实现 0)F。( )= h)
(2) I(h)= ,
m:1,2,3? ,P 是与h无关的常数,q为满 足1一q ?O(m:1(2(3? ()的适当正数。
Richardson外推算法流程图如下 (2)F IlqI、严=。。 ),=—=?: ‘S)F qh) ?” ’ (4)F{(q—h),一 ? ?
2,3 Romberg算法
该算法是在计算梯形和序列的基础上应 用了线性外推的加速方法, 由此构成的一种
即把 具有超线性收敛的数值积分法,
2 1
,9 代入Richardson#l-推算法的递 推公式得到一个更快地收敛于I )f缸的新 序列,记为 ,称为Romberg序列,其 中k表示将积分区间2 等分,m表示外推m 1次,即m=I时表示不外推,如T((。 表示在 【a,bl上的梯形公式,T,( 表示把区间2 等 分的复合梯形公式,而T,‘ 表示对TI(U~T(( 外推所得的公式。这样Romberg算法的具体 描述如下:
(1)先求出按梯形公式所得的积分值 r ,=—b
—:
-
:一a[,((f)+,(6)】
(2)把区间2等分,求出两个小梯形的面积 之和,记为T ‘”,即
= 『,(小 2,{ 1
再由外推法可得T =
(3)把区间再等分(即2 等分),得复合梯形 公式T(‘ ,由T( ’与T1‘ 外推可得 T ”=
,
T =兰
如此若己计算出2 等分的复合梯形公式 T,‘ ,则由Richardson外推算法就可构造出 新序列
T‘ ,: , m = lf2,((((,(p, m+{ 一 1 ’ ?1 ? ’ P’
k:1,2一 ,P—m+l,最后求得T (O 。 (4)当T T : 或lT ! 一T l? ,( 为给定的任意小的正数)就停止计算,否则返 N(3),计算T1‘? 。
根据匕算法可以得到如下的具体流程: (1) TI'。
(2)
(4)
。 r。?
f51 T: ? ?
3 Romberg算法的实现程序
根据上面对Romberg算法原理的分析与 描述,不难得到只要把T ( ’用二维数组来表 示基本上就完成了该算法到程序的实现。下
面给出,只要知道被积函数及其下限a 上限
b和要达到的精度 ,都可以计算数值积分的 通用函数(其实该函数的返回值就是要求的数 值积分值),具体函数如下
double Romberg(double(*f)(double), double a,double b,double ) {int P,i,k,m;
double TINIIN】,x;
T[1l[0l=((b,a),2) (( f)(a)+(+f)(b))},, 初始化TI1]10J
p=1;
while(I)
{x=0;__for(i~1;i<=pow(2,P 1);i++),,计算 T【l】【p】
x=x+f(a+(2+i 1)+((b a),pow(2,p)));
x=(x}((b a),pow(2,P 1))+T【l】【p— l1),2;
T【l】【p】=x;
k=p;
for(m=l;m<=P;m++) ,,利用 Richardson外推法计算T【m+l】【k l】 {T【m+l】【k 1]=(pow(4,m)}T【m】【k卜T 【m】【k 1]),(pow(4,m)1); k ;}
if(fabs(T[p+l】【O卜T【p】【O】)<) {return(T[p+l?O】);,,返回满足题目要 求精度的计算结果T【p+l】【O】 breakI}
else
p++ ;
}}
4结语
用Romberg算法计算数值积分时,一般 计算到p=4或5即能达到要求,该算法简单 且收敛速度快,也节省存储容量,但是对函 数的光滑性要求较高。
参考文献
?1 王能超(数值分析简明教程(高等教育出版
60 科技咨询导报Science and Technology Consulting Herald 社,2002(8(
【2】何伟保,张民选(数值分析(贵州科技出版 社,2003(8(