微分方程(中级)

微分方程解法的底层原理:为什么要这么做?

微分方程的本质是函数与其各阶导数之间的约束关系,比如 (y’ = 2x) 就是“函数的导数等于2x”,求解的目标就是打破这个导数约束,还原出满足约束的函数 (y(x))

所有解法的核心逻辑只有两条:

  1. 降维/降阶:把高阶导数降为低阶,把多元变量约束拆为单一变量约束。

  2. 线性化/代数化:把非线性方程转化为线性方程,把微分方程转化为代数方程。

下面我们逐个拆解每种解法的“为什么”:


一、一阶微分方程:从“约束”到“可积分”

1. 可分离变量方程:为什么要分离变量?

  • 方程形式:(\frac{dy}{dx} = f(x)g(y))

  • 约束本质:导数 (\frac{dy}{dx}) 被拆成了只含 (x) 的函数 (f(x)) 和只含 (y) 的函数 (g(y)) 的乘积。

  • 为什么要分离:积分运算只能对单一变量进行,我们无法直接对 (\frac{dy}{dx} = f(x)g(y)) 两边同时积分(因为左边是对x的导数,右边是x和y的混合)。所以我们把 (y) 相关的项移到左边,(x) 相关的项移到右边:
    [
    \frac{dy}{g(y)} = f(x)dx
    ]
    这样左边只含 (y),右边只含 (x),两边就可以分别对各自变量积分了:
    [
    \int \frac{dy}{g(y)} = \int f(x)dx + C
    ]

  • 本质把导数的乘积约束,转化为两个单变量微分的等式,从而可以通过积分还原原函数


2. 齐次方程:为什么要令 (u = \frac{y}{x})?

  • 方程形式:(\frac{dy}{dx} = g\left(\frac{y}{x}\right))

  • 约束本质:导数 (\frac{dy}{dx}) 只依赖于比值 (\frac{y}{x}),这是一种尺度不变性——把 (x) 和 (y) 同时放大k倍,(\frac{ky}{kx} = \frac{y}{x}),方程形式不变。

  • 为什么要换元 (u = \frac{y}{x}):这个换元的目的是把二元的 ((x,y)) 约束,转化为一元的 (u) 约束。由 (y = ux),对 (x) 求导得:
    [
    \frac{dy}{dx} = u + x\frac{du}{dx}
    ]
    代入原方程:
    [
    u + x\frac{du}{dx} = g(u)
    ]
    整理后就变成了可分离变量方程
    [
    \frac{du}{g(u) - u} = \frac{dx}{x}
    ]

  • 本质利用齐次方程的尺度不变性,通过换元消去变量的耦合,转化为可分离变量方程


3. 一阶线性非齐次方程:为什么要乘“积分因子”?

  • 方程形式:(y’ + p(x)y = q(x))

  • 约束本质:这是一个线性约束,(y’) 和 (y) 被线性组合起来等于 (q(x)),直接积分无法处理 (p(x)y) 这一项。

  • 为什么要构造积分因子 (\mu(x) = e^{\int p(x)dx}):我们的目标是把左边凑成某个函数的全导数,这样就可以直接积分。假设我们给方程两边乘一个未知函数 (\mu(x)):
    [
    \mu(x)y’ + \mu(x)p(x)y = \mu(x)q(x)
    ]
    我们希望左边是 (\frac{d}{dx}[\mu(x)y]),根据乘积求导法则:
    [
    \frac{d}{dx}[\mu(x)y] = \mu(x)y’ + \mu’(x)y
    ]
    对比系数,我们需要:
    [
    \mu’(x) = \mu(x)p(x)
    ]
    解这个简单的可分离变量方程,就得到了积分因子:
    [
    \mu(x) = e^{\int p(x)dx}
    ]
    此时左边就变成了全导数,两边积分即可:
    [
    \mu(x)y = \int \mu(x)q(x)dx + C
    ]

  • 本质通过构造一个辅助函数(积分因子),将线性非齐次方程转化为可直接积分的全导数形式,这是“凑导数”思想的典型应用。


4. 伯努利方程:为什么要换元 (z = y^{1-\alpha})?

  • 方程形式:(y’ + p(x)y = q(x)y^\alpha\ (\alpha \neq 0,1))

  • 约束本质:这是一个非线性约束,因为右边有 (y^\alpha) 项,线性方程的解法失效。

  • 为什么要换元 (z = y^{1-\alpha}):我们的目标是把非线性项 (y^\alpha) 消掉,转化为线性方程。对 (z = y^{1-\alpha}) 求导:
    [
    z’ = (1-\alpha)y^{-\alpha}y’
    ]
    原方程两边乘 ((1-\alpha)y^{-\alpha}):
    [
    (1-\alpha)y^{-\alpha}y’ + (1-\alpha)p(x)y^{1-\alpha} = (1-\alpha)q(x)
    ]
    代入 (z = y^{1-\alpha}) 和 (z’ = (1-\alpha)y^{-\alpha}y’),就得到了一阶线性方程
    [
    z’ + (1-\alpha)p(x)z = (1-\alpha)q(x)
    ]

  • 本质通过幂次换元,将非线性的幂次项线性化,把伯努利方程转化为我们已经会解的一阶线性方程


二、二阶可降阶方程:从“二阶”到“一阶”

二阶方程的约束是 (y’')(二阶导数),我们的目标是把二阶导数降为一阶导数 (y’),这样就可以用一阶方程的解法来处理。

1. (y’’ = f(x, y’))(不显含 (y)):为什么令 (p = y’)?

  • 约束本质:方程里只有 (x, y’, y’‘),没有 (y),所以 (y’‘) 是 (y’) 对 (x) 的导数。

  • 为什么令 (p = y’):直接把 (p) 当作新的未知函数,那么 (y’’ = \frac{dp}{dx} = p’),原方程就变成了关于 (p(x)) 的一阶方程
    [
    p’ = f(x, p)
    ]
    解出 (p = \varphi(x, C_1)) 后,再对 (p = y’) 积分一次就得到 (y(x))。

  • 本质消去 (y),直接将二阶导数降为一阶导数,把二阶问题转化为一阶问题


2. (y’’ = f(y, y’))(不显含 (x)):为什么要用链式法则?

  • 约束本质:方程里只有 (y, y’, y’‘),没有 (x),所以 (y’‘) 是 (y’) 对 (y) 的导数(而不是对 (x))。

  • 为什么要用链式法则 (y’’ = p\frac{dp}{dy}):令 (p = y’),我们想把 (y’‘) 从对 (x) 的导数,变成对 (y) 的导数,这样方程里就只有 (y) 和 (p) 了。根据链式法则:
    [
    y’’ = \frac{dp}{dx} = \frac{dp}{dy} \cdot \frac{dy}{dx} = p\frac{dp}{dy}
    ]
    代入原方程,就得到了关于 (p(y)) 的一阶方程
    [
    p\frac{dp}{dy} = f(y, p)
    ]
    解出 (p = \varphi(y, C_1)) 后,再分离变量 (\frac{dy}{\varphi(y, C_1)} = dx) 积分得到 (y(x))。

  • 本质改变导数的自变量,从 (x) 切换到 (y),从而将二阶方程降为一阶方程


三、线性微分方程解的结构:线性空间的逻辑

线性微分方程的解满足线性叠加原理,这是由线性微分算子的性质决定的。我们定义线性微分算子 (L = \frac{d2}{dx2} + p(x)\frac{d}{dx} + q(x)),那么二阶线性方程可以写成:
[
L(y) = f(x)
]
齐次方程就是 (L(y) = 0)。

1. 为什么齐次解可以线性组合?

  • 原理:线性算子 (L) 满足线性性
    [
    L(C_1 y_1 + C_2 y_2) = C_1 L(y_1) + C_2 L(y_2)
    ]
    如果 (y_1, y_2) 是齐次方程的解,即 (L(y_1) = 0),(L(y_2) = 0),那么:
    [
    L(C_1 y_1 + C_2 y_2) = C_1 \cdot 0 + C_2 \cdot 0 = 0
    ]
    所以它们的线性组合也是齐次解。

  • 本质齐次解构成一个线性空间(解空间),线性空间中的向量可以任意线性组合


2. 为什么通解需要“线性无关”的解?

  • 原理:线性空间的维数等于方程的阶数(二阶方程维数为2),要张成整个空间,需要维数个线性无关的基向量(解)。如果 (y_1, y_2) 线性相关(即 (y_1 = k y_2)),那么 (C_1 y_1 + C_2 y_2 = (C_1 k + C_2) y_2),本质上只有一个独立解,无法覆盖所有解。只有当 (y_1, y_2) 线性无关时,(C_1 y_1 + C_2 y_2) 才能表示所有齐次解。

  • 本质线性无关解是解空间的一组基,基的个数等于方程的阶数


3. 为什么非齐次通解 = 齐次通解 + 非齐次特解?

  • 原理:设 (Y(x)) 是齐次通解((L(Y) = 0)),(y^(x)) 是非齐次特解((L(y^) = f(x))),那么:
    [
    L(Y + y^) = L(Y) + L(y^) = 0 + f(x) = f(x)
    ]
    所以 (Y + y^) 是非齐次解。反过来,任何非齐次解 (y(x)) 都可以写成 (y(x) = Y(x) + y^(x)),因为 (L(y - y^) = L(y) - L(y^) = f(x) - f(x) = 0),即 (y - y^*) 是齐次解。

  • 本质非齐次解的集合是齐次解空间的一个“仿射平移”,平移向量就是一个特解


四、常系数线性齐次方程:特征方程法的本质——指数函数的“导数不变性”

1. 为什么假设解是 (y = e^{rx})?

  • 方程形式:(y’’ + p y’ + q y = 0)((p, q) 为常数)

  • 约束本质:这是常系数线性约束,导数的系数是常数,我们需要找一个函数,它的导数和自身是线性比例关系,这样代入后才能消去导数。

  • 为什么选 (e^{rx}):指数函数的导数性质是形式不变的:
    [
    \frac{d}{dx}e^{rx} = r e^{rx}, \quad \frac{d2}{dx2}e^{rx} = r^2 e^{rx}
    ]
    代入方程后,(e^{rx}) 可以被约掉,得到代数方程
    [
    r^2 + p r + q = 0
    ]
    这就是特征方程,解出 (r) 就得到了指数解。

  • 本质利用指数函数导数形式不变的特性,将微分方程转化为代数方程,把“求导”问题变成“解方程”问题


2. 为什么重根要乘 (x)?

  • 场景:当特征方程有重根 (r_1 = r_2 = r) 时,原来的两个解 (e^{rx}, e^{rx}) 线性相关,无法构成通解。

  • 为什么乘 (x):我们可以用极限的思想构造第二个线性无关解:
    [
    \lim_{r_2 \to r_1} \frac{e^{r_2 x} - e^{r_1 x}}{r_2 - r_1} = x e^{r x}
    ]
    这个极限函数 (x e^{rx}) 也是方程的解,且与 (e^{rx}) 线性无关。直接验证:代入 (y = x e^{rx}),(y’ = e^{rx} + r x e^{rx}),(y’’ = 2 r e^{rx} + r^2 x e^{rx}),代入方程:
    [
    (2 r e^{rx} + r^2 x e^{rx}) + p(e^{rx} + r x e^{rx}) + q(x e^{rx}) = e^{rx}[2r + p + x(r^2 + p r + q)]
    ]
    因为 (r) 是重根,所以 (r^2 + p r + q = 0) 且 (2r + p = 0),所以上式等于0,满足方程。

  • 本质重根时,通过乘 (x) 来生成新的线性无关解,保证解空间的维数不变


3. 为什么复根要写成三角函数形式?

  • 场景:当特征根是共轭复根 (r = \alpha \pm i\beta) 时,指数解是 (e^{(\alpha+i\beta)x}) 和 (e^{(\alpha-i\beta)x}),这是复值函数,我们需要实值解。

  • 为什么用欧拉公式转化:根据欧拉公式 (e^{i\theta} = \cos\theta + i\sin\theta),我们可以把复指数解线性组合成实值解:
    [
    \frac{1}{2}(e^{(\alpha+i\beta)x} + e^{(\alpha-i\beta)x}) = e^{\alpha x}\cos\beta x
    ]
    [
    \frac{1}{2i}(e^{(\alpha+i\beta)x} - e^{(\alpha-i\beta)x}) = e^{\alpha x}\sin\beta x
    ]
    这两个实值函数线性无关,构成了实解空间的基。

  • 本质复解的实部和虚部是线性无关的实解,通过线性组合将复指数解转化为物理上可观测的实值解


五、常系数线性非齐次方程:待定系数法的本质——“匹配形式”

1. 为什么特解要假设成和 (f(x)) 同形式?

  • 方程形式:(L(y) = f(x)),(L) 是常系数线性算子。

  • 约束本质:常系数线性算子作用在多项式、指数函数、三角函数上时,结果的形式不会改变:

    • (L(P_m(x)e^{rx}) = Q_m(x)e^{rx})(还是 (m) 次多项式乘指数)
    • (L(e^{\alpha x}\cos\beta x) = e^{\alpha x}(A\cos\beta x + B\sin\beta x))(还是指数乘三角函数)所以我们假设特解 (y^*) 和 (f(x)) 同形式,代入后可以通过比较系数确定未知参数。
  • 本质利用算子的形式不变性,假设特解与 (f(x)) 同构,通过系数匹配求解


2. 为什么重根要乘 (x^k)?

  • 场景:如果 (f(x)) 的形式和齐次解一样(比如 (f(x) = e^{rx}),而 (r) 是特征根),那么直接假设 (y^* = Q_m(x)e^{rx}) 代入后,(L(y^*) = 0),无法得到 (f(x))。

  • 为什么乘 (x^k):我们需要破坏特解与齐次解的线性相关性,所以给特解乘 (x^k),其中 (k) 是 (r) 作为特征根的重数:

    • (r) 不是特征根:(k=0)
    • (r) 是单根:(k=1)
    • (r) 是重根:(k=2)
      这样 (L(x^k Q_m(x)e^{rx})) 就不会等于0,而是等于 (f(x)),可以解出系数。
  • 本质通过乘 (x^k) 让特解跳出齐次解空间,保证算子作用后能得到 (f(x))


六、欧拉方程:换元法的本质——“变系数转常系数”

1. 为什么要令 (x = e^t)?

  • 方程形式:(x^n y^{(n)} + a_1 x^{n-1} y^{(n-1)} + \dots + a_n y = f(x))

  • 约束本质:这是变系数线性方程,系数是 (x^k),常系数解法失效。

  • 为什么换元 (x = e^t):这个换元的目的是把幂次系数 (x^k) 转化为常数系数。令 (t = \ln x),定义 (D = \frac{d}{dt}),可以证明:
    [
    x y’ = D y, \quad x^2 y’’ = D(D-1) y, \quad x^3 y’‘’ = D(D-1)(D-2) y, \dots
    ]
    代入欧拉方程后,所有 (x^k) 都被转化为 (D) 的多项式,方程就变成了常系数线性微分方程
    [
    [D(D-1)\dots(D-n+1) + a_1 D(D-1)\dots(D-n+2) + \dots + a_n] y = f(e^t)
    ]
    解出 (y(t)) 后,回代 (t = \ln x) 得到 (y(x))。

  • 本质通过指数换元,将变系数的幂次结构转化为常系数的微分算子结构,把欧拉方程转化为我们已经会解的常系数方程


总结:所有解法的底层逻辑

微分方程的解法千变万化,但核心只有一个:把我们不会解的方程,转化为我们会解的方程

  • 一阶方程:转化为可分离变量/线性方程。

  • 二阶方程:降阶为一阶,或转化为常系数方程。

  • 线性方程:利用线性空间的性质,拆解为齐次通解+非齐次特解。

  • 常系数方程:利用指数函数的导数不变性,转化为代数问题。

  • 变系数方程(欧拉方程):通过换元转化为常系数方程。