数值积分算法与MATLAB实现陈悦5133201讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东北大学秦皇岛分校
数值计算课程设计报告
数值积分算法及MATLAB实现
学院数学与统计学院
专业信息与计算科学
学号*******
姓名陈悦
指导教师姜玉山张建波
成绩
教师评语:
指导教师签字:
2015年07月14日
1 绪论
数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值检索方其理论与软件的实现.而数值分析主要研究数值计算.
现科学技术的发展与进步提出了越来越多的复杂的数值计算问题,这些问题的圆满解决已远人工手算所能胜任,必须依靠电子计算机快速准确的数据处理能力.这种用计算机处理数值问题的方法,成为科学计算.今天,科学计算的应用范围非常广泛,天气预报、工程设计、流体计算、经济规划和预测以及国防尖端的一些科研项目,如核武器的研制、导弹和火箭的发射等,始终是科学计算最为活跃的领域.
1.1 数值积分介绍
数值积分是数值分析的重要环节,实际问题当中常常需要计算积分,有些数值方法,如微分方程和积分方程的求解,也都和积分计算相联系.
求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出来,因此能够借助微积分学的牛顿-莱布尼兹公式计算定积分的机会是不多的.另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解.由于以上原因,数值积分的理论与方法一直是计算数学研究的基本课题.对微积分学做出杰出贡献的数学大师,如I.牛顿、L.欧拉、C.F.高斯、拉格朗日等人都在数值积分这个领域作出了各自的贡献,并奠定了这个分支的理论基础.
构造数值积分公式最通常的方法是用积分区间上的n 次插值多项式代替被积函数,由此导出的求积公式称为插值型求积公式.特别在节点分布等距的情形称为牛顿-科特斯公式,例如梯形公式(Trapezoidal Approximations)与抛物线公式(Approximations Using Parabolas)就是最基本的近似公式.但它们的精度较差.龙贝格算法是在区间逐次分半过程中,对梯形公式的近似值进行加权平均获得准确程度较高的积分近似值的一种方法,它具有公式简练、计算结果准确、使用方便、稳定性好等优点,因此在等距情形宜采用龙贝格求积公式(Rhomberg Integration).当用不等距节点进行计算时,常用高斯型求积公式计算,它在节点数目相同情况下,准确程度较高,稳定性好,而且还可以计算无穷积分.数值积分还是微分方程数值解法的重要依据.许多重要公式都可以用数值积分方程导出.现探讨数值积分算法以及运用MATLAB软件的具体实现
1.2 MATLAB 软件
MATLAB 是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和Simulink 两大部分.
MATLAB 是matrix&laboratory 两个词的组合,意为矩阵工厂(矩阵实验室).是由美国mathworks 公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境.它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C 、Fortran )的编辑模式,代表了当今国际科学计算软件的先进水平.
MATLAB 和Mathematica 、Maple 并称为三大数学软件.它在数学类科技应用软件中在数值计算方面首屈一指.MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域.
MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB 来解算问题要比用C ,FORTRAN 等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple 等软件的优点,使MATLAB 成为一个强大的数学软件.在新的版本中也加入了对C ,FORTRAN ,C++,JAVA 的支持.
2 数值积分的基本概念
一般的,我们可以在区间[],a b 上适当选取某些节点k x ,然后用()k f x 的加权平均
得到平均高度()f ς的近似值,这样构造出的求积公式具有下列形式:
()()0
d n
a
k
k
b
k f x x A f x =≈∑⎰,式中k
x
称为求积节点;k A 称为求积系数,亦称伴随节点k x 的
权.权k A 仅仅与节点k x 的选取有关,而不依赖于被积函数()f x 的具体形式. 2.1 代数精度的概念
如果某个求积公式对于次数不超过m 的多项式均能准确的成立,但对于1m +次多项式就不准确成立,则称该求积公式具有m 次代数精度(或代数精确值)
一般地,欲使求积公式具有m 次代数精度,只要令它对于()1,,,m f x x x =都能准
确成立,这就要求:
()()22+1+1=-,1=-,
21
=-.+1k k k m m m k k A b a A x b a A x b a m ⎧⎪
⎪⎪⎨⎪
⎪⎪⎩
∑∑∑ 2.2 求积公式的余项
令求积公式的余项为[]R f ,其中[]()()b
a
=d n
k k k R f f x x A f x =-∑⎰.;区间[],a b 可以是
有限的或无限的.构造求积公式的问题就是确定j x 和j A 使得[]R f 在某种意义下尽可能地小.
3 数值积分方法及MATLAB 实现
3.1 复合辛普森公式 3.1.1 插值型求积公式
用插值多项式()n L x 替换积分()*d b
a I f x x =⎰中的被积函数()f x ,然后计算
()d b
n a
I L x x =⎰作为积分的近似值,这样建立的求积公式称为插值型求积公式.用插值多
项式()n L x 的表达式()()0
()n n k k k L x l x f x ==∑,代入得()0
n
k k k I A f x ==∑,其中:
011011()()()()
d ()()()()
b
k k n k a
k k k k k k n x x x x x x x x A x x x x x x x x x -+-+----=----⎰
.
其余项为:[]()(1)*
()
d (1)!
n b
a
f R f I I x x n ξω+=-=+⎰
.
3.1.2 牛顿-科特斯公式介绍
取等距节点,把积分区间[],a b 剖分成n 等分.令步长()
b a h n
-=,并记0,n x a x b ==,
则1n +个节点为0,0,1,k x x kh k n =+=,代入得: