第 9 章

把微积分变成代数

我们能把微积分变成代数吗?

第 9 章:把微积分变成代数 ↗

斜率变成乘法

米卡: 还记得第 4 章的便利贴吗?对 eate^{at} 来说,求斜率就是 × a\times\, a。现在看看探针会怎么对待斜率。

新词

f′f' 和 f′′f''
dfdt\frac{df}{dt} 的简写,即 ff 的斜率,以及斜率的斜率。第 7 章用点来写它们:x˙\dot x 和 x¨\ddot x。
L{f}\mathcal{L}\{f\}
“ff 的变换”:和 F(s)F(s) 是一回事,当 ff 是一整个表达式时很方便。
大写字母
大写字母是对应小写字母的变换:FF 对应 ff,HH 对应高度 hh,XX 对应 xx。

下面这个性质让这一切都值得。当我们取信号的斜率时,变换会发生什么?用 f=eatf = e^{at} 试试。它的斜率是 aeata e^{at}(第 4 章),所以

L{f′}=as−a=ss−a−1=s F(s)−f(0)\begin{aligned} \mathcal{L}\{f'\} &= \frac{a}{s-a} = \frac{s}{s-a} - 1 \\ &= s\,F(s) - f(0) \end{aligned}

斜率变成了乘以 ss,再减去起始值 f(0)f(0)。微积分变成了代数!

第 9 章:把微积分变成代数 ↗

西奥: 等等。这招对 eate^{at} 管用,是因为 eate^{at} 很特殊。接下来你是不是要说,这是一条我们该背下来的查表规则?对任何曲线我都不信。

朱恩: 那我们就拿你能画出的最丑的曲线来试试。

在第一张图里随便画一个信号(或者选一个预设)。我们算出它的斜率,再用面积机器算出规则的两边:斜率的变换,以及 s F(s)−f(0)s\,F(s) - f(0)。第二张图对每个 ss 都画出这两边。

第 9 章:把微积分变成代数 ↗

西奥: 它们对上了,连我那条歪歪扭扭的涂鸦也对得上。原来这根本不是查表规则:这就是面积机器对任何斜率做的事。

缺的代数在这里,画成一幅图。乘积变化有两个原因:ff 在变而探针不动,以及探针在变而 ff 不动。想象一个边长为 ff 和 e−ste^{-st} 的长方形:它先沿一条边长大,再沿另一条边长大。这一步有个名字:分部积分。

(f e−st)′=f′ e−st−s f e−st\big(f\,e^{-st}\big)' = f'\,e^{-st} - s\,f\,e^{-st}

把这些变化从 0 加到 ∞(第 3 章:面积抵消斜率),得到的就是终点的值减去起点的值。方括号 [ ⋅ ]0∞\big[\,\cdot\,\big]_0^\infty 的意思正是这个:

[f e−st]0∞=∫0∞f′ e−st dt−s F(s)\big[f\,e^{-st}\big]_0^\infty = \int_0^\infty f'\,e^{-st}\,dt - s\,F(s)

在远端,探针已经把一切都压成了零(只要 ss 胜过信号的增长),所以左边就是 0−f(0)0 - f(0)。把 s F(s)s\,F(s) 移到另一边,规则就出来了。

西奥: 所以 f(0)f(0) 不是凑数用的。它就是我们一开始的那个长方形。

对 f′f' 再用一次同样的规则,它的初始值是 f′(0)f'(0),也就是初始速度:

L{f′′}=s L{f′}−f′(0)=s(s F(s)−f(0))−f′(0)=s2F(s)−s f(0)−f′(0)\begin{aligned} \mathcal{L}\{f''\} &= s\,\mathcal{L}\{f'\} - f'(0) \\ &= s\big(s\,F(s) - f(0)\big) - f'(0) \\ &= s^2 F(s) - s\,f(0) - f'(0) \end{aligned}

我们自己的表

教科书把“拉普拉斯变换表”印出来,好像它是从天上掉下来的。我们要一行一行地把它挣出来。每一行都只是把探测—面积机器用在一个信号上,再检查一下公式和实际面积是否一致。

第 9 章:把微积分变成代数 ↗

米卡: 正弦那一行是我的最爱。正弦不过是两个孪生旋转子,而每个旋转子的变换就是指数那一行取 a=±iωa = \pm i\omega。第 6 章把这对孪生相加得到余弦。改成相减,沿轴的部分就抵消了,只剩 2isin⁡ωt2i\sin\omega t。2i2i 就是从这儿来的!而这对孪生的分母相乘,正是第 7 章的镜像乘积 (s−iω)(s+iω)=s2+ω2(s - i\omega)(s + i\omega) = s^2 + \omega^2。

(对于复数 aa,只要 ss 的左右部分胜过 aa 的左右部分,指数那一行照样成立。对这对孪生来说,就是简单的 σ>0\sigma > 0。)

最后一行根本不用新功夫:乘以 e−σte^{-\sigma t} 只是把 ss 平移成 s+σs+\sigma。四行,全部推导,全部验证。

还有一条规则我们一直在悄悄用。面积机器很公平:把信号变高 3 倍,它每一小条面积都变高 3 倍,所以整块面积也是。两个信号相加,它们的面积也相加。数学家把这叫做线性。

第 9 章:把微积分变成代数 ↗

朱恩: 正因为这样,我们才能把一个方程一项一项地变换,前面的系数照带不误。而无人机的方程正好就是这样一个和。来用这张表吧!

把通分倒过来

西奥: 我们得到的每个答案,出来都是一个大分式。可我们的表只认识小的:1s\frac1s、1s−a\frac{1}{s-a},还有正弦那几行。怎么把一个大分式拆成表里的碎片?

在学校里,你把分数相加时要先通分,找一个公共分母。这里我们倒过来走:从一个分式出发,找出加起来正好等于它的那些小碎片。这叫拆成部分分式:

1s+1s+2=2s+2s (s+2)所以2s+2s (s+2)=As+Bs+2\frac{1}{s} + \frac{1}{s+2} = \frac{2s + 2}{s\,(s+2)} \qquad\text{所以}\qquad \frac{2s+2}{s\,(s+2)} = \frac{A}{s} + \frac{B}{s+2}

每块碎片的分子放什么?**分母里 ss 的每一次幂,对应一个未知数。**像 ss 或 s+2s + 2 这样的分母,分子就是一个普通的数。像 s2+2s+5s^2 + 2s + 5 这样的二次分母,分子是 B s+CB\,s + C:两个未知数,因为二次式里正好容得下两个。

第 9 章:把微积分变成代数 ↗

朱恩: 每个滑块移动一块碎片,而这些碎片在时间里也就是简单地相加。AA 这一块是一个阶跃;二次的那一块是一个逐渐消失的摆动。右边那个大分式,就是它们加起来的结果。

求这些数时,一次幂的碎片有条捷径,叫掩盖法(赫维赛德掩盖法:把这块的分母“盖住”)。乘以这块碎片的分母,再把 ss 设成让这个分母为零的值:其他每一块都消失了,只剩下它的分子。

A=[s⋅2s+2s (s+2)]s=0=22=1,B=[(s+2)⋅2s+2s (s+2)]s=−2=−2−2=1A = \Big[s \cdot \frac{2s+2}{s\,(s+2)}\Big]_{s=0} = \frac{2}{2} = 1, \qquad B = \Big[(s+2) \cdot \frac{2s+2}{s\,(s+2)}\Big]_{s=-2} = \frac{-2}{-2} = 1

二次分母还要再多走一步,表才能读懂它:用配方把它凑成 (s+σ)2+ω2(s + \sigma)^2 + \omega^2 的形状,也就是把中间那个数减半再平方。所以 s2+2s+5=(s+1)2+4s^2 + 2s + 5 = (s + 1)^2 + 4:一个衰减的余弦加正弦,σ=1\sigma = 1,ω=2\omega = 2。

用代数解无人机

这是第 2 章里 P 控制下的无人机,这次没有免费的悬停推力,并且从一个 1 m 高的台沿上出发。在 t=0t=0 时我们松手,并要求它到 2 m。从这一刻起算,新的给定值和恒定的重力都像阶跃一样变换:

m h′′+c h′=Kp (2−h)−mgm\,\out{h}'' + c\,\out{h}' = \eff{K_p}\,(\sp{2} - \out{h}) - \dis{m g}

第 1 步: 变换每一项。因为面积按比例缩放、可以相加(见表格那一节),我们可以单独变换每一项。大小为 rr 的阶跃变成 r/sr/s,斜率变成乘以 ss。我们写下的是:

m s2H+c s H=Kp(2s−H)−mgsm\,s^2\out{H} + c\,s\,\out{H} = \eff{K_p}\Big(\frac{\sp{2}}{s} - \out{H}\Big) - \frac{\dis{m g}}{s}

第 2 步: 现在全是代数了。把 H\out{H} 归到一边,然后相除:

(ms2+cs+Kp) H=Kp 2−mgsH(s)=N(s)s (ms2+cs+Kp)N(s)=Kp 2−mg\begin{gathered} \begin{aligned} &(m s^2 + c s + \eff{K_p})\,\out{H} \\ &\quad = \frac{\eff{K_p}\,\sp{2} - \dis{m g}}{s} \end{aligned} \\[8pt] \out{H}(s) = \frac{N(s)}{s\,\big(m s^2 + c s + \eff{K_p}\big)} \\[8pt] N(s) = \eff{K_p}\,\sp{2} - \dis{m g} \end{gathered}

米卡: 瞧瞧。一个斜率都不剩,只是在挪来挪去几个字母。西奥,你的笔记本不冒烟了。

第 3 步: 像上一节那样,把它拆成表里的碎片:ss 那一块的分子是一个数,二次的那一块分子是 Bs+CB s + C:

H(s)=As+Bs+Cms2+cs+Kp\out{H}(s) = \frac{A}{s} + \frac{B s + C}{m s^2 + c s + \eff{K_p}}

怎么求出 AA、BB 和 CC?两边同乘公共分母 s (ms2+cs+Kp)s\,(m s^2 + c s + \eff{K_p}):

N(s)=A (ms2+cs+Kp)+s (Bs+C)\begin{aligned} N(s) &= A\,(ms^2+cs+\eff{K_p}) \\ &\quad + s\,(Bs+C) \end{aligned}

接着逐个比较两边 ss 的各次幂。常数项给出 AA,s2s^2 项给出 BB,ss 项给出 CC:

A=2−mgKpB=−m A,C=−c A\begin{gathered} A = \sp{2} - \frac{\dis{mg}}{\eff{K_p}} \\ B = -m\,A, \qquad C = -c\,A \end{gathered}

这里没有出现任何新的物理:我们只是把通分倒过来,得到表格能翻译回时间的那些碎片。注意,AA 根本不在乎无人机是从哪里出发的。

西奥: 而我们一次都没猜过 este^{st}。是表格替我们猜的。

第 4 步: 在我们刚推导出的表里逐个查找:A/sA/s 是一个阶跃,第二块是一个衰减的余弦加一个衰减的正弦(下面的绕个小弯会说明它怎么对上那几行)。读出 h(t)h(t)。

朱恩: 拿它和仿真对一下!

先预测一下! 我们让无人机从 1 m 高的台沿出发,把公式和仿真并排运行。会看到什么?

第 9 章:把微积分变成代数 ↗

米卡: 哎呀。公式从零开始,可无人机是从 1 m 高的台沿开始的。代数在撒谎?

西奥: 代数没问题。撒谎的是我们。看第 1 步:我们写了 L{h′′}=s2H\mathcal{L}\{h''\} = s^2 H 和 L{h′}=s H\mathcal{L}\{h'\} = s\,H,把每个 h(0)h(0) 都丢掉了。而那恰恰是记住台沿的那一块。

拨动开关,把初始高度项放回去,看看第 1 步、第 2 步和上面的系数如何跟着改变。虚线的公式和蓝色的仿真现在严丝合缝地叠在一起:最大的差距不到百万分之一米,只是舍入误差。改一改 Kp\eff{K_p} 或台沿高度,它们照样一致。

第 9 章:把微积分变成代数 ↗

西奥: 在第 2 章,我们得真的让无人机飞起来才能找到静差。在这里,它直接从一个分式里掉了出来。

我们现在知道什么

我们搞清楚了什么

  • 斜率变成乘法:L{f′}=sF(s)−f(0)\mathcal{L}\{f'\} = sF(s) - f(0)。f(0)f(0) 记着信号从哪里开始。忘了它,答案就从错的地方开始。
  • 我们推导出了自己的表:1/s1/s、1/(s−a)1/(s-a)、ω/(s2+ω2)\omega/(s^2+\omega^2),以及衰减正弦的平移版本。面积按比例缩放、可以相加,所以我们能把方程逐项变换。
  • 大分式可以拆成部分分式:每个分母里 ss 的每一次幂对应一个未知数,用掩盖法求出来。二次分母变成一个逐渐缩小的余弦加正弦。
  • 变换,做代数,拆成表里的碎片,读出答案。A/sA/s 这一块就是无人机最终停留的位置,静差也包含在内。它和仿真完全吻合,只要你保留初始值。

朱恩:“每次我们解出某个东西时,答案都是 (某个东西) ÷ (s 的多项式),而无人机的行为来自底部为零的地方。如果那个分数就是无人机呢?”

第 9 章:把微积分变成代数 ↗