1.数值方法
1.1 欧拉方法
一阶微分方程 d y / d x = f ( x , y ) (1) d y / d x=f(x, y)\tag{1} dy/dx=f(x,y)(1)
以及初值
y
(
x
0
)
=
y
0
y\left(x_{0}\right)=y_{0}
y(x0)=y0给定了函数
y
(
x
)
y(x)
y(x)在初值点
(
x
0
,
y
0
)
(x_0,y_0)
(x0,y0)的切线斜率
f
(
x
0
,
y
0
)
f(x_0,y_0)
f(x0,y0)。以该初值为起点,以切线为方向,按照某步长
Δ
x
=
x
1
−
x
0
\Delta x=x_1-x_0
Δx=x1−x0变化到新点
(
x
1
,
y
1
)
(x_1,y_1)
(x1,y1)。这就是欧拉方法,用公式表述为式(1):
y
1
=
y
0
+
Δ
x
f
(
x
0
,
y
0
)
(2)
y_{1}=y_{0}+\Delta x f\left(x_{0}, y_{0}\right)\tag{2}
y1=y0+Δxf(x0,y0)(2)
1.2 龙格库塔方法
欧拉方法也别称为一阶龙格库塔法。
二阶龙格库塔法的通式为:
k
1
=
Δ
x
f
(
x
n
,
y
n
)
,
k
2
=
Δ
x
f
(
x
n
+
α
Δ
x
,
y
n
+
β
k
1
)
,
y
n
+
1
=
y
n
+
a
k
1
+
b
k
2
(3)
k_{1}=\Delta x f\left(x_{n}, y_{n}\right), \quad k_{2}=\Delta x f\left(x_{n}+\alpha \Delta x, y_{n}+\beta k_{1}\right), \quad y_{n+1}=y_{n}+a k_{1}+b k_{2}\tag{3}
k1=Δxf(xn,yn),k2=Δxf(xn+αΔx,yn+βk1),yn+1=yn+ak1+bk2(3)
并满足
a + b = 1 , α b = β b = 1 / 2 (4) a+b=1,\alpha b=\beta b=1 / 2\tag{4} a+b=1,αb=βb=1/2(4)
2. 可分离变量的一阶方程
可分离变量的一阶方程可写为
g
(
y
)
d
y
d
x
=
f
(
x
)
,
y
(
x
0
)
=
y
0
(5)
g(y) \frac{d y}{d x}=f(x), \quad y\left(x_{0}\right)=y_{0}\tag{5}
g(y)dxdy=f(x),y(x0)=y0(5)
两边从 x 0 x_0 x0到 x 1 x_1 x1进行积分, ∫ x 0 x g ( y ( x ) ) y ′ ( x ) d x = ∫ x 0 x f ( x ) d x (6) \int_{x_{0}}^{x} g(y(x)) y^{\prime}(x) d x=\int_{x_{0}}^{x} f(x) d x\tag{6} ∫x0xg(y(x))y′(x)dx=∫x0xf(x)dx(6)
进行变量替换 u = y ( x ) , d u = y ′ ( x ) d x u=y(x), d u=y^{\prime}(x) d x u=y(x),du=y′(x)dx,并改变积分上下限为 y ( x 0 ) = y 0 y\left(x_{0}\right)=y_{0} y(x0)=y0和 y ( x ) = y y(x)=y y(x)=y。因此有 ∫ y 0 y g ( u ) d u = ∫ x 0 x f ( x ) d x (7) \int_{y_{0}}^{y} g(u) d u=\int_{x_{0}}^{x} f(x) d x\tag{7} ∫y0yg(u)du=∫x0xf(x)dx(7)
3. 一阶线性微分方程
形如 d y d x + p ( x ) y = g ( x ) , y ( x 0 ) = y 0 (8) \frac{d y}{d x}+p(x) y=g(x), \quad y\left(x_{0}\right)=y_{0}\tag{8} dxdy+p(x)y=g(x),y(x0)=y0(8)
的方程。微分方程的求解借助于名为积分因子的函数
μ
(
x
)
\mu(x)
μ(x)的求解。积分因子是这样一个函数,它乘以式(8)后得到的式子为
μ
(
x
)
[
d
y
d
x
+
p
(
x
)
y
]
=
μ
(
x
)
g
(
x
)
(8)
\mu(x)\left[\frac{d y}{d x}+p(x) y\right]=\mu(x) g(x)\tag{8}
μ(x)[dxdy+p(x)y]=μ(x)g(x)(8)
而该式左边等于一个积分
μ
(
x
)
[
d
y
d
x
+
p
(
x
)
y
]
=
d
d
x
[
μ
(
x
)
y
]
(9)
\mu(x)\left[\frac{d y}{d x}+p(x) y\right]=\frac{d}{d x}[\mu(x) y]\tag{9}
μ(x)[dxdy+p(x)y]=dxd[μ(x)y](9)
由
d
d
x
[
μ
(
x
)
y
]
=
μ
(
x
)
g
(
x
)
\frac{d}{d x}[\mu(x) y]=\mu(x) g(x)
dxd[μ(x)y]=μ(x)g(x),利用初值
y
(
x
0
)
=
y
0
y\left(x_{0}\right)=y_{0}
y(x0)=y0并令
μ
(
x
0
)
=
1
\mu\left(x_{0}\right)=1
μ(x0)=1,可得
μ
(
x
)
y
−
y
0
=
∫
x
0
x
μ
(
x
)
g
(
x
)
d
x
\mu(x) y-y_{0}=\int_{x_{0}}^{x} \mu(x) g(x) d x
μ(x)y−y0=∫x0xμ(x)g(x)dx,求得:
y
(
x
)
=
1
μ
(
x
)
(
y
0
+
∫
x
0
x
μ
(
x
)
g
(
x
)
d
x
)
(10)
y(x)=\frac{1}{\mu(x)}\left(y_{0}+\int_{x_{0}}^{x} \mu(x) g(x) d x\right)\tag{10}
y(x)=μ(x)1(y0+∫x0xμ(x)g(x)dx)(10)
为求积分因子,展开式(9),得
d
μ
d
x
=
p
(
x
)
μ
,
μ
(
x
0
)
=
1
(11)
\frac{d \mu}{d x}=p(x) \mu, \quad \mu\left(x_{0}\right)=1\tag{11}
dxdμ=p(x)μ,μ(x0)=1(11)
这是可分离变量微分方程,得
μ
(
x
)
=
exp
(
∫
x
0
x
p
(
x
)
d
x
)
(12)
\mu(x)=\exp \left(\int_{x_{0}}^{x} p(x) d x\right)\tag{12}
μ(x)=exp(∫x0xp(x)dx)(12)
注解:积分因子是构造出来的。