第16节 欧拉方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前向欧拉方法具有一阶精度; 同样可以证明,后向欧拉方法具有一阶精度。
欧拉方法的收敛性
欧拉方法收敛性分析迭代法与真实解变化趋势的差异。
问题: 已知y '(t ) f (t , y ), t [a, b], y (0) y 0 , 分析迭代过程的变化情况。 考虑简单情况,假设f (t , y ) y,则欧拉迭代公式为: y( n 1) y( n ) h y( n ) y( n 1) (1 h ) n y(0) y '(t ) y的解为y e t,当 0时收敛,当 0时发散。 观察迭代公式:y( n 1) (1 h ) n y(0),当 0时发散, 当 0时,如果步长较小,使得 1 h 1 ,则收敛; 当 0时,如果步长较大,使得 1 h 1 ,则发散。
微分方程的初值问题与边值问题
微分方程初值问题: 微分方程边值问题: y ' f ( y, x) y '' f ( y ' y, x) y ( x0 ) b y( x ) a y '' f ( y ' y, x) y ( x0 ) a y '( x ) b 0
第六章 微分方程的初值问题 第一节 欧拉方法
微分方程(组)
微分方程的描述: 1、自变量:x,t, .... 2、因变量:y,z,u,v 3、常微分方程: F ( y ( n ) , y ( n-1) ,..., y '', y ', y, x) 0 微分方程组: F1 ( y ( n ) , y ( n-1) ,..., y '', y ', y, z ( n ) ,..., z, x) 0 (n) ( n -1) (n) F ( y , y ,..., y '', y ', y , z ,..., z, x) 0 2 ... (n) ( n -1) (n) F ( y , y ,..., y '', y ', y , z ,..., z , x) 0 m
( x( n ) , y( n ) )
y ( x( n 1) ) y ( x( n ) ) x( n 1) x( n )
则微分方程组可表示为: y x( n 1) y x( n ) x( n 1) x( n ) 令 h x( n 1) x( n ) , 则有: y x( n 1) y x( n ) hf ( x( n ) , y ( x( n ) )) 又由于y ( x( n ) )未知,令y ( x( n ) ) y x( n ) 则得到前向欧拉方法的迭代公式:
t y
一阶微分方程的解
一阶微分方程组存在唯一性定理: 设D { t , y t [a, b], y R}, 且f (t , y )在D上连续, 如果f 在D上相对变量y满足Lipschitz条件, 则微分方程初值问题: y '(t ) f (t , y ), t [a, b], y (a ) y0 存在唯一解。
分析后向欧拉方法的误差,
y( n 1) 1 ( y(0) e) n (1-h )
梯形公式
目标:求解一阶方程组:y ' f ( x, y ), y ( x(0) ) 0 根据牛顿 - 莱布尼兹公式,有: y ( x( n 1) ) - y ( x( n ) )
x( n1) x( n )
一阶微分方程的解
微分方程:xy ' 1 y 该方程的解为:y 1 Cx 选择初始:x 0, y 1, 则方程有无穷多解 选择初始:x 0, y 2, 则方程无解 选择初值:x 0,则有唯一解
y
x
欧拉方法
前向欧拉方法: 也叫做:左矩形数值求积公式建立Euler法 根据导数的定义,用差商代替微商(导数 )的方法 dy dx
存在常数L 0,对任意 t , y1 , t , y2 D使得:
y1
y2
y1
y2
L
L
y1
y2
y1
y2
一阶微分方程的解
f (t , y ) 如果函数f (t , y )连续, f y (t , y ) 有界, y 则有中值定理: f (t , y1 ) - f (t , y2 ) = f y (t , c) y1 - y2 L y1 - y2 y1 c y2 L max max[ f y (t , y )]
欧拉方法的误差
y
局部误差:初始点y( n )为精确值条件下,
局部 误差 x 步长
y 积累 误差
x( n ) , y( n )
估计y( n 1)时产生的误差。 y ( x( n 1) ) - y( n 1) y ( x( n 1) ) - y( n ) hf ( x( n ) , y( n ) )
y '( x)dx
x( n ) h
x( n )
f ( x, y )dx
利用梯形积分公式,可得: x( n ) h h x( n ) y '( x)dx 2 ( f ( x( n) , y( n) ) f ( x( n1) , y( n1) )) 则: h y( n 1) y( n ) f x( n ) , y( n ) f x( n 1) , y( n 1) 2
常系数线性微分方程解法: an y ( n ) ,..., a2 y '' a1 y ' a0 y f ( x) 拉普拉斯变换: L[an y ( n ) ,..., a2 y '' a1 y ' a0 y ] L[ f ( x)] [an s n ,..., a2 s 2 a1s1 a0 ]Y ( s ) F ( s ) F ( s) Y ( s) an s n ,..., a2 s 2 a1s1 a0 则: y (t ) Y ( s)ds
齐次线性微分方程的通解: Y ( x) c1 y1 ( x) c2 y2 ( x) ... cn yn ( x) 非齐次线性微分方程的通解: Y ( x) c1 y1 ( x) c2 y2 ( x) ... cn yn ( x) y p ( x)
常系数线性微分方程的通解
由于单步误差在迭代过 程中产生积累,从而产 生的误差为积累误差。
x 步长
欧拉方法的局部误差
前向欧拉方法的局部误差 : h2 由于:y ( x( n 1) ) y ( x( n ) h) y ( x( n ) ) hy '( x( n ) ) y ''( x( n ) h) 2 其中, (0,1) 所以:y ( x( n 1) ) - y(eu n 1) h2 y ''( x( n ) h), 记作:O(h 2 ) 2
-1
0
0.2
0.4
0.6
0.8
1
步长选择不同导致数值方法的收敛性不同 当h-> +0 时,欧拉方法的误差-> 0
欧拉方法的稳定性
欧拉方法稳定性分析微小误差在迭代过程中积累的情况。
问题: 已知y '(t ) f (t , y ), t [a, b], y (0) y 0 e, 其中e为初始值的误差,分析误差随迭代过程的变化情况。 讨论一:考虑简单情况,假设f (t , y ) y,则欧拉迭代公式为: y( n 1) y( n ) h y( n ) y( n 1) (1 h ) n ( y(0) e) 如果 1 h 1, 则误差越来越大;反之,如果 1 h 1, 则误差越来越小。 讨论二:一般情况,如果对任意 1 hf ( x, y ) 1, 则误差收敛。

0
y ( x1 ) b
一阶微分方程的解
李普希兹( Lipschitz )条件 : 如果定义在区间D f (t, y1 ) - f (t , y2 ) L y1 - y2 则称该函数满足李普希兹( Lipschitz )条件,L为Lipschitz常数。
2
的函数f (t , y )满足:
eu eu y(eu y hf ( x , y n 1) (n) (n) (n) )
f ( x( n ) , y ( x( n ) ))
欧拉方法
后向欧拉方法: 也叫做:右矩形数值求积公式建立Euler法 根据导数的定义,用差商代替微商(导数 )的方法 dy dx
( x( n1) , y( n1) )
y ( x( n 1) ) y ( x( n ) ) x( n 1) x( n )
则微分方程组可表示为: y x( n 1) y x( n ) x( n 1) x( n ) 令 h x( n 1) x ( n ) , 则有: y x( n 1) y x( n ) hf ( x( n 1) , y ( x( n 1) )) 又由于y ( x( n ) )未知,令y ( x( n ) ) y x( n ) 将上述公式中的y ( x( n 1) )看作未知数, 则求解非线性方程组,得到后向欧拉方法的y(eu n 1) f ( x( n 1) , y ( x( n 1) ))
欧拉方法步长与收敛性
例: y '(t ) 15 y, t 0, y(0) 1
步长h=1/10
2.5 2 1.5 1
步长h=1/7
真实值
0.5
0 1 -15 8 当h , 1 1, 所以发散, -0.5 7 7 7
当h
1 -15 1 -1.5 , 1 1, 所以收敛, 10 10 2 -2
线性微分方程的通解
线性微分方程: an ( x) y ( n ) ,..., a2 ( x) y '' a1 ( x) y ' a0 ( x) y 0, (齐次方程) an ( x) y ( n ) ,..., a2 ( x) y '' a1 ( x) y ' a0 ( x) y f ( x), (非齐次方程)
欧拉方法
dy y x , y (0) 3. dx 5 解:方法一、直接法得: 例:求微分方程 y 22e x / 5 5 x 25 方法二、欧拉方法 (步长h 1) y( n 1) y( n ) +[x( n ) y( n ) 5 ]
3 ] 3.6 5 3.6 x(1) 1, y(1) 3.6, y(2) 3.6 [1 ] 3.32 5 3.32 x(2) 2, y(2) -3.32, y(3) 3.32 [2 ] 1.984 5 1.984 x(3) 3, y(3) 1.984, y(4) 1.984 [3 ] 0.6192 5 0.6192 x(4) 3, y(4) 0.6192, y(5) 0.6192 [4 ] 4.7430 5 x(0) 0, y(0) 3, y(1) 3 [0
欧拉方法的误差
10 8 6 4 2 0 -2 -4 0
1
2
3
4wenku.baidu.com
5
欧拉方法误差随着迭代次数的增加而增加。
欧拉方法的误差
• • • • • • • • • • • • • • • clear all close all clc xeu(1) = -3; N = 5; for iii = 2 : 6 xeu(iii) = xeu(iii - 1) + (iii - 2 + xeu(iii - 1) / 5); end tt = 0 : 0.01 : 5; % figure hold on plot(tt, 22 * exp(tt / 5) - 5 * tt - 25) plot(0 : 5, xeu)
相关文档
最新文档