前言

说到常微分方程,很多人可能认为,这是通过各种充满技巧性、构造性的手段直接或者间接求导求积分,而且根本想不出来这些技巧从那里冒出来的。因为这样对,所以这样对,所以我以后就这样套公式,就算出结果来了,一验算确实如此。事情并非如此。的确,常微分方程中有一些问题,现在都没有被研究清楚,但是那些基本的、常见的常微分方程问题,并没有什么看不见摸不着的玄学。在这些理论背后,是微积分、线性代数等等基本工具之间朴素而又美妙的联系。这一系列的博客,正想给读者呈现这一点。我们会遵循这样一个原则:先通过代数,将微分方程的结构厘清,再通过微积分,得到所希望得到的结果。可以看下面这个例子:

image-20200501132151024

假如你需要讨论椭圆$\frac{x^2}{4}+y^2-\frac{xy}{2}=1$的性质,那你肯定不愿意。这个椭圆在坐标系中是斜着的,如果要计算各种性质的话,那可能是巨大的计算量,得到一个个令人绝望的二次方程,甚至还有分式等等。但是,如果我们把原来的基旋转一个合适的角度,也就是从${E_1,E_2}$旋转到了${E_1’,E_2’}$,那么在这组新基下,它就是一个很平凡的椭圆了,也就是说,我们只需要讨论在这组新基下表示的椭圆方程就行了。看上去很美好,但是实际可行吗?当然可行。这个变换没有改变椭圆的任何性质。椭圆没有平移,没有变形;周长没有变,面积没有变。我们在这组新基下得到的结果,只需要再反转回去,就是原来所求的结果。

还有一个问题:这个旋转是所谓构造性极强、充满技巧的手段吗?是空穴来风吗?不是。这是利用了线性变换,利用了特征值,利用了矩阵的基本性质。此后,再在新基下运用各种直线方程、微积分方法等等,变得非常简单。这就是我们接下来要运用的思想。

一阶线性方程

一阶线性方程的定义与一个物理学实例

我们接下来要解决的是这种类型的方程

只需要$y’$和$y$的次数都是$1$,而且没有$y^a(y’)^{b}$这种形式出现,就是一个一阶(因为$y’$只求导了一次)线性(只有一次项)方程。

这样的方程自然也有自己的实际价值。例如通过电学中的Kirchhoff’s Circuit Laws,对于一个简单的R-L串联电路(串联有一个电阻、一个电感的直流电电路),我们能得到电流强度方程

其中,$i(t)$表示电流强度,$R$表示串联的电阻,$L$表示电感,$E$表示电压。显然,$i=\frac{E}{R}$就是一个特解。如果我们有$L \neq 0$,那么两边除以$L$,就能得到

这里的$\frac{R}{L}$就可以看成$p(t)$,$\frac{E}{L}$可以看成$q(t)$,尽管都是常数。如果解这个方程(解法会在后面介绍,这个解也可以加以验证),能得到

但是考虑到实际情况,开关闭合之前,电流强度是$0$;直到在闭合的一瞬间$t=0$时,有$i=0$。考虑到这一点,就能直接将常数$C$解出来,也就得到了

从电流问题中得到的启发

上一节我们试图探讨R-L串联电路中电流强度的变化,给出了一个有物理意义的方程,并且解了出来。问题是,为什么会出现常数$e$?

我们在高中就学过,$(e^{x})’=e^x$,或者更普遍一点,$(Ce^x)’=Ce^x$。如果在$x$的系数上做文章,有$(Ce^{-ax})’=-aCe^{ax}$。注意,如果我们令$y=Ce^{-ax}$,那么我们已经得到了

这是最简单的一阶线性方程了。$Ce^{-ax}$的性质和线性方程吻合得很好。但是上面的方程明显比这个复杂,却还是有一个$e$在这里。可不可以认为,形如$y’+ay=b$的方程是由$y’+ay=0$进行“调整”得到的?更进一步,方程$y’+p(x)y=q(x)$是不是由$y’+p(x)y=0$衍生出来的?是怎么衍生出来的?这个解的结构是怎样的?

实际情况是,在讨论多元常微分方程组、高阶常微分方程的时候,我们都还是从指数函数出发,从等式右边等于$0$出发。当然我们现在不应该深入太多。

从高斯消元法到线性微分方程解的结构

高斯消元法,或者是更单纯的求解$n$元一次方程组的办法,我想读者肯定知道计算原理。我们举一个简单的例子

通过高斯消元法,或者单纯说是反复给其中两个方程做加减法和代入,能得到

令$x_3=t$,就能得到$x_1=-2-3t,x_2=1+t$。其中$t \in \mathbb{R}$。这时我们就得到了这个线性方程组的解。为了表示方便,结合矩阵运算的性质,原来的式子可以写成矩阵的形式:

不妨用$A$表示这个矩阵,$v_1=(-2,1,0)^T$,$v_2=(-3,1,1)^T$,$v_0=(0,1,-3)^T$($T$表示转置,这里为了书写简便)。那么可以验证,$Av_1=v_0$,而$Av_2=0$。那么这个式子又可以写成

所以我们想求的未知向量$x=v_1+tv_2$由两部分组成:一部分是符合$Ax=b$的一个特殊解,一部分符合$Ax’=0$,两部分的和代表了所有的解。也就是说,一个线性方程组的解,可能有无穷多个。但是,有一部分保证了解是准确的(也就是上面的$v_1$),有一部分保证解是普遍的(也就是上面的$tv_2$。$v_2$指出了解延伸的骨架,$t$取遍所有实数进行遍历)。

为什么要举高斯消元法这样一个例子呢?这里矩阵乘法是一个线性运算($A(\alpha v+\beta w)=\alpha Av+\beta Aw$),而求导也是一个线性运算($(af+bg)’=af’+bg’$),也就是说,它们都是“平直”的,是没有让问题变复杂的乘积的。电流方程的通解

很好验证,但是是不是也是这样的结构?对于$i_1=\exp(-\frac{R}{L}t)$,通过简单的求导运算可以得到$\frac{di_1}{dt}+\frac{R}{L}i_1=0$。对于$i_2=\frac{E}{R}$,我们已经知道它满足原来的方程。所以$i=Ci_1+i_2$,代入原来的方程,就有

这和上面求三元一次方程组得到的结果是类似的。只是形式不同,但是结构相同。$i_2$保证了解的准确性,$i_1$保证解的普遍性,遍历所有结果。求解一阶线性微分方程,我们已经看清了结构(通过高斯消元法的类比),接下来,需要通过微积分的手段,得到一个合适结论。

一阶线性常微分方程的解决办法

形如$y’+p(x)y=0$的方程的解

显然,$y=0$是这个方程的一个解。如果$y \neq 0$,我们可以将这个方程改写成这个形式

分别对$x$和$y$积分,就能得到

又可以写成

其中$C$为常数。$C=0$时,恰好对应了$y=0$这个解。的确,如果我们解

就能得到$i=C\exp({-\frac{R}{L}t})$。

形如$y’+p(x)y=q(x)$的方程的解

事情似乎变得有点蹊跷。难不成要强行凑出一个满足这个方程的解,然后再加上满足$y’+p(x)y=0$的全体解?并非如此。求出一个满足条件的$y$有很多办法,我会在这里介绍一种比较直观的办法。

实际上,我们知道了$q(x)$就已经足够了。设有$f(x)=e^{-\int p(x)dx}$,设全体解是

其中$\mu(x)$满足$\mu’+p(x)\mu=q(x)$。我们通过已知的$f$和$q$直接求出$\mu$来,从而求出所有解来。

不妨设$\mu(x)=f(x)c(x)$,我们通过几个函数的性质求出$c(x)$来。对$\mu$求导有

这里利用了$f’(x)+p(x)f(x)=0$。而$f(x)与$$p(x)$都是已知的,经过化简就得到了

对$c’$求积分,就得到(其实这是直接写出来)

所以全体解就是

这个时候,$c(x)e^{-\int p(x)dx}$决定了解的准确性,$C \cdot e^{-\int p(x)dx}$决定了解的普遍性。如果我们已经知道了一个特殊值,也就是说$y(x_0)=y_0$,那么方程$y’+p(x)=q(x)$的解就可以准确写成

这并不是什么生拉硬拽的拼凑和巧合,并不需要所谓灵光一现,需要的是对线性运算的基本理解。

不妨再去验证一下刚开始的那个电路方程是不是符合这一结果。

全体解都被包含了吗?

可能这个结论不具有信服力。是不是漏掉了哪些解?

我们已经知道$\mu(x)$是一个解,不妨再设有一个解$y(x)$,那么$y(x)-\mu(x)$是什么样子?如果是$Cf(x)$,那么刚刚好,因为这里的$y$是任意选取的,这就体现了$Cf(x)$的普遍性。实际上

而解$y-\mu$,就得到了$y-\mu=Cf(x)$,所以说,全体解的确是$Cf(x)+\mu$。

你已经意识到了,求不定积分也是求一阶线性微分方程

在初学微积分的时候,求不定积分常常要有一个$+C$。在现在这个框架下这个结果就很明显了。我们求

其实可以看成求

而$y’=0$解得$y=C$,又假设我们已经解得一个函数$F$使得$F’=f$,那么就有

了。$F$保证解的准确,$C$保证解的普遍性。

伯努利方程——将方程化为一阶线性方程

有些方程虽然不是一阶线性方程,但是好在我们能将它经过简单的变换,变成一个一阶线性方程。例如这个方程

虽然甚至都不是线性方程(因为$y$有一个次数是$-1$),但是如果令$z=y^2$,就有

这就得到了一个一阶线性方程了(尽管可能很难算)。一般地讲,对于伯努利方程

两边乘以$(1-n)y^{-n}$,就能得到

在令$z=y^{1-n}$,就能得到

这就是一个一阶线性方程了,计算就变得很简单。