1.数值方法
1.1 欧拉方法
一阶微分方程dy/dx=f(x,y)(1)d y / d x=f(x, y)\tag{1}dy/dx=f(x,y)(1)
以及初值y(x0)=y0y\left(x_{0}\right)=y_{0}y(x0)=y0给定了函数y(x)y(x)y(x)在初值点(x0,y0)(x_0,y_0)(x0,y0)的切线斜率f(x0,y0)f(x_0,y_0)f(x0,y0)。以该初值为起点,以切线为方向,按照某步长Δx=x1−x0\Delta x=x_1-x_0Δx=x1−x0变化到新点(x1,y1)(x_1,y_1)(x1,y1)。这就是欧拉方法,用公式表述为式(1):
y1=y0+Δxf(x0,y0)(2)y_{1}=y_{0}+\Delta x f\left(x_{0}, y_{0}\right)\tag{2}y1=y0+Δxf(x0,y0)(2)
1.2 龙格库塔方法
欧拉方法也别称为一阶龙格库塔法。
二阶龙格库塔法的通式为:
k1=Δxf(xn,yn),k2=Δxf(xn+αΔx,yn+βk1),yn+1=yn+ak1+bk2(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)dydx=f(x),y(x0)=y0(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)
两边从x0x_0x0到x1x_1x1进行积分,∫x0xg(y(x))y′(x)dx=∫x0xf(x)dx(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),du=y′(x)dxu=y(x), d u=y^{\prime}(x) d xu=y(x),du=y′(x)dx,并改变积分上下限为y(x0)=y0y\left(x_{0}\right)=y_{0}y(x0)=y0和y(x)=yy(x)=yy(x)=y。因此有∫y0yg(u)du=∫x0xf(x)dx(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. 一阶线性微分方程
形如dydx+p(x)y=g(x),y(x0)=y0(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)[dydx+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)[dydx+p(x)y]=ddx[μ(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)
由ddx[μ(x)y]=μ(x)g(x)\frac{d}{d x}[\mu(x) y]=\mu(x) g(x)dxd[μ(x)y]=μ(x)g(x),利用初值y(x0)=y0y\left(x_{0}\right)=y_{0}y(x0)=y0并令μ(x0)=1\mu\left(x_{0}\right)=1μ(x0)=1,可得μ(x)y−y0=∫x0xμ(x)g(x)dx\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)(y0+∫x0xμ(x)g(x)dx)(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μdx=p(x)μ,μ(x0)=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(∫x0xp(x)dx)(12)\mu(x)=\exp \left(\int_{x_{0}}^{x} p(x) d x\right)\tag{12}μ(x)=exp(∫x0xp(x)dx)(12)
注解:积分因子是构造出来的。