A·05用 Laplace 解 ODE:partial fraction expansion
About 18 min
有了求导性质,ODE 两边取 Laplace,就得到一个关于 Y(s) 的代数方程。解出来的 Y(s) 一般是一个分式,表里查不到;partial fraction expansion(部分分式展开)把它拆成几个表里有的简单分式,再逐项反变换。这一节按分母的根分三种情况,每种都把前面时域解过的方程再解一遍对答案;最后讲怎样拿它核对 convolution。
四步
- 两边取 Laplace。y′→sY−y(0−),y′′→s2Y−sy(0−)−y′(0−),输入查表。
- 解代数方程,得 Y(s)=N(s)/D(s),N、D 是多项式。D(s) 的根叫 poles。
- partial fraction expansion:按 poles 把 Y(s) 拆成 s−pK、(s−p)2K、配方后的复根项之和。
- 逐项查表反变换,得 y(t),对 t>0 成立。
拆之前要求 N 的次数低于 D(proper)。解 ODE 得到的 Y(s) 都满足;不满足时先做多项式除法。
Davis 的做法(例 13.2)是先把方程乘 u(t),用 p[yu]=y′u+y(0)δ(6·05)把初值变成右边的 δ 项,再取 Laplace。整理后的代数方程和上面第 1 步完全一样,下面只写 Alexander 的形式。
① 不同实根:cover-up 法
设 Y=(s−p1)(s−p2)⋯(s−pn)N(s),pi 互不相同。那么
Y(s)=s−p1K1+s−p2K2+⋯+s−pnKn
求 K1:两边乘 (s−p1),右边变成 K1+(s−p1)[s−p2K2+⋯]。再令 s=p1,方括号那一项乘了 0,只剩 K1:
cover-up 法(Alexander 15.52 叫 Heaviside 定理)
Ki=[(s−pi)Y(s)]s=pi
做法:在 Y 的分母里"盖住"因子 (s−pi),把 s=pi 代进剩下的部分。反变换 s−pK↔Keptu(t)。
例题例 1 一阶:y′ + 2y = 4u(t),y(0⁻) = 0
用 Laplace 解。
- 取 Laplace:sY−0+2Y=s4。
- 解出 Y:(s+2)Y=s4,Y=s(s+2)4。poles 是 0 和 −2。
- 展开:设 Y=sK1+s+2K2。求 K1 盖住 s、代 s=0;求 K2 盖住 (s+2)、代 s=−2:
K1K2=s+24s=0=24=2=s4s=−2=−24=−2
- 反变换:Y=s2−s+22,所以
y(t)=2(1−e−2t)(t>0)
检查。合回去:s2−s+22=s(s+2)2(s+2)−2s=s(s+2)4 ✓。代回方程:y′=4e−2t,y′+2y=4e−2t+4−4e−2t=4 ✓,y(0)=0 ✓。和一阶公式一致:终值 X/a=4/2=2,τ=1/2。
例题例 2 二阶带初值:y″ + 3y′ + 2y = 12,y(0) = 3,y′(0) = 2(Davis 例 13.2)
就是上一节的例 4,这次用 Laplace。
- 取 Laplace(初值代进求导公式):y′′→s2Y−3s−2,y′→sY−3,12→12/s。展开 3(sY−3):
s2Y−3s−2+3sY−9+2Y=s12
- 解出 Y:把不含 Y 的项移到右边,再通分:
(s2+3s+2)Y=s12+3s+11=s3s2+11s+12
左边因式分解 s2+3s+2=(s+1)(s+2),两边除过去:
Y(s)=s(s+1)(s+2)3s2+11s+12
- cover-up:三个 poles 0,−1,−2,设 Y=sK1+s+1K2+s+2K3。记 N(s)=3s2+11s+12,先算 N(0)=12,N(−1)=3−11+12=4,N(−2)=12−22+12=2。每次盖住一个因子,代它的根:
K1K2K3=(s+1)(s+2)N(s)s=0=1⋅212=6=s(s+2)N(s)s=−1=(−1)(1)4=−4=s(s+1)N(s)s=−2=(−2)(−1)2=1
- 反变换:Y=s6−s+14+s+21:
y(t)=6−4e−t+e−2t(t>0)
和时域解(上一节例 4)、Davis 式 13.0-29 一样。检查:y(0)=6−4+1=3 ✓,y′(0)=4−2=2 ✓,代回方程见上一节例 4 ✓。
比较两种方法:时域要猜 yf、解 2×2 方程组;Laplace 在第 1 步就把初值放进去了,工作量在展开上。
② 重根
分母里有 (s−p)2 时,展开里要同时有 (s−p)2B 和 s−pA 两项(只写一项凑不出原式,就像重根的 natural response 要有 ept 和 tept 两项)。
- B:盖住整个 (s−p)2,代 s=p:B=[(s−p)2Y]s=p。
- A:cover-up 给不出来。最省事的办法是其他系数求出来以后,两边代一个方便的 s 值(比如 s=0)解出 A;也可以用 Alexander 式 15.56:A=dsd[(s−p)2Y]s=p。
- 反变换:(s−p)2B↔Bteptu(t)(1/s2↔t 加 frequency shift)。
例题例 3 输入撞上 natural response:y′′+3y′+2y=e−tu(t),初值全为 0(Davis 例 13.1)
Davis 把展开"留给读者",这里补全。
- 取 Laplace:初值为 0,(s2+3s+2)Y=s+11。
- 解出 Y:s2+3s+2=(s+1)(s+2),所以 Y=(s+1)2(s+2)1。输入的 pole −1 和 natural response 的根 −1 撞在一起,成了重根。
- 展开:设 Y=s+1A+(s+1)2B+s+2C。C 和 B 用 cover-up(求 B 要盖住整个 (s+1)2):
CB=(s+1)21s=−2=(−1)21=1=s+21s=−1=11=1
A:两边代 s=0。左边 Y(0)=1⋅21=21,右边 A+B+2C=A+23,所以 A=−1。(用导数公式也行:dsds+21=−(s+2)21,在 s=−1 是 −1。)
- 反变换:Y=−s+11+(s+1)21+s+21:
y(t)=(t−1)e−t+e−2t(t>0)
检查。y(0)=−1+1=0 ✓。y′=(2−t)e−t−2e−2t,y′(0)=0 ✓。y′′=(t−3)e−t+4e−2t。y′′+3y′+2y 的 e−t 项:(t−3)+3(2−t)+2(t−1)=1;e−2t 项:4−6+2=0。合起来 =e−t ✓。
te−t 这一项就是一阶里"b=a 时要猜 Kte−at"的二阶版本。
③ 复根:配方
分母里有 s2+bs+c 而且 b2<4c(一对复根)时,不要拆成两个复数因子,而是配方(Alexander 15.62–15.65):
- 配方:s2+bs+c=(s+σ)2+ω2,其中 σ=b/2,ω2=c−σ2。复根就是 −σ±jω。
- 把分子改写成 A(s+σ)+Bω 的样子(先凑出 s+σ,剩下的常数再写成 ω 的倍数)。
- 用 frequency shift 的两对反变换:(s+σ)2+ω2s+σ↔e−σtcosωt,(s+σ)2+ω2ω↔e−σtsinωt。
例题例 4 y″ + 2y′ + 5y = 0,y(0) = 1,y′(0) = 0
上一节例 3(underdamped),这次用 Laplace。
- 取 Laplace:[s2Y−s⋅1−0]+2[sY−1]+5Y=0。
- 解出 Y:(s2+2s+5)Y=s+2,Y=s2+2s+5s+2。
- 配方:s2+2s+5=(s+1)2+4,σ=1,ω=2。分子 s+2=(s+1)+1=(s+1)+21⋅2。所以
Y=(s+1)2+4s+1+21⋅(s+1)2+42
- 反变换:
y(t)=e−t(cos2t+21sin2t)(t>0)
和上一节例 3 一样(那里已经代回方程检查过)。
例题 · 先自己做例 5 复根加一个实根:y″ + 2y′ + 5y = 10u(t),初值全为 0
这是例 4 那个 underdamped 电路的阶跃响应。
看解答
- 取 Laplace:(s2+2s+5)Y=s10,Y=s(s2+2s+5)10。
- 设展开形式:Y=sK+s2+2s+5As+B。实根 0 用 cover-up:盖住 s、代 s=0,K=510=2。
- 求 A、B:两边乘 s(s2+2s+5),右边展开、按 s 的次数整理:
10=2(s2+2s+5)+(As+B)s=(2+A)s2+(4+B)s+10
两边是同一个多项式,各次系数相等:s2 项 2+A=0,A=−2;s 项 4+B=0,B=−4;常数项 10=10 ✓。
- 配方:(s+1)2+4−2s−4,分子 −2s−4=−2(s+1)−2=−2(s+1)−1⋅2。所以
Y=s2−2⋅(s+1)2+4s+1−(s+1)2+42
- 反变换(t>0):
y(t)=2−e−t(2cos2t+sin2t)
检查。y(0)=2−2=0 ✓。y′=e−t(2cos2t+sin2t)−e−t(−4sin2t+2cos2t)=5e−tsin2t,y′(0)=0 ✓。y′′=−5e−tsin2t+10e−tcos2t。y′′+2y′+5y:sin 项 −5+10−5=0,cos 项 10−10=0,常数 5×2=10 ✓。
终值 2 = X/a0=10/5。y′=5e−tsin2t 在 t=π/2 第一次为 0,那里 y=2+2e−π/2≈2.42:underdamped 的阶跃响应会冲过终值。
④ 拿 Laplace 核对 convolution
convolution 性质 L{f1∗f2}=F1(s)F2(s) 给了一个验算办法:在时域里算完 convolution 以后,把两个函数的变换相乘,做 partial fraction expansion,反变换回来,和你的答案比较。
例题例 6 核对两个 convolution
(a) e−tu(t)∗2e−2tu(t)(Davis 例 13.55);(b) 3u(t)∗e−4tu(t)。
(a) 相乘:s+11⋅s+22=(s+1)(s+2)2。cover-up:s=−1 处 −1+22=2,s=−2 处 −2+12=−2。所以 s+12−s+22,反变换 2(e−t−e−2t)u(t),和 C·08 直接积分的结果一样 ✓。
(b) 相乘:s3⋅s+41=s(s+4)3。cover-up:s=0 处 43,s=−4 处 −43=−43。反变换 43(1−e−4t)u(t):一阶系统 h=e−4tu 的阶跃响应 τ(1−e−t/τ)(τ=1/4)乘 3 ✓。
常见错误
- 忘了初值项:初值不为 0 时 L{y′}=sY−y(0−),不是 sY。
- 重根只写了 (s−p)2B,漏了 s−pA。cover-up 只能给出最高次那一项的系数。
- 复根配方以后,分子要改写成 s+σ 和 ω 的组合;sin 那一项的分子必须是 ω,所以例 4 里的 1 要写成 21⋅2。
- cover-up 只对单根(互不相同的因子)直接成立;复根那一对用比较系数。
- 反变换得到的是 t>0 的解(Davis 式 13.0-29 特意写 t>0)。最后写不写 u(t) 只是习惯。
练习 1 一阶带初值
用 Laplace 解 y′+3y=6u(t),y(0−)=1。
提示
sY−1+3Y=6/s。
(s+3)Y=s6+1=ss+6,Y=s(s+3)s+6。cover-up:s=0 处 36=2;s=−3 处 −3−3+6=−1。Y=s2−s+31,y=2−e−3t(t>0)。检查:y(0)=1 ✓,终值 6/3=2 ✓,y′+3y=3e−3t+6−3e−3t=6 ✓。
练习 2 复根,初速度不为 0
用 Laplace 解 y′′+2y′+5y=0,y(0)=0,y′(0)=2。
提示
s2Y−0−2+2(sY−0)+5Y=0。
(s2+2s+5)Y=2,Y=(s+1)2+42。分子正好是 ω=2,直接查表:y=e−tsin2t。检查:y(0)=0 ✓;y′=e−t(2cos2t−sin2t),y′(0)=2 ✓;y′′=e−t(−3sin2t−4cos2t),y′′+2y′+5y:sin 项 −3−2+5=0,cos 项 −4+4=0 ✓。
练习 3 重根加一个实根
用 Laplace 解 y′′+4y′+4y=8u(t),初值全为 0。答案应该和上一节练习 2 一样。
提示
Y=s(s+2)28=sK+s+2A+(s+2)2B。
K:盖住 s、代 0,48=2。B:盖住 (s+2)2、代 −2,−28=−4。A:两边代 s=−1:左边 (−1)(1)8=−8,右边 −2+A−4,所以 A=−2。
Y=s2−s+22−(s+2)24,y=2−2e−2t−4te−2t=2−(2+4t)e−2t,和时域解一样 ✓。