第3章0102欧拉方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
隐式欧拉公式的局部截断误差: 假设 yn y ( xn ) ,则
h2 2 y ( xn 1 ) yn 1 y ''( xn ) =O(h ) 2
隐式欧拉公式与显式欧拉公式的精度相当,都是一阶方法。
3.1.3 两步欧拉格式
为了提高精度,改用中心差商
1 [ y ( xn1 ) y ( xn1 )] 替 代 2h
yn 1 yn hf ( xn , yn )
2x y' y y 例 用欧拉方法解初值问题 y (0) 1
解
,
其中
x 0,1 。
欧拉公式 yn 1
2 xn yn hf ( xn , yn ) yn h( yn ) yn
wenku.baidu.com
x 0,1 ,取步长 h=0.1,有
过 ( x0 , y0 ) 做以 y( x0 ) f ( x0 , y0 ) 为切线斜率的方程
y y0 f ( x0 , y0 )( x x0 )
当 x x1 时,得 y1 y0 f ( x0 , y0 )( x1 x0 ) ,取 y ( x1 ) y1 。 过 ( x1 , y1 ) 做以 y( x1 ) f ( x1 , y1 ) 为切线斜率的方程
李普希兹(Lipshitz)条件:
存在常数L,使
f ( x, y1 ) f ( x, y2 ) L y1 y2
对所有x∈[a,b]及任何实数y1、y2均成立。
数值解法
定解问题:
y f ( x , y ), y ( x 0 ) y0 x [a , b ]
dy f ( x, y ) dx y ( x0 ) y0
与
yn 1 yn 1 2hf ( xn , yn )
相比较,因此,有 两步欧拉公式的局部截断误差是 O(h3 ) ,是二阶方法。
3.2
改进的欧拉方法
3.2.1. 梯形格式
对微分方程y′=f(x,y) 两边求xn到xn+1 的定积分,有
y ' y xy 2 取步长 h 0.2 ,用欧拉法解初值问题 其中 y (0) 1
解 用欧拉法求解公式,得
2 y n 1 y n hf ( x n , y n ) y n h( y n x n y n )
x 0,0.6。
取步长 h=0.2 时, x 0,0.6,有
的数值解法。 基本思想:常微分方程初值问题的数值解是求微分方程 的解 y ( x ) (即微分方程初值问题的积分曲线) , 在区间 [ a , b ] 中 给定一系列点(节点) xn xn 1 hn ( n 1, 2, )上的近似 值 yn 。这里 hn 为 xn 1 到 xn 的步长,且 hn 0 。
第三章 常微分方程的差分方法
3.1 欧拉方法
3.2 改进的欧拉方法
3.3 龙格-库塔方法
3.4 亚当姆斯方法
3.5 收敛性与稳定性
3.6 方程组和高阶方程的情形
3.7 边值问题
微分方程: 包含自变量、未知函数及未知函数的导数 或微分的方程 常微分方程: 未知函数为一元函数的微分方程 偏微分方程:未知函数为多元函数,从而含有多元函 数偏导数的微分方程
n =0 x0=0
2 x0 2 0 y1 y0 h( y0 ) 1 0.1(1 ) 1.1 y0 1
2 x1 2 0.1 y2 y1 h( y1 ) 1.1 0.1(1.1 ) 1.1918 y1 1.1
n 1 x1 0.1
局部截断误差和阶:数值公式的精度
数值解法: 给定点a=x0<x1<…<xn=b, 将初值问题离散化
为差分方程,求出解函数(积分曲线) y(x) 在这些点的近似 值y1 ,y2 ,…,yn 。所求得的近似值 y1 ,y2 ,…,yn 称为微分方程的 数值解。
差分方法(差分格式)
一阶常微分方程初值问题
dy f ( x, y ) dx y ( x0 ) y0
y yn f ( xn , yn )( x xn )
当 x xn 1 时,得 yn 1 yn f ( xn , yn )( xn 1 xn ) ,取 y ( xn 1 ) yn 。 从 x0 出发逐个算出 x1 , x2 , , xn ,对应的数值解 y1 , y2 , , yn 。 一般取 xn 1 xn h ,得欧拉公式
n =0
2 y1 y0 h y0 x0 y0 1 0.2(1 0 12 ) 0.8
n 1 y2 y1 h y1 x1 y12 0.8 0.2 0.8 0.2 0.82 0.6144
2 2 n 2 y3 y2 h y2 x2 y2 0.6144 0.2 0.6144 0.4 0.6144
局部截断误差的主项系数:
若局部截断误差的主项可以表示为
h RC y ( p 1) ( xn ) ~ O(h p 1 ) ( p 1)!
p 1
则称该格式是p阶的,系数C称为局部截断误差的 主项系数。
欧拉公式的局部截断误差和阶
yn1 yn h f ( xn , yn ) y( xn ) h y( xn )
定义 局部截断误差:假设第n步是准确的,即 y(xn )=yn, 将 y(xn+1 ) - yn+1 定义为数值方法的局部截 断误差。 由于实际上yn不是准确值,因此它的误差会传播 下去。实际计算时,每一步都可能产生舍入误差。 定义 若局部截断误差为O(hp+1), p为正整数,则 称数值公式是p阶公式, 精度是p阶。
h xn1 xn , n 0,1,
设 x0 , x1 , x2 , , xn 等距,步长
y( x )
y x h y x h y x y x h f x , y
令x=xn , x+h=xn+1 , y(xn)≈yn ,y(xn+1 ) ≈yn+1 ,
y( xn ) f ( xn , yn ) 中的导数项,并离散化,有两步欧拉公式 yn 1 yn 1 2hf ( xn , yn )
两步欧拉公式是两步法,要用前两步的值。 两步欧拉公式的局部截断误差:
h2 h3 y ( xn 1 ) y ( xn h) y ( xn ) hy( xn ) y ( xn ) y ( ) 2! 3! h2 h3 y ( xn 1 ) y ( xn h) y ( xn ) hy( xn ) y ( xn ) y ( ) 2! 3!
3.1 欧拉方法 3.1.1 欧拉(Euler)格式
一阶常微分方程 y f ( x, y ) y ( x0 ) y0 的解 y y ( x ) 是通过点 ( x0 , y0 ) 的一条曲线 y y ( x ) ,称之为微分 方程的积分曲线。积分曲线上每一点 ( x, y ) 的切线斜率 y( x) 等于 函数 f ( x, y ) 在这点的值。 1 几何推导 从初始点 P0 ( x0 , y0 ) 出发,做切线 y( x0 ) ,与 x x1 交于 P 1 ( x1 , y1 ) 点,用 y1 作为曲线 y ( x ) 上的点 ( x1 , y ( x1 )) 的纵 坐标 y ( x1 ) 的近似值。 再从 P 与 x x2 交于 P2 ( x2 , y2 ) 1 做切线 y ( x1 ) , 点,用 y2 作为曲线 y ( x ) 上的点 ( x2 , y ( x2 )) 的纵坐标 y ( x2 ) 的近似 值。这样下去便可作出一条折线 P0 P 1P 2 。设已作出折线的顶点 为 Pn ,再从 Pn 做切线 y( xn ) ,推进到 Pn 1 ( xn 1 , yn 1 ) 。
0.461321
3.1.2 隐式欧拉格式
隐式(后退)欧拉公式:
1 取 y ( xn 1 ) 的向后差商 y( xn 1 ) [ y ( xn 1 ) y ( xn )] h
替代 y( xn 1 ) f ( xn 1 , yn 1 ) 中的导数项,并离散化,则有隐式欧拉 公式有 yn 1 yn hf ( xn 1 , yn 1 )
一阶常微分方程: 微分方程中各阶导数的最高阶数为 一阶的
定解条件:
初值问题----给出积分曲线在初始时
刻的状态 边值问题----给出积分曲线在首末两 端的状态
定理:常微分方程初值问题
y f ( x , y ), y ( x 0 ) y0 x [a , b ]
设x0∈[a,b], f(x,y)对 x 连续且关于y满足李普希兹 条件,则上述初值问题在[a,b]上有唯一解。
上二式相减,可得
h3 y ( xn 1 ) y ( xn 1 ) 2hy ( xn ) y ( ) 3 h3 y ( xn 1 ) y ( xn 1 ) 2hy( xn ) y ( ) 3 设 yn y ( xn ) , yn 1 y ( xn 1 ) 前两步准确。则上式成为 h3 y ( xn1 ) yn 1 2hf ( xn , yn ) y( ) 3
二阶泰勒公式
y ( xn 1 ) y ( xn ) y ( xn ) h
1 y ( ) h 2 2
两式相减,由设 yn=y(xn ) ,有
h2 y xn1 yn1 y O h 2 2
欧拉公式的截断误差是O(h2),公式是1 阶 的,局部截断误差的主项系数为1。
初值问题离散化为
yn1 yn h f ( xn , yn ) , y( x0 ) y0 n 0,1, 2,
(欧拉公式)
4 欧拉法的数值积分推导 将方程 y( x) f ( x, y ) 两端从 xn 到 xn1 积分,有
xn1
xn
y( x)dx
当 h 充分小时,忽略高次项得
h2 y( n ) O(h 2 ) 2!
因此,有欧拉公式
yn 1 yn hf ( xn , yn )
初值问题
y f ( x , y ) y( x 0 ) y0
3 欧拉法数值微分推导
y( x h) y( x ) , h
用向前差商代替导数
yn 1 yn hf ( xn , yn )
欧拉公式的几何意义 用一条初始点重合的折线, 来近似表 示微分方程的解(积分曲线) y y ( x ) 。
2 欧拉法的数学推导 泰勒展开法 将 y ( xn 1 ) 在 xn 处做泰勒展开
h2 y ( xn 1 ) y ( xn h) y ( xn ) hy ( xn ) y ( n ) 2!
y y1 f ( x1 , y1 )( x x1 )
当 x x2 时,得 y2 y1 f ( x1 , y1 )( x2 x1 ) ,取 y ( x2 ) y2 。 一般地,过 ( xn , yn ) 做以 y( xn ) f ( xn , yn ) 为切线斜率的方程
xn
xn1
xn
f ( x, y ( x))dx
y ( xn 1 ) y ( xn )
xn1
f ( x, y ( x))dx
算出积分项,可得 y ( xn 1 ) 。利用左矩形公式
xn1
xn
f ( x, y ( x))dx hf ( x, y ( x))
代入,并离散化,有欧拉公式