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法的精度并不算高 因此有必要找寻精度更高的求解公式


推荐相关:

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

第八章 常微分方程组的数值解_工学_高等教育_教育专区。数值分析课件 ...8 0.904837500 8.2 ?10 ?7 0.818730901 1.48?10 0.818801593 7.084. ?...

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

8常微分方程数值解法_数学_自然科学_专业资料。8 常微分方程数值解法( ...? ? ? ?本章主要内容 8.1 基本概念与基本求解途径 8.2 欧拉方法与局部...

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

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

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

? 常微分方程的数值解法有单步法和多步法之分: ? 单步法:在计算yn+1 时...yn ? h( ? 2 yn ) xn 数值解和解析解的图示比较如下: 0.8 0.6 0....

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

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

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

常微分方程数值解法 第八章 常微分方程数值解法§8.1 引言 §8.2 欧拉(.

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

常微分方程数值解_数学_自然科学_专业资料。常微分方程数值解 ? 提问:计算方法...4 6 8 1 1 ? x2 ? 0 e ? x dx ? 2 x x x ? ? ? ... ) ...

81-82常微分方程数值解_图文.ppt

81-82常微分方程数值解 - 第八章 常微分方程数值解 § 8.1 引言(基本

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

第八章 常微分方程数值解法 1页 下页 §1 引论 工程技术问题中的...(8-1)是线性二阶ODE。 ? (8-2),(8-3)是(8-1)的初始条件。亦称定解...

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

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

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

第八章 常微分方程数值解法 工程技术和自然科学中的许多实际 问题,在数学上...L y1 ? y2 时初值问题(8-1)的解y = y(x)存在且唯 ,此条件称为...

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

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

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

常微分方程数值解法_数学_自然科学_专业资料。数值分析第5章 常微分方程数值解法...L|y1 y2| 则初值问题(1.1)(1.2)存在唯一连续可微解y(x). 注:...

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

1常微分方程数值解1 - 第常微分方程数值解 /* Numerical Methods for Ordinary Differential Equations */ ? 考虑阶常微分方...

常微分方程数值解 PPT课件_图文.ppt

常微分方程数值解 PPT课件 - 第七章 常微分方程数值解 1 第七章 常微分方程数值解 ? ? ? ? ? ? §7.1 §7.2 §7.3 §7.4 §7.5 §7.6 引言 ...

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

第10章_常微分方程数值解 - 第8章 常微分方程的数值解 §8.1 引言计 科

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

微分方程数值解法 - 第6章 §6.1 §6.2 常微分方程数值解法 引言 欧拉方法 §6.3 龙格库塔方法 §6.1 引言 微分方程数值解一般可分为:常微分方程数值解...

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

第七章 常微分方程的数值解法 - 《计算方法》 飞机设计教研室 白巍 7 微分方程数值解 ?提纲挈领 §1、引言 §2、初值问题的数值解法--单步法 §3、龙格-...

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

对于一阶常微分方程组,可以写成向 量形式的单个方程,求解方法与一阶常微分方程...2 8.1 基础知识数值解法一阶常微分方程初值问题的数值解法的主要思想,是...

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

常微分方程数值解 - 第六章 常微分方程数值解 /* Numerical Methods for Ordinary Differential Equations */ ? 考虑阶常微分方程的...

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