当前位置:
文档之家› 81常微分方程定解问题数值解得概念82初值问题的Euler方法局部截断误差
81常微分方程定解问题数值解得概念82初值问题的Euler方法局部截断误差
f '(x0 )
f (x0 h) h
f (x0 )
由Taylor展开
f (x0 h)
h2 f (x0 ) hf '(x0 ) 2!
f ''( ), x0
x0 h
因此,有误差
R(x)
f
'(x0 )
f
( x0
h) h
f
(x0 )
h 2!
f
''( )
O(h)
向后差商
f '(x0 )
f1(x, y1 , y2 ) f2(x, y1 , y2 )
y1(x0 ) y10 y2(x0 ) y20
-----------(4)
本课程主要研究问题(1)的数值解法,对(2)~(4)只作简单介绍
我们首先介绍初值问题(1)的解存在的条件
定理1.如果连续函数f ( x, y)满足Lipschitz条件,即 正数L, 使得x [a, b],均有
若在点 xk 处的导数用差商来近似代替, 如向前差商
y(xk )
y( xk1) h
y( xk )
则微分方程初值问题化为
y( xk1)
h
y( xk )
f
(xk , y(xk )),
y(a) y0
k 0,1,L , n 1
将近似号改等号,精确解y(xk )改为近似解序列 yk 满足,
y(a) y0 yk1 yk
从(1)的表达式
y f (x, y)
y(a)
y0
a xb
-----------(1)
可以看出,求它的数值解的关键在于
y( x)数值计算问题
或者它的等价的积分方程
y(x) y0
x
f (t, y(t))dt
a
中
积分
x
f (t, y(t))dt
的数值计算问题
a
求解微分方程的数值方法
数值微分
数值积分
xk
xk
y(a) y0
y( xk1)
y ( xk
)
tk1 f ( x, y( x))dx,
tk
k 0,1,L ,n 1
用 yk 和 yk1 近似 y( xk ) 和 y( xk1), 右边用数值积分公式, 如用矩形数值积分公式可得,
y(a) y0
yk
1
yk
hf
(xk ,
Hale Waihona Puke yk ),k 0,1,L , n 1
第八章 常微分方程数值解
§ 8.1 引言(基本求解公式)
在工程和科学技术的实际问题中,常需要求解微分方程
只有简单的和典型的微分方程可以求出解析解 而在实际问题中的微分方程往往无法求出解析解
在高等数学中我们见过以下常微分方程:
y f (x, y) a x b
y(a)
y0
-----------(1)
xk
)
h2 2!
y(k ),
k [ xk , xk1]
略去 h2得, y(xk1) y(xk ) hy(xk ) y(xk ) hf (xk , yk )
将近似号改等号,则得到数值解序列 yk 计算公式:
y(a) y0 yk1 yk
hf
(
xk
,
yk
),
k 0,1,L , n 1
2. 化导数为差商的求解方法思路:
| 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)的数值解
f (x0 ) f (x0 h) h
误差:
R(x)
f '(x0 )
f
(x0 ) f (x0 h
h)
h 2!
f
''( ) O(h)
中心差商
f '(x0 )
f (x0 h) f (x0 h) 2h
R(x) h2 [ f 12
'''(1)
f
'''(2 )]
h2 6
f
'''( ) O(h2)
以上三种方法推导出同一个数值求解公式:
y(a) y0
yk 1
yk
hf
( xk
,
yk
),
k 0,1,L , n 1
这个数值公式称为欧拉(Euler)公式
而数值积分问题我们已经学习过, 下考虑数值微分方法
微积分中,关于导数的定义如下:
f '(x) lim f (x h) f (x)
h0
h
lim f (x) f (x h)
h0
h
lim f (x h) f (x h)
h0
2h
自然而又简单的方法就是,取极限的近似值,即差商!
向前差商
即
xk a kh,
k 0,1,L , n,
其中步长 h b a n
推导初值问题的数值方法的途径: Taylor展开, 利用差商离散导数, 利用数值积分方法
求初值问题数值解的方法是步进法, 即从已知的初值 y0 出发, 通过一定的计算求 y1, 然后由 y1 或 y0 和 y1 求出 y2, 依次计算到 yn ,即, 在计算出 yi (i k ) 后计算 yk1, 这时
常微分方程数值解的基本思想
基本问题:对于微分方程
y f (x, y), a x b
y(a)
y0
要在区间 [a,b] 上的若干离散点 a x0 x1 L xn b
处计算解函数 y(x) 的近似值 y0, y1,L , yn
实际应用中通常取求解区间 [a, b]的等分点作为离散点,
y f (x, y, y) a x b
y(a)
y0
,
y(a)
-----------(2)
y f (x, y, y) a x b
y(a)
y0
,
y(b)
yn
-----------(3)
(1),(2)式称为初值问题,(3)式称为边值问题
另外,在实际应用中还经常需要求解常微分方程组:
y1 y2
hf
(
xk
,
yk
),
k 0,1,L , n 1
3. 数值积分的求解方法思路:
如果将微分方程 y f (x, y) 化成 dy f (x, y)dx,
然后在各小区间 [xk , xk1] 上对其两边进行积分,
即
dy xk1 xk1 f ( x, y)dx, k 0,1,L , n 1
单步法: 只利用 yk 来计算 yk1;
多步法: 计算 yk1 时不仅要利用 yk ,还要用到已算出的 若干个 yk j ( j 1, 2,L ,l 1), 并称为 l 步方法.
1. 泰勒展开的求解方法思路:
可将 y(xk h) y(xk1) 按泰勒级数展开为
y( xk1)
y(
xk
)
hy(