非齐次方程、待定系数法与共振
上一章我们主要研究自由系统:没有外部输入时,二阶常系数线性方程的根决定了解的形状。现在把外部输入放回来。一个弹簧受到周期性拉力,一个电路接上交流电源,一个结构被风周期性推动,它们都不只按自己的方式运动,还会被输入持续“喂”进新的变化。
本章研究的标准对象是
ay′′+by′+cy=g(t),a=0
左边是系统本身,右边的 g(t) 是外部输入。线性方程最有用的一点是:总响应可以拆成两部分,
y(t)=yh(t)+yp(t)
其中 yh 解齐次方程 ay′′+by′+cy=0,yp 是原非齐次方程的一个特解。待定系数法就是在常系数方程中快速构造 yp 的方法;共振则是当输入频率踩中系统自然频率时,响应会被放大的现象。
非齐次线性方程把“系统自己的运动”和“外部输入造成的运动”放在同一个响应里。
本章的主线不是背一张试探解表,而是理解输入、系统和响应之间的关系。待定系数法负责算出受迫响应;齐次解负责保留初始状态的影响;共振说明某些输入会被系统特别敏感地放大。
非齐次方程的结构
把微分方程写成算子形式会更清楚。记
L[y]=ay′′+by′+cy
那么非齐次方程就是
L[y]=g(t)
如果 yp 是其中一个特解,即 L[yp]=g(t),而 yh 是齐次方程的任意解,即 L[yh]=0,那么
L[yh+yp]=L[yh]+L[yp]=g(t)
所以 yh+yp 仍然是原方程的解。反过来,如果 y1 和 y2 都解同一个非齐次方程,那么它们的差满足
L[y1−y2]=0
这说明所有非齐次解之间只差一个齐次解。因此,求非齐次方程的通解可以分成两步:先求齐次通解,再找一个特解。
暂态响应与稳态响应
在很多稳定系统中,齐次解会随时间衰减。例如阻尼振动的齐次部分常含有 e−αt,时间久了会接近 0。这一部分叫暂态响应,因为它反映初始状态,通常只在一段时间内明显。
非齐次项造成的特解常叫受迫响应。若输入是周期性的,而且系统有阻尼,特解通常会留下一个长期存在的周期运动,这部分也常叫稳态响应。
例如
y′′+2y′+5y=10cost
的齐次解会衰减,而由 10cost 造成的周期特解会长期保留。初始条件决定开始时怎么振,外部输入决定长期跟着什么节奏振。
求解时不要急着把初始条件代进去。先写出 y=yh+yp,再用初始条件确定齐次部分中的常数。这样才能把“输入造成的形状”和“初始状态造成的调整”分清。
待定系数法能处理哪些输入
待定系数法适合常系数线性方程,并且右端 g(t) 的形式要足够“稳定”:反复求导以后,仍然只在有限几个同类函数之间来回变化。
常见可处理的输入包括:
- 多项式,例如 3t2−2t+1
- 指数函数,例如 5e2t
- 正弦余弦,例如 4cos3t−7sin3t
- 上面几类的有限乘积与有限和,例如 te−tcos2t
这背后的原因很朴素。微分算子会把这些函数送回同一个小空间里。只要我们把这个小空间里的函数都放进试探式,代回方程后就能通过比较系数求出未知常数。
待定系数法先判断输入所属的函数族,再写出包含足够自由度的试探特解。
下面是常用试探式的文字版。若右端是 Pn(t),也就是次数为 n 的多项式,试探式取同次数多项式:
yp=Antn+An−1tn−1+⋯+A1t+A0
若右端是 eλtPn(t),试探式取
yp=eλt(Antn+An−1tn−1+⋯+A0)
若右端是 Mcosωt+Nsinωt,试探式要同时放入正弦和余弦:
yp=Acosωt+Bsinωt
哪怕右端只有 cosωt,也通常要把 sinωt 一起放进去,因为求导会让正弦和余弦互相转换。
待定系数法不是通用求解器。右端若是 lnt、tant、任意分段函数,或者方程左边不是常系数形式,通常不能直接套这套试探式。下一章的变参数法会处理更一般的输入。
一套稳定的操作流程
待定系数法最容易出错的地方不是代数计算,而是试探式写早了、写少了,或者忘记检查它是否已经出现在齐次解里。下面这套流程可以减少这类错误。
先把方程整理成常系数线性形式,并确认右端 g(t) 属于多项式、指数、正弦余弦或它们的有限组合。如果输入不在这些族里,就不要硬套待定系数法。
求齐次方程 L[y]=0 的通解 yh。这一步必须先做,因为后面要检查试探式是否与齐次解重复。
根据 g(t) 的形式写出初始试探式。多项式给同次数多项式,指数给同指数,正弦余弦要成对出现。若右端是和式,可以把各个输入分开处理。
检查试探式中的每一项是否已经包含在 yh 中。如果重复,就把整组试探式乘以 t;如果仍然重复,再乘以 t,直到它与齐次解独立。
把调整后的 yp 代入原方程,比较同类项系数,求出待定常数。最后写出 y=yh+yp,若有初始条件,再代入完整的总解。
为什么重复时要乘以 t
假设齐次解里已经有 et。如果右端也是 et,我们自然会先试
yp=Aet
但这不可能成功,因为 Aet 已经是齐次解的一部分,代入左边后一定得到 0,无法产生右端的 et。这时要把试探式移出齐次解空间,改为
yp=Atet
若齐次解中 et 是重根对应的两项 et 和 tet,那还要继续乘一次 t,改用 At2et。
乘以 t 不是形式补丁,而是把试探项从齐次解已经占据的方向中移出来。
最常见的错误是直接把 Aet 代入,然后得到 0=et,于是以为方程无解。线性非齐次方程并没有无解;出错的是试探式落进了齐次解空间。
例题:多项式输入
求方程
y′′−3y′+2y=4t+1
的通解。
先解齐次方程。特征方程是
r2−3r+2=0因而 r=1,2,所以
yh=C1et+C2e2t右端是一次多项式,所以设
yp=At+B这与 et、e2t 不重复,不需要乘以 t。
代入左边。因为 yp′=A,yp′′=0,所以
yp′′−3yp′+2yp=2At+(2B−3A)比较系数得到
2A=4,2B−3A=1因而 A=2,B=27。
写出通解:
y=C1et+C2e2t+2t+27
这个例题看起来简单,但它说明了待定系数法的基本节奏:先让齐次解占好位置,再为输入找一个刚好够用的特解形状。
例题:指数输入与重合
再看一个更容易犯错的方程:
y′′−3y′+2y=et
齐次解仍然是
yh=C1et+C2e2t
右端是 et,初始试探式似乎应该是 Aet。但 et 已经在齐次解中,所以必须乘以 t:
yp=Atet
计算时有
yp′=A(1+t)et
yp′′=A(2+t)et
代回原算子:
yp′′−3yp′+2yp=−Aet
要让它等于 et,必须取 A=−1。因此
yp=−tet
通解是
y=C1et+C2e2t−tet
这里的 −tet 是一个特解,不是齐次解的一部分。它虽然含有 et,但多出来的 t 让它经过微分算子后留下了右端所需的 et。
正弦余弦输入要成对处理
考虑
y′′+2y′+5y=6cost
如果只设 yp=Acost,代入时 2y′ 会产生 sint 项,左边无法只靠一个 A 同时控制余弦项和正弦项。因此应设
yp=Acost+Bsint
代入得到
yp′′+2yp′+5yp=(4A+2B)cost+(4B−2A)sint
比较系数:
4A+2B=6,4B−2A=0
解得
A=56,B=53
所以一个特解是
yp=56cost+53sint
右端虽然只有余弦,系统响应却带有正弦项。这在物理上对应相位滞后:输入的峰值和响应的峰值未必同时出现。
叠加输入可以分别求
线性方程允许把输入拆开。若
L[y]=g1(t)+g2(t)
并且 L[yp1]=g1(t),L[yp2]=g2(t),那么
L[yp1+yp2]=g1(t)+g2(t)
因此右端是多个简单输入之和时,可以分别求特解,再把它们相加。
线性叠加让复杂输入变成几道较小的待定系数题。
例如
y′′+y=et+3cos2t
可以分别找 et 对应的特解和 3cos2t 对应的特解。对 et 设 Aet,代入得
2Aet=et
所以 A=21。对 3cos2t 设 Bcos2t+Csin2t,代入 y′′+y 后得到
−3Bcos2t−3Csin2t=3cos2t
所以 B=−1,C=0。于是一个特解是
yp=21et−cos2t
这一做法的前提是方程左边线性。若左边含有 y2、yy′ 或 siny,输入叠加通常不会变成响应叠加。
受迫振动模型
受迫振动是非齐次二阶方程最典型的模型。设 x(t) 是质量块相对平衡位置的位移,质量为 m,阻尼系数为 b,弹簧常数为 k,外力为 F(t)。模型是
mx′′+bx′+kx=F(t)
左边来自系统本身:质量带来惯性,阻尼带来速度反向的阻力,弹簧带来恢复力。右边是外部输入。
同一个二阶非齐次方程可以同时解释机械振动、电路响应和许多工程系统。
若外力是周期性的,例如
F(t)=F0cosωt
就可以用
xp=Acosωt+Bsinωt
求稳态响应。阻尼不为零时,齐次部分通常会衰减,长期运动主要由这个周期特解决定。
电路中也有同样的结构。串联 RLC 电路若以电荷 q(t) 为未知量,可以写成
Lq′′+Rq′+C1q=E(t)
其中电感 L 类似质量,电阻 R 类似阻尼,电容项类似弹簧恢复力,电源 E(t) 是输入。形式相同,所以同一套非齐次方程方法能在不同模型中重复使用。
共振从哪里来
先看最理想的无阻尼模型:
x′′+ω02x=F0cosωt
这里 ω0 是系统的自然角频率。如果 ω=ω0,试探
xp=Acosωt
可以得到
xp=ω02−ω2F0cosωt
当 ω 接近 ω0 时,分母变小,振幅会变大。若正好 ω=ω0,这个公式不能用,因为试探项与齐次解中的 cosω0t 重合。此时要乘以 t,可以取
xp=2ω0F0tsinω0t
它的振荡包络随时间线性增大。这就是理想无阻尼共振的数学表达。
纯共振不是瞬间爆炸,而是在持续同频输入下不断积累振幅。
共振有两个层面的含义。代数上,它表现为试探项与齐次解重合,需要乘以 t。物理上,它表示外力每个周期都在合适的时刻给系统补能,能量逐步积累。
阻尼下的实际共振
现实系统通常有阻尼:
mx′′+bx′+kx=F0cosωt
这时长期稳态响应的振幅可以写成
A(ω)=(k−mω2)2+(bω)2F0
这个公式说明两件事。第一,外力频率接近系统自然频率附近时,响应仍然可能明显变大。第二,只要 b>0,分母不会变成 0,振幅不会无限增长。阻尼越大,共振峰越低,也越不尖锐。
阻尼把理想共振中的无限增长改造成有限的频率响应峰。
在建模中,“共振”不一定意味着系统立刻损坏。它更准确地说是系统对某些频率的输入特别敏感。工程上会通过增加阻尼、避开工作频率、改变结构参数等方式,把共振峰移开或压低。
常见误区
误区一:把特解中的待定系数写成 C1、C2。齐次解里的常数是由初始条件决定的自由常数;特解里的 A、B、D 是代入方程后被固定的系数。两类常数不要混用。
误区二:右端只有余弦,就只设余弦。含有 y′ 项时,余弦求导会产生正弦;即使没有 y′ 项,为了形成稳定流程,也应先考虑正弦余弦成对出现,再由系数比较决定某一项是否为零。
误区三:先代初始条件,再找特解。初始条件属于总解 yh+yp,不是只属于齐次解。过早代入会把输入造成的特解漏掉。
误区四:看到共振就认为“解不存在”。共振时解仍然存在,只是普通试探式和齐次解重复,需要乘以 t;在无阻尼同频输入下,解的振幅会随时间增长。
小结
本章把二阶常系数方程从自由运动推进到受迫运动。非齐次方程的通解结构是
y=yh+yp
齐次部分保存系统本身的模式和初始条件影响,特解描述外部输入造成的响应。待定系数法适用于常系数方程和若干稳定的输入函数族。它的关键动作是:根据输入选试探式,检查是否与齐次解重合,必要时乘以 t,再代入比较系数。
共振把这个代数规则和物理直觉连起来。当输入频率与系统自然频率重合时,普通试探项落入齐次解空间;在无阻尼模型中,修正后的特解带有 t 因子,振幅会随时间增长。加入阻尼后,长期响应变成有限的频率响应峰。
练习
练习 1:求方程
y′′+3y′+2y=5
的通解。
齐次方程的特征方程是
r2+3r+2=0所以
yh=C1e−t+C2e−2t右端是常数,设 yp=A。代入得 2A=5,所以 A=25。通解为
y=C1e−t+C2e−2t+25
练习 2:对方程
y′′−y=et
写出合适的试探特解形式,并说明理由。
齐次方程的特征根是 r=1,−1,所以 et 已经出现在齐次解中。普通试探式 Aet 会失败,应乘以 t,取
yp=Atet若继续求系数,代入可得 A=21。
练习 3:求方程
y′′+y=4sin2t
的一个特解。
右端是正弦输入,设
yp=Acos2t+Bsin2t代入 y′′+y 得
−3Acos2t−3Bsin2t=4sin2t因此 A=0,B=−34。一个特解是
yp=−34sin2t
练习 4:无阻尼方程
x′′+9x=6cos3t
为什么不能设 xp=Acos3t?合适的试探式是什么?
齐次解是
xh=C1cos3t+C2sin3tcos3t 已经是齐次解的一部分,所以 Acos3t 会被左边算子送成 0。由于输入与自然频率重合,发生无阻尼共振。合适的试探式可以取
xp=Atsin3t代入后可求得 A=1,因此一个特解是 xp=tsin3t。