大车不较,不能载其常任,琴瑟不较,不能成其五音。

这一系列笔记大概是来梳理一下各种常微分方程的解法。证明部分暂时不会作为重点。这篇笔记将梳理常微分方程的基本解法。笔记主要采用的教材是丁同仁老师的《常微分方程教程》和东北师范大学微分方程教研室编著的《常微分方程》。

这篇笔记是对常微分方程的基本求解思路和方法的梳理。

# 基本概念

# 常微分方程

凡是联系自变量 xx, 这个自变量的未知函数 y=y(x)y = y(x) 及其直到 nn 阶导数在内的函数方程

F(x,y,y,y,...,y(n))=0F(x,y,y',y'',...,y^{(n)}) = 0

叫做常微分方程 (ordinary differential equation, ODE), 并称 nn 为常微分方程的

如果在上式中, FFy,y,...,y(n)y,y',...,y^{(n)} 而言都是一次的,那么我们称该方程为线性常微分方程,否则称其为非线性的。如果未知函数是多元的,那么称之为偏微分方程

在研究常微分方程的过程中,我们需要辩证看待常微分方程和偏微分方程的关系,并且需要适时将其进行转化。这样,我们才能灵活求解常微分方程。

# 解和通解

若函数 y=φ(x)y = \varphi (x) 在区间 JJ 内连续,且存在直到 nn 阶的导数。若把 φ(x)\varphi (x) 及其对应的各阶导数代入原方程,得到关于 xx 的恒等式,那么我们称 y=φ(x)y = \varphi(x) 是原方程在区间 JJ 上的一个。如果解 y=φ(x,C1,C2,...,Cn)y = \varphi (x, C_1, C_2,...,C_n) 中包含 nn 个独立的任意常数 C1,C2,...,CnC_1,C_2,...,C_n, 那么我们称其为通解。若解中不包含任意常数,那么我们称其为特解

# 初等积分法

初等积分法就是把微分方程的解通过一些初等函数或它们的积分来表示的方法。这也是我们这一节所探讨的方法。

# 恰当方程

对于形如

p(x,y)dx+q(x,y)dy=0p(x,y)\text dx + q(x,y) \text dy = 0

的方程,如果存在一个可微函数 Φ(x,y)\Phi (x,y) 使得

dΦ(x,y)=p(x,y)dx=q(x,y)dy\text d \Phi (x,y) = p(x,y)\text dx = q(x,y) \text dy

那么我们称其为一个恰当方程,或全微分方程

恰当方程有解的充要条件是

p(x,y)y=q(x,y)x\frac {\partial p(x,y)}{\partial y} = \frac{\partial q(x,y)}{\partial x}

许多时候,形式为 p(x,y)dx+q(x,y)dy=0p(x,y)\text dx + q(x,y) \text dy = 0 的方程不为恰当方程,因此,我们考虑进行简单的配凑使其转化为恰当微分方程。我们称这种方法为积分因子法

# 积分因子法

对形如

p(x,y)dx+q(x,y)dy=0p(x,y) \text dx + q(x,y)\text dy = 0

的方程,如果其不为恰当方程,那么我们尝试配凑函数 μ(x,y)\mu (x,y) 使得

μ(x,y)p(x,y)dx+μ(x,y)q(x,y)dy=0\mu(x,y)p(x,y) \text dx + \mu(x,y)q(x,y)\text dy = 0

即令

μpy=μqx\frac{\partial \mu p}{\partial y} = \frac{\partial \mu q} {\partial x}

成立。

这样,我们就把原方程化为了一个偏微分方程的求解问题。然而,这个偏微分方程与原方程实际上是等价的,因而积分因子法也只能求解部分特殊类型的微分方程。

在采用积分因子进行配凑时,我们需要预先明确配凑的方向,这就需要对常见的全微分公式进行了解。下面几个是常见的全微分公式。

常见的全微分公式

d(xy)=xdy+ydx\text d(xy) = x\text dy + y\text dx

d(yx)=xdyydxx2\text d\left(\frac{y}{x}\right) = \frac{x\text dy - y\text dx}{x^2}

# 变量分离方程

对形如

P(x,y)dx+Q(x,y)dy=0P(x,y)\text dx + Q(x,y)\text dy = 0

的方程,如果 P(x,y)P(x,y)Q(x,y)Q(x,y) 均可以写成独立的关于 xxyy 的函数的乘积,即 P(x,y)=X1(x)Y2(y)P(x,y)=X_1(x)Y_2(y), Q(x,y)=X2(x)Y1(y)Q(x,y)=X_2(x)Y_1(y), 那么原方程可以转化为

X1(x)X2(x)dx+Y1(y)Y2(y)dy=0\frac {X_1(x)}{X_2(x)}\text dx + \frac{Y_1(y)}{Y_2(y)} \text dy = 0

那么我们可以直接积分,得到原方程的解。

对分母为 00 的情况需要单独讨论,否则极易漏解。

变量分离方程是微分方程中的基础,我们求解微分方程的最基本思路就是将等式转化成变量分离方程。

# 一阶线性方程与常数变易法

我们称形如

dydx+P(x)y=Q(x)\frac {\text dy}{\text dx} + P(x)y = Q(x)

的方程为一阶线性微分方程,因为这种方程关于 yyyy' 都是一次的。其中,若 Q(x)=0Q(x) = 0, 则称之为一阶线性齐次方程,否则称为一阶线性非齐次方程

对于一阶线性齐次方程 y+P(x)y=0y' + P(x)y = 0, 我们可以直接分离变量,得到

dyy+P(x)dx=0\frac {\text dy}{y} + P(x) \text dx = 0

这样容易得到解

y=CeP(x)dxy = Ce^{-\int P(x)\text dx}

其中 CC 为常数。

对于非齐次的类型,我们同样进行上述操作,得到

dyy=P(x)dx+Q(x)ydx\frac {\text dy}{y} = - P(x) \text dx + \frac{Q(x)}{y} \text dx

积分得到

y=exp{P(x)dx+Q(x)ydx}y = \exp\left\{-\int P(x) \text dx\ + \int \frac{Q(x)}{y}\text dx\right\}

于是我们设未知的exp{Q(x)ydx}=C(x)\exp\{\int \frac{Q(x)}y \text dx\} = C(x),即设y=C(x)exp{P(x)dx}y = C(x)\exp\{-\int P(x)\text dx\},得到

y+P(x)y=C(x)exp{P(x)dx}=Q(x)y' + P(x)y = C'(x)\exp\left\{-\int P(x) \text dx\right\} = Q(x)

C(x)=Q(x)eP(x)dxdxC(x) = \int Q(x)e^{\int P(x)\text dx} \text dx

就可以得到对应方程的通解。

在其中,我们将齐次方程解中的常数 CC 采用未知函数 C(x)C(x) 代换的方法称为常数变易法

# 初等变换法

我们将借助简单的代换,将一些形式略复杂的微分方程转化为前述一阶线性微分方程的方法统称为初等变换法。判断采用的代换方式,主要取决于方程的基本形式。因此,我们按照方程的形式进行简单分类。

# 齐次微分方程

形如

dydx=φ(yx)\frac{\text dy}{\text dx} = \varphi (\frac yx)

的微分方程称为齐次微分方程

在齐次微分方程中,我们可以采用比值代换,令 u=yxu = \frac yx, 则 dy=udx+xdu\text dy = u \text dx + x \text du, 于是方程转化为

u+xdudx=φ(u)u + \frac{x \text du}{\text dx} = \varphi(u)

duφ(u)u=dxx\frac{\text du}{\varphi(u) - u} = \frac {\text dx}{x}

这样,我们就可以把方程两侧直接积分求解。

此外,对于某些含有常数项的方程,我们可以尝试将其进行平移变换,得到齐次微分方程。

例如,形如

dydx=f(ax+by+cmx+ny+l)\frac{\text dy}{\text dx} = f \bigg( \frac {ax + by + c}{mx + ny + l}\bigg)

的微分方程,我们在 abmn0\begin{vmatrix} a & b\\ m & n \end{vmatrix} \neq 0 时,可以进行平移变换化为齐次微分方程,否则可以直接进行代换 u=mx+nyu = mx + ny, 得到

dudx=a+f(u+cλu+l)\frac {\text du}{\text dx} = a + f\left(\frac{u + c}{\lambda u + l} \right)

这是一个变量分离的方程。

# 伯努利方程

形如

dydx+P(x)y=Q(x)yα\frac{\text dy}{\text dx} + P(x) y = Q(x) y^{\alpha}

的方程称为伯努利方程 (Bernoulli),其中 α\alpha 为常数。

显然,α\alpha = 0$ 或 11 时,方程转化为一阶线性微分方程。否则,我们两侧同乘 yαy^{-\alpha}, 得到

yαdydx+P(x)y1α=Q(x)y^{-\alpha} \frac {\text dy}{\text dx} + P(x) y^{1-\alpha} = Q(x)

11αdy1αdx+P(x)y1α=Q(x)\frac 1{1-\alpha} · \frac {\text dy^{1-\alpha}}{\text dx} + P(x)y^{1-\alpha} = Q(x)

则方程化为一阶线性微分方程。

# 黎卡提方程

若微分方程形式为

dydx=f(x,y)\frac {\text dy}{\text dx} = f(x,y)

f(x,y)f(x,y) 是关于yy 的二次方程,即

dydx=p(x)y2+q(x)y+r(x)\frac {\text dy}{\text dx} = p(x) y^2 + q(x)y + r(x)

那么我们称之为二次微分方程,又叫黎卡提方程 (Riccati)。对于此方程,我们无法用初等积分法得到通解。但在我们得知一个特解y=φ(x)y = \varphi (x) 的情况下,我们可以求出通解。

我们设y=u+φ(x)y = u + \varphi(x),则

dudx+φ(x)=p(x)(u2+2uφ(x)+φ2(x))+q(x)(u+φ(x))+r(x)\frac {\text du}{\text dx} + \varphi ' (x) = p(x) (u^2 + 2u \varphi(x) + \varphi^2(x)) + q(x)(u + \varphi(x)) + r(x)

根据

φ(x)=p(x)φ2(x)+q(x)φ(x)+r(x)\varphi '(x) = p(x)\varphi ^2(x) + q(x)\varphi (x) + r(x)

得到

dudx=p(x)u2+(p(x)φ(x)+q(x))u\frac {\text du}{\text dx} = p(x)u^2 + \big(p(x)\varphi(x) + q(x)\big)u

是伯努利方程,从而可解。

# 参数法

参数法同样是初等变换法的一种,即尝试将变量用参数代换,从而使得微分方程具有简单的形式,最终解得微分方程的参数方程解的方法。这种方法所能求解的微分方程难以总结成为某种特定的形式。但一般情况下,形如f(x,y)=0f(x,y') = 0y=f(x,y)y = f(x,y') 的形式可以尝试进行此种操作。下面是关于参数法的几个例子。

例 1 求解 x1+y2=yx \sqrt{1+y'^2} = y'.

y=tanty' = \tan t, 则x=y/1+y2=sintx = {y'}/{\sqrt{1+y'^2}} = \sin t. 于是

y=ydx=sintdt=cost+Cy = \int y' \text dx = \int \sin t \text dt = -\cos t + C

于是原方程的解为

\left\{ \begin{align*} x & = \sin t \\ y & = -\cos t + C \end{align*} \right.

例 2 求解y=y2xy+12x2y = y'^2 - xy' + \frac{1}{2} x^2.

y=py' = p, 则y=p2xp+12x2y = p^2 - xp + \frac{1}{2}x^2. 则

dydx=2pppxp+x=p\frac{\text dy}{\text dx} = 2pp' - p - xp' + x = p

解得

(2px)(p1)=0(2p-x)(p'-1) = 0

于是其通解为y=12x2+Cx+C\displaystyle y = \frac{1}{2}x^2 + Cx + C, 还有一个特解,为y=14x2\displaystyle y = \frac{1}{4}x^2.

简单观察发现,这个解法的实质就是将微分方程的两侧同时求导,然后进行因式分解得到结果,其中的参数代换实质上只是一个微不足道的形式代换。然而,这一题目只是参数法的一个基本的例子,其希望说明的是,参数法是将方程中难以处理的项 (例如导数项甚至多重导数项) 采用参数进行替代,然后利用导数关系,将原本的高阶问题转化成低阶的微分方程组代入消元求解。即使其配凑和恒等变形的方式与不带入的差别并不大,但是采用求解线性方程组的思想求解,会让思路更加明确。

# 特征方程法