文档库 最新最全的文档下载
当前位置:文档库 › 常微分方程数值解法的误差分析

常微分方程数值解法的误差分析

常微分方程数值解法的误差分析
常微分方程数值解法的误差分析

淮北师范大学

2013届学士学位论文

常微分方程数值解法的误差分析

学院、专业数学科学学院数学与应用数学

研究方向计算数学

学生姓名李娜

学号 20091101070

指导教师姓名陈昊

指导教师职称讲师

年月日

常微分方程数值解法的误差分析

李娜

(淮北师范大学数学科学学院,淮北,235000)

摘要

自然界与工程技术中的很多现象,往往归结为常微分方程定解问题。许多偏微分方程问题也可以化为常微分方程问题来近似求解。因此,研究常微分方程的数值解法是有实际应用意义的。数值解法是一种离散化的数学方法,可以求出函数的精确解在自变量一系列离散点处的近似值。随着计算机计算能力的增强以及数值计算方法的发展,常微分方程的数值求解方法越来越多,比较成熟的有Euler 法、后退Euler法、梯形方法、Runge—Kutta方法、投影法和多步法,等等.本文将对这些解的误差进行分析,以求能够得到求解常微分数值解的精度更好的方法。

关键词:常微分方程, 数值解法, 单步法, 线性多步法, 局部截断误差

Error Analysis of Numerical Method for Solving the

Ordinary Differential Equation

Li Na

(School of Mathematical Science, Huaibei Normal University, Huaibei, 235000)

Abstract

In nature and engineering have many phenomena , definite solution of the problem often boils down to ordinary differential equations. So study the numerical solution of ordinary differential equations is practical significance. The numerical method is a discrete mathematical methods, and exact solution of the function can be obtained in the approximation of a series of discrete points of the argument.With the enhanced computing power and the development of numerical methods,ordinary differential equations have more and more numerical solution,there are some mature methods. Such as Euler method, backward Euler method, trapezoidal method, Runge-Kutta method, projection method and multi-step method and so on.Therefore, numerical solution of differential equation is of great practical significance. Through this paper, error of these solutions will be analyzed in order to get a the accuracy better way to solve the numerical solution of ordinary differential.

Keywords:Ordinary differential equations, numerical solution methods, s ingle ste p methods, l inear multi-step methods, local truncation error

目录

引言 (1)

一、常微分方程 (1)

1、定义 (1)

2、常微分方程初值问题描述 (2)

3、数值解法的基本思想与途径 (2)

4、数值解的分类 (3)

5、问题(1)解的存在惟一性定理 (4)

二、几种常用的数值解法及其误差分析 (4)

1、单步法 (4)

(一)、欧拉法 (5)

(二)、向后EuIer方法 (6)

(三)、- 法 (7)

(四)、改进欧拉法 (7)

(五)Runge—Kutta方法 (9)

2、线性多步法 (14)

总结 (16)

参考文献: (17)

引 言

自然界中很多事物的运动规律可用微分方程来刻画。常微分方程是研究自然科学和社会科学中的事物、物体和现象运动、演化和变化规律的最为基本的数学理论和方法。物理、化学、生物、工程、航空航天、医学、经济和金融领域中的许多原理和规律都可以描述成适当的常微分方程,因此,常微分方程的理论和方法不仅广泛应用于自然科学,而且越来越多的应用于社会科学的各个领域。由于该问题比较复杂且涉及的面广,使得有些问题的解析解很难求出,而对于一些典型的微分方程(如线性方程、某些特殊的一阶非线性方程等)可以运用基本方法求出其解析解,并在理论上可以根据初值问题的条件把其中的任意常数完全确定下来。然而,在生产实际和科学研究中所遇到的微分方程往往很复杂,在很多情况下都不可能给出解的解析表达式,有时即使能求出形式的解,也往往因计算量太大而不实用,而且高次代数方程求根也并不容易,所以用求解析解的方法来计算微分方程的数值解往往是不适宜的。从实际意义来讲我们更关心的是某些特定的自变量在某一个定义范围内的一系列离散点上的近似值。本文研究的主要是针对常微分方程各种数值解法的误差进行分析。

一、常微分方程

1、定义

首先,我们在这部分给出所需的一些基本概念和基本知识。

我们已经知道微分方程就是联系着自变量、未知函数以及其导数的关系式。如果在微分方程中,自变量的个数只有一个,我们称这种微分方程为常微分方程。

方程

22

d y dy b cy f t dt dt

++=() 2

0dy dy t y dt dt ??

++= ?

??

就是常微分方程的例子,这里y 是未知函数,t 是自变量。

微分方程中出现的未知函数最高阶导数的阶数称为微分方程的阶数。

2、常微分方程初值问题描述

在自然科学和经济的许多领域中,常常会遇到一阶常微分方程的初值问题

()()00,,dy

f x y a x b y x y dx

?=?≤≤??=?

(1) 这里(),f x y 是充分光滑,即关于x 或y 满足李普希茨条件的二元函数,0y 是给定的初值,()00y x y =称为初始条件。

3、数值解法的基本思想与途径

一阶微分方程的初值问题(1)的解()y x 是区间[],a b 上的连续变量x 的函数,因而问题(1)实际上是一个连续性的问题,求这个问题的数值解,就是要求在区间

[],a b 上的若干个离散点处的函数近似值,例如:

01...n x a x x b <≤<<≤,

然后计算出解()y x 的近似值

()()()01,,...,n y x y x y x .

一般常取01,,...,n x x x 为等距离的点,即

10211...n n x x x x x x h --=-==-=

或 ,0,1,...,i x a i h i

n =+= 称h 为步长。

建立数值方法的第1步,就是把连续性问题(1)通过一定的方法化为在给定的

1n +个点上的近似的差分方程的初值问题,称这个过程为离散化。常用离散化的方法如下:

(一)用差商替代导数

在点i x 处的导数()i i y x '可以近似地表示成差商 ()1,i i

i y y y x h +-'≈

从而把初值问题(1)化为差分问题

()()100,,0,1,...,i i

i i y y f x y h i n y x y +-?=?=?

?=?

(2)

其中i y 表示解()y x 在点i x 处的近似解,即()i i y y x =。

当然,用差商来近似地表示导数,方法不是唯一的,这里所用的是所谓的向前差商。

(二)Taylor 展开法

在一点(例如点i x )的附近,()y x 的同次数的近似多项式中的Taylor 多项式

()()()()

()

...!p p i i i i h y x h y x hy x y x p '+≈+++

为最好。其中p 为一正整数。通过微分方程(),y f x y '=,便可以逐次把各阶导数,,y y ''' 在i x 处的值表示出来。

(三)数值积分法

对微分方程(),y f x y '=在区间[]1,i i x x +上求积分,得

()()()()1

1,,

i i

x i i x y x y x f x y x dx ++-=?

0,1

,i = 于是,初值问题(1)便可以近似地化为

()()()1100,,

0,1,.,

i i

x i i x y y f x y x dx i n y x y ++?=+?=?

?=?? 这样,关于上式右端的积分,可以用数值积分方法计算其近似值。

4、数值解的分类

常微分方程初值问题的数值解法一般分为两大类:

单步法:所谓单步法是指这类方法在计算1n y +时,只用到前一步的值

1,,,n n n x x y +然后逐步往下计算。这个算法的代表是龙格---库塔算法,简称R —K

方法。四阶显示Runge-Kutta 方法是求解普通常微分方程初值问题数值解法中的重要方法,而隐式Runge-Kutta 公式是求解刚性常微分方程初值问题的重要方法。

多步法:这类方法在计算1n y +时,除了用到前一步的值1,,,n n n x x y +之外,还要用到

()1,2,,;0n p n p x y p k k --=> ,

这前面k 步的值,这个算法的代表就是阿达姆斯(Adams)方法。

5、问题(1)解的存在惟一性定理

一个常微分方程是不是有特解呢?如果有,又有几个呢?这是微分方程论中一个基本的问题,数学家把它归纳成基本定理,叫做存在和唯一性定理。因为如果没有解,而我们要去求解,那是没有意义的;如果有解而又不是唯一的,那又不好确定。因此,存在和唯一性定理对于微分方程的求解是十分重要的。这个重要的存在和唯一性就是下面列出的著名的存在惟一性定理。

定理[]1 如果(),f x y 在带形区域(){}R x a x b y =≤≤-∞<<+∞,y ,中连续,且关于y 满足Lipchiz 条件:即存在正常数L ,使得

()()1212,,,f x y f x y L y

y

-≤

-

对所有的[],x a b ∈以及任何

12y ,都成立,那么初值问题(1)存在惟一的连

续可微解

()y y x =。

二、几种常用的数值解法及其误差分析

首先来了解下初值问题数值解中最简单的一种方法——欧拉法。

1、单步法

Euler 折线法发生的历史背景。在微分方程研究之初,瑞士数学家L .Euler(1707.4-1783.9)做出了开创性的工作。他和其他一些数学家在解决力学、物理学问题的过程中创立了微分方程这门学科。在常微分方程方面,Euler 在1743年发表的论文中,用代换

kx y e =扩给出了任意阶常系数线性微分方程的古典解

法,最早引入了“通解”和“特解’’的概念。

1768年,Euler 在其有关月球运行理论的著作中,创立了广泛用于求初值问题(1)的数值解的方法,次年又把它推广到二阶方程。欧拉的想法如下:选择步长

0h >,然后在00x x x h ≤≤+情况下用解函数的切线

()()()0

000,l x y x x f x y

=+- 代替解函数。这样对于点1

0x x h =+就可以得到

()1000

,.y y hf x y =+ 在点()11,x y 重复如上的程序再次计算新的方向,就会得到所谓的递推公式:

1m m x x h +=+,()1,,m m m m y y hf x y +=+

这就是Euler 方法。由此,再通过连接所有这些切线得到的函数被称为Euler 折线。

如果我们令0h →,这些折线就会越来越接近解函数。 (一)、欧拉法

Euler 方法是最简单的一步法,它是一阶的,精度较差,但公式很简单,即

()1,n n n n y y hy x y +=+ ()0,1,2n = (3)

Euler 方法的几何意义在数值计算思想中已经体现出来了,实际上就是用过已知点的折线来近似代替过此点的积分曲线。因此,这种方法又称为折线法。在Euler 法中,数值解的误差首先是由差商代替导数引起的,这种近似替代所产生的误差称为截断误差。另外,计算过程中还会由于数值的舍入产生另一种误差——舍入误差。显然只有当初产生的误差在以后各步的计算中不会无限制扩大时,即当初始误差充分小时,以后各步的误差也可以充分小,Euler 法才具有实用价值。收敛性、截断误差估计与稳定性闷题是常微分方程各种数值解法研究中必须考虑的基

本问题。显然这些问题在Euler 法中是得到验证的,详见下面例子分析。 在xy 平面上,微分方程(1)的解y=y(x)称作它的积分曲线。积分曲线上一点(),x y 线斜率等于函数(,)f x y 的值,如果按函数(,)f x y 在xy 平面上建立一个方向场,那么,积分曲线上每一点的切线方向均与方向场在该点的方向相一致,基于上述几何解释,从初始点000(,)p x y 出发,先依方向场在该点的方向推进到1x x =上一点1p ,然后再从1p 依方向场的方向推进到2x x =上一点2p ,循此前进推出一条折线

012p p p …,一般地,设已做出该折线的顶点n p ,过(,)n n n p x y 依方向场的方向再推

进到111(,)n n n p x y +++,显然两个顶点n p ,1n p +的坐标有关系

()11,n n

n n n n

y y f x y x x ++-=-

()1,n n n n y y hf x y +=+ (4) 这就是著名的欧拉(Euler)公式。若初值0y 已知,则依公式(4)可逐步算出

()()10002111,,,,y y hf x y y y hf x y =+=+

例1 求解初值问题

2/,(01)(0)1,

y y x y x y '=-<

=? (5)

解 欧拉公式的具体形式为

取步长0.1h =,计算结果如下表:

表1 计算结果对比

初值问题(2.1.2)有解y =,按这个解析式子算出的准确值()n y x 同近似值

n y 一起列在表1, 两者相比较可以看出欧拉方法的精度很差。

(二)、向后EuIer 方法

向后Euler 方法和Euler 方法差不多,只是把()1n y x +'用 ()()

1n n y x y x h

+-

去代替,这时计算公式为

()()11100,,

(0,1,2),n n n y y hf x y n y x y +++=+?? =?=?? (6)

向后Euler 方法的总体截断误差也是一阶的,因此向后Euler 方法是收敛的。这里需要指出它与Euler 方法的一个很大不同之处,Euler 方法是显式方法,即1

n y +

由1,,,n n n x x y h +明显地表示出来了,而向后Euler 方法是隐式方法,计算1n y +时要解隐式方程(6)。通常解此方程用迭代法。因此计算较为麻烦,但比显式Euler 方法精度要高。 (三)、-θ法

将Euler 方法公式与向后Euler 方法公式作加权平均,得到如下公式:

()()()()11100,1,(0,1,2),

n n n n n n yx y h f x y f x y n y x y θθ+++?=++-?????=?=?? (7) 称式(7)为初值问题(1)的θ-法公式。其中如()00y x y =为初值条件。

在此法中当1

2

θ=时,即

()()111,,2

n n n n n n h

y y f x y f x y +++=++???? (8) 此时的θ-法称为梯形公式法。梯形公式也隐式格式,用起来要进行迭代,其计算公式为

()

()()()

()()11

1101

,,2(0,1,2),,

k k n n n n n n n n n n h y y f x y f x y k y y hf x y +++++???=++???=?

?=+? (9) 这里在应用本迭代法时,是先用Euler 方法求初值+1n y 的近似值()0

+1n y 即:

()

()0

+1=,n n n n y y hf x y +

然后将(

)

0+1n y 替代梯形公式(8)中的+1n y 得到的式(9)。

式(9)又称为预测校正公式。换言之,由Euler 方法给出预测值,再用梯形法予以校正。很显然,当步长办取得适当小时,由Euler 方法算出的值已是较好的近似。格式(9)收敛很快,通常只需一两次迭代即可满足精度要求,若需多次迭代,则应缩小步长h 后再行计算。

梯形公式法比用向后Euler 方法的迭代步长可以放宽一倍,它的总体截断误差为()2O h ,比Euler 方法高一阶。但它每积分一步要计算二次函数值,这说明的精度的提高是以增加计算量为代价的。

(四)、改进欧拉法

为得到比欧拉法精度高的计算公式,在等式如果对方程(1)从n x 到1n x +积分,得 ()()()()11,n n

x n n x y x y x f t y t dt ++=+?

(10)

右端积分中若用梯形求积公式近似,并用n y 代替()n y x ,1n y +代替1()n y x +,则得

()()111,,2n n n n n n h

y y f x y f x y +++=++???? (11) 称为改进欧拉法.

改进欧拉方法是隐式单步法,可用迭代法求解.用欧拉方法提供迭代初值,则改进欧拉法的迭代公式为

(12)

为了分析迭代过程的收敛性,将(11)式与(10)相减,得

于是有

式中L 为(,)f x y 对y 满足Lipschitz 常数,如果选取h 充分小,使得

则当k →∞时有()

11k n n y y ++→,这说明迭代过程(12)是收敛的.

例2 用改进的欧拉方法求解初值问题(1).

解 改进的欧拉公式为

仍取0.1h =,计算结果见下表.同例1中欧拉法的计算结果比较,改进欧拉法明显改善了精度.

表2 计算结果对比

(五)Runge —Kutta 方法

德国数学家C .D .T .Runge(1856——1927)是数值方法发展史上具有里程碑作用的人物。1895年,他在Hanover 发表了关于微分方程数值解法的经典论文《常微分方程数值解法》。此文成为常微分方程Runge —Kutta 方法的发端。此后,Runge 结合教学活动积极投身于发展一般的数值分析特别是各种实际应用中的Runge —Kutta 方法(严格来说,此方法在Kutta 作出工作后才能称作Runge —Kutta 方法)。 Runge —Kutta 方法是一种特殊的单步方法,事实上,这个方法可以看作在1(,)m m x x 上取若干条积分曲线的若干个点的切线斜率,再进行一次(或多次)算术(或加权)平均后产生的新斜率,再按这个斜率从(,)m m x y 出发,以直线带曲线向前推进一步的过程。与Taylor 展示法相比,Runge —Kutta 方法不用增加微商(,)f x y 的次数就可以得到较高的阶。Runge 一Kutta 方法除了在微分方程求解中扮演的传统角色外,人们发现相关类型的初值问题可以用Runge 一Kutta 方法或适合更一般问题的Runge —Kutta 方法求解,比如Runge —Kutta 方法被应用到了Hamilton 系统中。

前面提到的几种数值解法的精度是很低的,下面给出高阶一步法——Runge —Kutta 方法。它是最常用的一种数值解法,因为它相当精确、稳定、容易编程。Runge —Kutta 方法至今仍然得到广泛地应用。 ①、二级二阶Runge —Kutta 方法

由Runge —Kutta 方法的思想,我们得到二阶Runge —Kutta 公式为

()()1121211

3,

4,,22,.

33n n n n n n y y K K K hf x y K hf x h y K +?=++???

=??

???=++ ????? (13)

()()()1

121211,2

,,,.

n n n n n n y y K K K hf x y K hf x h y K +?

=++??

=??

=++?? (14) Runge —Kutta 公式是在计算两次函数值的情况下,局部截断误差的阶最高是3,式(13)是允许函数(,)f x y 任意变化情况下截断误差最小的二阶方法。要再提高阶就必须增加计算函数值的次数。上述式(14)又称为欧拉预估——校正公式。 ②、三级三阶Runge —Kuuta 方法

两个常用的三阶Runge —Kuuta 方法分别为:

()()1

1231213

21234,9

,,11,,2233,,44n n n n n n n n y y h K K K K f x y K f x h y hK K f x h y hK +?

=+++??

=??

???

=++ ?????

???

=++ ????? (15)

()()()1

12312131214,6

,,11,,

22,2.n n n n n n n n y y h K K K K f x y K f x h y hK K f x h y hK hK +?

=+++??=???

???=++ ????

?=+-+?? (16)

这两个常用方法在解决实际问题中能够达到较低的精度要求。但是要更高精度要求的,我们必须了解更高阶的方法一四级四阶Runge —Kuuta 方法。 ③、 四级四阶Runge —Kutta 方法

这种方法在解决实际问题中常用。在这里,我们将公式进行导出,以熟悉其方法的实用过程。由于Runge —Kutta 公式对初值问题(1)中的一般(,)f x y 都适用,则它必然对特殊的(,)=f x y xy ,(,)=f x y x 或(,)=f x y y 也适用。从而可以定出特定

的参数来,因此,这里采用的是一种待定系数法,来导出四级四阶显式Runge —Kutta 公式,过程十分简单明了。 为了计算简单,令

1,,n n T

h x x h n +=

=+

()n y x 近似值为n y ,这样求解问题(1)的四阶显示Runge 一Kutta 公式为

()()()()()111223344122211333114324

4411433,

,,,,,,,,

n n n n n n n n n n y y h c K c K c K c K K f x y K f x ha y hb K K f x ha y hb K hb K K f x ha y hb K hb K +=++++??

=??

=++??

=+++??=+++? (17)

这里要求

221331324414243,,.

a b a b b a b b b ==+=++ (18)

由于Runge —Kutta 公式的思想与数值积分

()1

,n n

x x f x y dx

+? (19)

相似。所以希望四阶显示Runge —Kutta 公式对

()3,00

y x y '== (20)

是精确的。这样,将(17)式应用于(19)式,就有

31,

n K x =

3322322222()33,

n n n n K x a x x a x a a =+=+++

3322333333()33,

n n n n K x a x x a x a a =+=+++

3322344444()33,

n n n n K x a x x a x a a =+=+++

()2

11234223344()n n n y y c c c c y h c a c a c a y h +'''=+++++++

()22

2

3333(4)4

22334422334411().2

6n n c a c a c a y h c a c a c a y h '''+

+++++

与Taylor 公式

23(4)4

11112624n n n n n n y y y h y h y h y h

+''''''=++++ (21)

相比较,有

12342233441

1,,2c c c c c a c a c a +++=++=

22233322334422334411

,,34c a c a c a c a c a c a ++=

++=

又由于Runge —Kutta 公式(17)中既要反映x 的变化,又要反映y 的变化,所以简单的选取(,)f x y 为一对线性函数,这样将(13)式用于

(),00

y xy y '== (22)

1n n k x y =

'''2

221221n K K a y h a K h =++

''''222''324313232312321233223321()(),n n n n K K a y h a b y x a K h a b K x a a b y h a a b K h =++++++ ''''2241424234341[()]n n K K a y h a b a b y x a K h =+++++

2''2''324212324243314242343[()()],n n n n a b K a b b y x b a K x a a b a b y h ++++ (23)

111223344()n n y y h c K c K c K c K +=++++

'''2

1234223344()()n n y c c c c y c a c a c a y h =++++++

222'''

22334432324242

433243[()()]n n n c a c a c a y c a b c a b c a b b y x

h ++++++''3233244242343{[()]n c a a b c a a b a b y ++++

222

'

''2

3232

42424343

423242

()}n

n n n c a b c a b c a b y x

c a b b y x h

+++ 对(22)式求导数有

()4

22,32,

n n n n n n n n n n y y x y y y x y x y '''''''''''=+=++

将上两式代入(23)式并与Taylor 公式(21)比较有:

()323242424343323324424234311,,68

c a b c a b c a b c a a b c a a b a b ++=

++=

222

323242424343

42324311,,1224c a b c a b c a b c a b b ++==

于是总结有如下四阶Runge —Kutta 一般显格式中13个参数所满足的11个参数方程

221331324414243,,,a b a b b a b b b ==+=++

12342233441

1,,2

c c c c c a c a c a +++=++=

22233322334422334411,,34

c a c a c a c a c a c a ++=

++=()323242424343323324424234311

,,68

c a b c a b c a b c a a b c a a b a b ++=

++=

22232324242434342324311

,,1224c a b c a b c a b c a b b ++=

= (24)

于是经典的四阶显示Runge —Kutta 公式为

()()()11234121324

31

22,

6,,1,,221,,

22,.

n n n n n

n n n n n y y K K K K K hf x y h K hf x y K h K hf x y K K hf x h y K +?=++++??

?=?

??

?=++? ????

??

?=++? ????

?=++? (25)

四阶Runge —Kutta 方法中比较常用的显格式为经典的公式(25),也是根据上述参数方程(24)来确定一般格式中的参数所得到的。因为显格式(17)共有13个参数,而总计11个参数方程,由解的判定定理知,此方程(24)有无穷多个解,从而有四阶Runge —Kutta 方法中的显格式不是唯一的。我们可以尝试推出新算法,但目前为止这个算法是最实用的。

Runge —Kutta 方法作为最重要的单步方法,是一类具有相当实用价值的方法。它关于初值是稳定的,其解连续地依赖于初值.它是一类便于应用的单步方法,为了计算1n y +,只用到前一步的值n y 即可,因此每步的步长可以独立取定,可以按照绝对稳定性、精度等项要求随时更换。常用的Runge —Kutta 方法精度较高,为了达到预定的精度,与Euler 方法和梯形法相比,步长办可取得大一些,求解区间上的总步数可以少一些。但Runge —Kutta 方法也有一些缺点,比如四阶Runge

—Kutta 方法每算一步需四次计算(,)f x y 的值,计算量较大(对于较复杂的(,)f x y 而言)。

2、 线性多步法

在逐步推进的求解过程中,计算1n y +之前事实上已经求出了一系列的近似值

01,,n y y y …,,如果充分利用前面多步的信息来预测1n y +,则可以期望会获得较高的

精度.这就是构造所谓线性多步法的基本思想.构造多步法的主要途径是基于数值积分方法和基于泰勒展开方法,前者可直接由方程(1)两端积分后利用插值求积公式得到.一般的线性多步法公式可表示为

1

10

k k

n i n i i n i i

i y y h f αβ-+++==+∑∑, (26)

其中n i y +为()n i y x +的近似,(,)n i n i n i f f x y +++=,10n x x ih +=+,,i i αβ为常数,00,αβ不全为零,则称(26)为线性k 步法,计算时需先给出前面k 个近似值011,,,k y y y -…,再由(26)逐次求出1,,k k y y +….如果0k β=,称(26)为显式k 步法,这时n k y +可直接由(26)算出;如果0k β≠,则(26)称为隐式k 步法,求解时与改进欧拉法相同,要用迭代法方可算出n k y +,(26)中系数,i i αβ可根据方法的局部截断误差及阶确定,其定义为:设()y x 是初值问题(1),(2)的准确解。

阿当姆斯显式与隐式公式

考虑形如

10k

n k n k i n i i y y h f β++-+==+∑, (27)

的k 步法,称为阿当姆斯(Admas)方法.0k β=为显式方法,亦称Adams-Bashforth 公式;0k β≠为隐式方法,亦称Adams-Monlton 公式,直接由方程(1)两端从1n k x +-到n k x +积分求得。

例3 用四阶阿当姆斯显式和隐式方法解初值问题

1,

(0) 1.y y x y '=-++??

=?

取步长0.1h =.

解 本题1,0.1n n n n f y x x nh n =-++==.从四阶阿当姆斯显式公式得到

()()43321321555937924

1

18.5 5.9 3.70.90.24 3.2424

n n n n n n n n n n h

y y f f f f y y y y n ++++++++=+-+-=

+--++

对于四阶阿当姆斯隐式公式得到

()()32321321919524

1

0.922.10.50.10.24324

n n n n n n n n n n h

y y f f f f y y y y n ++++++++=+

+-+=-++-++

由此可直接解出3n y +而不用迭代,得到

()3211

22.10.50.10.24324.9

n n n n y y y y n +++=

+-++. 计算结果如表3,其中显式方法中的0123,,,y y y y 及隐式方法中的012,,y y y 均用准确解()x y x e x -=+计算得到,对一般方程,可用四阶R-K 方法计算初始近似.

表3 例3计算结果

从以上例子看到同阶的阿当姆斯方法,隐式方法要比显式方法误差小,这可以从

两种方法的局部截断误差主项()()1

11p p p n c h y x +++的系数大小得到解释,这里1p c +分别

为251/720及-19/720.

总结

我们分析了解常微分方程的数值解法,从中可知,不同的数值解法具有各自的优势,会导致不同的误差,从而使得数值方法给出不同的数值结果.以此为基础,我们可以进一步寻求及长时间研究能给出常微分方程良好数值解的数值解法.

数值计算第一二章答案

第一章数值计算中的误差 习题一 1.1 下列各近似数的绝对误差限是最末位的半个单位,试指出它们各有几位有效数字。 1x =-3.105 , 2x =0.001, 3x =0.100, 4x =253.40, 5x =5000, 6x =5?310. 答案:4,1,3,6,4,1. 1.2 设100>* x >10,x 是* x 的有五位有效数字的的近似数,求x 的绝对误差限。 答案:当10

数值运算的误差分析(精)

实验一 数值运算的误差分析 1.问题的提出 任何数值计算都是一种近似计算,于是研究此误差的来源及防止在整个数值计算中占非常重要的地位。首先是误差的分类、其次是估计误差的工具最后是一些避免误差产生及传播的手段。 1)模型误差: 实际问题用数学模型刻画时要忽略一些因素,从而造成数学的量和实际的量的误差称为模型误差 2)观测误差: 数学模型用到一批数它可能是观测得到的也可能是计算到的,这种数据误差造成数学量的近似。 3)截断误差: 通常要用数值方法求它的近似解,其近似解与精确解之间的误差称为截断误差 。 例如,函数)(x f 用泰勒(Taylor )多项式 n n n x n f x f x f f x p ! )0(!2)0(!1)0()0()(2'''++++= 近似代替,则数值方法的截断误差是: εε(,)! 1()()()()(1 )1(+++=-=n n n n x n f x p x f x R 4)舍入误差: 最后用近似的方法计算数据有误差的数学问题要用有限位数字,这就要求进行基本的四舍五入计算,由此引起的误差称为舍入误差。 例如用3.14159近似代替π,产生的误差 0000026.03014159=-=πR 为舍入误差。 2.误差与有效数字 1)绝对误差: 2)相对误差: 3)有效数字: 若近似值*x 的误差限是某一位的半个单位,该位到*x 的第一位非零数字共有n 位,就说*x 有n 位有效数字,表示 ()() 1121*101010---?++?+?±=n n m a a a x , 其中是),,1(n i a i =0到9中的一个数字,0≠i a ,m 为整数,且 1*102 1 +-?≤ -n m x x

常微分方程边值问题的数值解法

第8章 常微分方程边值问题的数值解法 引 言 第7章介绍了求解常微分方程初值问题的常用的数值方法;本章将介绍常微分方程的边值问题的数值方法。 只含边界条件(boundary-value condition)作为定解条件的常微分方程求解问题称为常微分方程的边值问题(boundary-value problem). 为简明起见,我们以二阶边值问题为 则边值问题(8.1.1)有唯一解。 推论 若线性边值问题 ()()()()()(),, (),()y x p x y x q x y x f x a x b y a y b αβ'''=++≤≤?? ==? (8.1.2) 满足 (1) (),()p x q x 和()f x 在[,]a b 上连续; (2) 在[,]a b 上, ()0q x >, 则边值问题(8.1.1)有唯一解。 求边值问题的近似解,有三类基本方法: (1) 差分法(difference method),也就是用差商代替微分方程及边界条件中的导数,最终化为代数方程求解; (2) 有限元法(finite element method);

(3) 把边值问题转化为初值问题,然后用求初值问题的方法求解。 差分法 8.2.1 一类特殊类型二阶线性常微分方程的边值问题的差分法 设二阶线性常微分方程的边值问题为 (8.2.1)(8.2.2) ()()()(),,(),(), y x q x y x f x a x b y a y b αβ''-=<

常微分方程数值解法的误差分析教材

淮北师范大学 2013届学士学位论文 常微分方程数值解法的误差分析 学院、专业数学科学学院数学与应用数学 研究方向计算数学 学生姓名李娜 学号 20091101070 指导教师姓名陈昊 指导教师职称讲师 年月日

常微分方程数值解法的误差分析 李娜 (淮北师范大学数学科学学院,淮北,235000) 摘要 自然界与工程技术中的很多现象,往往归结为常微分方程定解问题。许多偏微分方程问题也可以化为常微分方程问题来近似求解。因此,研究常微分方程的数值解法是有实际应用意义的。数值解法是一种离散化的数学方法,可以求出函数的精确解在自变量一系列离散点处的近似值。随着计算机计算能力的增强以及数值计算方法的发展,常微分方程的数值求解方法越来越多,比较成熟的有Euler 法、后退Euler法、梯形方法、Runge—Kutta方法、投影法和多步法,等等.本文将对这些解的误差进行分析,以求能够得到求解常微分数值解的精度更好的方法。 关键词:常微分方程, 数值解法, 单步法, 线性多步法, 局部截断误差

Error Analysis of Numerical Method for Solving the Ordinary Differential Equation Li Na (School of Mathematical Science, Huaibei Normal University, Huaibei, 235000) Abstract In nature and engineering have many phenomena , definite solution of the problem often boils down to ordinary differential equations. So study the numerical solution of ordinary differential equations is practical significance. The numerical method is a discrete mathematical methods, and exact solution of the function can be obtained in the approximation of a series of discrete points of the argument.With the enhanced computing power and the development of numerical methods,ordinary differential equations have more and more numerical solution,there are some mature methods. Such as Euler method, backward Euler method, trapezoidal method, Runge-Kutta method, projection method and multi-step method and so on.Therefore, numerical solution of differential equation is of great practical significance. Through this paper, error of these solutions will be analyzed in order to get a the accuracy better way to solve the numerical solution of ordinary differential. Keywords:Ordinary differential equations, numerical solution methods, s ingle ste p methods, l inear multi-step methods, local truncation error

常微分方程数值解法

i.常微分方程初值问题数值解法 常微分方程初值问题的真解可以看成是从给定初始点出发的一条连续曲线。差分法是常微分方程初值问题的主要数值解法,其目的是得到若干个离散点来逼近这条解曲线。有两个基本途径。一个是用离散点上的差商近似替代微商。另一个是先对微分方程积分得到积分方程,再利用离散点作数值积分。 i.1 常微分方程差分法 考虑常微分方程初值问题:求函数()u t 满足 (,), 0du f t u t T dt =<≤ (i.1a ) 0(0)u u = (i.1b) 其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的连续函数,0u 和T 是给定的常数。我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得 121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-?∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在,唯一,而且连续依赖于初值0u 。 通常情况下,(i.1)的精确解不可能用简单的解析表达式给出,只能求近似解。本章讨论常微分方程最常用的近似数值解法-差分方法。先来讨论最简单的Euler 法。为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110N N t t t t T -=<< <<= (i.3) 其中n t hn =,0h >称为步长。 在微积分课程中我们熟知,微商(即导数)是差商的极限。反过来,差商就是微商的近似。在0t t =处,在(i.1a )中用向前差商 10()()u t u t h -代替微商du dt ,便得 10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到 1000(,)u u hf t u -= 一般地,我们有 1Euler (,), 0,1, ,1n n n n u u hf t u n N +=+=-方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t 上的差分解1,,N u u 。

常微分方程初值问题数值解法

常微分方程初值问题数值解法 朱欲辉 (浙江海洋学院数理信息学院, 浙江舟山316004) [摘要]:在常微分方程的课程中讨论的都是对一些典型方程求解析解的方法.然而在生产实 际和科学研究中所遇到的问题往往很复杂, 在很多情况下都不可能给出解的解析表达式. 本篇文章详细介绍了常微分方程初值问题的一些数值方法, 导出了若干种数值方法, 如Euler法、改进的Euler法、Runge-Kutta法以及线性多步法中的Adams显隐式公式和预测校正 公式, 并且对其稳定性及收敛性作了理论分析. 最后给出了数值例子, 分别用不同的方法计算出近似解, 从得出的结果对比各种方法的优缺点. [关键词]:常微分方程;初值问题; 数值方法; 收敛性; 稳定性; 误差估计 Numerical Method for Initial-Value Problems Zhu Yuhui (School of Mathematics, Physics, and Information Science, Zhejiang Ocean University, Zhoushan, Zhejiang 316004) [Abstract]:In the course about ordinary differential equations, the methods for analytic solutions of some typical equations are often discussed. However, in scientific research, the problems are very complex and the analytic solutions about these problems can’t be e xpressed explicitly. In this paper, some numerical methods for the initial-value problems are introduced. these methods include Euler method, improved Euler method, Runge-Kutta method and some linear multistep method (e.g. Adams formula and predicted-corrected formula). The stability and convergence about the methods are presented. Some numerical examples are give to demonstrate the effectiveness and accuracy of theoretical analysis. [Keywords]:Ordinary differential equation; Initial-value problem; Numerical method; Convergence; Stability;Error estimate

常微分方程数值解法

第八章 常微分方程数值解法 考核知识点: 欧拉法,改进欧拉法,龙格-库塔法,单步法的收敛性与稳定性。 考核要求: 1. 解欧拉法,改进欧拉法的基本思想;熟练掌握用欧拉法,改进欧拉法、求微 分方程近似解的方法。 2. 了解龙格-库塔法的基本思想;掌握用龙格-库塔法求微分方程近似解的方 法。 3. 了解单步法的收敛性、稳定性与绝对稳定性。 例1 用欧拉法,预估——校正法求一阶微分方程初值问题 ? ??=-='1)0(y y x y ,在0=x (0,1)0.2近似解 解 (1)用1.0=h 欧拉法计算公式 n n n n n n x y y x y y 1.09.0)(1.01+=-+=+,1.0=n 计算得 9.01=y 82.01.01.09.09.02=?+?=y (2)用预估——校正法计算公式 1,0)(05.01.09.0)0(111)0(1=???-+-+=+=++++n y x y x y y x y y n n n n n n n n n 计算得 91.01=y ,83805.02=y 例2 已知一阶初值问题 ???=-='1 )0(5y y y 求使欧拉法绝对稳定的步长n 值。 解 由欧拉法公式 n n n n y h y h y y )51(51-=-=+ n n y h y ~)51(~1-=+

相减得01)51()51(e h e h e n n n -==-=-Λ 当 151≤-h 时,4.00≤

工程数学中数值计算应注意的一些原则

数值计算中应遵循的原则 工程问题的数值计算中出现误差的渠道及原因, 分析了这些误差可能会引起的 后果。通过具体例子说明要避免这些误差须遵循的原则。用数值稳定性好的计算方法;两个数量级相差很大的数进行加减运算时, 防止小的那个数加减不到大的数中; 避免两个相近的数相减, 损失有效数字; 防止出现机器零和溢出停机; 在除法运算中, 避免除数的绝对值远小于被除数的绝对值; 简化计算步骤, 减少运算次数。 用电子数字计算机进行各种工程问题的数值计算, 计算误差是不可避免的。误差的渠道来源主要有四个: 模型误差、观测误差、截断误差、舍入误差。用数学模型描述各类实际问题, 一般都要作一定的简化, 由此产生的数学模型的解与实际问题的解之间一定会有差异, 这种差异就是模型误差; 数学模型中包含的某些参数或常数, 大多是经过仪器观测或试验获得的数值, 这样得到的观测数值与实际数值之间也有误差, 这种误差称为观测误差; 求解数学模型所用的数值计算方法往往是近似计算方法, 由此产生的误差称为方法误差。由于近似方法一般都要用有限的四则算术运算步骤来代替无穷的极限运算, 这种由截断一个无穷过程而引起的误差, 就叫截断误差, 方法误差也属于截断误差; 由于电子数字计算机只能将数表示成有限位进行计算, 对超过位数的数字按一定的规则作舍入, 由此产生的误差称为舍入误差。 数值计算方法主要研究截断误差和舍入误差对计算结果的影响, 一般不考虑模型误差和观测误差。分析参数或常数的观测误差在数值计算中的影响的方法与分析舍入误差的影响所用的方法大致相同, 而控制观测误差和模型误差则不是数学计算工作者所能独立解决的。 为了减小误差, 特别是舍入误差的影响, 在数值运算中应注意以下一些原则: 1用数值稳定性好的计算方法, 以便控制舍入误差的传播 如, 要求在四位有效数字的精度下计算定积分的值[1]:

常微分方程的数值解

实验4 常微分方程的数值解 【实验目的】 1.掌握用MATLAB软件求微分方程初值问题数值解的方法; 2.通过实例用微分方程模型解决简化的实际问题; 3.了解欧拉方法和龙格-库塔方法的基本思想和计算公式,及稳定性等概念。 【实验内容】 题3 小型火箭初始重量为1400kg,其中包括1080kg燃料。火箭竖直向上发射时燃料燃烧率为18kg/s,由此产生32000N的推力,火箭引擎在燃料用尽时关闭。设火箭上升时空气阻力正比于速度的平方,比例系数为0.4kg/m,求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时的高度和加速度,并画出高度、速度、加速度随时间变化的图形。 模型及其求解 火箭在上升的过程可分为两个阶段,在全过程中假设重力加速度始终保持不变,g=9.8m/s2。 在第一个过程中,火箭通过燃烧燃料产生向上的推力,同时它还受到自身重力(包括自重和该时刻剩余燃料的重量)以及与速度平方成正比的空气阻力的作用,根据牛顿第二定律,三个力的合力产生加速度,方向竖直向上。因此有如下二式: a=dv/dt=(F-mg-0.4v2)/m=(32000-0.4v2)/(1400-18t)-9.8 dh/dt=v 又知初始时刻t=0,v=0,h=0。记x(1)=h,x(2)=v,根据MATLAB 可以求出0到60秒内火箭的速度、高度、加速度随时间的变化情况。程序如下: function [ dx ] = rocket( t,x ) a=[(32000-0.4*x(2)^2)/(1400-18*t)]-9.8; dx=[x(2);a]; end ts=0:1:60;

x0=[0,0]; [t,x]=ode45(@rocket,ts,x0); h=x(:,1); v=x(:,2); a=[(32000-0.4*(v.^2))./(1400-18*t)]-9.8; [t,h,v,a]; 数据如下: t h v a 0 0 0 13.06 1.00 6.57 13.19 13.30 2.00 26.44 26.58 1 3.45 3.00 59.76 40.06 13.50 4.00 106.57 53.54 13.43 5.00 16 6.79 66.89 13.26 6.00 240.27 80.02 12.99 7.00 326.72 92.83 12.61 8.00 425.79 105.22 12.15 9.00 536.99 117.11 11.62 10.00 659.80 128.43 11.02 11.00 793.63 139.14 10.38 12.00 937.85 149.18 9.71 13.00 1091.79 158.55 9.02 14.00 1254.71 167.23 8.33 15.00 1425.93 175.22 7.65 16.00 1604.83 182.55 6.99 17.00 1790.78 189.22 6.36 18.00 1983.13 195.27 5.76 19.00 2181.24 200.75 5.21 20.00 2384.47 205.70 4.69 21.00 2592.36 210.18 4.22 22.00 2804.52 214.19 3.79 23.00 3020.56 217.79 3.41 24.00 3240.08 221.01 3.07 25.00 3462.65 223.92 2.77 26.00 3687.88 226.56 2.50 27.00 3915.58 228.97 2.27

数值分析中的误差

第9章 数值分析中的误差 典型问题解析 考试知识点:误差、有效数字。(6%) 学习要点:误差、有效数字。 典型问题解析: 一、误差 绝对误差e :e =x -x * (设精确值x *的近似值x , 差e =x -x *称为近似值x 的绝对误差(误差))。 绝对误差限ε:ε≤-=*x x e (绝对误差限ε是绝对误差e 绝对值的一个上界。) 相对误差e r :***-==x x x x e e r (绝对误差e 与精确值x *的比值,常用x e e r = 计算) 相对误差限r ε:r r e ε≤(相对误差e r 绝对值的一个上界), r r x x x x e εε=≤-=||||||***,*x r εε=,常用x ε计算. 绝对误差限的估计式:(四则运算中) )()()(2121x x x x εεε+=± )()()(122121x x x x x x εεε+≈ 22122121 +=x x x x x x x )()()(εεε 二、有效数字 有效数字:如果近似值x 的误差限ε 是它某一个数位的半个单位,我们就说x 准确到该位. 从这一位起到前面第一个非0数字为止的所有数字称为x 的有效数字. (1)设精确值x *的近似值x ,若 m n a a a x 10.021?±= a 1,a 2,…,a n 是0~9之中的自然数,且a 1≠0, n l x x l m ≤≤110?50=≤--,.*ε 则x 有l 位有效数字. 例1 设x *= π=3.1415926…,若x *的近似值x 为3.14,3.1415,3.143,求x 的有效数字位数. 解:若x =3.14=0.314×101,(m =1)

15第十五章 常微分方程的解法

-293- 第十五章 常微分方程的解法 建立微分方程只是解决问题的第一步,通常需要求出方程的解来说明实际现象,并加以检验。如果能得到解析形式的解固然是便于分析和应用的,但是我们知道,只有线性常系数微分方程,并且自由项是某些特殊类型的函数时,才可以得到这样的解,而绝大多数变系数方程、非线性方程都是所谓“解不出来”的,即使看起来非常简单的方程如 22x y dx dy +=。于是对于用微分方程解决实际问题来说,数值解法就是一个十分重要的手段。 §1 常微分方程的离散化 下面主要讨论一阶常微分方程的初值问题,其一般形式是 ?????=≤≤=0 )() ,(y a y b x a y x f dx dy (1) 在下面的讨论中,我们总假定函数),(y x f 连续,且关于y 满足李普希兹(Lipschitz)条 件,即存在常数L ,使得 |||),(),(|y y L y x f y x f ?≤? 这样,由常微分方程理论知,初值问题(1)的解必定存在唯一。 所谓数值解法,就是求问题(1)的解)(x y 在若干点 b x x x x a N =<<<<=L 210 处的近似值),,2,1(N n y n L =的方法,),,2,1(N n y n L =称为问题(1)的数值解, n n n x x h ?=+1称为由n x 到1+n x 的步长。今后如无特别说明,我们总取步长为常量h 。 建立数值解法,首先要将微分方程离散化,一般采用以下几种方法: (i )用差商近似导数 若用向前差商h x y x y n n ) ()(1?+代替)('n x y 代入(1)中的微分方程,则得 )1,,1,0())(,() ()(1?=≈?+N n x y x f h x y x y n n n n L 化简得 ))(,()()(1n n n n x y x hf x y x y +≈+ 如果用)(n x y 的近似值n y 代入上式右端,所得结果作为)(1+n x y 的近似值,记为1+n y , 则有 )1,,1,0() ,(1?=+=+N n y x hf y y n n n n L (2) 这样,问题(1)的近似解可通过求解下述问题 ?? ?=?=+=+) () 1,,1,0(),(01a y y N n y x hf y y n n n n L (3) 得到,按式(3)由初值0y 可逐次算出N y y y ,,,21L 。式(3)是个离散化的问题,称为差分方程初值问题。

滴定分析中的误差及数据处理

滴定分析中的误差及数据处理 滴定分析是将已知准确浓度的标准溶液滴加到被测物质的溶液中直至所加溶液物质的量按化学计量关系恰好反应完全,然后根据所加标准溶液的浓度和所消耗的体积,计算出被测物质含量的分析方法。包括酸碱滴定法、配位滴定法、氧化还原滴定法、沉淀滴定法。 滴定分析时产生的误差被分为系统误差和随机误差。 系统误差是在相同条件下,对同一对象进行多次测量,有一种绝对值和符号不变,或按某一规律变化的误差,称为系统误差。系统误差由分析测量过程中确定性的影响因素所产生的,具有重复性、单向性和可测性。产生系统误差的原因有一下几种: (1)方法误差。 方法误差是由于分析方法本身在理论上和具体操作步骤上存在不完善之处。如反应不完全或存在副反应,指示剂的变色点不与化学计量点重合。 (2)仪器和试剂误差 仪器误差来源于一起本身的缺陷或没有按照规定使用仪器。如仪器检查不彻底,滴定管漏液;滴定管、移液管使用前没有润洗而锥形瓶误被润洗;注入液体后滴定管下端留有气泡;读数时滴定管、移液管等量器与水平面不垂直、液面不稳定、仰视(或俯视)刻度;液体温度与量器所规定的温度相差太远;移液时移液管中液体自然地全部流下。标准溶液误差①标准溶液浓度的大小造成的误差来源。滴定所需标准溶液体积的大小,滴定管读数的相对误差较大。一般使用的体积控制在20mL~24mL的范围内,使滴定管的读数误差不大于1‰,为此应使用适当浓度的标准溶液,从而控制标准溶液的体积。②标准溶液的配制不规范造成的误差来源。终点误差(指示剂误差)①指示剂用量过多或浓度过大,使其变色迟钝,同时指示剂本身也能多消耗滴定剂。②强酸滴定强碱时,用酚酞作指示剂。③强酸滴定弱碱时因生成的盐水解,等当点时溶液显酸性。同理强碱滴定弱酸在等当点时溶液呈碱性。若指示剂选用不当,等当点与滴定终点差距大,则产生误差。 (3)操作误差 操作误差通常是由于分析人员没有按正确的操作规程进行分析操作引起。操作方面误差可能有以下几点:①滴定中左手对酸式滴定管旋塞控制不当,旋塞松动导致旋塞处漏液;使用碱式滴定管时,左手拿住橡皮管中玻璃球用力挤压或按玻璃球以下部位,导致放手时空气进入出口管形成气泡。②右手握持锥形瓶没有摇动,待测液反应不完全或摇动时前后振荡溅出液体。③滴定时流速过快,锥形瓶中液体被溅出,也可能使标准溶液滴加过量。④锥形瓶下没有垫白纸或白瓷板作参比物,人眼对锥形瓶中溶液颜色变化反应不灵敏,使终点滞后。 ⑤锥形瓶中溶液变色后立即停止滴定,待测液可能未完全反应。⑥滴定停止后,立即读数也会产生误差,应等1min~2min到滴定管内壁附着液体自然流下再行读数。⑦进行平行测定,两次滴定所用标准液体积相差超过0.02mL,仍取平均值计算,产生误差,应通过科学的分析,找出可疑值的来源,重新进行实验。 (4)主观误差 主观误差是由于分析人员自身的一些主观因素造成。例如在分析过程中重点的判断,有些人对指示剂颜色的分辨偏深、有的人偏浅;有的人喜欢根据前一次的滴定结果来下意识地控制随后的滴定过程,导致测量结果系统地偏高或偏低。 偶然误差是指在相同条件下,对同一物理量进行多次测量,由于各种偶然因素,出现测量值时而偏大,时而偏小的误差现象,这种类型的误差叫做偶然误差。 偶然误差的特点:1)不确定性;2)不可测性;3)服从正态分布规律:大小相等的正误差和负误差出现的概率相等;小误差出现的概率大,大误差出现的概率小,极大误差出现的概率极小。

(整理)常微分方程数值解法

i.常微分方程初值问题数值解法 i.1 常微分方程差分法 考虑常微分方程初值问题:求函数()u t 满足 (,), 0du f t u t T dt =<≤ (i.1a ) 0(0)u u = (i.1b) 其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的函数,0u 和T 是给定的常数。我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得 121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-?∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在,唯一,而且连续依赖于初值0u 。 通常情况下,(i.1)的精确解不可能用简单的解析表达式给出,只能求近似解。本章讨论常微分方程最常用的近似数值解法--差分方法。先来讨论最简单的Euler 法。为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110N N t t t t T -=<<<<=L (i.3) 其中n t hn =,0h >称为步长。 在微积分课程中我们熟知,微商(即导数)是差商的极限。反过来,差商就是微商的近似。在0t t =处,在(i.1a )中用向前差商 10()()u t u t h -代替微商du dt ,便得 10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到 1000(,)u u hf t u -= 一般地,我们有 1Euler (,), 0,1,,1n n n n u u hf t u n N +=+=-L 方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t L 上的差分解1,,N u u L 。

二阶常微分方程的解法及其应用

目录 1 引言 (1) 2 二阶常系数常微分方程的几种解法 (1) 2.1 特征方程法 (1) 2.1.1 特征根是两个实根的情形 (2) 2.1.2 特征根有重根的情形 (2) 2.2 常数变异法 (4) 2.3 拉普拉斯变化法 (5) 3 常微分方程的简单应用 (6) 3.1 特征方程法 (7) 3.2 常数变异法 (9) 3.3 拉普拉斯变化法 (10) 4 总结及意义 (11) 参考文献 (12)

二阶常微分方程的解法及其应用 摘要:本文通过对特征方程法、常数变易法、拉普拉斯变换法这三种二阶常系数常微分方程解法进行介绍,特别是其中的特征方程法分为特征根是两个实根的情形和特征根有重根的情形这两种情况,分别使用特征值法、常数变异法以及拉普拉斯变换法来求动力学方程,现今对于二阶常微分方程解法的研究已经取得了不少成就,尤其在二阶常系数线性微分方程的求解问题方面卓有成效。应用常微分方程理论已经取得了很大的成就,但是,它的现有理论也还远远不能满足需要,还有待于进一步的发展,使这门学科的理论更加完善。 关键词:二阶常微分方程;特征分析法;常数变异法;拉普拉斯变换

METHODS FOR TWO ORDER ORDINARY DIFFERENTIAL EQUATION AND ITS APPLICATION Abstract:This paper introduces the solution of the characteristic equation method, the method of variation of parameters, the Laplasse transform method the three kind of two order ordinary differential equations with constant coefficients, especially the characteristic equation method which is characteristic of the root is the two of two real roots and characteristics of root root, branch and don't use eigenvalue method, method of variation of constants and Laplasse transform method to obtain the dynamic equation, the current studies on solution of ordinary differential equations of order two has made many achievements, especially in the aspect of solving the problem of two order linear differential equation with constant coefficients very fruitful. Application of the theory of ordinary differential equations has made great achievements, however, the existing theory it is still far from meeting the need, needs further development, to make the discipline theory more perfect. Keywords:second ord er ordinary differential equation; Characteristic analysis; constant variation method; Laplasse transform 1 引言 数学发展的历史告诉我们,300年来数学分析是数学的首要分支,而微分方程

常微分方程数值解法

第八章 常微分方程的数值解法 一.内容要点 考虑一阶常微分方程初值问题:?????==0 0)() ,(y x y y x f dx dy 微分方程的数值解:设微分方程的解y (x )的存在区间是[a,b ],在[a,b ]内取一系列节 点a= x 0< x 1<…< x n =b ,其中h k =x k+1-x k ;(一般采用等距节点,h=(b-a)/n 称为步长)。在每个节点x k 求解函数y(x)的近似值:y k ≈y(x k ),这样y 0 , y 1 ,...,y n 称为微分方程的数值解。 用数值方法,求得f(x k )的近似值y k ,再用插值或拟合方法就求得y(x)的近似函数。 (一)常微分方程处置问题解得存在唯一性定理 对于常微分方程初值问题:?????==0 0)() ,(y x y y x f dx dy 如果: (1) 在B y y A x x 00≤-≤≤,的矩形内),(y x f 是一个二元连续函数。 (2) ),(y x f 对于y 满足利普希茨条件,即 2121y y L y x f y x f -≤-),(),(则在C x x 0≤≤上方程?????==0 0)() ,(y x y y x f dx dy 的解存在且唯一,这里C=min((A-x 0),x 0+B/L),L 是利普希茨常数。 定义:任何一个一步方法可以写为),,(h y x h y y k k k 1k Φ+=+,其中),,(h y x k k Φ称为算法的增量函数。 收敛性定理:若一步方法满足: (1)是p 解的. (2) 增量函数),,(h y x k k Φ对于y 满足利普希茨条件. (3) 初始值y 0是精确的。则),()()(p h O x y kh y =-kh =x -x 0,也就是有 0x y y lim k x x kh 0h 0 =--=→)( (一)、主要算法 1.局部截断误差 局部截断误差:当y(x k )是精确解时,由y(x k )按照数值方法计算出来的1~ +k y 的误差y (x k+1)- 1~ +k y 称为局部截断误差。 注意:y k+1和1~ +k y 的区别。因而局部截断误差与误差e k +1=y (x k +1) -y k +1不同。 如果局部截断误差是O (h p+1),我们就说该数值方法具有p 阶精度。

一阶常微分方程解法总结

第 一 章 一阶微分方程的解法的小结 ⑴、可分离变量的方程: ①、形如 )()(y g x f dx dy = 当0)(≠y g 时,得到 dx x f y g dy )() (=,两边积分即可得到结果; 当0)(0=ηg 时,则0)(η=x y 也是方程的解。 例、 xy dx dy = 解:当0≠y 时,有 xdx y dy =,两边积分得到)(2ln 2为常数C C x y += 所以)(112 12 C x e C C e C y ±==为非零常数且 0=y 显然是原方程的解; 综上所述,原方程的解为)(12 12 为常数C e C y x = ②、形如0)()()()(=+dy y Q x P dx y N x M 当0)()(≠y N x P 时,可有 dy y N y Q dx x P x M ) () ()()(=,两边积分可得结果; 当0)(0=y N 时,0y y =为原方程的解,当0(0=) x P 时,0x x =为原方程的解。 例、0)1()1(2 2 =-+-dy x y dx y x 解:当0)1)(1(2 2 ≠--y x 时,有 dx x x dy y y 1 122-=-两边积分得到 )0(ln 1ln 1ln 22≠=-+-C C y x ,所以有)0()1)(1(22≠=--C C y x ; 当0)1)(1(2 2 =--y x 时,也是原方程的解; 综上所述,原方程的解为)()1)(1(2 2 为常数C C y x =--。 ⑵可化为变量可分离方程的方程: ①、形如)(x y g dx dy = 解法:令x y u =,则udx xdu dy +=,代入得到)(u g u dx du x =+为变量可分离方程,得到

常微分方程常用数值解法.

第一章绪论 1.1 引言 常微分方程是现代数学的一个重要分支,是人们解决各种实际问题的有效工具。微分方程的理论和方法从17世纪末开始发展起来,很快成了研究自然现象的强有力工具,在17到18世纪,在力学、天文、科学技术、物理中,就已借助微分方程取得了巨大的成就。1864年Leverrer根据这个方程预见了海王星的存在,并确定出海王星在天空中的位置。现在,常微分方程在许多方面获得了日新月异的应用。这些应用也为常微分方程的进一步发展提供了新的问题,促使人们对微分方程进行更深入的研究,以便适应科学技术飞速发展的需要。 研究常微分方程常用数值解是数学工作者的一项基本的且重要的工作。在国内外众多数学家的不懈努力,使此学科基本上形成了一套完美的体系。微分方程的首要问题是如何求一个给定方程的通解或特解。到目前为止,人们已经对许多微分方程得出了求解的一般方法。由于在生产实际和科学研究中所遇到的微分方程问题比较复杂,使这些问题的解即使能求出解析表达式,也往往因计算量太大而难于求出,而对于一些典型的微分方程则可以运用基本方法求出其解析解,并可以根据初值问题的条件把其中的任意常数确定下来。 由于求通解存在许多困难,人们就开始研究带某种定解条件的特解。首先是Cauchy对微分方程初始解的存在惟一性进行了研究。目前解的存在惟一性、延拓性、大范围的存在性以及解对初始解和参数的延续性和可微性等理论问题都已发展成熟。与此同时,人们开始采取各种近似方法来求微分方程的特解,例如求微分方程数值解的Euler折线法、Runge-Kutta法等,可以求得若干个点上微分方程的近似解。最后,由于当代高科技的发展为数学的广泛应用和深入研究提供了更好的手段。用计算机结合Matlab软件求方程的精确解、近似解,对解的性态进行图示和定性、稳定性研究都十分方便有效。 本章先介绍常微分的一般概念、导出微分方程的一些典型例子及求解微分方程的思路分析。从而得到常微分方程的常用数值解法。

相关文档
相关文档 最新文档