1.一阶微分方程

1.数值方法

1.1 欧拉方法

  一阶微分方程dy/dx=f(x,y)(1)d y / d x=f(x, y)\tag{1}

以及初值y(x0)=y0y\left(x_{0}\right)=y_{0}给定了函数y(x)y(x)在初值点(x0,y0)(x_0,y_0)的切线斜率f(x0,y0)f(x_0,y_0)。以该初值为起点,以切线为方向,按照某步长Δx=x1x0\Delta x=x_1-x_0变化到新点x1,y1(x_1,y_1)。这就是欧拉方法,用公式表述为式(1):
y1=y0+Δxf(x0,y0)(2)y_{1}=y_{0}+\Delta x f\left(x_{0}, y_{0}\right)\tag{2}
1.一阶微分方程

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}

并满足

a+b=1αb=βb=1/2(4)a+b=1,\alpha b=\beta b=1 / 2\tag{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}

两边从x0x_0x1x_1进行积分,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}

进行变量替换u=y(x),du=y(x)dxu=y(x), d u=y^{\prime}(x) d x,并改变积分上下限为y(x0)=y0y\left(x_{0}\right)=y_{0}y(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}

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}

的方程。微分方程的求解借助于名为积分因子的函数μ(x)\mu(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)[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}

ddx[μ(x)y]=μ(x)g(x)\frac{d}{d x}[\mu(x) y]=\mu(x) g(x),利用初值y(x0)=y0y\left(x_{0}\right)=y_{0}并令μ(x0)=1\mu\left(x_{0}\right)=1,可得μ(x)yy0=x0xμ(x)g(x)dx\mu(x) y-y_{0}=\int_{x_{0}}^{x} \mu(x) g(x) d x,求得:
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}

为求积分因子,展开式(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}

这是可分离变量微分方程,得
μ(x)=exp(x0xp(x)dx)(12)\mu(x)=\exp \left(\int_{x_{0}}^{x} p(x) d x\right)\tag{12}

注解:积分因子是构造出来的。