Loading [MathJax]/jax/output/HTML-CSS/jax.js

010 线性微分方程;积分因子法 Linear Differential Equations; Method of Integrating Factors

如果方程 (1) 中的 f 仅线性依赖于因变量 y,那么 (1) 是一阶线性微分方程。在 1.1 和 1.2 讨论了如下形式的带有限制的一阶线性微分方程。 dydt=ay+b 其中 a,b 是给定常量。

现在考虑更一般的一阶线性微分方程,将 (2) 中的 a,b 替换为任意 t 的函数。通常一阶线性微分方程标准(first-order linear differential equation)形式是 dydt+p(t)y=q(t) 其中 p,q 是给定的 t 的函数。有时也写作下面这种形式 P(t)dydt+Q(t)y=G(t) 其中 P,Q,G 是给定函数。如果 P(t)0,两边同除 P(t) 就可以将 (4) 转化成 (3)

有时,两边同时积分就可以得到一阶线性微分方程的解,比如下面这个例子。

例 1 求解微分方程 (4+t2)dydt+2ty=4t 解:方程 (5) 的左边是 dy/dty 的线性组合,这个组合满足微分乘积关系。事实上 (4+t2)dydt+2ty=ddt((4+t2)y) 那么 (5) 就可以写作 ddt((4+t2)y)=4t 因此,两边对 t 积分可以得到 (4+t2)y=2t2+c 其中 c 是任意积分常量。那么解是 y=2t24+t2+c4+t2

不过大部分的一阶线性微分方程并不能像上个例子这样求解,因为左侧不是 y 与某个函数的乘积的微分。不过,莱布尼茨发现如果微分方程两边同时乘以一个函数 μ(t),就能变成上面例子的形式。函数 μ(t) 称为积分因子(integrating factor)。本节的主要任务就是对给定方程如何求解积分因子。首先来看一个例子。

例 2 求微分方程 dydt+12y=12et/3 的通解。画出一些任意常数 c 对应的解。求解并画出通过点 (0,1) 的解。

解:首先对 (9) 两边同时乘以 μ(t) μ(t)dydt+12μ(t)y=12μ(t)et/3 我们要求的积分因子 μ(t) 能使得 (10) 的左侧是 μ(t)y 的微分,即 ddt(μ(t)y)=μ(t)dydt+dμ(t)dty 方程 (10) 的左侧与 (11) 右侧相等,那么 μ(t) 要满足 dμ(t)dt=12μ(t) (12) 可以重写作 1μ(t)dμ(t)dt=12 等价于 ddtln|μ(t)|=12 那么 ln|μ(t)|=12+Cμ(t)=cet/2 上面是 μ(t) 的通解,也是 (9) 的积分因子。由于无需积分因子的一般形式,可以选择 c=1,那么 μ(t)=et/2

et/2 代入 (10) et/2dydt+12et/2y=12e5t/6 选择的积分因子使得 (15) 的左侧是函数 et/2y 的微分,那么 ddt(et/2y)=12e5t/6 两边同时积分得到 et/2y=35e5t/6+c 其中 c 是任意常量。最后,将 (17) 表达为 y 的函数,那么 (9) 的通解就是 y=35et/3+cet/2 为了求通过 (0,1) 的解,令 t=0,y=1,得到 1=3/5+c,因此 c=2/5,那么通过该点的解是 y=35et/3+25et/2 下图是方程 (18) 的一些 c 对应的解,背景是方向场。满足 y(0)=1 的解是绿色曲线。

现在扩展积分因子法到形式如下的方程 dydt+ay=g(t) 其中 a 是常量,g(t) 是给定函数。根据例 2 积分因子 μ(t) 要满足 dμdt=aμ 那么积分因子是 μ(t)=eat(20) 两边同乘 μ(t) 得到 eatdydt+aeaty=eatg(t) 因此 ddt(eaty)=eatg(t) 两边同时积分得到 eaty=eatg(t)dt+c 其中 c 是任意常量。对于简单的函数 g(t),可以求解出积分,使用初等函数表示 y。不过对于很多复杂的函数 g(t),可能必须要用积分形式表达。这样 y=eattt0easg(s)ds+ceat 积分下限选择 t0 会改变常量 c 的值,但不会改变解。将 t=t0 代入 (24) 得到 c=y(t0)eat0

例 3 求微分方程 dydt2y=4t 的通解,并画出若干个解,分析讨论 t 时的行为。

解:令 a=2 那么 (25) 就是 (20),因此积分因子是 μ(t)=e2t(25) 两边同时乘以积分因子得到 e2tdydt2e2ty=4e2tte2t 那么 ddt(e2ty)=4e2tte2t 两边同时积分得到 e2ty=2e2t+12te2t+14e2t+c(26) 的最后一项使用了分部积分法。因此 (25) 的通解是 y=74+12t+ce2t 下图是 (27) 中若干个 c 对应的解。当 t 很大时,解的决定项是 ce2t。如果 c0,解的绝对值指数级增加,符号与 c 相同。也就是说随着 t 的增加解是分散的。增长到正无穷和负无穷的分界线是 c=0。将 c=0 代入 (27),解是 y=74+12t,线性增长。

现在回到更一般的一阶线性微分方程 (3) dydt+p(t)y=g(t) 其中 p,g 是给定函数。为了确定积分因子,两边同乘 μ(t) 得到 μ(t)dydt+p(t)μ(t)y=μ(t)g(t) 方程 (28) 的左边是 μ(t)y 的微分,那么 μ(t) 必须满足 dμ(t)dt=p(t)μ(t) 如果临时假定 μ(t) 是正的,那么 1μ(t)dμ(t)dt=p(t) 因此 ln|μ(t)|=p(t)dt+k 这里选择任意常量 k 为零,这样使得 μ(t) 尽可能简单 μ(t)=expp(t)dt 注意,这里 μ(t) 是正的,和之前的假设一致。回到方程 (28),有 ddt(μ(t)y)=μ(t)g(t) 因此 μ(t)y=μ(t)g(t)dt+c 其中 c 是任意常量。有时 (32) 的积分可以用初等函数表示。不过更一般的情况是不得不使用积分形式 y=1μ(t)(tt0μ(s)g(s)ds+c) 这里 t0 是某个使得积分简便的下限值。上面的方程涉及两个积分,一个是 (30) 计算 μ(t),第二个就是 (33) 中确定 y 的积分。

例 4 求初值问题 ty+2y=4t2 y(1)=2 解:为了确定 p(t),g(t),首先将 (34) 写作 (3) 的形式。 y+2ty=4t 所以 p(t)=2/t,g(t)=4t。为了求解 (36),首先计算积分因子 μ(t) μ(t)=exp(2tdt)=e2ln|t|=t2 (36) 两边同乘 μ(t) 得到 t2y+2ty=(t2y)=4t3 因此 t2y=4t3dt=t4+c 其中 c 是任意常量。对于 t>0y=t2+ct2 这就是方程 (34) 的通解。

为了满足初值条件 (36),将 t=1,y=2 代入 (37) 得到 2=1+c,那么 c=1,因此 y=t2+1t2,t>0 是初值问题 (34),(35) 的解。这个解如下图绿色曲线所示。

t0 时,y 的正半轴是边界和渐近线。这是因为 p(t) 在原点处无穷间断。

这里还需要注意到 y=t2+1/t2,t<0 是方程 (34) 的通解,但不是初值问题的解。

对于 c<0,当 t0 时,曲线的渐近线是 y 的负半轴。

泛化初始条件 (35)y(1)=y0 那么 c=y01,因此解 (38) 变为 y=t2+y01t2,t>0y0=0 时,c=0,那么 y=t2,这个解也是分界线,且在 t=0 处也可导。

例 5 求初值问题 2y+ty=2 y(0)=1 解:对 (41) 两边同除 2 变成 (3) 的形式 y+t2y=1 那么 p(t)=t/2,因此积分因子 μ(t)=exp(t2/4),那么 (43) 两边同乘 μ(t) 得到 et2/4y+t2et2/4y=et2/4 左边是 et2/4y 的导数,两边同时积分得到 et2/4y=et2/4dt+c (45) 的右边无法无法使用初等函数表示,因此保留积分形式。积分下限选择零,那么 et2/4y=t0es2/4ds+c 其中 c 是任意常量。那么方程 (41) 的通解是 y=et2/4t0es2/4ds+cet2/4 为了满足初始条件 (42),令 t=0,y=1 得到 1=e000es2/4ds+ce0=0+c 因此 c=1

这个例子中不得不使用积分形式来表示解。不过可以使用软件来数值求解积分。或者使用第八章的数值法直接求解微分方程。

下图是若干个 c 对应的解 (47) 的图像。其中满足 y(0)=1 解使用粗体表示。当 t,从图中可以得到一个猜想,所有解都趋于某一个极限。