5 常微分方程数值解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
h yi 1 yi [ f ( xi , yi ) f ( xi 1 , yi 1 )] ( i 0, ... , n 1) 2
3 R y x y O h i 1 i 1 , 注:的确有局部截断误差 i
三、梯形格式
即梯形公式具有2 阶精度,比欧拉方法有了进步。 但注意到该公式是隐式公式,计算时不得不用到 迭代法,其迭代收敛性与欧拉公式相似。
yi 1 yi hf xi , yi
h yi 1 yi f xi , yi f xi 1 , yi 1 2 注:此法亦称为预测-校正法


可以证明该算法具有 2 阶精度,同时可以看到它 是个单步递推格式,比隐式公式的迭代求解过程 简单。后面将看到,它的稳定性高于显式欧拉 法。
值 yi (i 1, ... , n) ,取 y0 。
如果计算 yi 1 ,只用到前一步的值 y i ,则称这 类方法为单步方法。 如果计算yi 1 需用到前r步的值y i , yi 1 , ,则称这类方法为r步方法。
, yi r 1
y f ( x , y ) §2 欧拉方法 y ( x 0 ) y0 一. 欧拉公式(单步显示公式):
y( x1 ) y( x0 ) y( x1 ) h y ( x1 ) y 0 h f ( x1 , y ( x1 ))
x0
x1
yi1 yi hf xi1, yi1 i 0, n 1
由于未知数 yi+1 同时出现在等式的两边,不能直接 得到,故称为隐式 欧拉公式。 而前面学的称为显式欧拉公式。
, 9)
y1 y0 h( y0 y2 y1 h( y1
依次类推 ...
2 x0 ) 1 0.1(1 2 0 ) 1.1 y0 1 2 x1 2 0.1 ) 1.1 0.1(1.1 ) 1.1918 y1 1.1
注 方程的精确解:y 1 2 x
y( x ) e
x2

x
0
e dt
t2
但y(1)、y(1.5)等值却无法直接计算。
§5.1 引 言

一阶常微分方程初值问题:
y f ( x , y ) y ( x 0 ) y0
微分方程 初始条件
利普希茨连续条件(Lipschitz continuity) 是以德国数学家鲁道夫· 利普希茨命名,是一个比通常连续 更强的光滑性条件(称为一致连续)。 | f ( y1 ) f ( y2 ) | | f ( y1 ) f ( y2 ) | L | y2 y1 | L | y2 y1 | 利普希茨连续函数限制了函数改变的速度,符合利普希茨 条件的函数的斜率,必小于一个称为利普希茨常数的实数 L(该常数依函数而定)。
总结
y f ( x , y ) y ( x 0 ) y0
欧拉格式基本思想: 就是用差商代替导数(向前、向后和中心差商) 欧拉格式 隐式欧拉格式 两步欧拉格式
yn1 yn hf ( xn , yn ) yn1 yn hf ( xn1 , yn1 )
yn1 yn1 2hf ( xn , yn )
二、初值问题解的存在性
1. 考虑一阶常微分方程的初值问题
dy f ( x, y) dx y ( a ) y0 x [a , b ]
解存在性定理:
只要 f ( x, y)在 a, b R1 上连续,且关于 y 满足 Lipschitz 条件,即存在与x,y无关的常数 L 使
i
1 2 3 4 5 6 7 8 9 10 11 12
xi
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2
yi
1.000000 0.980000 0.941584 0.888389 0.825250 0.757147 0.688354 0.622018 0.560113 0.503642 0.452911 0.407783
| f ( x, y1 ) f ( x, y2 ) | L | y1 y2 |
对任意定义在 a, b 上的 y1 x , y2 x 都成立, 则上述问题存在唯一解。
2.数值解法
要计算出解函数 y(x) 在一系列节点 a = x0< x1<…< xn= b 处的近似值
y xi
0.990099 0.961538 0.917431 0.863069 0.800000 0.735294 0.671141 0.609756 0.552486 0.500000 0.452489 0.409836
y xi yi
0.009901 0.018462 0.024153 0.026320 0.025250 0.021852 0.017213 0.012262 0.007626 0.003642 0.000422 0.002053
(两步欧拉格式)
计算当前步的值需要用到前两步的值,因此,得 名两步格式。同时,也称前两种方法为单步方法。
y ( xn 1 ) y ( xn ) y( xn ) h y( xn+1 ) y( xn ) y( xn+1 ) h
1 y '( xn )= [ y( xn1 ) y( xn1 )] 2h
解 由题意知:
f ( x, y ) y
根据Euler公式:
y y
2x 0 x1 y (h 0.1)
2x , x0 a 0, n 10, b 1, y0 1 y
yn1 yn hf ( xn , yn ) yn h( yn
代入数据:
2 xn ) ( n 0,1, yn
方 法 显式欧拉 隐式欧拉 梯形公式 Well, call me greedy…

简单 稳定性最好
精度提高

精度低 精度低, 计算量大
计算量大 Do you think it possible?
Can’t you give me a formula with all the advantages yet without any of the disadvantages? OK, let’s make it possible.
yi y( xi ) (i 1, ... , n)
采用离散化方法。 称节点间距 hi xi 1 xi (i 0, ... , n 1) 为步长, 通常采用等距节点,即取 hi = h (常数)。
三、初值问题的离散化方法
离散化方法的基本特点是依照某一递推公式, 按节点从左至右的顺序依次求出 y( xi ) 的近似
例(续) y(0) 1
y y
2x 0 x1 y (h 0.1)
在假设 yi = y(xi),即第 i 步计算是精确的前提 下,考虑的截断误差 Ri = y(xi+1) yi+1 称为局部截断 误差 。
p+1 定义 若某算法的局部截断误差为 O(h ) ,则称该
一阶精度
一阶精度
二阶精度
改进欧拉法格式为
yi 1 yi hf ( xi , yi )
yi 1 h yi [ f ( xi , yi ) f ( xi +1 , yi 1 )] 2
四、改进欧拉法
Step 1: 先用显式欧拉公式作预测,算出
yi 1 yi hf xi , yi
Step 2: 再将 y i 1
代入隐式梯形公式的右边作校正,得到
h yi 1 yi f xi , yi f xi 1 , yi 1 2
嵌套形式 yn1
2 这个初值问题的准确解为 y x 1 1 x ,
可用来检验近似解的准确程度。 从上表最后一列,我们看到取步长 h 0.1
进行计算,数值解已达到了一定的精度。
y( x1 ) y( x0 ) y( x0 ) h
二、后退的欧拉公式
向后差商近似导数
y f ( x , y ) y ( x 0 ) y0
亦称为欧拉 折线法
Euler方法的几何意义
y xn1
...
y0
y x2 y x1

y xn
yn 1
yn
y1
x0 x1
y2
x2
... ...
xn
xn 1
yi 1 yi h f ( xi , yi ) (i 0, ... , n 1)
例 用Euler公式求解初值问题 y(0) 1
定义
算法有p 阶精度。
欧拉法的局部截断误差:
2
泰勒展开式
Ri y( xi 1 ) yi 1 [ y( xi ) hy( xi ) h2 y( xi ) O(h3 )] [ yi hf ( xi , yi )]

h2 2
3 y ( xi ) O(h )
一般先用显式计算一个初值,再迭代求解。
隐式欧拉法的局部截断误差:
Ri y( xi 1 ) yi 1
h2 2
y( xi ) O(h )
3
即隐式欧拉公式具有 1 阶精度。
yn 1 yn h f ( x n 1 , y n 1 ) y0 y( x0 ) 隐式欧拉法没有显式欧拉法方便!但是数值稳定的!
xi)ቤተ መጻሕፍቲ ባይዱhy ( hf ( xi , yi )
Ri 的主项
欧拉法具有 1 阶精度。
例1: 用欧拉公式求解初值问题
2 y 2 xy y 0 1
(0 x 1.2)
取步长 h 0.1。 解: 应用Euler公式于题给初值问题的具体形式为:
2 y y 2 hx y i 0,1,...,11 i 1 i i i y 0 1 其中 xi 0.1i。 计算结果列于下表:
五、欧拉两步格式
1 [ y ( xn 1 ) y ( xn 1 )] 用中心差商 2h 替代方程
y f ( x , y ) y ( x 0 ) y0
y '( xn ) f ( xn , y( xn )) 中的导数项 y '( xn ) ,有
yn1 yn1 2hf ( xn , yn )
h yn f ( xn , yn ) f [ xn1 , yn h f ( xn , yn )] 2


y p yn h f ( x n , y n ) 平均化形式 yc yn h f ( xn1 , y p ) y n 1 ( y p yc ) 2
(Numerical Methods for Ordinary Differential Equations )
常微分方程数值解法 必要性
在工程和科学技术的实际问题中,常需要求解微
分方程。只有简单的和典型的微分方程可以求出解析 解,而在实际问题中的微分方程往往无法求出解析解。
y 1 2 xy 如微分方程初值问题 ,其解析解(精确解)为: y(0) 0
向前差商近似导数
y( x1 ) y( x0 ) y( x0 ) h
x0
x1
a = x0< x1<…< xn= b
记为
y( x1 ) y( x0 ) hy( x0 ) y0 h f ( x0 , y0 )
y1
yi 1 yi h f ( xi , yi ) (i 0, ... , n 1)
含有未知 的函数值
y f ( x , y ) yi1 yi hf xi1, yi1 i 0, n 1 y ( x0 ) y0
yi 1 yi h f ( xi , yi ) (i 0, ... , n 1)
— 显、隐式两种算法的平均
相关文档
最新文档