tceic.com
学霸学习网 这下你爽了
相关文章
当前位置:首页 >> 数学 >>

8.1-8.2常微分方程数值解


第八章

常微分方程数值解

§ 8.1 引言(基本求解公式)
在工程和科学技术的实际问题中,常需要求解微分方程 只有简单的和典型的微分方程可以求出解析解 而在实际问题中的微分方程往往无法求出解析解

在高等数学中我们见过以下常微分方程:
? y? ? f ( x , y ) ? ? y( a ) ? y0 a? x?b

-----------(1)
-----------(2)

? y?? ? f ( x , y , y?) a ? x ? b ? ? y( a ) ? y0 , y?( a ) ? ?

? y?? ? f ( x , y , y?) a ? x ? b ? ? y( a ) ? y0 , y(b) ? yn

-----------(3)

(1),(2)式称为初值问题,(3)式称为边值问题
另外,在实际应用中还经常需要求解常微分方程组:
? ? f 1 ( x , y1 , y2 ) ? y1 ? ? ? f 2 ( x , y1 , y2 ) ? y2 y1 ( x0 ) ? y10 y2 ( x0 ) ? y20

-----------(4)

本课程主要研究问题(1)的数值解法,对(2)~(4)只作简单介绍 我们首先介绍初值问题(1)的解存在的条件

定理1.如果连续函数f ( x, y)满足Lipschitz条件,即
?正数L, 使得?x ? [a, b],均有

| f ( x, y1 ) ? f ( x, y2 ) |? L | y1 ? y2 |

则初值问题(1)的解存在且唯一.

对于问题(1),要求它的数值解
就是求未知函数 y( x)在区间 [a, b]上的一系列离散点 (节点)
a ? x0 ? x1 ? x2 ? ? ? xn ? b

上函数值y( xk )的近似值yk (k ? 1,2,?, n) 而yk (k ? 1,2,?, n)就是问题 (1)的数值解

从(1)的表达式
? y? ? f ( x , y ) ? ? y( a ) ? y0 a? x?b

-----------(1)

可以看出,求它的数值解的关键在于
y?( x)数值计算问题
或者它的等价的积分方程 y( x) ? y0 ? ? f (t, y (t ))dt 中
a x

积分

?

x

a

f (t, y(t ))dt 的数值计算问题

求解微分方程的数值方法

数值微分 数值积分

而数值积分问题我们已经学习过, 下考虑数值微分方法

微积分中,关于导数的定义如下:

f ( x ? h) ? f ( x) f '( x ) ? lim h ?0 h

f ( x) ? f ( x ? h) ? lim h ?0 h

f ( x ? h) ? f ( x ? h) ? lim h ?0 2h
自然而又简单的方法就是,取极限的近似值,即差商!

向前差商
f ( x0 ? h) ? f ( x0 ) f ' ( x0 ) ? h
由Taylor展开

h f ( x0 ? h) ? f ( x0 ) ? hf ' ( x0 ) ? f ' ' (? ), x0 ? ? ? x0 ? h 2!
因此,有误差

2

f ( x0 ? h) ? f ( x0 ) h R( x) ? f ' ( x0 ) ? ? ? f ' ' (? ) ? O(h) h 2!

向后差商
f ( x0 ) ? f ( x0 ? h) f ' ( x0 ) ? h
f ( x0 ) ? f ( x0 ? h) h R( x) ? f ' ( x0 ) ? ? f ' ' (? ) ? O(h) h 2!

误差:

中心差商
f ( x0 ? h) ? f ( x0 ? h) f ' ( x0 ) ? 2h
h2 h2 R( x ) ? [ f '''(?1 ) ? f '''(?2 )] ? f '''(? ) ? O (h 2 ) 12 6

常微分方程数值解的基本思想
基本问题:对于微分方程 ? y? ? f ( x, y ), a ? x ? b ? ? y ( a ) ? y0 要在区间 [a, b] 上的若干离散点 a ? x0 ? x1 ? ? ? xn ? b 处计算解函数 y ( x ) 的近似值 y0 , y1 ,?, yn

实际应用中通常取求解区间 [a, b] 的等分点作为离散点, b?a 即 xk ? a ? kh, k ? 0,1,?, n, 其中步长 h ? n

推导初值问题的数值方法的途径: Taylor展开, 利用差商离散导数, 利用数值积分方法

求初值问题数值解的方法是步进法, 即从已知的初值 y0 出发, 通过一定的计算求 y1 , 然后由 y1 或 y0 和 y1 求出 y2 , 依次计算到 yn ,即, 在计算出 yi (i ? k ) 后计算 yk ?1 , 这时

单步法: 只利用 yk 来计算 yk ?1;
多步法: 计算 yk ?1 时不仅要利用 yk ,还要用到已算出的 若干个 yk ? j ( j ? 1,2,?, l ? 1), 并称为 l 步方法.

1. 泰勒展开的求解方法思路:
可将 y( xk ? h) ? y( xk ?1 ) 按泰勒级数展开为

h2 y ( xk ?1 ) ? y ( xk ) ? hy?( xk ) ? y??(?k ), ?k ? [ xk , xk ?1 ] 2!

略去 h 2得, y ( xk ?1 ) ? y ( xk ) ? hy?( xk ) ? y ( xk ) ? hf ( xk , yk )
将近似号改等号, 则得到数值解序列 yk 计算公式:

? y (a ) ? y0 ? ? yk ?1 ? yk ? hf ( xk , yk ), k ? 0,1,?, n ? 1

2. 化导数为差商的求解方法思路:
若在点 xk 处的导数用差商来近似代替, 如向前差商 y ( xk ?1 ) ? y ( xk ) y ?( xk ) ? h
则微分方程初值问题化为 ? y ( xk ?1 ) ? y ( xk ) ? f ( xk , y ( xk )), k ? 0,1,?, n ? 1 ? h ? ? ? y (a ) ? y0
将近似号改等号, 精确解y( xk )改为近似解序列 yk 满足,

? y (a ) ? y0 ? ? yk ?1 ? yk ? hf ( xk , yk ), k ? 0,1,?, n ? 1

3. 数值积分的求解方法思路:
如果将微分方程 y ? ? f ( x, y ) 化成 dy ? f ( x, y )dx, 然后在各小区间 [ xk , xk ?1 ] 上对其两边进行积分, 即

?

xk ?1 xk

dy ? ?

xk ?1 xk

f ( x, y )dx, k ? 0,1,?, n ? 1

?

? y (a) ? y0 ? xk ?1 ? y ( xk ?1 ) ? y ( xk ) ? ? f ( x, y ( x))dx, k ? 0,1,? , n ? 1 ? xk ?

用 yk 和 yk ?1 近似 y ( xk ) 和 y ( xk ?1 ), 右边用数值积分公式, 如用矩形数值积分公式可得,

? y (a ) ? y0 ? ? yk ?1 ? yk ? hf ( xk , yk ), k ? 0,1,?, n ? 1

以上三种方法推导出同一个数值求解公式:

? y (a ) ? y0 ? ? yk ?1 ? yk ? hf ( xk , yk ), k ? 0,1,?, n ? 1
这个数值公式称为欧拉(Euler)公式

§ 8.2 欧拉(Euler)方法
1. 欧拉(Euler)公式(显示欧拉公式):
对于微分方程初值问题 (1) ? y ? ? f ( x, y ), a ? x ? b ? ? y ( a ) ? y0
n 等分

b?a 求解区间 [a , b] ??? ? x k ? a ? kh , h ? n k ? 0,1,? , n,

? y (a ) ? y0 ???????? ?? ? yk ?1 ? yk ? hf ( xk , yk ), k ? 0,1,?, n ? 1
向前差商代替导数 数值积分法中采用矩形公式

2. 后退欧拉公式(隐式欧拉公式):
向后差商代替导数 微分方程初值问题(1)?????? ?

? y ( a ) ? y0 ? ? yk ?1 ? yk ? hf ( xk ?1 , yk ?1 ), k ? 0,1,?, n ? 1

3. 梯形公式:(隐式公式)
微分方程初值问题(1)??????????? ? ? y ( a ) ? y0 ? h ? y ? y ? ? f ( xk , yk ) ? f ( xk ?1, yk ?1 )? , ? k ?1 k 2 ? ? ? k ? 0,1,? , n ? 1
将Euler公式和隐式Euler公式作算术平均 或在数值积分法中采用梯形公式

误差分析
? y (a ) ? y0 欧拉公式 ? ? yk ?1 ? yk ? hf ( xk , yk ), k ? 0,1,?, n ? 1 假设 yk 已知且是准确的,即 yk ? y ( xk ), 用 y ( xk ?1 ) 表示 xk ?1 这一点的解函数 y ( x ) 准确值; 计算yk ?1步的截断误差为 y ( xk ?1 ) ? yk ?1 ? O(h 2 )
? y ( a ) ? y0 ? h ? 梯形公式 ? yk ?1 ? yk ? ? f ( xk , yk ) ? f ( xk ?1 , yk ?1 ) ? , 2 ? ? ? k ? 0,1,? , n ? 1 类似的,计算yk ?1步的截断误差为 y ( xk ?1 ) ? yk ?1 ? O ( h 3 )

这种误差称为局部截断误差.

比较下面两个公式:
显示Euler公式

? y (a ) ? y0 ? ? yk ?1 ? yk ? hf ( xk , yk ), k ? 0,1,?, n ? 1
隐式梯形公式
? y (a ) ? y0 ? h ? ? yk ?1 ? yk ? ? f ( xk , yk ) ? f ( xk ?1 , yk ?1 )? , 2 ? ? ?k ? 0,1,?, n ? 1

改进欧拉(Euler)方法
首先计算出初步的近似值 y k ?1,称之为预估值; 然后用该预估值替代梯形公式右端中的 yk ?1 进行 计算,从而得到最后的校正值 yk ?1 , 即预估公式 校正公式 y k ?1 ? yk ? hf ( xk , yk ) h yk ?1 ? yk ? ? f ( xk , yk ) ? f ( xk ?1 , y k ?1 ) ? ? ? 2

? y ( a ) ? y0 ? y ? y ? hf ( x , y ) p k k k ? ? 改写为预估 -校正公式 ???????? ? ? yc ? yk ? hf ( xk ?1 , y p ) 可避免函数值的重复计算 ? ?y ? 1 (y ? y ) k ?1 p c ? ? 2 称为改进的欧拉公式或预估-校正Euler方法

常微分方程数值解的截断误差
评价一个微分方程求解公式的标准当然是其精度
也就是精确值 y( x j ?1 )与计算值 y j ?1的差 :

y( x j ?1 ) ? y j ?1 ? e j ?1 (h)

j ? 0,1,?, n ? 1

误差项

而在求解公式 y j ?1 ? y j ? hf ( x j , y j ) 中
一般 y j 都是近似值,即y j ? y( x j )

e j ?1 (h) ? y( x j ?1 ) ? y j ?1 只能表示求解公式第 j ? 1 步的误差

定义1(a).

? ? y j ? y( x j ) 称? 为计算 y j ?1 的求解公式 ? ? e j ?1 ? y( x j ?1 ) ? y j ?1 在 x j ?1 处(即第 j ? 1 步)的局部截断误差

一般的, 单步法可以写称统一的增量形式

y j ?1 ? y j ? h? ( x j , y j , y j ?1, h)

---------(*)

定义1(b). 设 y( x ) 为初值问题的精确解, 则

Tj ?1 ? y( x j ?1 ) ? y( x j ) ? h? ( x j , y( x j ), y( x j ?1 ), h) 称为单步法(*)在 x j ?1 处的局部截断误差.

y j ? y( x j )时计算出的y j ?1

?

上两定义本质是一样的,前者意义直观,后者用于计算推导较方便!

在一般情况下,求解公式的每一步都存在误差,因此有 定义2. 设 e j (h) 为计算 y j 的求解公式第 j 步的截断误差, 且
Ek ( h) ? ? e j ( h)
j ?1 k

则称 Ek (h) 为该求解公式第 k 步的累计截断误差 即该求解公式在 xk 点上的整体截断误差

定义3. 若求解公式的局部截断误差为 e (h) ? O(hp?1 ) j 则称该求积公式具有 p 阶精度

Euler公式的局部截断误差为
具有1阶精度

h2 e j ? 1 ( h) ? y??(? j ) 2 h2 e j ? 1 ( h) ? ? y??(? j ) 2

后退Euler公式的局部截断误差为 也具有1阶精度

显然一个求解公式的精度越高,计算解的精确性也就越好 从前面的分析可知, Euler法的精度并不算高 因此有必要找寻精度更高的求解公式


推荐相关:

8.1-8.2常微分方程数值解_图文.ppt

8.1-8.2常微分方程数值解_数学_自然科学_专业资料。常微分方程数值解 第八

计算方法第八章(常微分方程数值解)._图文.ppt

计算方法第八章(常微分方程数值解). - 第八章 常微分方程初值 问题数值解法

第八章 常微分方程数值解法_图文.ppt

第八章 常微分方程数值解法 - 所谓数值解法,就是设法将常微分方程离散化,建立差 分方程,给出解在一些离散点上的近似值. §1.2 构造数值解法的基本思想 假设...

8.1-8.2常微分方程数值解_图文.ppt

8.1-8.2常微分方程数值解_理学_高等教育_教育专区。第八章 常微分方程数值

第8讲 常微分方程数值解法_图文.ppt

f ( xi ? h, yi ? hk3 ) 0 1/2 1/2 1 1/2 0 0 1/6 1/2 0...第八章常微分方程数值解... 32页 免费 第八章 常微分方程的数值... ...

第八章 常微分方程数值解_图文.ppt

第八章 常微分方程数值解 - (Numerical Methods for Ordinary Differential Equations ) §1 引言 微分方程数值解一般可分为:常微分...

第八章常微分方程的数值解法详解_图文.ppt

第八章常微分方程数值解法详解 - 第八章 常微分方程数值解法 实际问题中,经常需要求解常微分方程。只有一些特殊 类型的常微分方程有解析解,实际中的大多数常...

第8章常微分方程数值解法_图文.ppt

第8章常微分方程数值解法 - 第8章 常微分方程数值解法 8.1 引言 在常微分

常微分方程数值解法.doc

常微分方程数值解法 - 第 8 章 常微分方程数值解法 本章主要内容: 1.欧拉法、改进欧拉法. 2.龙格-库塔法。 3.单步法的收敛性与稳定性。 重点、难点 、...

第八章 常微分方程数值解.doc

第八章 常微分方程数值解 由常微分方程理论可知, 我们只能求 些特殊类型的...yi ?1 = 1 2 h y ??(? i ) 2 , (8-3) 当 h 充分小时, 欧拉...

8.1常微分方程定解问题、数值解得概念-8.2初值问题的Eu....ppt

8.1常微分方程定解问题、数值解得概念-8.2初值问题的Euler方法、局部截断误差_理学_高等教育_教育专区。华南理工研究生课程课件-应用数值分析-chap8-常微分方程...

第八章 常微分方程数值解法_图文.ppt

第八章 常微分方程数值解法 1 1.微分方程的数值解法在工程技术或自然科学中,...3 2.欧拉法与改进欧拉法 2.1.欧拉法(欧拉折线法)欧拉法是求解常微分方程...

第八章(常微分方程数值解法)_图文.ppt

第八章(常微分方程数值解法) - 第6章 常微分方程数值解法 第6章 常微分方程数值解法 《计算方法》 §1 引言 §2 欧拉法和改进的欧拉法 §3 龙格库塔法 ...

8.常微分方程数值解法_图文.ppt

常微分方程数值解法 8.1 一阶微分方程的初值问题 8.2.Euler(欧拉)方

第8章微分方程数值解法_图文.ppt

8.1.2 数值方法的基本思想 1、数值解法需要把连续性的问题加以离散化,从而 求出离散节点处的数值解常微分方程初值问题(8.1)式的数值解法,首先要算出精确...

第八章 常微分方程数值解_图文.ppt

第八章 常微分方程数值解 - 第八章 常微分方程数值解节 求解初值问题数值方法的基本原理 、基本思想 ? dy = f ( x, y ) 考虑阶常微分方程的...

第八章常微分方程数值解_图文.ppt

第八章常微分方程数值解 - 第8章 常微分方程的数值解法 包含自变量、未知函数及未知函数的导数或微 分的方程称为微分方程。在微分方程中, 自变量的 个数只有...

数值分析 第八章 常微分方程数值解法(Print)_图文.pdf

数值分析 第八章 常微分方程数值解法(Print) - 郑州大学研究生课程 (2011-2012学年第一学期) 第八章 常微分方程数值解法 §8.1 §8.2 §8.3 §8.4 引言 ...

数值分析 第八章 常微分方程数值解法_图文.pdf

第八章 常微分方程数值解法 第八章 常微分方程数值解法§8.1 §8.2 §8.

第八章 常微分方程的数值解法_图文.ppt

第八章 常微分方程的数值解法 - 第八章 常微分方程数值解法 8.1 欧拉法 重点) (重点) 8.2 龙格 库塔法 龙格-库塔法 8.3 亚当斯方法 8.4 线性多步法 (...

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com