微分方程数值解问题复习题
解答提示:
常微分方程初值问题的近似解公式
∑ ⎧
⎪ ⎨
yn+1
=
yn
+
k +1 j=0
a*j Δ j
fn− j+1
⎪⎩ y0 , y1,⋅⋅⋅, yk
∫ ∫ 称为 Admas 内插公式,其中, a*j = (−1) j
0⎛
−1
⎜ ⎝
−t j
⎞ ⎟ ⎠
dt
=
1 j!
0
t(t +1) ⋅⋅⋅ (t +
−1
h
+
1 2
(
∂2u ∂x2
)mn
h2
h
+⋅⋅⋅
=
(
∂u ∂x
)nm
+
1 2
(
∂2u ∂x2
)mn
h
+
⋅
⋅
⋅
因此,向前差商的误差为 O(h) 。
umn
−
un m−1
h
=
umn
−
⎣⎡⎢umn
−
(
∂u ∂x
)mn
h
+
h
1 2
(
∂2u ∂x2
)
n m
h2
+ ⋅⋅⋅⎤⎥ ⎦
=
(
∂u ∂x
)
n m
−
1 2
(
∂2u ∂x2
因此,
en+1
=
y(xn+1) −
y(xn )
−
h(c1K1*
+
c2
K
* 2
)
=
f
(xn ,
y(xn ))h +
1 2
⎡⎣
fx (xn ,
y(xn )) +
f y (xn ,
y(xn )) f
(xn , y(xn ))⎤⎦ h2
+ O(h3)
− c1hf (xn , y(xn )) − c2h ⎡⎣ f (xn , y(xn )) + fx (xn , y(xn ))a2h + f y (xn , y(xn )) f (xn , y(xn ))b21h + O(h2 )⎤⎦
一.常微分方程数值解问题 1.以 h = 0.1 为步长,用欧拉法求初值问题
⎧⎪ dy = xe− y − y ⎨ dx ⎪⎩ y(0) = 1
的数值解,给出 y(1) 的近似值,精确到小数点后三位。
解答提示:
f (x, y) = xe− y − y ,问题的欧拉格式为
⎧⎪ ⎨ ⎪⎩
yn+1 = y0 = 1
K1,
K2
中
yn
替换为
y(
xn
)
所得。
根据一元函数的泰勒公式以及 dy = f (x, y) ,有 dx
y(xn+1) −
y(xn )
=
f
(xn ,
y(xn ))h +
1 2
⎡⎣
fx (xn ,
y(xn )) +
f y (xn ,
y(xn )) f
(xn , y(xn ))⎤⎦ h2
+ O(h3)
K1* = f (xn , y(xn )) ,
1+ λh + 1 λ2h2 + 1 λ3h3 + 1 λ4h4 ≤ 1
2!
3!
4!
这就是格式的绝对稳定区域。
二.抛物型方程的差分方程
1.(1) 简述用差分方法求解抛物型方程初边值问题的数值解的一般步骤。
(2)
写出近似一阶偏导数
(
∂u ∂x
)
n m
的三种有限差分逼近及其误差阶,写出近似
(
∂2u ∂x2
)mn
h
+⋅⋅⋅
因此,向前差商的误差为 O(h) 。
un m+1
−
un m−1
=
⎡⎢umn ⎣
+
(
∂u ∂x
)mn
h
+
1 2
(
∂2u ∂x2
)mn
h
2
+ ⋅⋅⋅⎤⎥⎦
−
⎡⎢umn ⎣
−
(
∂u ∂x
)
n m
h
+
1 2
(
∂2u ∂x2
)mn
h2
+ ⋅⋅⋅⎤⎥⎦
2h
2h
=
( ∂u ∂x
)
n m
+
1 (∂3u 3! ∂x3
+
⋅⋅⋅
因此,近似公式的误差为 O(h2 ) 。
⎛0 1
⎞
⎜ ⎜
1
0
1
⎟ ⎟
2.求 n 阶矩阵方阵 S = ⎜ % % % ⎟ 的特征值。
⎜ ⎜
1
0
1
⎟ ⎟
⎜⎝
1 0⎟⎠
解答提示:
此为对角矩阵,我们有如下结论:
⎛b c
⎞
⎜ ⎜
a
b
c
⎟ ⎟
n 阶三对角矩阵 A = ⎜ % % % ⎟ 的特征值为
j −1)dt 。
∫ a4*
=1 4!
0
t(t +1)(t + 2)(t + 3)dt
−1
2
具体的计算请自己进行。
5.二级二阶 Runge-Kutta 格式为
⎧ ⎪ ⎨
yn+1 = K1 = f
yn + (xn ,
h(c1K1 yn )
+
c2 K2
)
⎪⎩K2 = f (xn + a2h, yn + b21hK1)
的数值解,给出 y(1) 的近似值,精确到小数点后三位。
解答提示:
f (x, y) = − y + x +1,问题的预报-校正格式为
⎧ ⎪⎪ ⎨
y(0) n+1
yn+1
⎪
= =
yn yn
+ +
hf (xn , yn ) = yn + 0.1(−xn + yn
1 2
h
⎣⎡
f
(xn ,
yn ) +
f
( xn+1 ,
考虑对试验方程 dy = λ y 运用这些格式。作为课程设计问题之一,具体的步 dx
骤已经在上课的时候讲过,请自己写上。例如,对于经典四级四阶 Runge-Kutta 格式,我们如此求其绝对稳定区域。
经典四级四阶 Runge-Kutta 格式为
⎧ ⎪
yn+1
⎪
=
yn
+
1 6
h(K1
+
2K2
+
2K3
+
1 2
λ
2h)
yn
=
(λ
+
1 2
λ
2h
+
1 4
λ
3h2
)
yn
K4
=
f (xn
+ h, yn
+ hK3 ) = λ( yn
+ hK3) = λ yn
+ λhK3
= λ yn
+ λh(λ +
1 λ2h + 2
1 4
λ
3h2
)
yn
=
(λ
+
λ2h
+
1 2
λ3h2
+
1 4
λ
4h3 )
yn
因此,
yn+1
=
yn
+
⎨
j=0
⎪⎩ y0 , y1,⋅⋅⋅, yk
∫ 其中, a j
= (−1) j
1⎛
0
⎜ ⎝
−t j
⎞⎟dt ⎠
就是
Admas
外插公式的系数。
⎛t ⎞
⎜ ⎝
j
⎟ ⎠
=
t(t
−1) ⋅⋅⋅ (t j!
−
j
+ 1)
,特别地,
⎛ ⎜ ⎝
t 0
⎞ ⎟ ⎠
=
1,
⎛t⎞ ⎜⎝1⎟⎠
=
t
。
∫ ∫ aj
= (−1) j
1 6
h(K1
+
2K2
+
2K3
+
K4)
=
yn
+
1 6
h
⎡⎢⎣λ
yn
+
2(λ
+
1 2
λ 2h) yn
+
2(λ
+
1 2
λ2h
+
1 4
λ 3h2 )
yn
+
(λ
+
λ2h
+
1 2
λ 3h2
+
1 4
λ 4h3 ) yn
⎤ ⎥⎦
=
yn
+
1 6
h(6λ
+ 3λ 2h
+
λ3h2
+
1 4
λ 4h3 ) yn
=
(1 +
λh
K
* 2
=
f
( xn
+ a2h, y(xn ) + b21hK1*) =
f (xn , y(xn )) +