综合趣事

计算浓度的公式几种常用数值积分方法的比较

时间:2021/4/27 8:46:14  作者:的一个  来源:爱为  查看:910  评论:0
内容摘要: 琵琶行全文翻译-商务管理学科分类号 110.3420 本 科 毕 业 论 文 题 目 几种常用数值积分方法的比较 姓 名 潘晓祥 ...

琵琶行全文翻译-商务管理


学科分类号 110.3420








本 科 毕 业 论 文


题 目 几种常用数值积分方法的比较



姓 名 潘晓祥 学 号 1
院 (系) 数 学 与 计 算 机 科 学 学 院
专 业 数学与应用数学 年 级 2010 级
指导教师 雍 进 军 职 称 讲 师






二〇一四年五月





师学院本科毕业论文(设计)诚信声明

本人重声明:所呈交的本科毕业论文(设计 ),是本人在指导老师的
指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除
文中已经注明引用的容外,本论文不含任何其他个人或集体已经发表或撰
写过的作品成果。对本文的研 究做出重要贡献的个人和集体均已在文中以
明确方式标明。本人完全意识到本声明的法律结果由本人承担 。





本科毕业论文作者签名:
年 月 日







师学院本科毕业论文(设计)任务书

毕业设计题目
作 者 姓 名
所属学院
指导教师签名
潘晓祥

数学与计算机科
雍进军 讲师
几种常用数值积分方法的比较

学号
专业
职称
1
数学与应用数学
讲师
年级
班级
开题日

2010级
四班
2013年7月10




1.了解什么数值积分基本思想和一些常用的数值积分方法;
2.对各种数值积分方法的误差以及代数精度进行分析;
3.对各积分方法进行比较总结出优缺点。
通过对几种常用的数值积分方法进行了的分析,并用这几种方法对被积函数是普通函数做




了数值积分,并在计算机上进行实验。数值积分是计算方法或数值分析理论中 非常重要的容,
数值积分方法也是解决实际计算问题的重要方法,对几种常用数值积分方法的分析很必要 。

本文通过对复化求积公式, Newton—Cotes求积公式, Romb erg求积公式,高斯型求积公
式进行分析讨论并在计算机上积分实验,从代数精度,求积公式误差等角 度对这些方法进行分析




比较,并总结出每种求积分法的优缺点以及实用性。

师学院本科毕业论文(设计)开题报告书
论 文 题 目
几种常用数值积分方法的比较
1
作 者 姓 名
潘晓祥
学号
0
年级
2010级
数学与计算机
所属学院
科学学院
指导教师
题目性质
选题的原由:
研究意义:
数值积分是数学上的重要课题之一, 是数值分析中的重要容之一,也是数学的研究重点.并在实
际问题及应用中有着广泛的应用.常用于科学 与工程的计算中,如涉及到积分方程,工程计算,计算机
图形学,金融数学等应用科学领域都有着相当重 要的应用,所以研究数值积分问题有很重要的意义.

数值积分是研究如何求出一个 积分的数值.这一课题的起源可追溯到古代,其中一个突出的例子
是希腊人用接与外接正多边形推算出圆 面积的方法.也正是此法使阿基米德得以求出π值得上界与
下界,若干世纪以来,尤其是十六世纪后,已 提出了多种数值积分方法,其中有矩形求积法,插求积法,牛
顿科特斯公式,复化求积公式,龙贝格求积 公式,高斯型求积公式.但各种方法都有特点,在不同的情况
下试用程度不同,我们将着重从求积公式的 代数精度和余项等角度对这些方法进行分析比较.

研究动态:
这些年来,有关数 值积分的研究已经成为一个很活跃的研究领域,历史上,阿基米德,牛顿,欧拉,高
雍进军
职称
应用研究
讲师
预计字数
日期
5000.00字
2013年7月05 日
专业
数学与应用数学
班级
数本(4)班
斯,切比雪夫等人都对此有过贡献.研究出各种各样的数值求积 公式,但一个好的数值求积公式应该
满足:计算简单,误差小,代数精度高.我们将对矩形求积法,插求 积法,牛顿科特斯公式,化求积公式,贝
格求积公式,斯型求积公式进行比较.对数值求积公式能有进一 步的了解和学习.

主要容:
1 数值积分方法的基本思想
2 几类常用数值积分方法的基本分析
2.1 Newton—Cotes求积公式
2.2 复化求积公式
2.3 Romberg求积公式
2.4 高斯型求积公式
3 几类数值积分方法的简单比较评述
4 利用MATLAB编程应用对几类求积算法的分析比较
研究方法:
本论文主要通过对相关文献和书籍的参考,合自己的见解,复化求积公式,New ton—Cotes求积
公式,Romberg求积公式,高斯型求积公式进行讨论并进行上机实验,从 代数精度,求积公式误差等
角度对这些方法进行分析比较.
完成期限和采取的主要措施:
本论文计划用6个月的时间完成,阶段的任务如下:
(1)7月份查阅相关书籍和文献;
(2)8月份完成开题报告并交老师批阅;
(3)9月份完成论文初稿并交老师批阅;
(4)10月份完成论文二搞并交老师批阅;
(5)11月份完成论文三搞;
(6)12月份定稿.
主要措施:考相关书籍和文献,合自己的见解,老师的指导下和同学的帮助下完成
主要参考文献及资料名称:
[1] 关治. 陆金甫. 数学分析基础(第二版) [M]. :等教育.2010.7
[2] 祖炽. 林源渠. 数值分析 [M] :等教育.1986.3
[3] 薛毅. 数学分析与实验 [M] :业大学 2005.3
[4] 徐士良. 数值分析与算法 [M]. :械工业2007.1
[5] 王开荣. 大地. 应用数值分析 [M] :等教育 2010.7
[6] 一都. 数值计算方法[M]. :等教育 . 2008.4
[7] 韩明. 王家宝. 林. 数学实验(MATLAB)版[M]. :济大学 2012.1
[8] 圣宝建. 关于数值积分若干问题的研究[J]. 信息工程大学. 2009.05.01. : 42
[9] 绪军. 几种求积公式计算精确度的比较[J]. 职业技术学院. 2009.
[10] 史万明.吴裕树.新.数值分析[M]. 理工大学.2010.4.



指导教师意见:








签 名:

年 月 日


开 题 报 告 会 纪 要

时间
姓 名





龙林林
副教授
组长








雍进军
邓喜才
2013年8月26日

职务(职称)
导师(讲师)
副教授
姓 名


地点
职务(职称)


宁静楼229教师办公室

姓 名


职务(职称)


会议记录摘要:
指导小组针对课题《二次函数性质的应用》提问了以下问题以及报告人的回答:
雍老师问:选择此题目的目的?
潘晓祥答:随着计算机和计算方法的飞速发展,几乎所有学科 都走向定量化和精确化,计算数学中
的数值计算方法则是解决“计算”问题的桥梁和工具。
邓老师问:对这个问题进行研究有什么实际的意义?
潘晓祥答:计算方法既有数学类 课程中理论上的抽象性和严谨性,又有实用性和实验性的技术特
征,计算方法是一门理论性和实践性都很 强的学科.在科学研究和工程技术中都要用到各种计算方法.
例如,在航天航空、地质勘探、汽车制造、 桥梁设计、 天气预报和汉字字样设计中都有计算方法的
踪影。
老师问:对这个问题你有什么自己的看法?
潘晓祥答:随着计算机技术的迅速发展和普及,现 在计算方法课程几乎已成为所有理工科学生的
必修课程.我们知道,计算能力是计算工具和计算方法的效 率的乘积,提高计算方法的效率与提高计算
机硬件的效率同样重要.科学计算已用到科学技术和社会生活 的各个领域中.所以,研究数值计算方法
可以让数学的应用更大更广。
会议主持人签名:
记录人签名:
年 月 日



















负责人签名:





负责人签名:
年 月 日



年 月 日

贵 州 师 学 院
数学与计算机科学 学院指导教师指导本科毕业论文情况登记表
论文(设计)
题 目
学生
所属学院
指导教师
指导时间
2013年06月10
2013年06月22
2013年06月2 6
2013年06月28
2013年07月14
2013年07月17
201 3年08月21
2013年08月28
2013年9月09日
2013年11月28
2013年12月04
2013年12月08
2013年12月12
潘晓祥
数计学院
雍进军
指导地点




职 称
指 导 容
几种常用数值积分方法的比较用
1
数学与应用数学
讲师
年级
班级
学 历
指导教师
签名













2010级
四班
硕士
备 注
面授
电子
电子
电子
电子
手机飞信
手机飞信
电子
电子
电子
手机飞信
电子
电子
致远楼416 论文选题,资料准备
网上
网上
网上
网上
手机
手机
网上
网上
网上
手机
网上
网上
确定毕业论文选题
怎样撰写毕业论文开题报告
指导学生撰写开题报告
帮助学生查找有关参考文献
如何构思自己的毕业论文
听取学生毕业论文写作进展情况汇报
解答学生在论文写作中遇到的疑惑
帮助学生查找有关参考文献
如何规划自己的论文
怎样写好论文引言
怎样写好论文引言
怎样写论文摘要
2013年12月16
2013年12 月20
2014年01月05
2014年02月27
2014年03月03
2 014年03月07
2014年03月11
网上
网上
手机
怎样选取论文关键词
怎样编辑论文中的公式
督促学生在寒假中写好论文的初稿







电子
电子
电子
面授
面授
面授
面授
宁静楼219 检查学生论文完成情况
宁静楼219 对学生的论文初稿提出修改时意见
宁静楼219 解答学生在修改时的困惑
宁静楼219 指导学生修改论文

































师学院数学与计算机科学学院本科毕业论文(设计)
交叉评阅表

学院(盖章):
1
学号
00
论文(设计)题目
评语:

该同学在论文撰写过程中对相关文献阅读围广泛,方确,容完整, 能综合运用所学知识分析和
解决实际问题。毕业论文撰写过程中态度端正,勤奋刻苦。论文研究了New ton—Cotes求积公式、
复化求积公式、Romberg积分、高斯积分方法,通过算例分析,得 出几种常用数值积分方法是解


决实际计算问题的重要方法。


论文结构合理,符合逻辑,文章层次分明,语言准确,文字通顺,达到规性要 求,建议作为学


士论文答辩。






成绩: (满分100分) 指导教师(签名): 年 月 日
几种常用数值积分方法的比较


潘晓祥
专业
数学与应用数学

班级
四班

评语:

该同学具备较好的基础理论与专业知识,学习态度认真,阅读教师指定的参考资料、文献,较
好的完成 了任务书规定的工作量。
论文研究了Newton—Cotes求积公式、复化求积公式、Rombe rg积分、高斯积分方法,通


过算例分析,得出几种常用数值积分方法是解决实际 计算问题的重要方法。


论文结构合理,符合逻辑,文章层次分明,语言准确,文 字通顺,达到本科毕业论文相关要求。


同意参加答辩。





成绩: (满分100分) 评阅教师(签名): 年 月 日





师学院本科毕业论文答辩记录表

论文题目
作者
所属学院
指导教师
、职称
几种常用的多项式插值方法
潘晓祥
数计
学号
专业
1
数学与应用数学
雍进军 讲师
答 辩 会 纪 要
年级
班级
2010级
本科(四)班
时间
答辩
小组
成员

2014年 5 月11 日
姓 名
左羽
崔忠伟
廖玉梅
职务(职称)
教授
副教授
讲师
姓 名



地点
职务(职称)



致远楼406
姓 名



职务(职称)




答辩中提出的主要问题及回答的简要情况记录:
1.自己做的有哪些?
答:第11页至第12页,总结进行比较。
2.程序运行过没有?
答:运行过。
3.20页程序代码中,if后的是什么符号?
答:连接作用的符号。
4.解释一下什么时候用分号,什么时候不用?
答:回答不清。
5.摘要中英文拼写有错
答辩后修改


答辩小组负责人签名:左羽
记录人签名:梅林林
2014年 5 月11 日
评语:

















评定成绩:77 负责人(签名):左羽 2014 年 5月11
该生能在规定时间叙述论文的主要容,对提出的问题一般能回答,无原则错误。 答辩
小组经过充分讨论,根据该生论文质量和答辩中的表现,同意评定论文成绩为“中等”。











目 录

摘 要 ...................... ................................................ 1
Abstract ..................................... ............................... 2
1 前 言 .... .................................................. ............. 3
2 数值积分方法的基本思想 ............... .................................... 4
3 几类常用数值积分方法的简单分析 .......................................... 5
3.1 Newton—Cotes求积公式 .............................................. 5
3.2 复化求积公式 .................................. ...................... 6
3.3 Romberg求积公式 .... ............................................... 7
3.4 高斯型求积公式 ................................. .................... 8
4 几类数值积分方法的简单比较评述 ........................................... 9
5 利用MATLAB编程应用对几类求积算法的分析比较 ............................ 10
结束语 .......... ............................................ 错误!未定义书签。
致 谢 ............................... ...................................... 15
附 录 .................................................. ................... 16






摘 要


我们在求函数的积分时,往往因为原函数非 常复杂以至于难以求出或用初
等函数表示,这让我们计算起来非常困难,所以我们只能想办法求它的近似
值,因此直接借助牛顿--莱布尼兹公式计算定积分的情况是非常少见的。这时
候数值积分就是 解决这种问题的一种很好很有效的方法。本文从数值积分问
题的产生出发,详细介绍了一些数值积分的常 用方法(Newton—Cotes求积
公式,复化求积公式,Romberg求积公式,高斯型求积公 式)并对其进行了
简要的分析,在探讨了这些数值积分算法的优缺点的理论之外,我们还将这
些 数值积分算法在计算机上通过matlab软件编程实现应用,并分别用各自求
积公式进行运算,以此来 分析比较各种求积公式的代数精度和计算误差。

关键词 :数值积分;求积公式;代数精度















Abstract


function is very complex that it is difficult to find the elementary functions,
which makes u We in the function for the integration, often because the original s
very difficult to calculate, so we can only think of a way to find the approximate
value, thus directly with Newton - Leibniz formula calculating definite integral
situation is very rare. When numerical integration is to solve this problem in a very
effective method. From the numerical integration problem, introduces some
methods of numerical integration (Newton - Cotes quadrature formula, composite
quadrature formulas, Longbei lattice quadrature formula, Gauss type quadrature
formulas) and has carried on brief analysis, discusses the advantages and
disadvantages of these numerical integration algorithm theory, we will these
numerical integration algorithm in the computer by MATLAB software
programming application, and separately with their respective quadrature formula
for computing, in order to analyze the algebraic calculation precision and error
comparison of various quadrature formulas.

Keywords: Numerical integration; Calculationmeth; numerical analysis









1 前 言
微积分的发明是世界数学史上一项辉煌的成就。但在实际求积问题的时
候,求解积分 却有着非常多局限性。比如对于定积分
?
a
f
(
x
)
dx
在求某函数的定
b
积分时,在一定条件下,虽然有牛顿-莱布里茨公式
I?
?
a
f
(
x
)
dx?F
(
b
)
?F
(
a
)

以计算定积分的值,但在很多情况 下
f(x)
的原函数不易求出或非常复杂。被
积函数
f(x)
的原函 数很难用初等函数表达出来,例如
f(x)?
sinx
,e
?x
等; 有的函
2
b
x

f(x)
的原函数
F(x)
存在,但其表达式太复杂,计算量太大,有的甚至无法有
解析表达式。因此能够借助牛顿-莱布尼兹公 式计算定积分的情形是不多的。
另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函 数
对这类函数的定积分,也不能用不定积分方法求解,只能设法求其近似值。
因此,探讨近似计 算的数值积分方法是有明显的实际意义的即有必要研究定
积分的数值计算方法,以解决定积分的近似计算 。而数值积分就是解决此类
问题的一种有效的方法,它的特点是利用被积函数
f(x)
在一些节点上的信息
求出定积分的近似值。
在很多实际应用中,只能知道积分函数在某些特定 点的取值比如天气测
量中的气温、湿度、气压等,医学测量中的血压、浓度等等。通过研究,我
们将会更熟练掌握一些数值积分方法去计算一些特定条件的数值计算,以便
我们得到自己想要的结果。
2 数值积分方法的基本思想
在数学分析中,计算连续函数f(x)在区间[a,b]上的 积分是通过f(x)的原函数
F(x),由下列定积分公式
?
b
b
a
f(x)dx?F(b)?F(a)

得到的。但由于大量被积函数的原函数不能用初等函数表示,因此,很难用
求原函数的公式?
a
f
(
x
)
dx?F
(
b
)
?F
(
a
)
得到积分;有些被积函数
f(x)
不 是明显知
道的,例如由数值表给出它的离散值,或者是它被定义为某个微分方程的解,
而这个微 分方程是不能显示解出的。这说明,按
?
a
f
(
x
)
dx?F
(
b
)
?F
(
a
)
公式计算< br>定积分是有很大局限性的。
因而常常采用在电子计算机上很有效的数值积分方法。
我们从定积分的定义
b
?
b
a
f(x)dx?(b?a)
?
C(n,k)f(x
k
)

k?0
b
n
n
f(k
?
)?x
k
式的几何意义,
?
?
a
f(x)dx?lim
出发。推导出两个简单的数值积分公式 。
n??
k?1
就是把整块曲线梯形的面积积分成若干个小曲边梯形面积的和,当无限 细分
时这个和取极限就是真正曲边梯形面积。去掉取极限这一步,用有限个小曲
边梯形面积的和 ,代替整块的曲边梯形面积,从而求得一个近似值,这就是
数值积分的基本思想。根据小区间的不同分割 方法和各分点f(ζ)值的不同选
择,就得到不同的数值积分公式。
数值求积公式是取< br>?
a,b
?
上若干个点
x
k
处的高度
f(x
k
)
,通过加权
A
k
后,再
求和
?
Af(x)

kk
k?0
n
从而得到积分的近似值。数值求积公式写成一般形式
?
b
a
f(x)dx?
?
A
k
f(x
k< br>)

k?0
n
式中
x
k
称求积节点,
A
k
称求积系数,也称伴随节点
x
k
的权。当积分区间
?
a,b
?

定后,求积系数
A
k
仅仅与节点
x
k
的选取有关,而不依赖被积函数
f(x)
的具体
形式。记 < br>R
?
f
?
?
?
f(x)dx?
?
A
k
f(x
k
)

a
k?0
b
n< br>把
R
?
f
?
称为求积公式的截断误差或余项。
数值求积方法的特点是直接利用积分区间
?
a,b
?
上一些离散节点的函数值
进行线性组合来近似计算定积分的值,从而将定积分的计算归结为函数值的
计算,这就避开了牛 顿-莱布尼兹公式需要寻求原函数的困难,并为计算机求
积分提供了可行性。

3 几类常用数值积分方法的简单分析
3.1 Newton—Cotes求积公式

常用的梯形公式和Simpson公式是低阶的牛顿-柯特斯公式,牛顿-柯特斯公式是积分区间上等距节点的插值求积公式。插值求积公式在积分区间上,
所取节点是等距时称为牛 顿-柯特斯公式,即
?
b
a
f(x)dx?(b?a)
?
C(n,k)f(x
k
)

k?0
n
其中
C(n,k)
为Cotes求积公式的系数,是n和k 的函数。
当n=1时,为梯形公式:
?
b
a
f(x)dx?(b?a)
[f(a)?f(b)]

2
梯形公式的代数精度为1,有两个积分节点。
当n=2时,为Simpson公式:
?
b
a
f(x)dx?(b?a)a?b
[f(a)?4f()?f(b)]

62
Simpson公式的代数精度为3,有三个积分节点。
由于只增加一个节点,其代数精度增加2,由此可知,Simpson公式比梯
形公式代数精度高。
当n=4时,Newton—Cotes求积公式为Cotes公式:
?
b
a
f(x)dx?
(b?a)3a?ba?ba?3b
[7f(a)?32f()?1 2f()?32f()?7f(b)]

90424
Newton- Cotes公式的代数精度为5,有5个积分节点。
所以对于Newton-Cotes积分公式 ,n为偶数时的代数精度要比n为奇数时
的积分公式效果比较优越。但并不是n的值越大越好,当n过大 时(n=8),
求积公式的数值稳定性不好。

3.2 复化求积公式
由于Newton-Cotes的节点n越大对应的精度就越高,但是n=8时公式的数值
是不稳定的, 因此就不能用增加求积节点的方法来提高精度,因此,我们常
常将求积区间[a,b]分成若干小区间, 然后在每个小区间上采用数值稳定的
Cotes公式求小区间上的积分,然后把每个小区间上的结果加起 来作为原定积
分的近视值,这种方法构造的求积公式就叫做复化求积公式。
常用的复化求积公式有:
复化梯形公式:
n?1
b?a11
T
n
?[f(x
0
)?
?
f(x
i
)?f (x
n
)]

n22
i?1
变步长梯形公式为:
2n?1
T?M
n
b?a11
T
2n
?[f(x
0
)?
?
f(x
i
)?f(x
2n
)]?
n

2n222
i?1
b?a
n
M
n
??
f(x
2j?1
)

2n
j?1
复化Simpson公式:
I
k
?
b ?a
[f(x
2(k?1)
)?4f(x
2k?1
)?f(x
2k
)]

2n
变步长复化Simpson公式:
S
2 n
nn?1
b?a
?
?
I
k
?[f(x
0
)?f(x
2n
)?4
?
f(x
2k?1
)?2< br>?
f(x
2k
)]

6n
k?1k?1k?1
n
3.3 Romberg求积公式
Romberg积分方法也叫做逐次分半加速法,它是在复化梯形公式误差估计
的基础上,应用线性外推 的方法构造出的一种加速算法。
将积分区间分成n等分和2n等分时,求得积分近似值
T
n

T
2n
,并没有误差
估计式
1
3
11
积分近似值
T
2n
的误差大致等于
(T
2n
?T
n
)
,当用
(T
2n
?T
n
)

T
2n
进行修正时,
33
11
(T
2 n
?T
n
)

T
2n
之和比
T
2 n
更接近于真值
I
,故
(T
2n
?T
n
)
是对
T
2n
误差的一种补偿,
33

I?T
2n
?(T
2n
?T
n
)

因此可以期望下式是一个更好的结果,即

T?T
2n
?(T< br>2n
?T
n
)?T
2n
?T
n

下面说明
T
即是分成n等分时Simpson公式的值
S
n
。将复化 梯形公式
n?1
h
??
T
n
?
?
f(a )?2
?
f(x
k
)?f(b)
?

2
?
k?1
?
1
3
4
3
1
3
梯形变步 长求积公式
1h
n?1
T
2n
?T
n
?
?
f(x
1
)

k?
22
k?0
2
代入上式
T
表达式得
n?1n?1
?
h
?
T?
?
f(a)?4
?
f(x
1
)?2
?
f(x
k
)?f(b)
?
?S
n

k?
6
?
k?0k?0
2< br>?
这就是说,用梯形法二分前后两个梯形值
T
n

T
2n
作线性外推,结果得到
Simpson法的积分值
S
n
。将误差 由
o(h
2
)
变为
o(h
4
)
,从而提高 了逼近精度。
再考察Simpson法。其截断误差与
h
4
成正比 ,因此,若将步长折半,则误
差减至
1
,即有
16

由此得
I?
I?S
2n
1
?

I?S
n
16
161
S
2n
?S
n

1515
不难 验证,上式右端的值其实等于
C
n
,就是说,用Simpson法二分前后的两个积分值
S
n

S
2n
,按上式再作线性外推,结果得到 柯特斯法的积分值
C
n
,即有
C
n
?
161
S
2n
?S
n
< br>1515
这时将误差由
o(h
4
)
变为
o(h
6
)
,逼近精度又一次得以提高。
同样的方法,依据柯特斯法的误差公式,可进一步导出下列龙贝格公式

R
n
?
641
C
2n
?C
n

6363

R
n
逼近积分值的误差为
o(h
8
)
,这样Romberg公式将误差由
o(h
6
)
变为< br>o(h
8
)

逼近精度再次得以提高。Romberg公式有7次代数 精度,这表明该公式不是牛
顿-柯特斯公式。
在步长二分的过程中运用
S< br>n

C
n

R
n
表达式加工三次,就能将粗 糙的积
分值
T
n
逐步加工成精度较高的Romberg值
R
n
,或者说,将收敛缓慢的梯形值序

T
n
加工成收敛迅速的Rom berg值序列
R
n
,这种加速方法称Romberg算法。
3.4 高斯型求积公式


前面介绍的
n?1
个节点的 Newton -Cotes求积公式,其特征是节点是等距的。这种特点使得求积公式便于构造,复化求积公式易于形成。但同时也限
制了公式的精度。
n
是偶数时,代数精度为
n?1

n
是奇数时,代数精度为
n

我们知道
n?1
个节点的插值型求积公式的代数精确度不低于
n
。能不能在区间
?
a,b
?
上适当选择个节点
x
0
,x
1
,x
2
Lx
n

使插值求积公式的代数精度高于
n
呢?
答案是肯定的,适当选择节点, 可使公式的精度最高达到
2n?1
,这就是
所学的高斯型求积公式。
不失一般性,将求积公式
?
a
f(x)dx?
?
A
k
f(x
k
)
的求积区间
?
a,b
?
转换成
?
?1,1
?
b
k?0
n
的形式。
对任意求积区间
?
a,b
?
作变换
x?
b?aa?b
t?t

22
可以变换到区间
?
?1,1
?
上,这时
?
b
a< br>f(x)dx?
?
f(
b?aa?bb?aa?b
t?)d(t?)< br>a
2222
b?a
1
b?aa?b
?f(t?)dt

2
?
?1
22
b
b?a
1
f(t)dt?
?
(t)dt
?
a
2
?
?1
b
其 中
?
(
t
)
?f
(
b?aa?b
t?t< br>)

22
高斯-勒让德求积公式在这里简称高斯公式,它是在区间< br>?
?1,1
?
上进行讨论
的。

4 几类数值积分方法的简单比较评述

由于我们在计算实际问题是往往要考虑到代数精度和计算量,所以不同类
型的求积公式有着不同的特点:
Simpson积分方法和梯形积分方法虽然计算简便,但是精度比较差,不理
想。但对于 光滑性较差的被积函数有时会比高精度的积分方法更为有效。特
别是梯形积分方法对被积函数是周期函数 的求积效果更为突出。n>7时,
Newton—Cotes公式是不稳定的,然而复化梯形公式和复化 Simpson公式不仅
保留了低阶公式的优点还能够获得比较较高的精度,所以在实际计算中应用得最为广泛。
Romberg积分方法的算法简单,方便编程的实现。收敛速度快、计算精
度较高,但是计算量较大。
Gauss积分方法的精度较高,数值稳定、收敛速度较快,但因为其节点不
规则,计 算比较麻烦。

5 利用MATLAB编程应用对几类求积算法的分析比较

在简单的认识积分方法比且理论比较之后,则要进行数学实验进行验证,
因此就要通过matl ab软件对各种积分方法进行编程并运算,然后对其各种方法
的运算结果进行分析比较,掌握和理解各方 法的优缺点。
规定各个程序都以
I?
?
0

I?
?
sinx
dx?0.946

0
x
1
1
1
sinx
dx
为例子进行运算。原积分的精确值为
x



分别用不同的方法计算积分
I?
?0
sinx
dx
,并作比较。
x
用以上介绍的几类积分方法分别计算积分,得出误差,并进行比较:
1、用Newton- Cotes公式
当n=1时,即用梯形公式,用程序一 (程序见附录)
在MATLAB命令窗口中输入>> NCotes(0,1,1,2) 得
I?
0.927
R?
0.23

当n=2时, 即用Simpson公式,用程序一 (程序见附录)
在MATLAB命令窗口中输入>> NCotes(0,1,2,2)得
I?
0.946
R?
0.407

当n=4时, 即用科特斯公式,用程序一 (程序见附录)
在MATLAB命令窗口中输入>> NCotes(0,1,4,2)得
I?
0.946
R?
0.513

2、用复化梯形公式
令h=18=0.125,用程序二 (程序见附录)
在MATLAB命令窗口中输入>> trapr1('f',0,1,8),得
sinxh
dx?f(0)?2
?
f(h)?L?f(7h)
?
?f(1)?
=0.9456908635270
?
?
0
x2
1
R?
0.182
3、用复化 Simpson 公式
令h=18=0.125,用程序三 (程序见附录)
在MATLAB命令窗口中输入>> simpr1('f',0,1,8),得
sinxh
dx?
?
f(0)?4
?
f(h)?L?f(7h)
??2
?
f(2h)?L?f(6h)
?
?f(1)
?
?
0
x3
1

=0.946
R?
0.767

4、用Romberg公式
用程序四 (程序见附录)
在MATLAB命令窗口中输入>> romber('f',0,1,5,0.5*(10^(-8))),得
sinx
?
0
x
dx?
0.946
R?
0.002
1
5、用高斯-勒让德求积公式

x?(t?1)2

I?
?
?1
sin(t?1)2
dt< br>
1
t?1
(1) 用2个节点的Gauss公式
I?
0.946
(2) 用3个节点的Gauss公式,用程序五 (程序见附录)


在MATLAB命令窗口中输入>> GuassLegendre (0,1,2,2),得
I?
0.946
R?
0.290
算法比较:

1.原积分的精确值为:
I?
?
sinx
dx?0.946

0
x
1
2.由例题的各种求积算法可知:
(1)对Newton- cotes公式,当n=1时只有1位有效数字,当n=2时有3位有
效数字,当n=4时有7位有效数 字。
(4)用复化梯形公式有2位有效数字,对复化Simpson公式有7位有效数字。
(5)用复化梯形公式,对积分区间
[0,1]
二分11次用了2049个函数值,才可
以得7位有效数字。
(6)用Romberg公式对区间
[0,1]
二分3次用了 9个函数值,就可以得到7位
有效数字;二分4次用了14个函数值,却可以得到14位有效数字。
(7)用高斯-勒让德求积公式仅仅用了3个函数值,就能得到比较精确的6
位有效数字。














结束语

本文主要研究了常用的几类数值积分的求积算法并通过例题计算积分进
行分析比较。
Newton-Cotes积分方法是一种非常普遍的积分方法,然而梯形积分方法
的误差最大 ,近似效果最差,Simpson积分方法的精度比梯形积分方法高了一
个数量级;Cotes积分方法 精度比Simpson积分方法高两个数量级。则Cotes
代数精度比较高。由此可知一般情况下,积 分公式代数精度越高,计算精度
也越高。但是高阶的Cotes积分方法收敛性没有保证,因此实际应用 中很少用。
复化梯形积分方法比梯形积分方法精度高,同样的,复化Simpson积分
方法 比Simpson积分方法精度高,高了差不多7个数量级,所以复化积分方
法比较优越。
Romberg积分方法收敛速度快、计算精度较高,但是计算量较大。
Gauss积分方法精度高、数值稳定、收敛速度较快,但是计算麻烦。
经研究可以知道Newton-Cotes方法的代数精度越高,数值积分的效果越
好、越精确 。当积分区间比较大的时候,积分数值不稳定,这个时候可以利
用复化积分方法效果会更好;Rombe rg积分方法可以利用变步长复化积分公
式得到更为精确的数值结果,是比较好的积分方法。高斯求积方 法精确度高,
收敛性快,比其他积分方法优越。具有很广泛的运用。




参考文献

[1] 关治. 陆金甫. 数学分析基础(第二版) [M]. :等教育.2010.7
[2] 祖炽. 林源渠. 数值分析 [M] :等教育.1986.3
[3] 薛毅. 数学分析与实验 [M] :业大学 2005.3
[4] 徐士良. 数值分析与算法 [M]. :械工业2007.1
[5] 王开荣. 大地. 应用数值分析 [M] :等教育 2010.7
[6] 一都. 数值计算方法[M]. :等教育 . 2008.4
[7] 韩明. 王家宝. 林. 数学实验(MATLAB)版[M]. :济大学 2012.1
[8] 圣宝建. 关于数值积分若干问题的研究[J]. 信息工程大学. 2009.05.01. :
42
[9] 绪军. 几种求积公式计算精确度的比较[J]. 职业技术学院.2009.
[10] 史万明.吴裕树.新.数值分析[M]. 理工大学.2010.4.






致 谢

行文至此,我的这篇论文 已接近尾声;岁月如梭,我四年的大学时光也
即将敲响结束的钟声。离别在即,站在人生的又一个转折点 上,心中难免思
绪万千,一种感恩之情油然而生。
首先感谢师学院四年来对我的培养,是博学 的老师们教会了我学习的方
法、锻炼了我思考的能力、指明了我未来奋斗的方向,从而使我进一步明确< br>了人生的目标。
其次,我要感谢我的指导老师—雍进军老师,他的严谨细致、一丝不苟
的作风一直是我工作、学习中的榜样;他的循循善诱的教导和不拘一格的思
路给予我无尽的启迪。在撰写 整个毕业论文的过程当中,他为我们考虑到了
每一个细节,从开题报告到毕业论文的拟定修改上,雍老师 更是不厌其烦的
为我们做好每一步的细心指导。对此,我表示衷心地感谢。没有雍老师,我
的论 文也不可能这么顺利的完成。同时,我也要感谢每一位给过我帮助的老
师和同学,在我撰写论文的过程当 中同样给了我大量有益的建议,在此一并
向他们表示真诚的感谢,感谢他们对我的支持和帮助。最后感谢 这篇论文所
涉及到的各位学者,本文引用了数位学者的研究文献,如果没有各位学者的
研究成果 带给我的的帮助和启发,我将很难完成本篇论文的写作。
由于我的学术水平有限,所写论文难免有不足 之处,恳请各位老师和学
友批评指正。最后,衷心感谢评阅论文及参加答辩的各位老师!


附 录

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;
else
g(2)=sin(x)x;
end
g(3)=4(1+x^2);
f=g(i);
程序一:
function [C,g]=NCotes(a,b,n,m)
% a,b分别为积分的上下限;
% n是子区间的个数;
% m是调用上面第几个被积函数;
% 当n=1时计算梯形公式;当n=2时计算辛浦生公式,以此类推;
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;
else
for k=1:j
s=s*k;
end
end
r=1;
if i-j==0
r=r;
else
for k=1:(i-j)
r=r*k;
end
end
if mod((i-j),2)==1
q=-(i*s*r);
else
q=i*s*r;
end
y=1;
for k=0:i
if k~=j
y=y*(sym('t')-k);
end
end
l=int(y,0,i);
C(j+1)=lq;
z=z+C(j+1)*f1(m,x(j+1));
end
g=(b-a)*z

1)当输入
a?0,b?1

n?1,m?2
时,即在M ATLAB命令窗口输入
>> NCotes(0,1,1,2)即可得用梯形公式的积分值和相应科特斯系数如图1.1

2)当输入
a?0,b?1

n?2,m?2
时,即在MATLAB命令窗口 输入
>> NCotes(0,1,2,2)即可得用辛浦生公式的积分值和相应科特斯系数
如图1.2

3)当输入
a?0,b?1

n?4,m? 2
时,即在MATLAB命令窗口输入
>> NCotes(0,1,4,2)即可得用科特斯公式的积分值和相应科特斯系数
如图1.3


图 1.1

图 1.2

图1.3

2 复化梯形求积公式的MATLAB实现
通过
f(x)

n?1
个等步长节点逼近积分

其中,
x
k
?a?kh
,
x
0
?a
,
程序二:

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);
end
format 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,8)
回车得到 如图2.1

图2.1


3 复化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);
end
for k=1:(n-1)
x=a+h*2*k;
s2=s2+feval('f',x);
end
s=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,8)
回车得到 如图3.1

图3.1


4 龙贝格积分方法的MATLAB实现
构造数 表来逼近积分
?
a
f(x)dx
?
R(J,J)

其中。
R(J,J)
表示数表的最后一行,最后一列的值。
程序四:
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;
b
err=1
J=0;
R=zeros(4,4);
R(1,1)=h*(feval('f',a)+feval('f',b))2
while ((err>delta)&(J J=J+1;
h=h2;
s=0;
for p=1:M
x=a+h*(2*p-1);
s=s+feval('f',x);
end
R(J+1,1)=R(J,1)2+h*s;
M=2*M;
for K=1:J
R(J+1,K+1)=R(J+1,K)+(R(J+1,K)-R(J,K))(4^K-1);
end
err=abs(R(J,J)-R(J+1,K+1));
end
quad=R(J+1,J+1)
先用M文件定义一个名为f.m的函数:
function y=f(x)
if x==0
y=1;
else
y=sin(x)x;
end
在MATLAB命令窗口中输入
>> romber('f',0,1,5,0.5*(10^(-8)))
回车得到 如图4.1

图4.1
5 高斯-勒让德求积公式的MATLAB实现
程序五:
function [A,x]=Guass1(N)
i=N+1;
f=((sym('t'))^2-1)^i;
f=diff(f,i);
t=solve(f);
for j=1:i
for k=1:i
X(j,k)=t(k)^(j-1);
end
if mod(j,2)==0
B(j)=0;
else
B(j)=2j;
end
end
X=inv(X);
for j=1:i
A(j)=0;
x(j)=0;
for k=1:i
A(j)=A(j)+X(j,k)*B(k);
x(j)=x(j)+t(j);
end
x(j)=x(j)k;
end
function g= GuassLegendre (a,b,n,m)
% a,b分别是积分的上下限;
% n+1为节点个数;
% m是调用f1.m中第几个被积函数;
[A,x]=Guass1(n);
g=0;
for i=1:n+1
y(i)=(b-a)2*x(i)+(a+b)2;
f(i)=f1(m,y(i));
g=g+(b-a)2*f(i)*A(i);
end

用M文件分别把上面两个自定义函数定义为名为Guass1.m函数和< br>GuassLegendre.m函数
用M文件定义一个名为f1.m的函数
function f=f1(i,x)
g(1)=sqrt(x);
if x==0
g(2)=1;
else
g(2)=sin(x)x;
end
g(3)=4(1+x^2);
f=g(i);
在MATLAB命令窗口中输入
>> GuassLegendre (0,1,2,2)
>> GuassLegendre (0,1,3,2)

回车得到 如图5.1

图5.1

核外电子-三个人一起爱


振兴中华是谁提出的-渴望


最新青春偶像电视剧-肇庆医学高等专科学校官网


刘燕铭-原子半径变化规律


全国中小学教育网-项王军壁垓下翻译


sgnx是什么函数-失眠咋办


标题的含义和作用-教师节板报


关于春天的古诗有哪些-美丽的诗句



中国站: www.58toys.com 国际站: www.58toys.com www.58toys.com
58玩具信息网版权所有 2006-2017 | 工商营业执照: 440583000005382
《中华人民共和国电信与信息服务业务经营许可证》编号: 苏ICP备10223497号-1