一些思想介绍 假设你有一个简单的问题,如: =xy,其中,v(0)=0 对于应用,你所感兴趣的是从t=0积分到t=lV的特性,对于这个问题,结果是 众所周知的 v(t)=voe (2) 但是,对于我们所关心的大多数问题,其精确的结果是不知道的,对于这种 问题用数值方法去近似求解就显得比较重要了。我们将在本课中研究这些复杂的 问题,但通常,我们能够通过一些简单而又典型的问题(如(1))学到很多有关 数值方法的特性 假设我们用一种简单的数值方法去解问题(1): =AV,其中:"=V(nAM)V°= (3) 这种方法通常称为向前欧拉方法,它是基于下面的近似: d|、F("+A)-(t") dt 为了了解向前欧拉方法有多么的精确和有效,我们可以算一下误差大小。特别地, 我们定义 V"≈v(t")≡v,0≤t≤T 这样,作为一种合理的误差估计: E(T)=(-)at 其离散化问题为 △ ,其中,T=N△ 对于一般问题,我们无法计算ν(的精确解),因此,我们无法具体知道E(T) 的特性。但是,对于这个问题我们可以。让我们举一个特例子并画出结果 例: =-1T=1000v=1
一些思想介绍 假设你有一个简单的问题,如: dv v dt = λ ,其中, 0 v(0) = v (1) 对于应用,你所感兴趣的是从t = 0积分到 0 t t = v 的特性,对于这个问题,结果是 众所周知的: 0 ( ) t vt ve λ = (2) 但是,对于我们所关心的大多数问题,其精确的结果是不知道的,对于这种 问题用数值方法去近似求解就显得比较重要了。我们将在本课中研究这些复杂的 问题,但通常,我们能够通过一些简单而又典型的问题(如(1))学到很多有关 数值方法的特性。 假设我们用一种简单的数值方法去解问题(1): n n 1 V V n V t λ + − = Δ ,其中: 0 0 ( ), n V Vnt V v = Δ = (3) 这种方法通常称为向前欧拉方法,它是基于下面的近似: ( )( n n n t dV V t t V t dt t +Δ − ≈ ) Δ 为了了解向前欧拉方法有多么的精确和有效,我们可以算一下误差大小。特别地, 我们定义: ( ) n n V vt v ≈ ≡ n ,0 ≤ t T ≤ 这样,作为一种合理的误差估计: 2 0 () ( ) T E T V v dt = − ∫ 其离散化问题为: 2 0 () ( ) N n n n E T tVv = =Δ − ∑ ,其中,T N= Δt 对于一般问题,我们无法计算v(的精确解),因此,我们无法具体知道 的特性。但是,对于这个问题我们可以。让我们举一个特例子并画出结果。 E T( ) 例: λ = −1 T =1000 0 v =1
v(o) 由向前欧拉方法可以得到 ,“,, m125 0.2 =0.8
( ) t vt e ⇒ = − 由向前欧拉方法可以得到:
" 111111111111111:1:::::::11111111111111 1t11 11111111111 I II111I111111111I111I1111I111I 让我们用分析的思路看一下向前欧拉方法
让我们用分析的思路看一下向前欧拉方法: n n 1 V V n V t λ + − = Δ
"=(1+A△) ="(+△y 对于这个例子: "=(-△ny 而对其误差,我们有 E(T)=△∑(1-△)-e 再简化一些,我们注意到 T1000 T=1000,N 这里我们假设Δ取值可以满足使得N取整数。 E(T)=E(1000=1△∑[(-△)”-e"于 (5) 注释 如果M足够大的话,实际上(当n增加时)是随时间增大的。特别 如果M>2,那么,卩>V 这个问题一个有趣的方面是,如果我们让M=2,则积分500步可以达到 仁=7=1000,这样是合理的。但是,实际的问题是AMt,如果λ2,与增长紧密相关的,我们注意到当AN>1时,P是震荡的, 这由(4)式可以得到: 如果△t>1,则和V的符号是相反的(即×Vn<0)
⇒ 1 (1 ) n n V t λ + = +Δ V ⇒ 0 (1 ) n n VV t = +Δλ 对于这个例子: (1 ) n V = −Δ n t (4) 而对其误差,我们有: 2 0 ( ) [(1 ) ] N n nt n ET t t e− Δ = = Δ −Δ − ∑ 再简化一些,我们注意到: T =1000 , T 1000 N t t = = Δ Δ , 这里我们假设 取值可以满足使得 Δt N 取整数。 ⇒ 1000 2 0 ( ) (1000) [(1 ) ] t n nt n ET E t t e Δ − Δ = = = Δ −Δ − ∑ (5) 注释: * 如果 足够大的话, 实际上 Δt V n (当 n 增加时)是随时间增大的。特别, 如果 Δ >t 2,那么, n n 1 V V + > 这个问题一个有趣的方面是,如果我们让 Δt = 2 ,则积分 500 步可以达到 t=T=1000,这样是合理的。但是,实际的问题是 λΔt ,如果 λ t 2 n V 增长紧密相关的,我们注意到当Δt >1时, n V 是震荡的, 这由(4)式可以得到: 1 n (1 ) (1 ) n n V t + = −Δ = −Δt V 如果 ,则 Δ >t 1 和 的符号是相反的(即 n 1 V + n V 1 0 n n V V + × < )