常微分方程(四):拉普拉斯变换
工程师的秘密武器:用拉普拉斯变换把微分方程化为代数。学习核心性质、部分分式、传递函数和 PID 控制基础。
拉普拉斯变换把微积分变成了代数。 不必再硬算积分、猜试解、再把初值条件一条条对上。它把整个 ODE — 方程、激励、初始条件 — 一并丢进复变量 $s$ 的一道多项式方程里,像解中学题一样解出来,再变换回去。沿途还有一份意外的礼物:解的形状被翻译成了几何 — 极点落在复平面左半边就衰减,落在右半边就发散,落在虚轴上就永不停歇地振荡。本章从定义出发把这套图像一砖一瓦搭起来,再连接到工程上把拉普拉斯变换变成动力学通用语的那几件工具:传递函数、Bode 图、PID 控制。
本章要点
- 定义,以及把 $e^{-st}$ 理解为"衰减探针"的直觉
- 微分性质 — 把 ODE 化为代数的关键
- 一张够用的小变换表,本章几乎所有反变换都查它
- 部分分式分解:实极点、重极点、复极点
- 传递函数、极零点图,以及稳定性的几何判据
- 阶跃响应与冲激响应:它们已经把整个系统说全了
- Bode 图:时间域与频率域的两面镜子
- PID 控制:P、I、D 各自补对方的短板
前置知识
- 第一至三章:一阶、二阶 ODE 与叠加原理
- 代数/微积分中的部分分式分解
- 复数的基础知识($a + bi$、模、幅角)
- 熟悉 $\int_0^\infty e^{-st}\,dt$ 这一类积分
1. 为什么需要拉普拉斯变换
考虑由电压源驱动的 RC 电路:
$$RC\,V_c'(t) + V_c(t) = V_s(t), \qquad V_c(0) = V_0.$$如果 $V_s$ 是常数,用积分因子两行就能写完。但只要 $V_s$ 变成开关式的阶跃、瞬时冲激、斜坡,或者实验台上信号源给的某段分段波形,初等方法就开始变得繁琐 — 一堆积分常数、分段拼接条件、各种讨论。
拉普拉斯变换给出一套统一的流程,把这些情况一次性收编:
- 变换等式两边 — 导数变成 $s$ 的多项式,初值条件被自动吸收。
- 对 $Y(s)$ 代数地求解。
- 用一张小表 反变换回 $y(t)$。
那些琐碎的记账工作消失了,剩下的是一种干净的分工:谁在驱动系统(输入的变换)、系统做了什么(传递函数)、它从哪里起步(初值条件,已经被编织进去了)。

2. 定义与一张可工作的变换表
2.1 正变换
$$F(s) = \mathcal{L}\{f(t)\} = \int_0^\infty f(t)\,e^{-st}\,dt.$$直觉。 把 $e^{-st}$ 看成一根探针:对每个复频率 $s$,它问的是 — 如果我用一个以速率 $\operatorname{Re}(s)$ 衰减的指数去加权 $f$,还能剩下多少? $s$ 取得很大且为正时,探针只看得见 $f$ 在 $t = 0$ 附近的行为;$\operatorname{Re}(s)$ 取得很小时,它看到的是远端的尾巴。完整的 $F(s)$ 就是把所有 $s$ 上的回答放在一起 — 这是 $f$ 的一份指纹。
2.2 一张够用的变换表
| $f(t)$ | $F(s) = \mathcal{L}\{f(t)\}$ | 收敛域 |
|---|---|---|
| $1$(或 $u(t)$) | $1/s$ | $\operatorname{Re}(s) > 0$ |
| $t^n$ | $n!/s^{n+1}$ | $\operatorname{Re}(s) > 0$ |
| $e^{at}$ | $1/(s-a)$ | $\operatorname{Re}(s) > a$ |
| $\sin\omega t$ | $\omega/(s^2+\omega^2)$ | $\operatorname{Re}(s) > 0$ |
| $\cos\omega t$ | $s/(s^2+\omega^2)$ | $\operatorname{Re}(s) > 0$ |
| $e^{at}\sin\omega t$ | $\omega/((s-a)^2+\omega^2)$ | $\operatorname{Re}(s) > a$ |
| $e^{at}\cos\omega t$ | $(s-a)/((s-a)^2+\omega^2)$ | $\operatorname{Re}(s) > a$ |
| $\delta(t)$(冲激) | $1$ | 所有 $s$ |
| $u(t-a)$(延迟阶跃) | $e^{-as}/s$ | $\operatorname{Re}(s) > 0$ |
本章几乎所有的反变换问题都能用这张表解决。
2.3 从定义出发的两个推导
$\mathcal{L}\{1\}$。 直接积分:
$$\int_0^\infty e^{-st}\,dt = \left[-\frac{1}{s}\,e^{-st}\right]_0^\infty = \frac{1}{s}, \qquad \operatorname{Re}(s) > 0.$$$\mathcal{L}\{e^{at}\}$。 先把指数合并再积分:
$$\int_0^\infty e^{at}\,e^{-st}\,dt = \int_0^\infty e^{-(s-a)t}\,dt = \frac{1}{s-a}, \qquad \operatorname{Re}(s) > a.$$同样的小技巧 — 把 $e^{at}$ 折进核里 — 也正是后面频移性质之所以显然的原因。
3. 真正在干活的几条性质
3.1 线性
$$\mathcal{L}\{a f + b g\} = a F(s) + b G(s).$$3.2 微分性质 — 整个学科的钥匙
$$\mathcal{L}\{f'(t)\} = sF(s) - f(0),$$$$\mathcal{L}\{f''(t)\} = s^2 F(s) - s f(0) - f'(0),$$$$\mathcal{L}\{f^{(n)}(t)\} = s^n F(s) - s^{n-1} f(0) - \cdots - f^{(n-1)}(0).$$为什么重要。 对 $t$ 求导变成对 $s$ 相乘,并且初值条件就写在公式里,不再是事后需要补对的边界条件。一个 $n$ 阶线性 ODE 直接化为一个关于 $s$ 的 $n$ 次代数方程,而这个方程已经知道 $y(0), y'(0), \dots$ 是什么了。
证明只需要分部积分一次:
$$\int_0^\infty f'(t)\,e^{-st}\,dt = \left[f(t)\,e^{-st}\right]_0^\infty + s\int_0^\infty f(t)\,e^{-st}\,dt = sF(s) - f(0),$$前提是 $f(t)\,e^{-st}\to 0$ 当 $t\to\infty$ — 这正是收敛域的含义所在。
3.3 频移
$$\mathcal{L}\{e^{at}f(t)\} = F(s-a).$$时间域上乘 $e^{at}$,频域上整张图就被平移了 $a$。这正是为什么变换表里所有"带阻尼"的条目都只是其无阻尼对应物经过 $s\to s-a$ 替换得到的。
3.4 时移(延迟)
$$\mathcal{L}\{f(t-a)\,u(t-a)\} = e^{-as}F(s), \qquad a > 0.$$时间上的延迟在 $s$ 域里就是一个相位因子 $e^{-as}$。注意要乘上闸门 $u(t-a)$ — 它保证你变换的是被延迟并且截掉头部的信号,而不是原信号。
3.5 卷积
$$\mathcal{L}\{(f * g)(t)\} = F(s)\,G(s), \qquad (f * g)(t) = \int_0^t f(\tau)\,g(t-\tau)\,d\tau.$$时间域上 LTI 系统对输入的响应是一次卷积;到了 $s$ 域就只是相乘。这正是工程框图能成立的代数底座。
3.6 终值定理
$$\lim_{t\to\infty} f(t) = \lim_{s\to 0} sF(s),$$成立的前提是该极限存在,并且 $sF(s)$ 的所有极点都严格落在左半平面。它能让你不做反变换就直接读出稳态值。
4. 求解 ODE:两个例子展示流程
4.1 一阶 + 指数激励
求解 $y' + 2y = e^{-t}$,$y(0) = 1$。
变换。 两边取 $\mathcal{L}$,套用微分性质:
$$sY(s) - 1 + 2Y(s) = \frac{1}{s+1}.$$代数地求解。 合并整理:
$$(s+2)Y(s) = 1 + \frac{1}{s+1}, \qquad Y(s) = \frac{1}{s+2} + \frac{1}{(s+1)(s+2)}.$$部分分式。 把 $\dfrac{1}{(s+1)(s+2)} = \dfrac{1}{s+1} - \dfrac{1}{s+2}$ 代入:
$$Y(s) = \frac{1}{s+2} + \frac{1}{s+1} - \frac{1}{s+2} = \frac{1}{s+1}.$$反变换。 查表得 $\mathcal{L}^{-1}\{1/(s+1)\} = e^{-t}$。
$$\boxed{\; y(t) = e^{-t}.\;}$$验证。 $y' + 2y = -e^{-t} + 2e^{-t} = e^{-t}$,且 $y(0) = 1$。完毕。
4.2 二阶共振
求解 $y'' + \omega_0^2\,y = \cos\omega_0 t$,$y(0) = y'(0) = 0$。
变换。 $\mathcal{L}\{y''\} = s^2 Y - sy(0) - y'(0)$,$\mathcal{L}\{\cos\omega_0 t\} = s/(s^2+\omega_0^2)$,得:
$$s^2 Y + \omega_0^2 Y = \frac{s}{s^2 + \omega_0^2}, \qquad Y(s) = \frac{s}{(s^2 + \omega_0^2)^2}.$$反变换。 查表得:
$$y(t) = \frac{t}{2\omega_0}\,\sin\omega_0 t.$$关键之处是这个显式的 $t$ 因子。代数上,它来自 $s = \pm j\omega_0$ 这一对重极点 — 一个更高重数的极点会在时间域里贡献"多项式 × 正弦"的项。物理上,它意味着振幅无界增长 — 这就是共振。

5. 部分分式:你真正需要的那一项技术
只要 $Y(s)$ 已经是一个有理函数,反变换的绝大部分工作就是把它拆成若干个能在表里查到的小块。
5.1 不同的实极点
$$\frac{P(s)}{(s-a)(s-b)} = \frac{A}{s-a} + \frac{B}{s-b}.$$用遮盖法:$A$ 等于把 $(s-a)$ “盖住"之后剩下的 $P(s)/(s-b)$ 在 $s = a$ 处的取值。
5.2 重极点
$$\frac{P(s)}{(s-a)^3} = \frac{A_1}{s-a} + \frac{A_2}{(s-a)^2} + \frac{A_3}{(s-a)^3}.$$每一个重数为 $k$ 的极点,在时间域里贡献一项形如 $t^{k-1}\,e^{at}/(k-1)!$ 的项。
5.3 共轭复极点
对于不可约的二次因子,先配方:
$$\frac{B s + C}{(s-\alpha)^2 + \beta^2}\;\xrightarrow{\;\mathcal{L}^{-1}\;}\; e^{\alpha t}\big(B \cos\beta t + D \sin\beta t\big),$$其中 $D = (C + \alpha B)/\beta$ — 把分子先改写为 $B(s-\alpha) + (C + \alpha B)$ 即可。

6. 传递函数与稳定性的几何
6.1 定义
对一个把输入 $u(t)$ 映射到输出 $y(t)$ 的线性时不变(LTI)系统,定义
$$H(s) \;=\; \frac{Y(s)}{U(s)}\quad\text{(零初始条件下)}.$$$H(s)$ 就是传递函数。它只和系统本身有关,与你喂进去什么、它从哪里起步无关。
例 — RC 低通滤波器。 由 $RC\,V_c' + V_c = V_s$ 和 $V_c(0) = 0$,
$$H(s) = \frac{1}{RCs + 1} = \frac{1}{\tau s + 1}, \qquad \tau = RC.$$只有一个实极点,位于 $s = -1/\tau$。
6.2 极点、零点与稳定性
- 零点是使 $H(s) = 0$ 的 $s$(分子的根)。
- 极点是使 $H(s) \to \infty$ 的 $s$(分母的根)。
极点图决定了关于自由响应的一切。每一个极点在 $\mathcal{L}^{-1}\{H(s)\}$ 里贡献一个模式:
| 极点位置 | 时间域模式 | 行为 |
|---|---|---|
| 实数,$s = -a$,$a > 0$ | $e^{-at}$ | 衰减到零 |
| 实数,$s = a > 0$ | $e^{at}$ | 无界增长 — 不稳定 |
| 复数对 $\alpha \pm j\beta$,$\alpha < 0$ | $e^{\alpha t}(\cos\beta t,\sin\beta t)$ | 阻尼振荡 |
| 纯虚 $\pm j\beta$ | $\cos\beta t,\,\sin\beta t$ | 等幅振荡 |
| 复数对,$\alpha > 0$ | $e^{\alpha t}(\cos\beta t,\sin\beta t)$ | 增长振荡 — 不稳定 |
稳定性的几何判据。 系统是渐近稳定的,当且仅当 $H(s)$ 的所有极点严格落在左半平面 $\operatorname{Re}(s) < 0$。

6.3 阶跃响应与冲激响应
两类典型激励都有自己的名字。
- 冲激响应。 $h(t) = \mathcal{L}^{-1}\{H(s)\}$ — 输入是 Dirac 冲激时的输出。
- 阶跃响应。 $s(t) = \mathcal{L}^{-1}\{H(s)/s\}$ — 输入是单位阶跃时的输出。
- 关系。 $h(t) = s'(t)$。两者编码同样多的信息,因为阶跃就是冲激的积分。
只要拿到了 $h(t)$,对任何输入的响应都是卷积 $y(t) = (h * u)(t)$;等价地,$Y(s) = H(s)\,U(s)$。
7. 同一个系统的两扇窗:时间与频率
把 $s = j\omega$ 代回 $H(s)$,得到频率响应 $H(j\omega)$。$|H(j\omega)|$ 告诉你每个正弦频率被放大多少;$\arg H(j\omega)$ 告诉你被延迟多少。在对数–对数坐标上画出来,就是 Bode 图。
对二阶规范系统
$$H(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2},$$阻尼比 $\zeta$ 控制着一切。$\zeta < 1$ 时极点是复数,阶跃响应有超调和振铃;$\zeta = 1$ 时它们汇合到 $-\omega_n$ 的二重实极点,响应在不超调的前提下尽可能快地上升;$\zeta > 1$ 时极点在实轴上分开,响应变得迟钝。

| |
8. PID 控制:每一项都在补另一项的短
PID 控制器是工业控制的主力。它根据跟踪误差 $e(t) = r(t) - y(t)$ 给出执行量 $u(t)$:
$$u(t) = K_p\,e(t) + K_i\!\int_0^t e(\tau)\,d\tau + K_d\,\frac{de}{dt}.$$在 $s$ 域里,
$$C(s) = K_p + \frac{K_i}{s} + K_d\,s.$$每一项都在弥补另外两项的特定弱点。
| 项 | 在做什么 | 长处 | 短处 |
|---|---|---|---|
| P(比例) | 响应当前误差 | 反应快 | 留下稳态误差 |
| I(积分) | 累积过去的误差 | 把稳态误差驱到零 | 拖慢系统、可能引起振荡 |
| D(微分) | 预测误差走向 | 抑制超调 | 放大测量噪声 |
把 PID 围在被控对象 $G(s)$ 外面闭环,得到
$$T(s) = \frac{C(s)\,G(s)}{1 + C(s)\,G(s)}.$$调节 $K_p, K_i, K_d$ 就是在 $s$ 平面上挪动闭环极点。这门手艺的目标是把它们推得离左半平面深处足够远(保稳定、保速度),又不让虚部过大(避免振铃)。

9. Python 实践:符号与数值
9.1 用 SymPy 做符号变换
| |
9.2 用 SciPy 做极零点分析
| |
10. 总结
五步工作流
- 变换等式两边,把初值条件吸收进去。
- 代数地求解 $Y(s)$。
- 部分分式分解。
- 对照表逐项反变换。
- 代回原方程验证。
一定要记住的几条性质
| 性质 | 公式 | 用在哪里 |
|---|---|---|
| 微分 | $\mathcal{L}\{f'\} = sF(s) - f(0)$ | 把 ODE 化为代数 |
| 频移 | $\mathcal{L}\{e^{at}f\} = F(s-a)$ | 阻尼振子、指数激励 |
| 时移 | $\mathcal{L}\{f(t-a)u(t-a)\} = e^{-as}F(s)$ | 延迟、开关式输入 |
| 卷积 | $\mathcal{L}\{f * g\} = F(s)\,G(s)$ | 框图、系统响应 |
| 终值 | $\lim_{t\to\infty} f = \lim_{s\to 0} sF(s)$ | 不做反变换就读稳态 |
一句话总览
线性时不变系统的天然栖息地是 $s$ 平面:极点是它们的基因,左半平面就是"稳定",时间域里的运算到了 $s$ 域就化简成了算术。
练习题
基础
- 用频移性质求 $\mathcal{L}\{t^2 e^{-3t}\}$ 和 $\mathcal{L}\{e^{2t}\sin 3t\}$。
- 反变换 $F(s) = \dfrac{2s+1}{(s+1)(s+3)}$。
- 用拉普拉斯变换求解 $y' + 3y = e^{-2t}$,$y(0) = 1$,并验证答案。
- 通过分部积分从定义出发证明微分性质 $\mathcal{L}\{f'\} = sF(s) - f(0)$,并准确写出在 $t \to \infty$ 处需要的条件。
进阶
- 求解 $y'' + 4y = \delta(t)$,$y(0) = y'(0) = 0$,并解释为什么冲激响应等于 $\tfrac{1}{2}\sin 2t$。
- 对 $H(s) = \dfrac{10}{s^2 + 2s + 10}$,求极点、冲激响应、阶跃响应。从中读出 $\zeta$ 与 $\omega_n$。
- 用终值定理求 $\lim_{t\to\infty} y(t)$,其中 $Y(s) = \dfrac{5}{s(s^2+3s+2)}$,并验证定理的前提是否满足。
编程
- 画出 $H(s) = \dfrac{100}{s^2 + 10s + 100}$ 的 Bode 幅频与相频,从图上估读谐振峰的位置,并与 $\omega_n\sqrt{1 - 2\zeta^2}$ 的理论值对比。
- 用 SciPy 的
lsim模拟带纯时延的系统 $H(s) = \dfrac{e^{-s}}{s+1}$ 的阶跃响应,先用 Padé 近似把延迟展开成有理函数。
参考资料
- Kreyszig, E. Advanced Engineering Mathematics(第 10 版),Wiley (2011) — 第 6 章是拉普拉斯变换的标准教材化处理。
- Ogata, K. Modern Control Engineering(第 5 版),Pearson (2010) — 极零点分析、Bode 图、PID 整定的深入讲解。
- Oppenheim, A. V. & Willsky, A. S. Signals and Systems(第 2 版),Prentice Hall (1997) — 信号工程视角与卷积。
- Strang, G. Differential Equations and Linear Algebra,Wellesley-Cambridge (2014) — 几何味更浓的入门读物。
- SciPy:
scipy.signal— 传递函数、阶跃/冲激响应、Bode 图的 Python 工具。
系列导航
| 上一章 | 第三章:高阶线性微分方程 |
| 当前 | 第四章:拉普拉斯变换 |
| 下一章 | 第五章:级数解法与特殊函数 |