JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

一阶线性方程及其技巧

一条可靠的配方——积分因子——把每个一阶线性方程都化成闭式解。随后两个著名代换,伯努利的和里卡蒂的,又把整族整族的非线性方程偷偷送回这台值得信赖的机器里。

一种样子,一个保证的答案

上一篇指南讲过,可分离方程是一种幸运的巧合——变量恰好能拆开,一旦拆不开,这招就直接失效。这篇指南给你的,是远为可靠的东西。一阶线性方程是这整个台阶里唯一一个总能向一条固定配方投降的微分方程,每一次都行,无需猜测、无需运气。只要你能把方程掰成它的样子,基本上就大功告成。

标准形是 dy/dx + P(x) y = Q(x)。仔细读它:未知量 y 单独出现、只到一次幂,至多被一个 x 的函数相乘——绝不被 y 自己乘、绝不藏在正弦或根号里。正是 y 的这种线性,才是闭式配方存在的全部缘由。右边 Q(x) 是驱动项或源项,只依赖 x;它是驱动系统的输入。若你的方程还不长这样,你的头一件事永远是把它揉成这个确切的模板。

积分因子:把左边变成一个导数

障碍在这里。左边 dy/dx + P(x) y 几乎就是一个乘积的导数——却差那么一点。回想第一卷的乘积法则:(mu y) 对 x 的导数等于 mu (dy/dx) + (d(mu)/dx) y。把它和我们的左边对照:只要那个光秃秃的 y 所带的系数,恰好是 dy/dx 那一项系数的导数,两项就会坍缩成一个利落的项。积分因子正是为了硬逼出这种坍缩而设计的乘子 mu(x)。

把整个标准形方程乘以 mu(x)。左边变成 mu (dy/dx) + mu P y,而我们希望它等于 (mu y) 对 x 的导数 = mu (dy/dx) + (d(mu)/dx) y。让两个 y 项相符,就要求 d(mu)/dx = mu P——这是关于 mu 自身的一个小小可分离方程,其解为 mu(x) = e^{对 P(x) 积分}。那个指数就是那一勺魔法。有了它,左边恰好是 (mu y) 对 x 的导数,方程读作 d/dx(mu y) = mu Q。现在两边各积分一次——动用你早已信赖的原函数——你就到家了:mu y = 积分 mu Q dx + C,故 y = (1/mu)(积分 mu Q dx + C)。

dy/dx + P(x) y = Q(x)            standard form

mu(x) = e^( integral P(x) dx )   the integrating factor

multiply through by mu:
  d/dx ( mu * y ) = mu * Q(x)    left side is now ONE derivative

integrate once:
  mu * y = integral( mu * Q ) dx + C
  y = (1/mu) * ( integral( mu * Q ) dx + C )
完整的积分因子配方:构造 mu,相乘,坍缩成一个导数,积分一次。

走一遍——并读懂答案

看 dy/dx + (1/x) y = x,在 x > 0 上成立。这里 P = 1/x,故 mu = e^{对 1/x 积分} = e^{ln x} = x。乘以 mu = x:方程变成 d/dx(x y) = x^2,左边正如所诺,成了单个导数。积分一次:x y = x^3/3 + C,于是 y = x^2/3 + C/x。一次乘法、一次积分,整族解就现身了——那个 C/x 项正是你对一阶方程所期待的自由度,只有当你给出初始条件时才被钉死。

看看那个答案的结构,因为它是这条阶梯后续一切的种子。C/x 这一块解的是齐次版本(Q = 0),而 x^2/3 这一块是对驱动 Q = x 的一个特解响应。每个线性解都这样拆分:齐次部分加特解部分。当驱动关掉(Q = 0),答案纯是 y = C/mu = C e^{-对 P 积分}——一个衰减或增长的指数,系统自行弛豫。把驱动打开,你只需把它驱动出的响应加上去。这种「齐次加特解」的分解,是后续全部更高阶线性理论的脊梁。

这不是教科书里的玩具。完全一样的方程 dq/dt + q/(RC) = V/R,描述电容通过电阻充电;mu = e^{t/(RC)} 给出熟悉的 q(t) = C_0 V (1 - e^{-t/(RC)}),平滑趋向满电。换掉符号,它就是一个进出流的混合槽,或趋向漂移环境温度的牛顿冷却,或带稳定补给的放射性衰变。只要某个量以「正比于自身再加一个外部推力」的速率变化,就是这个方程——而积分因子对它从不失手。

伯努利:暗中线性的非线性方程

正因为积分因子如此可靠,下一步自然就贪心起来:我们能不能把非线性方程拽进线性形式,让同一台机器把它们做完?常常可以。最著名的例子是伯努利方程,dy/dx + P(x) y = Q(x) y^n。它看上去刚好够不着——右边那个孤零零的 y^n 是唯一的非线性瑕疵,正是这一项让积分因子失去资格。(当 n 为 0 或 1 时方程本就线性,故排除这两种情形。)

  1. 认出模式,读出 n——右边 y 的幂次。
  2. 代入 v = y^{1-n}。对它求导(用链式法则),使 dv/dx 恰好拽出抵消非线性项所需的 y^{-n} 因子。
  3. 方程化为关于 v 的线性方程:dv/dx + (1-n) P(x) v = (1-n) Q(x)。用它的积分因子求解,与上文完全一样。
  4. 还原代换:把 v 换回 y^{1-n},解出 y,得到原变量下的答案。

一幅具体图景:dy/dx + y = y^2,故 n = 2,令 v = y^{1-2} = 1/y。求导得 dv/dx = -y^{-2}(dy/dx),代入后方程坍缩成线性的 dv/dx - v = -1。它的积分因子是 e^{-x},解为 v = 1 + C e^x。还原:y = 1/v = 1/(1 + C e^x)——一条无可辨认错的 S 形曲线。这绝非巧合。当 n = 2 时,刻画有界增长的逻辑斯蒂方程本身就是一个伯努利方程,而这个代换正是求解它的一条干净途径。

里卡蒂:闭式解用尽之处

再上一级,你就撞上里卡蒂方程,dy/dx = q_0(x) + q_1(x) y + q_2(x) y^2——一个常数项、一个线性项,外加那个泄露身份的 y^2。它看上去只比伯努利复杂一点点,但单单这一个二次项就改变了一切。仅凭系数没有任何公式能给出它的通解;一般而言,里卡蒂方程根本无法用初等函数求解。这是一条诚实的数学前沿,是「可解的一阶方程」这一整齐家族走到尽头的地方。

两条生路使它免于无望。其一,一个出色的变换:代换 y = -u'/(q_2 u) 把里卡蒂方程化为关于 u 的二阶线性方程。于是一个非线性一阶方程恰好等价于一个高一阶的线性方程——这正是里卡蒂方程与二阶线性理论及特殊函数纠缠在一起的原因,你将在下一级台阶再度遇见它们。其二,一份不完整的馈赠:若你能设法猜出一个特解 y_1,那么代换 y = y_1 + 1/v 就把余下部分降为一个你能彻底解完的伯努利(实为线性)方程。

把这个论断说精确,因为它很容易被夸大。「一般没有初等解」不等于「没有解」。里卡蒂方程总有货真价实的解——存在性毫无疑问。只是它们未必能表达成初等函数的有限组合,正如 e^{-x^2} 的积分是一个真实、定义明确、却没有初等原函数的数。要把里卡蒂解钉死,你可能需要一个已知特解、一个特殊函数或一种数值方法——但解始终在那里。

退后一步,看清这三者的弧线。积分因子直接解决每个线性方程。伯努利的代换把一个干净的非线性家族线性化,再交回那台机器。里卡蒂的二次项最终打破了魔咒——可即便在那里,结构依然幸存:方程被提升为高一阶的可解线性问题,或向一个幸运的猜测投降。这一级台阶反复教给我们的,是真正的分界线并非「线性对非线性」,而是「有无隐藏结构」,而代换正是你去搜寻那种结构的方式。