数值积分和MonteCarlo方法

数值积分和MonteCarlo方法
数值积分和MonteCarlo方法

第二章 数值积分和Monte Carlo 方法 第一节 数值积分 ()b

a S f x dx =? 令 10,

,k k n h x x x a x b +=-==, 则

()()()1

1

0(),

''()

k k

n k k k k k k k k x x S f x dx

f x f x x f f f x f f x +-=='=+-+

==∑

?

()x f

a

k x b x

零阶近似

()()h f x f k O +=

()()

()

∑∑-=-=O +=O +=1

1

0n k k n k k h f h h f h S

一阶近似

()()

()

21h h

f f x x f x f k

k k k O +--+=+ ∵

()()?

+=---=-++1

212212

122k k

x x k k k k k k h x x x x

x dx x x

()()

∑-=+O +???

?

?-+?=1

02121n k k k k h h f f h f S

()()

-=+O ++=1

0212

1

n k k k h f f h 从直观看,用()11

2

k k f f ++近似()f x 比只用k f 或1k f +好。这方法也称

Trapezoid 方法。 这样的数值积分方法的

优点:

● 简单直观,误差可以控制

缺点:

● “平均主义”,

在()0≈x f 的区域,()k f x x ?对S 贡献很小,但消耗

同等的机时。在多自由度系统这弱点尤为特出。

问题: 直观地看,零级近似和一级近似的差别在哪? 习题: 编程序数值计算高斯积分。

第二节 Monte Carlo 方法 如何用随机方法求积分?

例如,可用‘抛石子’方法。但这方法不比简单的数值积分有效。 1.简单抽样的Monte Carlo 方法

均匀地随机地选取[b a ,]中{}k M x 个点,显然,

(1

1()1/

M

k

k S f x M

==

+O ∑

当M 足够大,当然可以得到足够好的积分值。

问题:为什么误差是(1/O ?

答 :不妨把这看成一个M 次测量的实验,假设每次测量都是独立

的,由涨落理论,误差应为(O 。 比较误差:

Monte Carlo 方法 1/S ?∝ 数值积分Trapezoid 方法 2

1/(1/)S M h M ?∝=

对单自由度而言,数值积分方法要有效得多。

对多自由度,例如d 自由度,

Monte Carlo 方法 1/S ?∝ !! 数值积分Trapezoid 方法 2/1/(1/)d

d S M h M ?∝= 当d 非常大,数值积分方法根本没法和Mont

e Carlo 方法比较。 我们当然可以再改进数值积分方法的精度,但这种改进的量级没法和d 的大小比拟。在多体系统的数值模拟中,d 通常至少是410!

Monte Carlo 方法真的是完美了吗? 当然不是。

● ‘平均主义’的弱点其实还没改进

下面我们引入所谓的重要抽样Monte Carlo 方法 ● 当引入重要抽样方法后,每次抽样的样品可能不独立

如何取得独立的抽样,是Monte Carlo 方法的重点所在!

2.重要抽样的Monte Carlo 方法

如果被积函数f(x)是均匀的函数,则简单抽样方法已经可以得到 相当准确的积分值。

如果被积函数f(x)不是均匀的函数----这在高维积分十分常见,则必须引入重要抽样。我们希望在对积分贡献大的区域多取样品,在贡献小的区域少取样品。

设积分为

()()()b

a S f x f x W x dx =<>=?

其中f(x)是均匀函数,W(x)是不均匀函数,而且()0W x ≥,可以归一化,给予概率分布的含义。

假设我们可以按照分布W(x)得到{}l M x 个点,则

(1

1()1/

M

l

l S f x M

==

+O ∑

注意:现在W(x)不出现在求和式子中,而是体现在{}l x 的分布里。 证明:如第一节方法,把[b a ,]分为n 个小区间, [],l k k x x x h +落在区间的数目约为

()k W x h M ?

对[],l k k x x x h ∈+

()()

()()()1

11

l k M

n l k k l

k f x f x f x f x W x h M

M

M

-=≈∴

显然

()()()(

)1lim lim M n

l

k

k

M n l

k

f x f x W x h f x S M

→∞→∞

==

=∑∑

()W x ,产生M 个{}k x (即上面的{}l x )

问题:可以用产生随机数的方法产生()W x 吗? 答 :多自由度,有相互作用时不可能 3. Markov 过程 产生{}k x 的方法:

构造一个Markov 过程,即给出一个动力学规则,由t x 随机地产生1t x +。那么,给一个0x ,可产生

0001,,

,

M M M x x x x +

如果随机过程满足一定条件,则当0M 足够大时,即达到“平衡

态”时,00

1,M M M x x ++按()W x 分布。

? 各态历经

从概率上说,在有限时间内t x 可走遍[b a ,]

? 细致平衡

Markov 过程由从t x 到1t x +的转移概率定义。

设()T x x '→为过程从x 转移(或跃迁)到x '的概率,()T x x '→为从x '到x 的概率。则细致平衡条件为

()()()

()

T x x W x T x x W x ''→='→

记忆:从x 转移到x '的概率正比与()W x '

证明:设(),W x t 为x 的“非平衡态”分布

()

()()()(),,,x x dW x t T x x W x t T x x W x t dt ''

'''=-→+→∑∑ ()()()

,,,0t W x t W x dW x t dt

→∞

→∞→

()()()(),,x x T x x W x T x x W x '

'

'''∴

→∞=→∞∑∑

细致平衡条件显然保证()W x 满足上述方程,所以,

()(),W x W x ∞=

不过,细致平衡条件是充分条件。 第三节 Metropolis 算法和Heat -bath 算法

Markov 过程的全部信息包含在转移概率()T x x '→中

● 细致平衡条件是平衡态()W x 的要求 ● 是否各态历经常常可以直观判断

()T x x '→必须给出从任意 x 到任意 x ’ 的概率,

但这并不一定要求从x 到任意x ’ 的概率都是零。各态历经只要求在有限时间内,即()T x x '→的有限次作用,能到达x ’。

1. Metropolis 算法

Metropolis (1915-1999) The Paper was cited 7500 times from 1988 to 2003 令

()

()()

()()(')/()1

(1,(')/())

m T x x W x W x W x W x W x W x Min W x W x '→'?

设 ()()W x W x '<

()()(')/()(')

1()

m m T x x W x W x W x T x x W x '→=='→

设 ()()W x W x '≥

()()1(')

()/(')()

m m T x x W x T x x W x W x W x '→=='→

即()m T x x '→满足细致平衡条件。

但是,注意到()T x x '→是转移概率,所以应有归一化条件

()'

1x T x x '→=∑ 上面的()m T x x '→还不满足归一化条件。 所以,完整的Metropolis 算法的转移概率是

()()()m T x x S x x T x x '''→=→→

其中()S x x '→是从x 选中x ’ 的概率,而且()(')S x x S x x '→=→。这样的转移概率仍然满足细致平衡条件。当然,归一化条件也能保证。

例如,可选

1. ()S x x '→=常数,即均匀选取x ’

2. ()'[,]

'[,]

x x x S x x x x x εεεε∈-+?'→=?

?-+?常数

归纳起来,Metropolis 算法包括如下步骤: 1) 设t x x =,按()S x x '→选取尝试x ’,

几种定积分的数值计算方法

几种定积分的数值计算方法 摘要:本文归纳了定积分近似计算中的几种常用方法,并着重分析了各种数值方法的计 算思想,结合实例,对其优劣性作了简要说明. 关键词:数值方法;矩形法;梯形法;抛物线法;类矩形;类梯形 Several Numerical Methods for Solving Definite Integrals Abstract:Several common methods for solving definite integrals are summarized in this paper. Meantime, the idea for each method is emphatically analyzed. Afterwards, a numerical example is illustrated to show that the advantages and disadvantages of these methods. Keywords:Numerical methods, Rectangle method, Trapezoidal method, Parabolic method, Class rectangle, Class trapezoid

1. 引言 在科学研究和实际生产中,经常遇到求积分的计算问题,由积分学知识可知,若函数 )(x f 在区间],[b a 连续且原函数为)(x F ,则可用牛顿-莱布尼茨公式 ?-=b a a F b F x f ) ()()( 求得积分.这个公式不论在理论上还是在解决实际问题中都起到了很大的作用. 在科学研究和实际生产中,经常遇到求积分的计算问题,由积分学知识可知,若函数)(x f 在区间],[b a 连续且原函数为)(x F ,则可用牛顿-莱布尼茨公式 ?-=b a a F b F x f ) ()()( 求得积分.这个公式不论在理论上还是在解决实际问题中都起到了很大的作用.另外,对于求导数也有一系列的求导公式和求导法则.但是,在实际问题中遇到求积分的计算,经常会有这样的情况: (1)函数)(x f 的原函数无法用初等函数给出.例如积分 dx e x ?-1 02 , ? 1 sin dx x x 等,从而无法用牛顿-莱布尼茨公式计算出积分。 (2)函数)(x f 使用表格形式或图形给出,因而无法直接用积分公式或导数公式。 (3)函数)(x f 的原函数或导数值虽然能够求出,但形式过于复杂,不便使用. 由此可见,利用原函数求积分或利用求导法则求导数有它的局限性,所以就有了求解数值积分的很多方法,目前有牛顿—柯特斯公式法,矩形法,梯形法,抛物线法,随机投点法,平均值法,高斯型求积法,龙贝格积分法,李查逊外推算法等等,本文对其中部分方法作一个比较. 2.几何意义上的数值算法 s 在几何上表示以],[b a 为底,以曲线)(x f y =为曲边的曲边梯形的面积A ,因此,计 算s 的近似值也就是A 的近似值,如图1所示.沿着积分区间],[b a ,可以把大的曲边梯形分割成许多小的曲边梯形面积之和.常采用均匀分割,假设],[b a 上等分n 的小区间 ,x 1-i h x i +=b x a x n ==,0,其中n a b h -= 表示小区间的长度. 2.1矩形法

(精选)实验二 数值方法计算积分

实验二数值方法计算积分 学号:姓名:指导教师:实验目的 1、了解并掌握matlab软件的基本编程、操作方法; 2、初步了解matlab中的部分函数,熟悉循环语句的使用; 3、通过上机进一步领悟用复合梯形、复合辛普森公式,以及用龙贝格求积 方法计算积分的原理。 一、用不同数值方法计算积分 10x ln xdx=-94. (1)取不同的步长h.分别用复合梯形及辛普森求积计算积分,给出误差中关 于h的函数,并与积分精确值比较两个公式的精度,是否存在一个最小 的h,使得精度不能再被改善? (2)用龙贝格求积计算完成问题(1)。 二、实现实验 1、流程图: 下图是龙贝格算法框图:

2、 算法: (1) 复合梯形公式:Tn=++)()([2b f a f h 2∑-=1 1 )](n k xk f ; (2) 复合辛普森公式:Sn=6h [f(a)+f(b)+2∑-=11)](n k xk f +4∑-=+1 )2/1(n k x f ]; 以上两种算法都是将a-b 之间分成多个小区间(n ),则h=(b-a)/n,x k =a+kh, x k+1/2=a+(k+1/2)h,利用梯形求积根据两公式便可。 (3) 龙贝格算法:在指定区间内将步长依次二分的过程中运用如下公式 1、Sn= 34T2n-31 Tn 2、 Cn=1516S2n-151 Sn 3、 Rn=6364C2n-631 Cn 从而实现算法。 3、 程序设计 (1)、复合梯形法: function t=natrapz(fname,a,b,n) h=(b-a)/n; fa=feval(fname,a);fb=feval(fname,b);f=feval(fname,a+h:h:b-h+0. 001*h); t=h*(0.5*(fa+fb)+sum(f)); (2)、复合辛普森法: function t=natrapz(fname,a,b,n) h=(b-a)/n; fa=feval(fname,a);fb=feval(fname,b);f1=feval(fname,a+h:h:b-h+0 .001*h); f2=feval(fname,a+h/2:h:b-h+0.001*h); t=h/6*(fa+fb+2*sum(f1)+4*sum(f2)); (3)龙贝格法: function [I,step]=Roberg(f,a,b,eps) if(nargin==3) eps=1.0e-4; end; M=1; tol=10; k=0; T=zeros(1,1); h=b-a; T(1,1)=(h/2)*(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),

数值积分算法与MATLAB实现陈悦5133201讲解

东北大学秦皇岛分校 数值计算课程设计报告 数值积分算法及MATLAB实现 学院数学与统计学院 专业信息与计算科学 学号5133201 姓名陈悦 指导教师姜玉山张建波 成绩 教师评语: 指导教师签字: 2015年07月14日

1 绪论 数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值检索方其理论与软件的实现.而数值分析主要研究数值计算. 现科学技术的发展与进步提出了越来越多的复杂的数值计算问题,这些问题的圆满解决已远人工手算所能胜任,必须依靠电子计算机快速准确的数据处理能力.这种用计算机处理数值问题的方法,成为科学计算.今天,科学计算的应用范围非常广泛,天气预报、工程设计、流体计算、经济规划和预测以及国防尖端的一些科研项目,如核武器的研制、导弹和火箭的发射等,始终是科学计算最为活跃的领域. 1.1 数值积分介绍 数值积分是数值分析的重要环节,实际问题当中常常需要计算积分,有些数值方法,如微分方程和积分方程的求解,也都和积分计算相联系. 求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出来,因此能够借助微积分学的牛顿-莱布尼兹公式计算定积分的机会是不多的.另外,许多实际问题中的被积函数往往是列表函数或其他形式的非连续函数,对这类函数的定积分,也不能用不定积分方法求解.由于以上原因,数值积分的理论与方法一直是计算数学研究的基本课题.对微积分学做出杰出贡献的数学大师,如I.牛顿、L.欧拉、C.F.高斯、拉格朗日等人都在数值积分这个领域作出了各自的贡献,并奠定了这个分支的理论基础. 构造数值积分公式最通常的方法是用积分区间上的n 次插值多项式代替被积函数,由此导出的求积公式称为插值型求积公式.特别在节点分布等距的情形称为牛顿-科特斯公式,例如梯形公式(Trapezoidal Approximations)与抛物线公式(Approximations Using Parabolas)就是最基本的近似公式.但它们的精度较差.龙贝格算法是在区间逐次分半过程中,对梯形公式的近似值进行加权平均获得准确程度较高的积分近似值的一种方法,它具有公式简练、计算结果准确、使用方便、稳定性好等优点,因此在等距情形宜采用龙贝格求积公式(Rhomberg Integration).当用不等距节点进行计算时,常用高斯型求积公式计算,它在节点数目相同情况下,准确程度较高,稳定性好,而且还可以计算无穷积分.数值积分还是微分方程数值解法的重要依据.许多重要公式都可以用数值积分方程导出.现探讨数值积分算法以及运用MATLAB软件的具体实现

计算方法-数值积分实验

实验二数值积分实验 一. 实验目的 (1)熟悉数值积分与数值微分方法的基本思想,加深对数值积分与数值微分方法的理解。 (2)熟悉Matlab编程环境,利用Matlab实现具体的数值积分与数值微分方法。 二. 实验要求 用Matlab软件实现复化梯形方法、复化辛甫生方法、龙贝格方法和高斯公式的相应算法,并用实例在计算机上计算。 三.实验内容 1. 实验题目 已知x e x f x4 sin 1 ) (- + =的数据表 分别编写用复化梯形法、复化辛甫生公法、龙贝格法、三点高斯法求积分?=1 ) (dx x f I 近似值的计算机程序。 A.复化梯形法: a.编写文件Trapezoid.m,代码如下所示:

b.编写文件f2.m: c.运行: B.复化辛甫生公法 a.编写文件FSimpson.m,代码如下所示:

b.编写文件f2.m: function f=f2(x) f=1+exp(-x).*sin(4*x); c.运行: C.龙贝格法

a.编写文件Romberg.m,代码如下所示: b.运行:

D.三点高斯法 a.编写文件TGauss.m文件,如下所示:

b.运行: 2. 设计思想 要求针对上述题目,详细分析每种算法的设计思想。 总体的思想是化复杂为简单的重复 A.复化梯形法使用直接法,通过递归,缩减规模; B.复化辛甫生也是使用直接法,根据公式直接进行编程,通过递归缩减规模; C.龙贝格算法应该在做了的几个中最体现了“化复杂为简单的重复”的思想,多个循环通过变量的适当递增,和一个for循环语句来实现,循环主体只有一句话,但确是整个程序中的亮点和难点; D.三点高斯法直接通过一条简单的公式来编写程序,难度不大; 四.实验体会 对实验过程进行分析总结,对比不同方法的精度,指出每种算法的设计要点及应注意的事项,以及自己通过实验所获得的对数值积分方法的理解。

导数的数值计算方法[文献综述]

毕业论文文献综述 信息与计算科学 导数的数值计算方法 一、 前言部分 导数概念的产生有着直觉的起源,与曲线的切线和运动质点的速度有密切的关系.导数用于描述函数变化率,刻画函数的因变量随自变量变化的快慢程度.比如说,物理上考虑功随时间的变化率(称为功率),化学上考虑反应物的量对时间的变化率(称为反应速度),经济学上考虑生产某种产品的成本随产量的变化率(称为边际成本)等等,这些变化率在数学上都可用导数表示. 导数由于其应用的广泛性,为我们解决所学过的有关函数问题提供了一般性的方法,导数是研究函数的切线、单调性、极值与最值等问题的有力工具;运用它可以简捷地解决一些实际问题,导数的概念是用来研究函数在一点及其附近的局部性质的精确工具,而对于函数在某点附近的性质还可以应用另一种方法来研究,就是通过最为简单的线性函数来逼近,这就是微分的方法.微分学是数学分析的重要组成部分,微分中值定理作为微分学的核心,是沟通导数和函数值之间的桥梁, Rolle 中值定理, Lagrange 中值定理, Cauchy 中值定理, Taylor 公式是微分学的基本定理, 统称为微分学的中值定理,这四个定理作为微分学的基本定理,是研究函数形态的有力工具 ] 1[.在微分学中,函数的导数是通过极限定义的,但 当函数用表格给出时,就不可用定义来求其导数,只能用近似方法求数值导数] 2[.最简单 的数值微分公式是用差商近似地代替微商,常见的有 [3] . ()()() 'f x h f x f x h +-≈ , ()()() 'f x f x h f x h --≈, ()()() '2f x h f x h f x h +--≈ . 需要注意的是微分是非常敏感的问题,数据的微小扰动会使结果产生很大的变化] 4[.

数值积分 (论文)

目录 第一章数值积分计算的重述 (1) 1.1引言 (1) 1.2问题重述 (2) 第二章复化梯形公式 (3) 2.1 复化梯形公式的算法描述 (3) 2.2 复化梯形公式在C语言中的实现 (3) 2.3 测试结果 (4) 第三章复化simpson公式 (6) 3.1 复化simpson公式的算法描述 (6) 3.2 复化simpson公式在C语言中的实现 (6) 3.3 测试结果 (7) 第四章复化cotes公式 (8) 4.1 复化cotes公式的算法描述 (8) 4.2 复化cotes公式在C语言中的实现 (9) 4.3 测试结果 (10) 第五章Romberg积分法 (11) 5.1 Romberg积分法的算法描述 (11) 5.2 Romberg积分法在C中的实现 (12) 5.3 测试结果 (13) 第六章结果对比分析和体会 (144) 参考文献 (16) 附录 (16)

数值积分?-10 2 dx e x (一) 第一章 数值积分计算的重述 1.1引言 数值积分是积分计算的重要方法,是数值逼近的重要内容,是函数插值的最直接应用,也是工程技术计算中常常遇到的一个问题。在应用上,人们常要求算出具体数值,因此数值积分就成了数值分析的一个重要内容。在更为复杂的计算问题中,数值积分也常常是一个基本组成部分。 在微积分理论中,我们知道了牛顿-莱布尼茨(Newton-Leibniz)公式 ()() () b a f x d x F b F a =-? 其中()F x 是被积函数()f x 的某个原函数。但是随着学习的深入,我们发现一个问题: 对很多实际问题,上述公式却无能为力。这主要是因为:它们或是被积函数没有解析形式的原函数,或是只知道被积函数在一些点上的值,而不知道函数的形式,对此,牛顿—莱布尼茨(Newton-Leibniz)公式就无能为力了。此外,即使被积函数存在原函数,但因找原函数很复杂,人们也不愿花费太多的时间在求原函数上,这些都促使人们寻找定积分近似计算方法的研究,特别是有了计算机后,人们希望这种定积分近似计算方法能在计算机上实现,并保证计算结果的精度,具有这种特性的定积分近似计算方法称为数值积分。由定积分知识,定积分只与被积函数和积分区间有关,而在对被积函数做插值逼近时,多项式的次数越高,对被积函数的光滑程度要求也越高,且会出现Runge 现象。如7n >时,Newton-Cotes 公式就是不稳定的。因而,人们把目标转向积分区间,类似分段插值,把积分区间分割成若干小区间,在每个小区间上使用次数较低的Newton-Cotes 公式,然后把每个小区间上的结果加起来作为函数在整个区间上积分的近似,这就是复化的基本思想。本文主要

几种常用数值积分方法的比较汇总

学科分类号110.3420 州 GUIZHOU NORMAL COLLEGE 本科毕业论文 题目—几种常用数值积分方法的比较_____________ 姓名潘晓祥学号1006020540200 院(系)数学与计算机科学学院 __________________ 专业数学与应用数学年级_____________2010级 指导教师雍进军职称______________________讲师 二O—四年五月

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

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

研究方法: 本论文主要通过对相关文献和书籍的参考,合自己的见解,复化求积公式,Newton —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. 指导教师意见: 签名: 年月日

基础实验二 定积分数值计算

基础实验二 定积分数值计算 一、实验目的 学习定积分的数值计算方法,理解定积分的定义,掌握牛顿-莱布尼兹公式。 二、实验材料 2.1定积分的数值计算 计算定积分?b a dx x f )(的近似值,可将积分区间n 等分而得矩形公式 n a b n a b i a f dx x f n i b a ---+≈∑?=]) 1([)(1 或 n a b n a b i a f dx x f n i b a --+≈∑?=][)(1 也可用梯形公式近似计算 n a b b f a f n a b i a f dx x f n i b a -++-+≈∑?-=]2)()()([)(11 如果要准确些,可用辛普森公式 n a b b f a f a b i a f n a b i a f dx x f n i n i b a 6)]()()2)21((4)(2[)(111-++--++-+≈∑∑?=-= 对于?1 0sin xdx ,矩形公式、梯形公式、辛普森公式的Mathematica 程序为 a=0;b=1;k=10; f[x_]:=Sin[x]; d=N[Integrate[f[x],{x,a,b}],k];(计算精确值) s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k];(取小区间左端点的矩形公式) s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k]; (取小区间中点的矩形公式) s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k]; (取小区间右端点的矩形公式) s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-a)/m,{i,0,m-1}],k]; (梯形公式) s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}]

数值积分与微分方法

数值积分与微分 摘要 本文首先列举了一些常用的数值求积方法,一是插值型求积公式,以N e w t o n C o t e s -公式为代表,并分析了复合型的Newton Cotes -公式;另一个是Gauss Ledendre -求积公式,并给出几个常用的Gauss Ledendre -求积公式。其次,本文对数值微分方法进行分析,主要是差分型数值微分和插值型数值微分,都给出了几种常用的微分方法。然后,本文比较了数值积分与微分的关系,发现数值积分与微分都与插值或拟合密不可分。 本文在每个方法时都分析了误差余项,并且在最后都给出了MATLAB 的调用程序。 关键词:插值型积分Gauss Ledendre -差分数值微分插值型数值微分 MATLAB

一、常用的积分方法 计算积分时,根据Newton Leibniz -公式, ()()()b a f x dx F b F a =-? 但如果碰到以下几种情况: 1)被积函数以一组数据形式表示; 2)被积函数过于特殊或者原函数无法用初等函数表示 3)原函数十分复杂难以计算 这些现象中,Newton Leibniz -公式很难发挥作用,只能建立积分的近似计算方法,数值积分是常用的近似计算的方法。 1.1 插值型积分公式 积分中的一个常用方法是利用插值多项式来构造数值求积公式,具体的步骤如下: 在积分区间上[,]a b 上取一组节点:01201,,,,()n n x x x x a x x x b ≤<<≤ 。已知()k x f 的函数值,作()x f 的n 次插值多项式,则 (1) ()10()()()()() (1)!n n x n n k k n k f f L x R x f x l x w x n ++==+=++∑ 其中,()k l x 为n 次插值基函数,则得 (1)+10()(()())1 =[()]()[()](1)!b b n n a a n b b n k k n a a k f x dx L x R x dx l x dx f x f x w x dx n ξ+==+++? ?∑??() 公式写成一般形式: ()()[]n b k k n a k f x dx A f x R f ==+∑? 其中, 01100110 ()()()() ()()()()()b b k k k k a a k k k k k k x x x x x x x x A l x dx dx x x x x x x x x -+-+----==----?? (1)+11 [][()](1)!b n n n a R f f x w x dx n ξ+=+?() 显然,当被积函数f 为次数小于等于n 的多项式时,其相应的插值型求积公式为准确公式,即: ()() n b k k a k f x dx A f x ==∑? 1.1.1 求积公式的代数精度 定义:求积公式对于任何次数不大于m 的代数多项式()f x 均精确成立,而对于 1()m f x x +=不精确成立,则称求积公式具有m 次代数精度。 定理:含有1n +个节点(0,1,,)k x k n = 的插值型求积公式的代数精度至少为n 。

计算方法讲义:七 数值积分

第七章 数值积分 如果函数f(x)在区间[a,b]上连续,且原函数为F(x),则可用牛顿―莱布尼兹 公式:)()()(a F b F dx x f b a -=?来求得定积分。然而很多函数无法用牛顿―莱布尼兹公式求积分。 一个简单被积函数,例如,其不定积分可能很 复杂,见下面的MA TLAB 实例: >> syms a b c x >> int(sqrt(a+b*x+c*x*x),x) ans=1/4*(2*c*x+b)/c*(a+b*x+c*x^2)^(1/2)+1/2/c^(1/2)*log((1/2*b+c*x )/c^(1/2)+(a+b*x+c*x^2)^(1/2))*a-1/8/c^(3/2)*log((1/2*b+c*x)/c^(1/2)+(a+b*x+c*x^2)^(1/2))*b^2 所以有必要研究简单、高效的计算定积分的方法(即数值积分方法)。数值积分的基本思想是构造一个简单函数P n (x )来近似代替被积分函数f (x ),然后通过求?b a n dx x P )(得?b a dx x f )(的近似值。 7.1 插值型求积公式 设?=b a dx x f I )(*,插值型求积公式就是构造插值多项式P n (x ),使 ?=≈b a n dx x P I I )(* 。 构造以a ,b 为结点的线性插值多项式)()()(1b f a b a x a f b a b x x P --+--= ,[])()()(21)()()(1b f a f a b dx b f a b a x a f b a b x dx x P T b a b a +-=?? ? ???--+--==??称为梯形公式。

工程中的计算方法课件6 数值积分

6 数值积分 如果函数)(x f 在区间],[b a 上连续,且原函数为)(x F ,则可用牛 顿―莱布尼兹公式:)()()(a F b F dx x f b a -=?计算定积分。然而很多函数 无法用牛顿―莱布尼兹公式求定积分。 一个简单被积函数,例如错误!未找到引用源。dx cx bx a ?++2,其不定积分可能很复杂,见下面的MA TLAB 实例: >> syms a b c x >> int(sqrt(a+b*x+c*x*x),x) ans=1/4*(2*c*x+b)/c*(a+b*x+c*x^2)^(1/2)+1/2/c^(1/2)*log((1/2*b+c*x )/c^(1/2)+(a+b*x+c*x^2)^(1/2))*a-1/8/c^(3/2)*log((1/2*b+c*x)/c^(1/2)+(a+b*x+c*x^2)^(1/2))*b^2 所以有必要研究简单、高效的计算定积分的方法(即数值积分方法)。数值积分的基本思想是构造一个简单函数)(x P n 来近似代替被积分函数)(x f ,然后通过求?b a n dx x P )(得?b a dx x f )(的近似值。 6.1 插值型求积公式 设?=b a dx x f I )(* ,插值型求积公式就是构造插值多项式)(x P n ,使 ?=≈b a n dx x P I I )(*。 构造以a ,b 为结点的线性插值多项式)()()(1b f a b a x a f b a b x x P --+--= ,[])()()(21)()()(1b f a f a b dx b f a b a x a f b a b x dx x P T b a b a +-=?? ? ???--+--==??称为梯形公式。

微积分的数值计算方法

第七章 微积分的数值计算方法 7.1 微积分计算存在的问题/数值积分的基本概念 1. 微分计算问题 求函数的导数(微分),原则上没有问题。当然,这是指所求函数为连续形式且导数存在的情形。但如果函数一表格形式给出,要求函数在某点的导数值;或者是希望某点的导数值只用其附近离散点上的函数值近似地表示,这就是新问题了,它称为微分的数值计算,或称为数值微分。 2.定积分计算问题 计算函数f 在],[b a 上的定积分 dx x f I b a ?= )( 当被积函数f 的原函数能用有限形式)(x F 给出时,可用积分基本公式来计算: )()()(a F b F dx x f I b a -==? 然而,问题在于:① f 的原函数或者很难找到,或者根本不存在;②f 可能给出一个函数表;③仅仅知道f 是某个无穷级数的和或某个微分方程的解等等。这就迫使人们不得不寻求定积分的近似计算,也称数值积分。 3.数值积分的基本形式 数值积分的基本做法是构造形式如下的近似公式 ∑?=≈n k k k b a x f A dx x f 0 )()( (7.1.1) 或记成 ∑?=+=n k n k k b a f R x f A dx x f 0 ][)()( (7.1.2) ∑==n k k k x f A I 0 * )( 和 ][f R n 分别成为],[b a 上的f 的数值求积公式及其 余项(截断误差),k x 和k A ),,1,0(n k =分别称为求积节点和求积系数(求积系数与被积函数无关)。 这种求积公式的特点是把求积过(极限过程)程转化为乘法与加法的代数运算。构造这种求积公式需要做的工作是:确定节点k x 及系数 k A ),,1,0(n k =,估计余项][f R n 以及讨论* I 的算法设计及其数值稳定 性。 4.插值型求积公式 如何构造求积公式呢?基本的技术是用被积函数f 的Lagrange 插值多项式 )(x L n 近似代替f ,也即对],[b a 上指定的1+n 个节点

数值计算方法教案_数值积分

第四章 数值积分 一.问题提出: (1)针对定积分()b a I f x dx =? ,若()5 f x x =,a=0,b=1,即有1 61 500166 x I x dx == =?,但当()sin x f x x = ,()2sin f x x =,……,时,很难找到其原函数。 (2)被积函数并没有具体的解析形式,即()f x 仅为一数表。 二.定积分的几何意义 定积分()b a I f x dx =?的几何意义为,在平面坐标系中I 的值即为四条曲线所围图形的面 积,这四条曲线分别是()y f x =,y=0,x=a ,x=b 。 x y 三.机械求积公式 1.中矩形公式 ()()2b a a b I f x dx b a f +?? =≈- ??? ?; 几何意义:用以下矩形面积替代曲边梯形面积。

x y 2 2.梯形公式 ()()()2b a b a I f x dx f a f b -=≈ +??? ?? 梯形公式的几何意义:用以下梯形面积替代曲边梯形的面积: x y 3.辛普生公式 ()()()462b a b a a b I f x dx f a f f b -? +??? =≈ ++ ? ?????? ? 辛普生公式的几何意义:阴影部分的面积为抛物线曲边梯形,该抛物线由 ()(),(),,,,()22a b a b a f a f b f b ?++? ?? ? ????? 三点构成。

x y a+b 2 4.求积公式的一般形式 ()()0 n b k k a k f x dx A f x =≈∑?,其中k x 称为节点,k A 称为求积系数,或权。 5.求积公式的代数精度(衡量求积公式准确度的一种方法) 含义:衡量一个积分公式的好坏,要用具体的函数来衡量,寻找怎样的函数来衡量呢?简单的多项式函数是一个理想的标准。 定义:若某积分公式对于()0,1,,k x k m = 均能准确成立,但对于1m x +不能准确成立。则称该公式具有m 次代数精度。 解释:代数精度只是衡量积分公式好坏的1种标准。 例1.研究中矩形公式()()2b a a b f x dx b a f +?? ≈- ??? ?的代数精度及几何意义。 解:当()01f x x ==时,公式左边()1b b a a f x dx dx b a ===-??,公式右边b a =-,左=右; 当()1 f x x =时,公式左边()2222 2 b b b a a a x b a f x dx x dx -=== =?? , 公式右边()22 22a b b a b a +-??=-= ??? ,左=右; 当()2f x x =时,公式左边()3332 33 b b b a a a x b a f x dx x dx -====?? , 公式右边()2 2a b b a +?? =- ??? ,左≠右;

数值计算方法课程总结

标题:数值计算及其应用随着计算机的迅速发展和广泛应用,在众多领域内,人们越来使越认识到科学计算是科学研究的第三种方法,数值计算是研究数学问题的数值解及其理论的一个数学分支,它涉及面很广,如:代数、微积分、微分方程、无穷级数、概率论等多方面数学基础知识。自计算机成为数值计算的主要工具来,人们主要研究适合于在计算机上用的数值计算方法及与此相关的理论,包括方法的敛散性、稳定性及误差分析,还要根据计算机的特点研究计算时间最短、需要内存最少的计算方法。它除了具有数学的抽象性与严格性外,还具有应用的广泛性与实际实验的技术性。 数值计算有很多重要的应用,下面举例说明: 1. 在科学技术工程和实验中,经常需要从实验数据中寻找拟合直线,如:天文学家通过对天体运行的观测数据进行分析和处理得到天体的运动轨迹,这就需要用到“多项式逼近”理论和“曲线拟合”的相关知识。 2. 现实生活中经常遇到最优化问题,如:商家寻求最大收益、投资者寻求最小风险等。这就需要用到“数值优化”的知识。 3. 很多数学物理问题都涉及到偏(常)微分方程、科学工程领域建立的许多数学模型也经常用到微分方程,但通常我们无法计算其解析解(事实上也没有必要计算解析解),那么此时数值近似解就具有重要的意义,要求得其数值解就要用到“微分方程求解”的相关理论。

4. 在很多关键领域:如航天领域要研究系统的稳定性,实际上就是研究“收敛”和“发散”,对与这些问题就要用到“方程根的求解”的相关知识。 5. 现实中还有很大一类问题需要求解线性方程组,这就需要“线性方程组求解”及“特征值与特征向量”理论。 综上所述:数值计算在现实生活中发挥着重要的作用,在高科技领域占中有举足轻重的地位!

若干数值积分的计算方法

若干数值积分的计算方法 黄海琼 (广西民族大学数计学院04数本1班 南宁 530006) 摘 要: 本文讨论了若干数值积分的计算方法。在一维情形下,介绍了Newton-Cotes 公式,Gauss 型等求积法则; 在二维情形下, 主要介绍了二元Newton-Cotes 积分方法。最后,对几类数值积分方法及其数值实验进行比较评述。 关键词: 牛顿-柯特斯公式;Gauss 型求积法则;二元数值积分;数值实验 Some Computational Methods of numerical integration Huang Haiqiong (College of Mathematics and Computer Science,Guangxi University for Nationalities, Nanning 530006) Abstract: In this paper, some computational methods about numerical integration are discussed. under the univariate situation, the quadrature rule of Newton-Cotes formula, Gauss formula and so on is introduced. Under the two-dimensional situation, it mainly introduced the dual Newton-Cotes integral method. Finally, the numerical integration methods and numerical experiment were discussed. Key word: Newton-Cotes formula; Gauss integration principle; dual numerical integration; numerical experiment. 1 引 言 数值积分是积分计算的重要方法,是数值逼近的重要内容,是函数插值的最直接应用,也是工程技 术计算中常常遇到的一个问题[1]。在应用上,人们常要求算出具体数值,因此数值积分就成了数值分析的一个重要内容。在更为复杂的计算问题中,数值积分也常常是一个基本组成部分。 在微积分理论中,我们知道了牛顿-莱布尼茨(Newton-Leibniz )公式 ()()()b a f x dx F b F a =-? 其中()F x 是被积函数()f x 的某个原函数。但是随着学习的深入,我们发现一个问题: 对很多实际问题,上述公式却无能为力。这主要是因为:它们或是被积函数没有解析形式的原函数,或是只知道被积函数在一些点上的值,而不知道函数的形式,对此,牛顿—莱布尼茨(Newton-Leibniz)公式就无能为力了。此外,即使被积函数存在原函数,但因找原函数很复杂,人们也不愿花费太多的时间在求原函数上,这些都促使人们寻找定积分近似计算方法的研究,特别是有了计算机后,人们希望这种定积分近似计算方法能在计算机上实现,并保证计算结果的精度,具有这种特性的定积分近似计算方法称为数值积分。

微积分的数值计算方法

微积分的数值计算方法 7.1 微积分计算存在的问题/数值积分的基本概念 微分计算问题 求函数的导数(微分),原则上没有问题。当然,这是指所求函数为连续形式且导数存在的情形。但如果函数一表格形式给出,要求函数在某点的导数值;或者是希望某点的导数值只用其附近离散点上的函数值近似地表示,这就是新问题了,它称为微分的数值计算,或称为数值微分。 2.定积分计算问题 计算函数在上的定积分 当被积函数的原函数能用有限形式给出时,可用积分基本公式来计算: 然而,问题在于:① 的原函数或者很难找到,或者根本不存在;②可能给出一个函数表;③仅仅知道是某个无穷级数的和或某个微分方程的解等等。这就迫使人们不得不寻求定积分的近似计算,也称数值积分。 3.数值积分的基本形式 数值积分的基本做法是构造形式如下的近似公式 (7.1.1) 或记成 (7.1.2) f ],[b a dx x f I b a ?=)(f )(x F )()()(a F b F dx x f I b a -==?f f f ∑?=≈n k k k b a x f A dx x f 0 )()(∑?=+=n k n k k b a f R x f A dx x f 0 ][)()(

和 分别成为上的的数值求积 公式及其余项(截断误差),和分别称为求积节点和求积系数(求积系数与被积函数无关)。 这种求积公式的特点是把求积过(极限过程)程转化为乘法与加法的代数运算。构造这种求积公式需要做的工作是:确定节点及系数,估计余项以及讨论 的算法设计及其数值稳定性。 4.插值型求积公式 如何构造求积公式呢?基本的技术是用被积函数的Lagrange 插值多项式近似代替,也即对上指定的个节点 及相应的函数值 ,作 代入(7.1.2)式等号左边有 或写成形如(7.1.2)式的一般形式: ∑==n k k k x f A I 0 * )(][f R n ],[b a f k x k A ),,1,0(n k Λ=k x k A ),,1,0(n k Λ=][f R n *I f )(x L n f ],[b a 1+n b x n ≤

数值积分-计算方法

数值积分 第1章 理论依据 逼近论——构造一个简单函数p(x)近似表示f(x),然后对 p(x)求积分得到 f(x)的积分的近似值。基于插值原理,推导出数值积分的基本公式。 §1插值求积公式 为了用数值方法求 b a I(f)=f(x)dx ? ,对被积函数f(x)在给定的n+1个节点 上作Lagrange 插值,用插值函数Pn(x)代替f(x),就可用I (Pn(x))构造求积公式,近似地计算定积分I(f(x))。 §2Newton —Cotes 公式 §2.1Newton —Cotes 公式的推导 当§1.1插值求积公式的插值节点为等距节点时,就得到Newton —Cotes 公式。 将区间[a,b]n 等分, b a h n -= ,n+1个节点为 x k =a+kh (k=0,1,…,n) 在节点上对f(x)的Lagrange 插值多项式是: 0()()() n n j n k k j k j j k x x p x f x x x ==≠-=-∑∏ 用P n (x)代替f(x)构造求积公式: 0()()()n n b b j n n k a a k j k j j k x x I p x dx f x dx x x ==≠-==-∑∏?? 记,(k=0,1,…,n) 作代换x=a+th 带入上式,变为: () 00()n n n n k k j j k b a t j A dt b a C n k j =≠? --==--∏?

其中: (k=0,1,…,n) (1-1) 这个积分是有理多项式积分,它与被积函数f(x)和区间[a,b]无关。只要确定n 就能计算出系数。 于是得到称为Newton —Cotes 公式的求积公式: ()0 ()n n n k k k I b a C y ==-∑ (1-2) 其中称为Newton —Cotes 系数。如表1所示。 §2.2Newton —Cotes 公式误差和稳定性 在积分公式中用插值多项式Pn(x)代替f(x)的插值误差是 (1)0 ()()()()()(1)!n n n n k k f R x f x p x x x n ξ+==-=-+∏ 因此,Newton —Cotes 公式的截断误差是 (1)0 ()()()(1)!n n b k a k f R f x x dx n ξ+==-+∏? (1-3) 讨论舍入误差对计算结果产生的影响,设(1-2)式近似计算()b a f x dx ? 其中计算函数值f(xn)有误差值(k=0,1,2, …,n )。在(1-2)式中令 ? 设计算无误差,舍入误差也忽略,则,由(1-2)式 计算时引式的误差为 () ()()() 0000()[()(())()(...) n n n n n n n k k k k n n n k k e b a C f x C f x b a C C εεε===--+=--++∑∑ 如果皆为正,并设,则 ,故 有

数值积分的计算方法论文

摘要 本文应用插值积分法和逼近论的思想,简单重述了推导Newton-Cotes公式和Gauss-Legendre求积公式的过程,以及这两个公式的系数、精度等问题。并以这两种数值积分的求解方法为基础,应用quad、guass函数编写具体Matlab程序,通过计算机软件计算出所给题目的近似数值积分。对二者所得的结果进行比较,从而研究了用Newton-Cotes和Gauss-Legendre公式求积分的方法和二者的精确度问题。得知,这两种求积公式所得的结果在精度上的确存在差异,结合理论部分更加充分地说明了,n相同时Gauss-Legendre公式比Newton-Cotes公式具有更高的代数精度,但当代数精度相同时,二者计算的结果仍存在细微的差异。 关键字:插值积分、Newton-Cotes公式、Gauss-Legendre公式

数值积分 1 理论依据 逼近论——构造一个简单函数p(x)近似表示f(x),然后对 p(x)求积分得到 f(x)的积分的近似值。基于插值原理,推导出数值积分的基本公式。 1.1插值求积公式 为了用数值方法求 b a I(f)=f(x)dx ,对被积函数f(x)在给定的n+1个节点上 作Lagrange插值,用插值函数Pn(x)代替f(x),就可用I(Pn(x))构造求积公式,近似地计算定积分I(f(x))。

2 Newton —Cotes 公式 2.1 Newton —Cotes 公式的推导 当§1.1插值求积公式的插值节点为等距节点时,就得到Newton —Cotes 公式。 将区间[a,b]n 等分, b a h n -= ,n+1个节点为 x k =a+kh (k=0,1,…,n) 在节点上对f(x)的Lagrange 插值多项式是: 0()()() n n j n k k j k j j k x x p x f x x x ==≠-=-∑∏ 用P n (x)代替f(x)构造求积公式: 0()()()n n b b j n n k a a k j k j j k x x I p x dx f x dx x x ==≠-==-∑∏?? 记错误!未找到引用源。,错误!未找到引用源。(k=0,1,…,n) 作代换x=a+th 带入上式,变为: () 00()n n n n k k j j k b a t j A dt b a C n k j =≠? --= =--∏? 其中:错误!未找到引用源。 (k=0,1,…,n) (1-1) 这个积分是有理多项式积分,它与被积函数f(x)和区间[a,b]无关。只要确定n 就能计算出系数错误!未找到引用源。。 于是得到称为Newton —Cotes 公式的求积公式: ()0()n n n k k k I b a C y ==-∑ (1-2) 其中错误!未找到引用源。称为Newton —Cotes 系数。如表1所示。 表1 Newton —Cotes 系数 n 1 1/ 2 1/2 2 1/6 4/6 1/6

相关文档
最新文档