当前位置:文档之家› 数值积分的算法比较及其MATLAB实现

数值积分的算法比较及其MATLAB实现

编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:数值积分算法与MATLAB实现学院名称:数理学院学生姓名:专业:数学与应用数学班级:学号:指导教师:答辩组负责人:填表时间:年月重庆邮电大学教务处制摘要在求一些函数的定积分时,由于原函数十分复杂难以求出或用初等函数表达,导致积分很难精确求出,只能设法求其近似值,因此能够直接借助牛顿-莱布尼兹公式计算定积分的情形是不多的。

数值积分就是解决此类问题的一种行之有效的方法。

积分的数值计算是数值分析的一个重要分支;因此,探讨近似计算的数值积分方法是有着明显的实际意义的。

本文从数值积分问题的产生出发,详细介绍了一些数值积分的重要方法。

本文较详细地介绍了牛顿-科特斯求积公式,以及为了提高积分计算精度的高精度数值积分公式,即龙贝格求积公式和高斯-勒让德求积公式。

除了研究这些数值积分算法的理论外,本文还将这些数值积分算法在计算机上通过MATLAB软件编程实现,并通过实例用各种求积公式进行运算,分析比较了各种求积公式的计算误差。

【关键词】数值积分牛顿-科特斯求积公式高精度求积公式MATLAB软件ABSTRACTWhen the solution of the definite integral of some function values,because the original function is very complex and difficult to find the elementary function expression, the integral is difficult to accurately calculate, only managed to find the approximate value, and the case is small that allows to direct interface with the Newton - Leibniz formula to calculate the definite integral. Numerical integration is an effective method to solve such problems. The numerical integration is an important branch of numerical analysis; therefore, exploring the approximate calculation of the numerical integration method has obvious practical significance. This article departure from the numerical integration problem, described in detail some important numerical integration methods.This paper has introduced detail the Newton - Coates quadrature formula, and in order to improve the calculation accuracy of numerical integration formulas, More precise formulas have Romberg quadrature formulas and the Gauss - Legendre quadrature formula. In addition to the study of these numerical integration algorithm theory, the article also involve what these numerical integration algorithm be programmed by matlab software on the computer, and an example is calculated with a variety of quadrature formulas, finally analysis and comparison to various quadrature formulas calculation error.【Key words】Numerical integration Newton-Cotes quadrature formula High-precision quadrature formula Matlab software目录前言 (1)第一章牛顿-科特斯求积公式 (2)第一节数值求积公式的构造 (2)第二节复化求积公式 (9)第三节本章小结 (12)第二章高精度数值积分算法 (13)第一节梯形法的递推 (13)第二节龙贝格求积公式 (14)第三节高斯求积公式 (17)第四节高斯-勒让德求积公式 (19)第五节复化两点高斯-勒让德求积公式 (22)第六节本章小结 (23)第三章各种求积公式的MATLAB编程实现与应用 (24)第一节几个低次牛顿-科特斯求积公式的MATLAB实现 (24)第二节复化求积公式的MATLAB实现 (28)第三节龙贝格求积公式的MATLAB实现 (33)第三节高斯-勒让德求积公式的MATLAB实现 (34)第五节各种求积算法的分析比较 (36)第六节本章小结 (38)结论 (39)致谢 (40)参考文献 (41)附录 (43)一、英文原文 (43)二、英文翻译 (52)前 言对于定积分()ba f x dx ⎰,在求某函数的定积分时,在一定条件下,虽然有牛顿-莱布里茨公式()()()baI f x dx F b F a ==-⎰可以计算定积分的值,但在很多情况下()f x 的原函数不易求出或非常复杂。

被积函数()f x 的原函数很难用初等函数表达出来,例如2sin (),x x f x e x-=等;有的函数()f x 的原函数()F x 存在,但其表达式太复杂,计算量太大,有的甚至无法有解析表达式。

因此能够借助牛顿-莱布尼兹公式计算定积分的情形是不多的。

另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解,只能设法求其近似值。

因此,探讨近似计算的数值积分方法是有明显的实际意义的,即有必要研究定积分的数值计算方法,以解决定积分的近似计算。

而数值积分就是解决此类问题的一种有效的方法,它的特点是利用被积函数()f x 在一些节点上的信息求出定积分的近似值。

微积分的发明是人类科学史上一项伟大的成就,在科学技术中,积分是经常遇到的一个重要计算环节。

数值积分是数学上重要的课题之一,是数值分析中重要的内容之一,也是应用数学研究的重点。

随着计算机的出现,近几十年来,对于数值积分问题的研究已经成为一个很活跃的研究领域。

现在,数值积分在计算机图形学,积分方程,工程计算,金融数学等应用科学领域都有着相当重要的应用,所以研究数值积分问题有着很重要的意义。

国内外众多学者在数值积分应用领域也提出了许多新方法。

在很多实际应用中,只能知道积分函数在某些特定点的取值,比如天气测量中的气温、湿度、气压等,医学测量中的血压、浓度等等。

通过这个课题的研究,我们将会更好地掌握运用数值积分算法求特殊积分函数的定积分的一些基本方法、理论基础;并且通过matlab 软件编程的实现,应用于实际生活中。

第一章 牛顿-科特斯求积公式第一节 数值求积公式的构造大多数实际问题的积分是需要用数值积分方法求出近似结果的。

数值积分原则上可以用于计算各种被积函数的定积分,无论被积函数是解析解形式还是数表形式,其基本原理都是用多项式函数近似代替被积函数,用多项式的积分结果近似代替对被积函数的积分。

由于所选多项式形式的不同,可以有许多种数值积分方法。

而利用插值多项式来构造数值求积公式是最常用的一种方法。

对于积分()ba f x dx ⎰,用一个容易积分的函数()x ϕ去代替被积函数()f x ,这样的()x ϕ自然以多项式()n L x 为最佳,因为多项式能很好的逼近任何连续函数,而且容易求出其原函数。

一、 求积公式的推导在积分区间[,]a b 上取有限个点01n a x x x b ≤<<<≤,作()f x 的n 次插值多项式0()()()nn k k L x f x l x =∑,其中,()(0,1,,)k l x k n =为n 次插值基函数。

用()n L x 近似代替被积函数()f x ,则得()()()()nbb bn k k aaak f x dx L x dx f x l x dx =≈=∑⎰⎰⎰ (1.1)若记011011()()()()()()()()()bbk k n k k aak k k k k k n x x x x x x x x A l x dx dx x x x x x x x x -+-+----==----⎰⎰(1.2)则得数值求积公式()()nbk k ak f x dx A f x =≈∑⎰(1.3)其中k A 称为求积系数,k x 称为求积节点。

则称该求积公式为插值型求积公式。

知道了插值型求积公式以及其构造方法。

为了便于计算与应用,常将积分区间的等分点作为求积节点,这样构造出来的插值型求积公式就称为牛顿-科特斯(Newton-Cotes )求积公式。

在积分区间[,]a b 上取1n +个等距节点k x a k h =+(0,1,)k n =,其中b ah n-=,做n 次拉格朗日插值多项式()n L x ,因为()()()n n f x L x R x =+,所以 ()()()bbbn n aaaf x dx L x dx R x dx =+⎰⎰⎰(1)101()()()()(1)!nb b n k k n a a k f x l x dx f x dx n ξω++=⎡⎤=+⎢⎥⎣⎦+∑⎰⎰ 记11()()()()b bn k k aak n k x A l x dx dx x x x ωω++==-⎰⎰(1.4)[](1)11()()(1)!b n n n a R f f x dx n ξω++=+⎰ (1.5) 截去第二项得()()nbk k ak f x dx A f x =≈∑⎰显然k A 与()f x 无关,只与节点(0,1,,)k x k n =有关。

令x a th =+,则当[],x a b ∈时,[]0,t n ∈,于是111()()(1)(2)()n n n x a th h t t t t n ωω+++=+=--- (1.6)而 10111()()()()()()n k k k k k k k k n x x x x x x x x x x x ω+-+=-----!(1)()!n n k h k n k -=--从而得[][]0(1)(1)(1)(1)()!()!n k nk h A t t t k t k t n dt k n k --=---⨯-+--⎰记[][]()0(1)(1)(1)(1)()!()!n kn n kCt t t k t k t n dtk n k n--=---⨯-+--⎰(1.7)则 ()()n kk A b a C =-故求积公式(1.3)可写成()0()()()nbn k k ak f x dx b a C f x =≈-∑⎰(1.8)这就是牛顿-科特斯求积公式,其中()n k C 称为科特斯系数。

相关主题