1111
EulerEulerEulerEuler法与修正的法与修正的法与修正的法与修正的EulerEulerEulerEuler法法法法
局部截断误差局部截断误差局部截断误差局部截断误差
Range-KuttaRange-KuttaRange-KuttaRange-Kutta公式公式公式公式
常微分方程数值解
2222
一阶常微分方程初值问题一阶常微分方程初值问题一阶常微分方程初值问题一阶常微分方程初值问题::::
⎪⎪⎪⎪⎩⎩⎩⎩
⎪⎪⎪⎪
⎨⎨⎨⎨
⎧⎧⎧⎧
====
>>>>====
00000000
0000
))))((((
),),),),,,,,((((
y
yy
yx
xx
xy
yy
y
x
xx
xx
xx
xy
yy
yx
xx
xf
ff
f
dx
dxdx
dx
dy
dydy
dy
数值方法数值方法数值方法数值方法————————取定离散点取定离散点取定离散点取定离散点: : : : xxxx0000 < < < < xxxx1111 < < < < xxxx2222 < < < < ············ < < < < xxxxNNNN
其中其中其中其中,,,, y y y y = = = = yyyy((((xxxx) ) ) ) 是未知
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数是未知函数是未知函数是未知函数,,,,
右端函数右端函数右端函数右端函数 ffff((((xxxx, , , , y y y y ))))是已知函数是已知函数是已知函数是已知函数, , , , 初值初值初值初值 yyyy0 0 0 0 是已知数据。是已知数据。是已知数据。是已知数据。
求未知函数求未知函数求未知函数求未知函数 yyyy((((xxxx) ) ) ) 在离散点处的近似值在离散点处的近似值在离散点处的近似值在离散点处的近似值
y
yy
y1111, , , , yyyy2222, , , , yyyy3333, , , , ····················, , , , yyyyNNNN
)))),,,,((((1111
n
nn
nn
nn
n
n
nn
nn
nn
n
y
yy
yx
xx
xf
ff
f
h
hh
h
y
yy
yy
yy
y
====
−−−−++++)))),,,,(((( yyyyxxxxffff
dx
dxdx
dx
dy
dydy
dy
==== ����
EulerEulerEulerEuler法与修正的EulerEulerEulerEuler法
3333
求解常微分方程初值问题的求解常微分方程初值问题的求解常微分方程初值问题的求解常微分方程初值问题的EulerEulerEulerEuler方法方法方法方法
取定步长取定步长取定步长取定步长: : : : hhhh,,,,记记记记 xxxx
n
nn
n
= x
= x = x
= x0000 + + + + nhnhnhnh, (, (, (, ( n = n = n = n = 1,2, 1,2, 1,2, 1,2, ············, , , , N N N N ))))
称计算格式称计算格式称计算格式称计算格式: : : : yyyy
n+
n+n+
n+1111 = = = = yyyynnnn + h f + h f + h f + h f(((( x x x xnnnn,,,, y y y yn n n n ) ) ) ) 为为为为EulerEulerEulerEuler公式公式公式公式。
对应的求初值问题数值解的方法称为对应的求初值问题数值解的方法称为对应的求初值问题数值解的方法称为对应的求初值问题数值解的方法称为EulerEulerEulerEuler方法方法方法方法。。。。
例例例例2 2 2 2 用用用用EulerEulerEulerEuler法求初值问题法求初值问题法求初值问题法求初值问题
⎪⎪⎪⎪⎩⎩⎩⎩
⎪⎪⎪⎪
⎨⎨⎨⎨
⎧⎧⎧⎧
====
<<<<<<<<−−−−====
1111))))0000((((
22220000,,,,2222
y
yy
y
x
xx
xxy
xyxy
xyy
yy
y
dx
dxdx
dx
dy
dydy
dy
的数值解。的数值解。的数值解。的数值解。
解解解解: : : : 记记记记 f f f f ((((xxxx, , , , yyyy) = ) = ) = ) = yyyy- x y x y x y x y2222, , , , xxxx
n
nn
n
= = = = nh nh nh nh ( ( ( (n = n = n = n = 0, 1, 2,0, 1, 2,0, 1, 2,0, 1, 2,············, , , , NNNN ) ) ) )
由由由由EulerEulerEulerEuler公式得公式得公式得公式得::::
y
y y
y
n+
n+n+
n+1111 = = = = yyyyn n n n + h+ h+ h+ h( ( ( ( yyyynnnn- x x x xnnnn y y y ynnnn2 2 2 2 ) () () () (n = n = n = n = 0, 1, 0, 1, 0, 1, 0, 1, ············,,,,NNNN))))
4444
取步长取步长取步长取步长
h =
h = h =
h = 2/10, 2/20, 2/30, 2/40, 2/10, 2/20, 2/30, 2/40, 2/10, 2/20, 2/30, 2/40, 2/10, 2/20, 2/30, 2/40, 用用用用EulerEulerEulerEuler法求解法求解法求解法求解
的数值实验结果如下的数值实验结果如下的数值实验结果如下的数值实验结果如下....
N
N N
N 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40
h
h h
h 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05
误差 0.1059 0.0521 0.0342 0.0256 0.1059 0.0521 0.0342 0.0256 0.1059 0.0521 0.0342 0.0256 0.1059 0.0521 0.0342 0.0256
x
xx
x
e
ee
ex
xx
x
x
xx
xy
yy
y −−−−++++−−−−
====
22221111
1111
))))((((
解析解解析解解析解解析解::::
-1 0 1 2 3 4 5
0
0.5
1
1.5
2
o o o o ———————— 数值解数值解数值解数值解
---- ———————— 准确解准确解准确解准确解
Comparison with exact results
-1500
-1000
-500
0
500
1000
1500
0 100 200 300 400 500
Time, t (sec)Time, t (sec)Time, t (sec)Time, t (sec)
T
e
m
p
e
r
a
t
u
r
e
,
T
e
m
p
e
r
a
t
u
r
e
,
T
e
m
p
e
r
a
t
u
r
e
,
T
e
m
p
e
r
a
t
u
r
e
,
Exact solution
h=120
h=240
h=480
θ
(
K
)
θ
(
K
)
θ
(
K
)
θ
(
K
)
Figure 4.Figure 4.Figure 4.Figure 4. Comparison of Euler’s method with exact solution for different step sizes
5555 6666
y
yy
y’
’’
’ = f
= f = f
= f ((((xxxx, , , , yyyy))))
∫∫∫∫
++++
====−−−−++++
1111
))))))))((((,,,,(((())))(((())))(((( 1111
n
nnn
n
nnn
x
xx
x
x
xx
x
n
nn
nn
nn
n
dx
dxdx
dxx
xx
xy
yy
yx
xx
xf
ff
fx
xx
xy
yy
yx
xx
xy
yy
y
)])])])],,,,(((()))),,,,(((([[[[
2222
))))))))((((,,,,(((( 11111111
1111
++++++++++++≈≈≈≈∫∫∫∫
++++
n
nn
nn
nn
nn
nn
nn
nn
n
x
xx
x
x
xx
x
y
yy
yx
xx
xf
ff
fy
yy
yx
xx
xf
ff
f
h
hh
h
dx
dxdx
dxx
xx
xy
yy
yx
xx
xf
ff
f
n
nnn
n
nnn
梯形公式梯形公式梯形公式梯形公式::::
)))),,,,((((1111 nnnnnnnnnnnnnnnn yyyyxxxxhfhfhfhfyyyyyyyy ====−−−−++++
左矩形公式左矩形公式左矩形公式左矩形公式 )))),,,,(((())))))))((((,,,,((((1
111
n
nn
nn
nn
n
x
xx
x
x
xx
x
y
yy
yx
xx
xhf
hfhf
hfdx
dxdx
dxx
xx
xy
yy
yx
xx
xf
ff
f
n
nnn
n
nnn
≈≈≈≈∫∫∫∫
++++
用数值积分方法离散化常微分方程用数值积分方法离散化常微分方程用数值积分方法离散化常微分方程用数值积分方法离散化常微分方程
∫∫∫∫∫∫∫∫
++++++++
====′′′′
11111111
))))))))((((,,,,(((())))((((
n
nnn
n
nnn
n
nnn
n
nnn
x
xx
x
x
xx
x
x
xx
x
x
xx
x
dx
dxdx
dxx
xx
xy
yy
yx
xx
xf
ff
fdx
dxdx
dxx
xx
xy
yy
y����
)])])])],,,,(((()))),,,,(((([[[[
2222 1
11111111111 ++++++++++++ ++++====−−−− nnnnnnnnnnnnnnnnnnnnnnnn yyyyxxxxffffyyyyxxxxffff
h
hh
h
y
yy
yy
yy
y
7777
),(~
n
nn
nn
nn
nn
nn
nn
nn
n
y
yy
yx
xx
xhf
hfhf
hfy
yy
yy
yy
y +=+1111
)])])])]~~~~,,,,(((()))),,,,(((([[[[
2222 111111111111 ++++++++++++
++++++++====
n
nn
nn
nn
nn
nn
nn
nn
nn
nn
nn
nn
n
y
yy
yx
xx
xf
ff
fy
yy
yx
xx
xf
ff
f
h
hh
h
y
yy
yy
yy
y
)])])])],,,,(((()))),,,,(((([[[[
2222 111111111111 ++++++++++++
++++====−−−−
n
nn
nn
nn
nn
nn
nn
nn
nn
nn
nn
nn
n
y
yy
yx
xx
xf
ff
fy
yy
yx
xx
xf
ff
f
h
hh
h
y
yy
yy
yy
y
预预预预----校方法又称为修正的校方法又称为修正的校方法又称为修正的校方法又称为修正的EulerEulerEulerEuler法法法法,,,,算法如下算法如下算法如下算法如下
k
k k
k1111 = = = = ffff((((xxxxn n n n , y, y, y, ynnnn) , ) , ) , ) ,
kkkk2222 = = = = ffff( ( ( ( xxxxn+n+n+n+1111 , , , , yyyynnnn+ h k+ h k+ h k+ h k1111)))) , , , ,
]]]][[[[
2222 222211111111
k
kk
kk
kk
k
h
hh
h
y
yy
yy
yy
y
n
nn
nn
nn
n
++++++++====++++
由梯形公式推出的预由梯形公式推出的预由梯形公式推出的预由梯形公式推出的预----校方法校方法校方法校方法::::
����
8888
-1 0 1 2 3 4 5
0
0.5
1
1.5
预预预预----校方法校方法校方法校方法, , , , hhhh=0.2=0.2=0.2=0.2时
误差最大值误差最大值误差最大值误差最大值: 0.0123: 0.0123: 0.0123: 0.0123
-1 0 1 2 3 4 5
0
0.5
1
1.5
2
n
n n
n 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40
h
h h
h 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05
误差2 0.0123 0.0026 0.0011 5.9612e-0042 0.0123 0.0026 0.0011 5.9612e-0042 0.0123 0.0026 0.0011 5.9612e-0042 0.0123 0.0026 0.0011 5.9612e-004
误差1 0.1059 0.0521 0.0342 0.02561 0.1059 0.0521 0.0342 0.02561 0.1059 0.0521 0.0342 0.02561 0.1059 0.0521 0.0342 0.0256
欧拉方法欧拉方法欧拉方法欧拉方法, , , , hhhh=0.2=0.2=0.2=0.2时
误差最大值误差最大值误差最大值误差最大值: 0.1059: 0.1059: 0.1059: 0.1059
9999
设设设设 yyyy
n
nn
n
= y
= y= y
= y((((xxxx
n
nn
n
), ), ), ), 称称称称 R R R R
n+
n+n+
n+1111=y=y=y=y((((xxxxn+n+n+n+1111) - ) - ) - ) - yyyynnnn+1+1+1+1为为为为局部截断误差局部截断误差局部截断误差局部截断误差....
))))((((
2222
))))((((
))))(((())))(((())))(((())))((((
2222
1111
11111111 ξξξξyyyy
x
xx
xx
xx
x
x
xx
xy
yy
yx
xx
xx
xx
xx
xx
xy
yy
yx
xx
xy
yy
y
n
nn
nn
nn
n
n
nn
nn
nn
nn
nn
nn
nn
nn
nn
n
′′′′′′′′
−−−−
++++′′′′−−−−++++==== ++++++++++++
))))((((
2222
)))),,,,(((())))(((())))((((
2222
1111 ξξξξyyyy
h
hh
h
y
yy
yx
xx
xhf
hfhf
hfx
xx
xy
yy
yx
xx
xy
yy
y
n
nn
nn
nn
nn
nn
nn
nn
n
′′′′′′′′++++++++====++++即即即即
由泰勒公式由泰勒公式由泰勒公式由泰勒公式
EulerEulerEulerEuler公式公式公式公式: : : : yyyy
n+
n+n+
n+1111 = = = = y y y ynnnn+ + + + hf hf hf hf ((((xxxxnnnn, , , , yyyynnnn) ) ) ) 的局部截断误差的局部截断误差的局部截断误差的局部截断误差
y
yy
y((((xxxx
n+
n+n+
n+1111) ) ) ) –––– yyyyn+n+n+n+1111====yyyy((((xxxxnnnn) ) ) ) –––– yyyynnnn+ O+ O+ O+ O((((hhhh2222) = ) = ) = ) = OOOO((((hhhh2222))))
EulerEulerEulerEuler公式的局部截断误差记为公式的局部截断误差记为公式的局部截断误差记为公式的局部截断误差记为:::: OOOO((((hhhh2222) ) ) )
称称称称EulerEulerEulerEuler公式具有公式具有公式具有公式具有1111阶精度。阶精度。阶精度。阶精度。
局部截断误差
10101010
若局部截断误差为若局部截断误差为若局部截断误差为若局部截断误差为: : : : OOOO((((h h h h pppp ++++1111))))则称显式单步法具有则称显式单步法具有则称显式单步法具有则称显式单步法具有 p p p p
阶精度阶精度阶精度阶精度 。。。。
例例例例 3 3 3 3 证明修正的证明修正的证明修正的证明修正的EulerEulerEulerEuler法具有法具有法具有法具有2222阶精度阶精度阶精度阶精度
)])])])]~~~~,,,,(((()))),,,,(((([[[[
2222 111111111111 ++++++++++++
++++++++====
n
nn
nn
nn
nn
nn
nn
nn
nn
nn
nn
nn
n
y
yy
yx
xx
xf
ff
fy
yy
yx
xx
xf
ff
f
h
hh
h
y
yy
yy
yy
y
)))),,,,((((~~~~ 1111 nnnnnnnnnnnnnnnn yyyyxxxxhfhfhfhfyyyyyyyy ++++====++++将预测公式将预测公式将预测公式将预测公式 代入代入代入代入
得得得得 yyyy
n+
n+n+
n+1111 = = = = yyyynnnn + 0.5 + 0.5 + 0.5 + 0.5hhhh[[[[ffff((((xxxxnnnn,y,y,y,ynnnn)+)+)+)+ffff((((xxxxn+n+n+n+1111, , , , yyyynnnn+hf+hf+hf+hf((((xxxxnnnn, y, y, y, ynnnn))]))]))]))]
11111111
y
yy
y
n+
n+n+
n+1111 = = = = yyyynnnn + 0.5 + 0.5 + 0.5 + 0.5hhhh[[[[ffff((((xxxxnnnn,y,y,y,ynnnn)+)+)+)+ffff((((xxxxn+n+n+n+1111, , , , yyyynnnn+hf+hf+hf+hf((((xxxxnnnn, y, y, y, ynnnn))]))]))]))]
f
f f
f((((xxxx
n+
n+n+
n+1111, , , , yyyynnnn+hf+hf+hf+hf((((xxxxnnnn, y, y, y, ynnnn))= ))= ))= ))= ffff((((xxxxnnnn+h+h+h+h, , , , yyyynnnn+hf+hf+hf+hf((((xxxxnnnn, y, y, y, ynnnn))))))))
= = = = f f f f ((((xxxx
n
nn
n
, , , , yyyy
n
nn
n
)+)+)+)+hhhh[[[[ffff
x
xx
x
’
’’
’]]]]
n
nn
n
+ hf
+ hf + hf
+ hf((((xxxx
n
nn
n
,y
,y,y
,y
n
nn
n
) [) [) [) [ffff
y
yy
y
’
’’
’]]]]
n
nn
n
+ O
+ O + O
+ O((((hhhh2222))))
)))),,,,(((())))((((
n
nn
nn
nn
nn
nn
n
y
yy
yx
xx
xf
ff
fx
xx
xy
yy
y ====′′′′
���� )))),,,,(((())))((((
n
nn
nn
nn
nn
nn
n
y
yy
yx
xx
xf
ff
f
dx
dxdx
dx
d
dd
d
x
xx
xy
yy
y ====′′′′′′′′
0.50.50.50.5hhhh[[[[ffff((((xxxx
n
nn
n
,y
,y,y
,y
n
nn
n
)+)+)+)+ffff((((xxxx
n+
n+n+
n+1111, , , , yyyynnnn+hf+hf+hf+hf((((xxxxnnnn, y, y, y, ynnnn))]))]))]))]
====hyhyhyhy’’’’((((xxxx
n
nn
n
)+0.5)+0.5)+0.5)+0.5hhhh2222yyyy””””((((xxxx
n
nn
n
)+0.5)+0.5)+0.5)+0.5hhhh2222yyyy''''((((xxxx
n
nn
n
) [) [) [) [ffff
y
yy
y
’
’’
’]]]]
n
nn
n
+ + + + OOOO((((hhhh3333))))
y
yy
y
n+
n+n+
n+1111 = = = = yyyynnnn + + + + hyhyhyhy’’’’((((xxxxnnnn)+0.5)+0.5)+0.5)+0.5hhhh2222yyyy””””((((xxxxnnnn)+ )+ )+ )+ OOOO((((hhhh3333))))
y
yy
y’
’’
’ = f
= f = f
= f ((((xxxx, , , , yyyy))))
局部截断误差局部截断误差局部截断误差局部截断误差: : : : yyyy((((xxxx
n+
n+n+
n+1111) ) ) ) –––– yyyynnnn+1+1+1+1 = = = = yyyy((((xxxxnnnn) ) ) ) –––– yyyynnnn = = = =OOOO((((hhhh3333))))
故修正的故修正的故修正的故修正的EulerEulerEulerEuler法法法法具有具有具有具有2222阶精度。阶精度。阶精度。阶精度。
⎪⎪⎪⎪⎩⎩⎩⎩
⎪⎪⎪⎪
⎨⎨⎨⎨
⎧⎧⎧⎧
====
>>>>====
00000000
0000
))))((((
),),),),,,,,((((
y
yy
yx
xx
xy
yy
y
x
xx
xx
xx
xy
yy
yx
xx
xf
ff
f
dx
dxdx
dx
dy
dydy
dy
12121212
三阶三阶三阶三阶Range-KuttaRange-KuttaRange-KuttaRange-Kutta公式一般形式公式一般形式公式一般形式公式一般形式
y
yy
y
n+
n+n+
n+1111= y= y= y= ynnnn+ h+ h+ h+ h[[[[kkkk1111++++4444kkkk2222+k+k+k+k3333]]]]////6666
k
kk
k1111=f=f=f=f((((xxxxnnnn,y,y,y,ynnnn)))), , , ,
k
kk
k2222=f=f=f=f((((xxxxnnnn++++0.50.50.50.5h, yh, yh, yh, ynnnn++++0.50.50.50.5hkhkhkhk1111))))
k
kk
k3333=f=f=f=f((((xxxxnnnn+h, y+h, y+h, y+h, yn n n n –––– hk hk hk hk1111+2+2+2+2hkhkhkhk2222))))
四阶四阶四阶四阶Range-KuttaRange-KuttaRange-KuttaRange-Kutta公式一般形式公式一般形式公式一般形式公式一般形式
y
yy
y
n+
n+n+
n+1111= y= y= y= ynnnn+ h+ h+ h+ h[[[[kkkk1111++++2222kkkk2222++++2222kkkk3333+k+k+k+k4444]]]]////6666
k
kk
k1111=f=f=f=f((((xxxxnnnn,y,y,y,ynnnn)))), , , ,
k
kk
k2222=f=f=f=f((((xxxxnnnn++++0.50.50.50.5h, yh, yh, yh, ynnnn++++0.50.50.50.5hkhkhkhk1111))))
k
kk
k3333=f=f=f=f((((xxxxnnnn++++0.50.50.50.5h, yh, yh, yh, ynnnn++++0.50.50.50.5hkhkhkhk2222)))), , , ,
k
kk
k4444=f=f=f=f((((xxxxnnnn+h, y+h, y+h, y+h, ynnnn+hk+hk+hk+hk3333))))
Range-KuttaRange-KuttaRange-KuttaRange-Kutta公式
13131313
⎪⎪⎪⎪⎩⎩⎩⎩
⎪⎪⎪⎪
⎨⎨⎨⎨
⎧⎧⎧⎧
====
≤≤≤≤<<<<−−−−====
1111))))0000((((
22220000,,,,2222
y
yy
y
x
xx
xxy
xyxy
xyy
yy
y
dx
dxdx
dx
dy
dydy
dy
x
xx
x
e
ee
ex
xx
x
x
xx
xy
yy
y −−−−++++−−−−
====
22221111
1111
))))((((
例例例例4444
数值实验数值实验数值实验数值实验::::几种不同求数值解公式的误差比较几种不同求数值解公式的误差比较几种不同求数值解公式的误差比较几种不同求数值解公式的误差比较
n
n n
n 10 20 30 40 10 20 30 40 10 20 30 40 10 20 30 40
h
h h
h 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05 0.2 0.1 0.0667 0.05
RK4 6.862e-005 3.747e-006 7.071e-007 2.186e-007RK4 6.862e-005 3.747e-006 7.071e-007 2.186e-007RK4 6.862e-005 3.747e-006 7.071e-007 2.186e-007RK4 6.862e-005 3.747e-006 7.071e-007 2.186e-007
RK3 0.0012 1.529e-004 4.517e-005 1.906e-005RK3 0.0012 1.529e-004 4.517e-005 1.906e-005RK3 0.0012 1.529e-004 4.517e-005 1.906e-005RK3 0.0012 1.529e-004 4.517e-005 1.906e-005
RK2 0.0123 0.0026 0.0011 5.9612e-004RK2 0.0123 0.0026 0.0011 5.9612e-004RK2 0.0123 0.0026 0.0011 5.9612e-004RK2 0.0123 0.0026 0.0011 5.9612e-004
Euler 0.1059 0.0521 0.0342 0.0256Euler 0.1059 0.0521 0.0342 0.0256Euler 0.1059 0.0521 0.0342 0.0256Euler 0.1059 0.0521 0.0342 0.0256
14141414
差分格式的定性分析差分格式的定性分析差分格式的定性分析差分格式的定性分析
• 差分算法的差分性质
精度:差分方程对源方程的逼近误差
相容性:时空步长趋于0000时,差分方程的极限为源方程
相容性、稳定性、收敛性、耗散性、色散性、
和守恒性等
15151515
稳定性:任何初值扰动对差分数值解的影响随时间推移
不再增加(强稳定)或在一段时间内有界(弱
稳定)
收敛性:当步长趋于0,差分数值解收敛于源问题的真
解
LaxLaxLaxLax等价定理:对一个适定的初值问题,在满足相容
条件的前提下,稳定性是收敛性的充要条件。
耗散性((((diffusion):差分余项对解产生的耗散效应
色散性((((dispersive):差分余项对解产生的色散效应
守恒性:数值解保持真解所固有的守恒性的程度
16161616
收敛性收敛性收敛性收敛性
数值解法的基本思想是,通过某种离散化手段将数值解法的基本思想是,通过某种离散化手段将数值解法的基本思想是,通过某种离散化手段将数值解法的基本思想是,通过某种离散化手段将
微分方程转化为差分方程,如单步法,即微分方程转化为差分方程,如单步法,即微分方程转化为差分方程,如单步法,即微分方程转化为差分方程,如单步法,即
),,,(1 hyxhyy nnnn ϕ+=+
它在它在它在它在 处的解为处的解为处的解为处的解为 ,而初值问题在,而初值问题在,而初值问题在,而初值问题在 的精确解为,,,,
记记记记 称为整体截断称为整体截断称为整体截断称为整体截断 误差误差误差误差. . . .
n
x
n
y
n
x
)(
n
xy
nnn
yxye −= )(
收敛性就是讨论当收敛性就是讨论当收敛性就是讨论当收敛性就是讨论当 固定且固定且固定且固定且
时时时时 的问题的问题的问题的问题. . . .
n
xx = 00 →
−
=
n
xx
h
n
0→
n
e
17171717
定义定义定义定义 若一种数值方法对于固定的若一种数值方法对于固定的若一种数值方法对于固定的若一种数值方法对于固定的 , , , ,当当当当
时有时有时有时有 ,其中,其中,其中,其中 是是是是原问题的原问题的原问题的原问题的确解,确解,确解,确解,
则称该方法是则称该方法是则称该方法是则称该方法是收敛收敛收敛收敛的的的的. . . .
nhxx
n
+= 0
0→h )(
nn
xyy → )( xy
定理定理定理定理 假设单步法具有假设单步法具有假设单步法具有假设单步法具有
p
pp
p
阶精度,且增量函数阶精度,且增量函数阶精度,且增量函数阶精度,且增量函数
关于关于关于关于
y
yy
y
满足利普希茨条件满足利普希茨条件满足利普希茨条件满足利普希茨条件 ),,( hyxϕ
,),,(),,( yyLhyxhyx −≤−
ϕ
ϕϕ
又设初值又设初值又设初值又设初值 是准确的,即是准确的,即是准确的,即是准确的,即 ,则其,则其,则其,则其整体截断误差整体截断误差整体截断误差整体截断误差 0y )( 00 xyy =
).()( p
nn
hOyxy =−
18181818
绝对稳定性与绝对稳定域绝对稳定性与绝对稳定域绝对稳定性与绝对稳定域绝对稳定性与绝对稳定域
定义定义定义定义 若一种数值方法在节点值若一种数值方法在节点值若一种数值方法在节点值若一种数值方法在节点值 上大小为上大小为上大小为上大小为 的扰动,的扰动,的扰动,的扰动,
于以后各节点值于以后各节点值于以后各节点值于以后各节点值 上产生的偏差均不超过上产生的偏差均不超过上产生的偏差均不超过上产生的偏差均不超过 ,则称,则称,则称,则称
该方法是该方法是该方法是该方法是稳定稳定稳定稳定的的的的. . . .
n
y
δ
)( nmy
m
>
δ
以欧拉法为例考察计算稳定性以欧拉法为例考察计算稳定性以欧拉法为例考察计算稳定性以欧拉法为例考察计算稳定性. . . .
例例例例 考察初值问题考察初值问题考察初值问题考察初值问题
⎩
⎨
⎧
=
−=′
.1)0(
,100
y
yy
其准确解其准确解其准确解其准确解 是一个按指数曲线衰减得很快的函数,是一个按指数曲线衰减得很快的函数,是一个按指数曲线衰减得很快的函数,是一个按指数曲线衰减得很快的函数,
如图如图如图如图9-39-39-39-3所示所示所示所示. . . .
x
exy
100)( −=
用欧拉法解方程用欧拉法解方程用欧拉法解方程用欧拉法解方程 得得得得 yy 100−=′
19191919
.)1001(1 nn yhy −=+
若取若取若取若取 ,则欧拉公式的,则欧拉公式的,则欧拉公式的,则欧拉公式的
具体形式为具体形式为具体形式为具体形式为
025.0=h
,5.11 nn yy −=+
可以看到,欧拉方法的解可以看到,欧拉方法的解可以看到,欧拉方法的解可以看到,欧拉方法的解
(图中用(图中用(图中用(图中用××××号标出)在准确值号标出)在准确值号标出)在准确值号标出)在准确值
的上下波动,计算过程明的上下波动,计算过程明的上下波动,计算过程明的上下波动,计算过程明
显地不稳定显地不稳定显地不稳定显地不稳定. . . .
n
y
)(
n
xy
但若取但若取但若取但若取 则计算过程稳定则计算过程稳定则计算过程稳定则计算过程稳定. . . .
nn
yyh 5.0,005.0 1 == +
20202020
再考察后退的欧拉方法,取再考察后退的欧拉方法,取再考察后退的欧拉方法,取再考察后退的欧拉方法,取 时计算公式为时计算公式为时计算公式为时计算公式为 025.0=h
.
5.3
1
1 nn yy =+
计算结果计算结果计算结果计算结果如下如下如下如下,这时计算过程是稳定的,这时计算过程是稳定的,这时计算过程是稳定的,这时计算过程是稳定的. . . .
0067006700670067....00000625062506250625....5555100100100100....0000
0233023302330233....0000375375375375....3333075075075075....0000
0816081608160816....000025252525....2222050050050050....0000
2857285728572857....00005555....1111025025025025....0000
−−−−
−−−−
������������
������
21212121
其中其中其中其中 为为为为 的近似,的近似,的近似,的近似,
为常数为常数为常数为常数, , , , 及及及及 不全为零,则称为不全为零,则称为不全为零,则称为不全为零,则称为线性线性线性线性 步法步法步法步法. . . .
in
y + )(
in
xy + ,),,( 0 ihxxyxff inininin +== ++++
ii
βα , 0α 0β k
线性多步法的一般公式线性多步法的一般公式线性多步法的一般公式线性多步法的一般公式
如果计算如果计算如果计算如果计算 时,除用时,除用时,除用时,除用 的值,还用到的值,还用到的值,还用到的值,还用到
的值,则称此方法为的值,则称此方法为的值,则称此方法为的值,则称此方法为线性多步法线性多步法线性多步法线