Skip to main content

微分方程

Summary

常微分方程的解法与建模。先明确阶、通解、特解与初值问题,再按可分离变量、齐次、一阶线性、伯努利、全微分方程的顺序讲一阶方程求解。可降阶高阶方程用 p=y' 换元,线性高阶给出「齐次通解加特解」的叠加结构。常系数方程用特征方程分相异实根、重根、共轭复根三情形,非齐次用待定系数法并强调共振时补 x^k。末尾以指数增长衰减、简谐振动、放射衰变与 RC 电路的建模算例收束。

参考资料​

引入​

微分方程(Ordinary Differential Equation,ODE)是含 未知函数及其导数 的方程。求解就是反向地从「变化率」还原出 函数本身。

现实中我们常常先知道一个量「怎么变」(变化率所满足的规律),而不知道它「是什么」。比如「人口增长率正比于当前人口」「物体降温速度正比于温差」——这些都是关于变化率的陈述,写成方程就是微分方程。解方程,就是把这些「局部规律」积分成「全局函数」。

基本概念​

  • 阶:方程中出现的最高阶导数的阶数。
  • 通解:含 nn 个相互独立任意常数的解(nn 为方程阶数)。这些常数对应「积分时丢失的信息」,每积一次分多出一个。
  • 特解:通解中常数被初始条件确定后的具体解。
  • 初值问题(Cauchy 问题):方程 + 初始条件,恰好定出唯一特解。

直观理解:通解是 一整族曲线(积分曲线),初始条件相当于「钉一颗钉子」,从这族曲线里挑出穿过该点的那一条。nn 阶方程需要 nn 个条件才能完全钉死。

一阶 ODE​

一阶方程是基本功,关键是 识别类型、套对方法。下面按「优先尝试的顺序」排列。

可分离变量​

dydx=f(x)g(y)  ⟹  ∫dyg(y)=∫f(x)dx+C\frac{\mathrm{d}y}{\mathrm{d}x}=f(x)g(y)\implies\int\frac{\mathrm{d}y}{g(y)}=\int f(x)\mathrm{d}x+C

这是最理想的情形:把 xx 和 yy 各自「分家」到等号两边,然后两边分别积分。所有一阶方程的求解,本质上都是想方设法 化归到可分离变量。

例:解 dydx=2xy\dfrac{\mathrm{d}y}{\mathrm{d}x}=2xy。分离变量 dyy=2xdx\dfrac{\mathrm{d}y}{y}=2x\mathrm{d}x,两边积分得 ln⁡∣y∣=x2+C1\ln|y|=x^2+C_1,即:

y=Cex2(C=±eC1∈R)y=Ce^{x^2}(C=\pm e^{C_1}\in\mathbb{R})

注意分离时除以了 yy,y≡0y\equiv 0 也是解,恰好被 C=0C=0 涵盖。积分常数尽早合并、并回头检查被除掉的解是否被通解覆盖。

齐次方程​

形如 dydx=φ(yx)\dfrac{\mathrm{d}y}{\mathrm{d}x}=\varphi\left(\dfrac{y}{x}\right),右端只依赖比值 yx\dfrac{y}{x}。令 u=yxu=\dfrac{y}{x}(即 y=uxy=ux),则 y′=u+xdudxy'=u+x\dfrac{\mathrm{d}u}{\mathrm{d}x},代入后变量恰好可分离。换元的着眼点是「右端只认比例」,所以引进比例当新变量。

例:解 dydx=yx+tan⁡yx\dfrac{\mathrm{d}y}{\mathrm{d}x}=\dfrac{y}{x}+\tan\dfrac{y}{x}。令 u=yxu=\dfrac yx,y′=u+xu′y'=u+xu',代入:

u+xdudx=u+tan⁡u  ⟹  dutan⁡u=dxxu+x\frac{\mathrm{d}u}{\mathrm{d}x}=u+\tan u\implies\frac{\mathrm{d}u}{\tan u}=\frac{\mathrm{d}x}{x}

左边 ∫cot⁡udu=ln⁡∣sin⁡u∣\int\cot u\mathrm{d}u=\ln|\sin u|,积分得 ln⁡∣sin⁡u∣=ln⁡∣x∣+C1\ln|\sin u|=\ln|x|+C_1,即 sin⁡u=Cx\sin u=Cx。回代 u=yxu=\dfrac yx 得通解 sin⁡yx=Cx\sin\dfrac yx=Cx。齐次方程换元后那个 uu 总能消去、剩下可分离的 uu 与 xx。

一阶线性方程​

dydx+P(x)y=Q(x)\frac{\mathrm{d}y}{\mathrm{d}x}+P(x)y=Q(x)

「线性」指 yy 和 y′y' 都只出现 一次方、不相乘。Q(x)≡0Q(x)\equiv 0 时叫 齐次(可分离变量),否则叫 非齐次。

通解公式:

y=e−∫Pdx(∫Q(x)e∫Pdxdx+C)y=e^{-\int P\mathrm{d}x}\left(\int Q(x)e^{\int P\mathrm{d}x}\mathrm{d}x+C\right)

这个公式可由 常数变易法(Variation of Constants)推出:先解齐次方程得 y=Ce−∫Pdxy=Ce^{-\int P\mathrm{d}x},再把常数 CC 「变」成待定函数 C(x)C(x) 代回原方程,解出 C(x)C(x)。「变易常数」的思想——拿齐次解当骨架、让常数随 xx 浮动以吸收非齐次项——在后面高阶方程里还会重现。

例:解 dydx+1xy=sin⁡xx\dfrac{\mathrm{d}y}{\mathrm{d}x}+\dfrac{1}{x}y=\dfrac{\sin x}{x}(x>0x>0)。这里 P=1xP=\dfrac1x、Q=sin⁡xxQ=\dfrac{\sin x}{x}。积分因子 μ=e∫1xdx=x\mu=e^{\int\frac{1}{x}\mathrm{d}x}=x,方程两边乘 xx 后左边凑成 (xy)′(xy)':

(xy)′=sin⁡x  ⟹  xy=−cos⁡x+C  ⟹  y=C−cos⁡xx(xy)'=\sin x\implies xy=-\cos x+C\implies y=\frac{C-\cos x}{x}

用积分因子时,乘 μ\mu 后立刻把左边认成 (μy)′(\mu y)',比硬套通解公式更快、更不易错。

tip

记忆方式:「乘积求导」反推。把 μ(x)=e∫Pdx\mu(x)=e^{\int P\mathrm{d}x} 视为 积分因子,乘到方程两边后左侧恰是 (y⋅μ)′(y\cdot\mu)',于是方程变成 (yμ)′=Qμ(y\mu)'=Q\mu,两边直接积分即可。积分因子的作用,就是把杂乱的左边「凑成一个导数」。

伯努利方程​

dydx+P(x)y=Q(x)yn(n≠0,1)\frac{\mathrm{d}y}{\mathrm{d}x}+P(x)y=Q(x)y^n(n\ne 0,1)

右端多了个 yny^n,破坏了线性。令 z=y1−nz=y^{1-n} 作换元,方程化为关于 zz 的一阶线性方程,再套上面的公式。这是「换元把非线性掰回线性」的典型。

例:解 dydx+y=y2\dfrac{\mathrm{d}y}{\mathrm{d}x}+y=y^2(n=2n=2)。令 z=y1−2=y−1z=y^{1-2}=y^{-1},则 z′=−y−2y′z'=-y^{-2}y'。原方程两边除以 y2y^2 得 y−2y′+y−1=1y^{-2}y'+y^{-1}=1,即:

−z′+z=1  ⟹  z′−z=−1-z'+z=1\implies z'-z=-1

这是关于 zz 的一阶线性方程,积分因子 e−xe^{-x},解得 z=1+Cexz=1+Ce^x,回代 z=1yz=\dfrac1y 得通解 y=11+Cexy=\dfrac{1}{1+Ce^x}。

全微分方程​

M(x,y)dx+N(x,y)dy=0M(x,y)\mathrm{d}x+N(x,y)\mathrm{d}y=0,若满足 恰当条件:

∂M∂y=∂N∂x\frac{\partial M}{\partial y}=\frac{\partial N}{\partial x}

则左端恰是某个二元函数 u(x,y)u(x,y) 的全微分 du\mathrm{d}u,原方程即 du=0\mathrm{d}u=0,通解为 u(x,y)=Cu(x,y)=C。直觉上,这说明该方程的积分曲线是某个「势函数」uu 的等高线。求 uu 的方法是把 MM 对 xx 积分、再用 NN 定出关于 yy 的待定部分。

例:解 (2xy+1)dx+(x2+4y)dy=0(2xy+1)\mathrm{d}x+(x^2+4y)\mathrm{d}y=0。验恰当:∂M∂y=2x=∂N∂x\dfrac{\partial M}{\partial y}=2x=\dfrac{\partial N}{\partial x},成立。把 MM 对 xx 积分(yy 暂当常数):

u=∫(2xy+1)dx=x2y+x+ϕ(y)u=\int(2xy+1)\mathrm{d}x=x^2y+x+\phi(y)

再用 ∂u∂y=x2+ϕ′(y)=N=x2+4y\dfrac{\partial u}{\partial y}=x^2+\phi'(y)=N=x^2+4y 定出 ϕ′(y)=4y\phi'(y)=4y,即 ϕ(y)=2y2\phi(y)=2y^2。故通解 x2y+x+2y2=Cx^2y+x+2y^2=C。

可降阶的高阶 ODE​

高阶方程一般更难,但若缺了某些项,可以 换元降阶,化成会解的低阶方程。

形式处理
y(n)=f(x)y^{(n)}=f(x)直接 nn 次积分
y′′=f(x,y′)y''=f(x,y')(不显含 yy)令 p=y′p=y',化为关于 pp 的一阶方程
y′′=f(y,y′)y''=f(y,y')(不显含 xx)令 p=y′p=y',y′′=pdpdyy''=p\dfrac{\mathrm{d}p}{\mathrm{d}y}

两种换元的区别在于「方程里没有谁」:不显含 yy 时把 p=y′p=y' 当成 xx 的函数;不显含 xx 时改把 pp 当成 yy 的函数(用链式法则把 y′′y'' 改写成 pdpdyp\dfrac{\mathrm{d}p}{\mathrm{d}y}),从而消掉缺席的自变量。

例(不显含 yy):解 y′′=y′+xy''=y'+x。令 p=y′p=y',得一阶线性方程 p′−p=xp'-p=x。积分因子 e−xe^{-x},解得 p=Cex−x−1p=Ce^x-x-1。再积分一次:

y=∫pdx=C1ex−x22−x+C2y=\int p\mathrm{d}x=C_1 e^x-\frac{x^2}{2}-x+C_2

例(不显含 xx):解 yy′′=(y′)2yy''=(y')^2。令 p=y′p=y'、y′′=pdpdyy''=p\dfrac{\mathrm{d}p}{\mathrm{d}y},代入得 ypdpdy=p2yp\dfrac{\mathrm{d}p}{\mathrm{d}y}=p^2。约去 pp(p≠0p\ne 0)后分离变量 dpp=dyy\dfrac{\mathrm{d}p}{p}=\dfrac{\mathrm{d}y}{y},得 p=C1yp=C_1 y,即 y′=C1yy'=C_1 y,再解得 y=C2eC1xy=C_2 e^{C_1 x}。

线性高阶 ODE​

解的结构​

nn 阶线性方程的解有一套漂亮的「叠加」结构,根源是 线性(解可以线性组合)。

二阶齐次线性方程 y′′+p(x)y′+q(x)y=0y''+p(x)y'+q(x)y=0:

  • 若 y1,y2y_1,y_2 是两个 线性无关 解(即不成比例),则通解 y=C1y1+C2y2y=C_1y_1+C_2y_2 覆盖了全部解。两个独立解张成一个二维「解空间」。

二阶非齐次方程 y′′+py′+qy=f(x)y''+py'+qy=f(x):

y=C1y1+C2y2⏟齐次通解 yˉ+y∗⏟一个特解y=\underbrace{C_1y_1+C_2y_2}_{\text{齐次通解 }\bar y}+\underbrace{y^*}_{\text{一个特解}}

即 通解 = 对应齐次方程通解 + 任一特解。直觉:齐次通解负责「满足左端结构、含自由常数」,特解负责「顶住右端的 f(x)f(x)」,两者相加既匹配输入又保留自由度。

tip

叠加原理:若右端 f=f1+f2f=f_1+f_2,可分别求 f1f_1、f2f_2 对应的特解 y1∗y_1^*、y2∗y_2^*,则 y1∗+y2∗y_1^*+y_2^* 是 ff 的特解。复杂的非齐次项可以「拆开各个击破」。

常系数线性 ODE​

系数为常数时,方程可以彻底求解——这是工程中最常用的一类(振动、电路、控制)。

二阶齐次​

y′′+py′+qy=0y''+py'+qy=0

由于 erxe^{rx} 求导只是自乘 rr,猜 y=erxy=e^{rx} 代入,得到 特征方程:r2+pr+q=0r^2+pr+q=0。它把微分方程的求解 降格成一道二次方程,根据判别式 Δ=p2−4q\Delta=p^2-4q 分三种情形:

Δ\Delta根通解
>0>0r1≠r2r_1\ne r_2 相异实根y=C1er1x+C2er2xy=C_1e^{r_1 x}+C_2e^{r_2 x}
=0=0r1=r2r_1=r_2 二重根y=(C1+C2x)erxy=(C_1+C_2 x)e^{rx}
<0<0α±βi\alpha\pm\beta i 共轭复根y=eαx(C1cos⁡βx+C2sin⁡βx)y=e^{\alpha x}(C_1\cos\beta x+C_2\sin\beta x)
tip

三种情形对应三类物理行为:相异实根是 过阻尼(不振荡地衰减),重根是 临界阻尼(恰好不振荡),复根是 欠阻尼(衰减振荡,实部 α\alpha 管衰减、虚部 β\beta 管振荡频率)。复根情形用欧拉公式 eiθ=cos⁡θ+isin⁡θe^{i\theta}=\cos\theta+i\sin\theta 把复指数解拆成实的正余弦。

例(相异实根):y′′−5y′+6y=0y''-5y'+6y=0,特征方程 r2−5r+6=(r−2)(r−3)=0r^2-5r+6=(r-2)(r-3)=0,根 r=2,3r=2,3,通解 y=C1e2x+C2e3xy=C_1 e^{2x}+C_2 e^{3x}。

例(重根):y′′−4y′+4y=0y''-4y'+4y=0,特征方程 (r−2)2=0(r-2)^2=0,二重根 r=2r=2,通解 y=(C1+C2x)e2xy=(C_1+C_2 x)e^{2x}。重根时第二个解要 多乘一个 xx,否则两个解线性相关。

例(共轭复根):y′′+2y′+5y=0y''+2y'+5y=0,特征方程 r2+2r+5=0r^2+2r+5=0,根 r=−1±2ir=-1\pm 2i,即 α=−1,β=2\alpha=-1,\beta=2,通解 y=e−x(C1cos⁡2x+C2sin⁡2x)y=e^{-x}(C_1\cos 2x+C_2\sin 2x)——衰减振荡。

非齐次特解(待定系数法)​

当右端 f(x)f(x) 是几类「好」函数时,特解形式可直接 照猫画虎地猜——因为这些函数求导后形态不变。

设 f(x)=eλxPm(x)f(x)=e^{\lambda x}P_m(x)(PmP_m 为 mm 次多项式),特解形式:

y∗=xkeλxQm(x)y^*=x^k e^{\lambda x}Q_m(x)

其中 QmQ_m 是 同次 待定多项式,kk 是 λ\lambda 作为特征根的重数(不是根则 k=0k=0)。

若 f(x)=eλx[Pl(x)cos⁡ωx+Qn(x)sin⁡ωx]f(x)=e^{\lambda x}[P_l(x)\cos\omega x+Q_n(x)\sin\omega x],设 m=max⁡(l,n)m=\max(l,n):

y∗=xkeλx[Rm(x)cos⁡ωx+Sm(x)sin⁡ωx]y^*=x^k e^{\lambda x}[R_m(x)\cos\omega x+S_m(x)\sin\omega x]

kk 是 λ+ωi\lambda+\omega i 作为特征根的重数。

自由项类型对应表(最常见情形):

右端 f(x)f(x)特解 y∗y^* 的待定形式
Pm(x)P_m(x)(多项式)xkQm(x)x^k Q_m(x)
aeλxae^{\lambda x}xkbeλxx^k be^{\lambda x}
acos⁡ωx+bsin⁡ωxa\cos\omega x+b\sin\omega xxk(Acos⁡ωx+Bsin⁡ωx)x^k(A\cos\omega x+B\sin\omega x)
tip

那个因子 xkx^k 是关键、也最易漏。当猜测的指数 / 频率 恰好撞上特征根(发生「共振」),原始形式会被齐次解吸收、无法平衡右端,必须乘上 xkx^k 把它「抬」出齐次解空间。kk 取撞上的重数:单根乘 xx,重根乘 x2x^2。

例(不共振):解 y′′−3y′+2y=2xy''-3y'+2y=2x。齐次特征根 r=1,2r=1,2,故齐次通解 yˉ=C1ex+C2e2x\bar y=C_1 e^x+C_2 e^{2x}。右端是一次多项式、λ=0\lambda=0 不是特征根(k=0k=0),设 y∗=ax+by^*=ax+b,则 y∗′=ay^{*\prime}=a、y∗′′=0y^{*\prime\prime}=0,代入:

−3a+2(ax+b)=2x  ⟹  2a=2,−3a+2b=0  ⟹  a=1,b=32-3a+2(ax+b)=2x\implies 2a=2,-3a+2b=0\implies a=1,b=\frac{3}{2}

故 y∗=x+32y^*=x+\dfrac32,通解 y=C1ex+C2e2x+x+32y=C_1 e^x+C_2 e^{2x}+x+\dfrac32。

例(共振):解 y′′−3y′+2y=exy''-3y'+2y=e^x。右端 λ=1\lambda=1 恰是特征单根,故 k=1k=1,设 y∗=axexy^*=ax e^x。求导代入(利用 r=1r=1 使一阶项归并)解得 a=−1a=-1,故 y∗=−xexy^*=-x e^x,通解 y=C1ex+C2e2x−xexy=C_1 e^x+C_2 e^{2x}-x e^x。漏掉那个 xx 会导致代入后恒等式两边对不上、解不出系数——这正是共振的信号。

欧拉方程​

xny(n)+a1xn−1y(n−1)+⋯+any=f(x)x^n y^{(n)}+a_1 x^{n-1}y^{(n-1)}+\dots+a_n y=f(x)

特点是 每一项里导数的阶数与 xx 的幂次相等。令 x=etx=e^t(即 t=ln⁡xt=\ln x),可把它化为常系数线性 ODE,再用上面的方法求解。

例:解 x2y′′−xy′+y=0x^2 y''-x y'+y=0(x>0x>0)。直接试解 y=xry=x^r:y′=rxr−1y'=rx^{r-1}、y′′=r(r−1)xr−2y''=r(r-1)x^{r-2},代入约去 xrx^r 得 特征方程:

r(r−1)−r+1=r2−2r+1=(r−1)2=0r(r-1)-r+1=r^2-2r+1=(r-1)^2=0

二重根 r=1r=1。重根时第二个解补乘 ln⁡x\ln x(对应换元后 tt 域里的 xx 因子),故通解 y=(C1+C2ln⁡x)xy=(C_1+C_2\ln x)x。欧拉方程可直接代 y=xry=x^r 求特征方程,重根 / 复根的处理与常系数情形平行,只是把 xx、ln⁡x\ln x 当作对应的「指数 / 一次因子」。

建模直觉​

微分方程真正的价值在于 从现实规律列方程。两个原型几乎涵盖所有入门模型:

  • 指数增长 / 衰减:变化率正比于现有量,dydt=ky\dfrac{\mathrm{d}y}{\mathrm{d}t}=ky,解为 y=y0ekty=y_0e^{kt}。k>0k>0 是增长(人口、复利),k<0k<0 是衰减(放射性衰变、冷却、药物代谢)。「越多增得越快 / 越多减得越快」的现象都归此型。
  • 简谐振动:恢复力正比于位移且方向相反,d2ydt2+ω2y=0\dfrac{\mathrm{d}^2 y}{\mathrm{d}t^2}+\omega^2 y=0,解为 y=Acos⁡(ωt+φ)y=A\cos(\omega t+\varphi)。弹簧振子、单摆小角度、LC 电路都是它。加上阻尼项 2βy′2\beta y' 就回到上面三种判别情形——阻尼大小决定振是不振。

例(放射性衰变 / 半衰期):衰变率正比于现有量 dNdt=−λN\dfrac{\mathrm{d}N}{\mathrm{d}t}=-\lambda N,解 N=N0e−λtN=N_0 e^{-\lambda t}。半衰期 TT 满足 N02=N0e−λT\dfrac{N_0}{2}=N_0 e^{-\lambda T},取对数得 T=ln⁡2λT=\dfrac{\ln 2}{\lambda}——半衰期只由衰变常数决定,与初始量无关。

例(RC 电路充电):电源 EE 经电阻 RR 给电容 CC 充电,由基尔霍夫电压定律 RCdudt+u=ERC\dfrac{\mathrm{d}u}{\mathrm{d}t}+u=E(uu 为电容电压),初值 u(0)=0u(0)=0。这是一阶线性方程,齐次解 ∝e−t/(RC)\propto e^{-t/(RC)}、特解 u∗=Eu^*=E,故:

u(t)=E(1−e−t/(RC))u(t)=E\left(1-e^{-t/(RC)}\right)

电压从 00 按指数曲线逼近电源电压 EE,时间常数 τ=RC\tau=RC 决定快慢(约 5τ5\tau 后基本充满)。放电过程把 EE 换成 00,得 u=u0e−t/(RC)u=u_0 e^{-t/(RC)} 的指数衰减。

例(简谐振动定振幅):弹簧振子 y′′+ω2y=0y''+\omega^2 y=0,初条件 y(0)=A0y(0)=A_0、y′(0)=0y'(0)=0。通解 y=C1cos⁡ωt+C2sin⁡ωty=C_1\cos\omega t+C_2\sin\omega t,代入得 C1=A0C_1=A_0、C2=0C_2=0,故 y=A0cos⁡ωty=A_0\cos\omega t——从最大位移静止释放,做振幅 A0A_0、角频率 ω\omega 的纯余弦振动。