二阶线性方程的结构
上一章我们学会了沿着方程给出的斜率,一小步一小步计算近似解。不过,如果现在把一辆小车停在某个位置,只告诉计算程序“它在这里”,程序就能预测小车下一秒在哪里吗?还不行。同一个位置上的小车,可以静止,可以正在向右滑,也可以正在向左滑。缺少速度,运动的起点就没有交代完整。
这正是二阶方程要接住的问题。前面的许多一阶模型直接规定一个量怎样变化;现在,力先决定加速度,加速度改变速度,速度再改变位置。我们需要同时追踪位置和速度,才能把这个过程接起来。
这一章先不急着学习一套新的求解口诀。我们要弄清楚:二阶线性方程为什么需要两个初值,为什么两个合适的解就能拼出全部齐次解,以及外力加入以后,解的整体结构发生了什么变化。等这些问题清楚了,下一章寻找具体公式时,我们就知道自己究竟在找什么。
位置相同,接下来也可能完全不同
先看最简单的一种运动:物体沿直线滑动,在研究的时间里合外力为零。我们用 y(t) 表示它的位置,y′(t) 表示速度。由于速度不改变,加速度就是零,方程写成
y′′=0.
连续积分两次,得到
y′=C2,y=C1+
假设时间用秒、位置用米度量,只告诉我们 y(0)=2,就只能确定 C1=2。y=2、、 都经过同一个初始位置,却分别描述静止、向正方向匀速运动、向负方向更快地运动。
再加上 y′(0)=−3 m/s,才选出
y(t)=2−3t.
这里的两个常数各有来历:一个记录初始位置,一个记录初始速度。一般二阶方程里的两个常数未必能这样直接读出来,但两份初始信息的作用不变。
我们也可以接着上一章,把它写成两条一阶方程。令 v=y′,那么
y′=v,v′=0.
一步 Euler 更新便是 yn+1=yn+hvn、。这个例子中速度恒定,更新恰好给出网格点处的精确位置。它也说明:数值方法并没有突然失效,只是程序每一步要保存的状态从一个数变成了一对数。
弹簧为什么自然带来二阶方程
让小车的一端连着弹簧,正方向取向右,y=0 取弹簧不伸不缩时的位置。我们先用一个明确的理想模型:小车质量固定,弹簧形变不大,回复力与位移成正比,阻力与速度成正比,其他沿运动方向的作用统一记入外力 F(t)。
小车向右偏离时,弹簧向左拉;小车向右运动时,阻力也向左。因此这两种力分别是 −ky 和 −cy′。牛顿第二定律给出
my′′=F(t)−cy′−ky,
整理后就是
my′′+cy′+ky=F(t).
m>0 是质量,c≥0 是阻尼系数,k>0 是弹簧刚度。如果 y 用米、t 用秒,那么 的单位是千克, 的单位是牛顿秒每米, 的单位是牛顿每米;等式中的每一项都是力,单位都是牛顿。
弹簧-质量-阻尼模型展示了二阶线性方程中惯性、阻尼、回复力与外力输入的结构来源。
例如取 m=2 kg、c=3 Ns/m、k=8 N/m,外力暂时为零。如果两次释放的位置都是 ,一次初速度为零,另一次初速度为 ,起始加速度分别为
y′′(0)=2−3⋅0−8⋅0.1
y′′(0)=2−3⋅1−8⋅0.1
连起始加速度都不同,接下来的运动当然不能只凭“初始位置相同”来判断。我们把 (y,y′) 叫作状态,就是为了把这两份信息一起保留下来。
类似的事情也会出现在电路里。理想串联 RLC 电路中,若 Q(t) 表示电荷、电流是 Q′,各元件参数固定,电压平衡给出
ℓQ′′+RQ′+C1Q
这里特意用 ℓ 表示电感,以免与后面表示微分算子的 L 混淆。电感电压 ℓQ′′、电阻电压 RQ′、电容电压 加起来等于外加电压 。机械和电路的物理量不同,却把我们带到同一种数学结构。
先把方程的类型和适用区间看清
把刚才的模型推广,二阶线性方程写成
a2(t)y′′+a1(t)
“线性”限制的是未知函数及其导数:y、y′、y′′ 都以一次幂出现,彼此不相乘,系数只依赖自变量 t。所以 是线性的,哪怕系数看起来比常数复杂; 和 都不是。
如果在某个区间 I 上 a2(t) 始终不为零,我们可以两边除以它,得到标准形式
y′′+p(t)y′+q(t)y=g(t).
这里 p=a1/a2、q=a0、。后面的结构结论都在同一个区间 上讨论,并假设 在这个区间连续。
对应的初值问题是
y′′+p(t)y′+q(t
其中 t0∈I。在上述连续性条件下,不论 y0,v0 取什么实数,这个初值问题在整个区间 上都有唯一解。这里我们使用这个定理,不展开完整证明;但它的作用会贯穿全章:
注意,这比“解曲线不能相交”精确得多。二阶方程的两条位置曲线完全可以相交,只要交点处速度不同。例如 sint 和 −sint 都满足 y′′+y=0,它们在 t 的位置相同,速度却分别是 和 。
还有一个容易混淆的地方:两份初始条件指的是同一时刻的位置与速度,不是随便给出两个数就一定唯一。例如 y′′+y=0,如果要求 y(0)=0、y(π)=,那么任意 都满足。这是把位置分别放在两个时刻指定的边值条件,本章的初值定理没有承诺它能唯一确定解。条件的数量一样,放置方式不同,结论就可能不同。
最高阶系数为零时,不能直接套定理
看方程
ty′′−y′=0.
在 t>0 或 t<0 的区间里,可以除以 t,标准形式中的 p(t)=−1/t 连续。但跨过 t 时,就不能继续沿用这个理由。
这里不是单纯的技术麻烦。任意函数 y=Ct2 都满足原方程,因为
t⋅2C−2Ct=0.
而且它们全都满足 y(0)=0、y′(0)=0。在零点给出同样的两份初始数据,竟然有无穷多个解。失去定理的条件以后,唯一性真的可能失效。
反过来,系数有奇点也不意味着每个具体解都在那里发散。刚才的 Ct2 就能光滑地跨过零点。我们应该说“标准定理不再保证这个结论”,随后再检查具体方程,不能把条件不满足直接读成无解或解必发散。
线性带来的方便:解可以怎样组合
弹簧没有人继续推时,方程右端是零;有人按照规定的方式推它时,右端出现外力。一般地,我们把
y′′+p(t)y′+q(t)y=0
叫作齐次方程。右端函数 g 不恒等于零时,对应方程叫非齐次方程。这里要看的是右端在区间上是否恒为零;g(t) 偶尔经过零,并不会让整个方程变成齐次方程。
为避免每次都抄很长的左边,我们记
L[y]=y′′+p(t)y′+q(t)y.
可以把 L 想成一个操作:输入函数,求两次导数,再按系数组合。求导能拆开加法、提取常数,因此对常数 α,β 有
L[αu+βv]=αL[u]+βL[v].
这就是线性算子的含义。假设两个函数 y1,y2 都满足齐次方程,那么
L[c1y1+c2y
于是它们的任意常数倍之和仍然是解。这叫叠加原理。
“常数倍”三个字不能省略。如果把系数换成 t,求导时会多出项。例如 cost 满足 y′′+y=0,但
(tcost)′′+tcost=−2sint,
所以 tcost 并不满足同一个齐次方程。后面让系数随时间变化时,我们正要利用这些多出来的项,但那已经是另一种求解工作。
对非齐次方程也可以使用线性,不过要连右端一起计算。如果 L[u]=g、L[v]=g,那么 L[u+v]=2g,通常已经换了方程。若两个输入本来就不同,、,则
L[u+v]=g1+g2.
也就是说,两个输入造成的响应相加,对应的是两个输入相加后的响应。若响应还带有指定初值,加起来的初始位置和速度也必须一起相加;不能保留原来一份初值,却悄悄把响应加成两份。
两个合适的解,为什么就够了
叠加原理告诉我们怎样从已知解制造新解,却还没有回答:这样能不能制造出所有解?如果拿 et 和 5et 来组合,得到的仍只是 Cet。两个函数虽然写得不一样,却只提供了同一种可调节的形状。
我们需要的是两个线性无关的解。准确地说,如果
c1y1(t)+c2y
在整个区间上恒成立时,只能有 c1=c2=0,就说 y1, 在这个区间上线性无关。两个非零函数若是彼此的常数倍,就线性相关;零函数和任何函数放在一起,也线性相关。
要看懂“为什么两个就够”,可以先做一次特别有目的的选择。固定 t0,让 u 和 v 分别解下面两组初值问题,它们满足的是同一个齐次方程:
u(t0)=1,u′(t
存在唯一性定理保证这样的两个解确实存在,虽然我们可能暂时写不出它们的公式。现在,任意给定初始状态 (y0,v0),函数
y=y0u+v0v
都满足齐次方程,并且在 t0 的函数值、导数恰好是 y0,v0。唯一性定理又保证,它就是这份初始数据对应的解。
每个解总有自己的初始位置和速度,所以每个解都被这个表达式包括了。两个解能够覆盖全部初始状态,也就能够覆盖全部解。这种能够组成所有齐次解的解对,叫作基本解组;所有齐次解形成一个二维解空间。
这里的“二维”指有两个独立的常数可以调整,不是说每条解曲线都画在纸面上,所以解空间才是二维。一个函数有无限多个时刻的值,但满足这条方程以后,整条曲线都被起点处的两份数据约束住了。
用一个算完的初值问题看清两个自由度
考虑一个以平衡点为中心的理想振动,回复加速度与位移成正比,比例系数为 4。相应的无量纲方程是
y′′+4y=0.
暂时不问怎样发现解,先直接验证 cos2t 和 sin2t:它们求两次导数都会变成自身的 −4 倍,因此确实满足方程。为了让初值更好认,可以选
u=cos2t,v=21sin2t.
它们在 t=0 分别给出初始状态 (1,0) 和 (0,1)。所以满足 y(0)=2、 的解直接就是
y(t)=2cos2t−23sin2t.
检查导数:
y′(t)=−4sin2t−3cos2t.
它在零点确实等于 −3。如果直接选 cos2t,sin2t 为基本解组也完全可以,只是第二个系数不再等于初始速度,而是初始速度的一半。基本解组可以换,全部解的集合不会变。
下面的交互采用频率为 1 的例子 y′′+y=0。这时 cost、sint 已经分别对应 、;调节 ,就是调节初始位置和初始速度。
Wronskian 检查的是哪两份信息
实际找到的两个解往往没有上面那么整齐的初值。为了让 c1y1+c2y2 满足指定的初始状态,需要解方程组
{c1y
消元时,决定这两条等式能否独立确定两个常数的量是
W[y1
它叫 Wronskian,也称朗斯基行列式。这个名字可以慢慢熟悉,先记住它的工作:比较两个解在同一时刻提供的位置和速度信息是否独立。
把两列写成状态向量 (y1,y1′)、(y2, 就是它们张成的平行四边形的有向面积。严格说,这是选定位置、速度坐标刻度后的面积因子;两轴对应的物理单位可以不同,并不是实际空间中一块区域的面积。 表示两个向量能张开平面, 表示它们共线,或者其中有零向量。
只要 W(t0)=0,初值方程组就有唯一解:
c1=W(
不用背这两条分式,平常直接解二元一次方程组就行。它们真正说明的是:任意初始数据都能配出来。因此,在连续系数的同一个二阶齐次方程中,这两个解构成基本解组。
例如,对上一节的解对,
W[cos2t,sin2t]=2cos22t+2sin22t=
正弦或余弦各自会经过零点,但两个状态向量始终不共线。不能因为某个函数在某个时刻恰好为零,就说它没有提供一个独立的解。
下面的交互展示向量怎样张开面积。它用来理解行列式的几何含义;任意拖动出来的一对向量,本身并不等于已经构造了两条微分方程的解。
反过来判断时,方程条件不能丢
若 W(t0)=0,两个状态向量线性相关,就能找到不全为零的常数 a,b,使
z=ay1+by2
满足 z(t0)=z′(t0)=0。由于 仍是同一个齐次方程的解,而零函数也满足这份初值,唯一性迫使 在整个区间恒为零。这就证明 线性相关。
这段推理依赖“同一齐次方程”“同一区间”“标准形式系数连续”。对于任意两个可微函数,W 在一点非零仍能证明它们线性无关;但反过来,W 在一点为零,甚至处处为零,都未必能证明它们相关。
我们用一个二次连续可导的反例把边界看清。在整个实轴上取
f(t)=t3,h(t)=∣t∣3.
t>0 时 h=f,t<0 时 h=−f,因此两侧的 都为零; 时两个函数及其一阶导数也都为零,所以 Wronskian 处处为零。
可是不存在一组不全为零的常数 a,b,使 af+bh 在全实轴恒为零:正半轴要求 a+b=0,负半轴要求 a−b=,合起来只能是 。它们在整个实轴上线性无关。
问题出在哪里?这两个函数不可能同时是某个标准形式系数在零点附近连续的二阶齐次方程的解。单看非零函数 t3,它已经有 f(0)=f′(0)=0,与该类方程的唯一性冲突了。Wronskian 的强结论来自微分方程对函数施加的约束,不能脱离约束,只保留一个行列式。
Abel 公式:不先求出解,也能追踪 Wronskian
我们已经用唯一性解释了 W=0 的含义。还可以直接问:当时间向前走,两个解张开的面积因子怎样变化?答案出乎意料地简单,因为 W 自己满足一个一阶方程。
从定义求导,乘积法则给出
W′=y1′
由于两个函数都满足 y′′+py′+qy=0,有
y1′′=−py1′
代回去,
W′
含 q 的两项恰好抵消了。于是我们面对的是已经学过的一阶线性方程
W′+p(t)W=0.
用积分因子 exp(∫t0tp(s)ds),得到一个导数为零的乘积,进而得到 Abel 公式:
W(t)=W(t0)exp(−∫t
这里用积分因子而没有直接除以 W,因此 W(t0)=0 的情形也包含在推导里。指数因子在区间内始终为正,所以 W 要么处处为零,要么处处不为零,而且非零时符号保持不变。
对于连续系数的同一个二阶齐次方程,在同一个区间上,“两个解线性无关”“两个解构成基本解组”“Wronskian 在一点非零”“Wronskian 处处非零”是等价的说法。把方程和区间的条件说清以后,才可以放心地只挑一个方便的时刻计算。
不知道两个解的公式,也能算面积怎样变化
假设两个解满足
y′′+t2y′+
并已知它们的 Wronskian 在 t=1 等于 3。我们不必先解这条方程。由于 p(t)=2/t,
W(t)=3exp(−∫1ts
它在 (0,∞) 从不为零,所以两个解在这个区间构成基本解组。面积因子虽然随 t 增大而缩小,却不会在某个有限的正时刻突然变成零。
对于弹簧方程,除以 m 后 p=c/m。当 m,c 固定时,Abel 公式给出 W(t)=W。有正阻尼时,两组状态的面积因子随时间缩小。不过,仅凭这个式子不能断言每条解都衰减:面积缩小也可能由一个方向伸长、另一个方向收缩得更快造成。逐条判断运动趋势,还要研究具体方程,这件事会在下一章继续。
外力加入以后:全部解为什么只是整体平移
现在有人持续推弹簧,方程变成 L[y]=g(t)。假设我们已经找到一个满足方程的函数 yp,把它叫作特解。它只需要确实满足方程,暂时不要求满足题目最后指定的初值。
任何齐次解 yh 都可以加到它上面,因为
L[yp+yh]=g+0=g.
这说明 yp+yh 都是非齐次解,但要宣称已经找全,还需要反过来检查。任取另一个非齐次解 Y,相减得到
L[Y−yp]=L[Y]−L[yp]
所以 Y−yp 必然是齐次解,没有任何额外种类的解躲在这个表达式之外。非齐次通解便是
y=yp+c1y1+
非齐次方程的通解可以看作一个特解 y_p 加上齐次方程的所有解 c_1y_1+c_2y_2。
你可以把齐次解集合想成一个经过零函数的二维平面,再把整个平面沿着特解平移。平移后的集合叫仿射集合。这个名称不需要硬记;要记的是,g 不恒为零时,零函数不在这个集合里,任意两个解相加也通常会走出这个集合。
非齐次解还有一种可以保持原方程的组合:如果 U,V 都满足 L[y]=g,并且常数 a+b=1,那么 。例如两条响应的平均值仍然是同一输入下的响应;它的初始状态也是两份初始状态的平均。这正符合“平移后的平面”这幅画面:沿着连接两个解的直线移动还留在集合里,直接把两个解相加却一般会走出去。
特解并不唯一。换成 yp=yp+ 仍是特解,只要把通解中的常数相应改写,得到的全部解完全一样。因此“一个特解加齐次解”这种拆法不是唯一的。只有进一步要求某一部分在 具有零初始位置和零初始速度,才把“零初值输入响应”单独固定下来。
恒定外力先把平衡位置挪走
看无量纲方程
y′′+4y=8.
右端是恒定输入,我们试着找一个始终静止的解:如果 yp 是常数,加速度就是零,方程要求 4yp=8,所以 y。这正对应外力把平衡位置从零挪到了 。
对应齐次基本解组已经知道,因此通解为
y=2+c1cos2t+c2sin2t.
若 y(0)=1、y′(0)=2,位置条件给出 2+c,速度条件给出 ,得到
y=2−cos2t+sin2t.
它围绕 2 振动。这里没有阻尼,所以不能因为存在恒定外力,就说运动一定会停在新平衡位置。
下面的交互使用对应的简化方程 y′′+y=1。平移量是 1,自由调整的仍然是叠加在它上面的正弦、余弦部分。
特解本身也带着初始位置和速度
再看
y′′+2y′−3y=4e
我们先给出两个候选齐次解 et,e−3t。直接代入左端,分别得到 (1+2−3)et 和 。它们的 Wronskian 是
W[et,e−3t]=−4e−2t
所以在全实轴构成基本解组。再检查候选特解 yp=tet:
yp′=(t+1)et,y
yp′′+2yp′
因此通解是
y=tet+c1et+c
完整求导后再代初值,得到
c1+c2=2,1+c1
解出 c1=5/4、c2=3/4,所以
y=tet+45et+
第二条初值等式里的 1 来自 yp′(0)。如果只让齐次部分满足速度初值,就会把这个贡献漏掉。特解负责满足外部输入,但它不会自动在初始时刻“什么也没发生”。
右端的 et 本身就是齐次解,为什么把它乘上 t 后反而能产生需要的输入?刚才的求导已经验证了这个事实。后面学习受迫方程时,我们会把这个现象整理成可重复使用的方法。
两个线性无关的齐次解提供两份自由度,一个特解补上外部输入;把初始位置和初始速度一起代入,才能确定通解中的两个常数。
已经知道一个解,怎样再找一个
前面我们经常先给出两个候选解,再验证它们。可如果手里只有一个非零齐次解 y1,怎样把第二个找出来?
常数倍 Cy1 提供不了新方向,那就允许倍数随时间变化,试写
y=u(t)y1(t).
我们先在 y1 不为零的子区间 J 上工作。这样写不丢掉这个子区间上的任何解,因为任意 y 都能令 u=y/y1。连续求导得到
y′=u′y1
代入齐次方程,并按 u,u′,u′′ 整理:
y1u′′+(2y1
最后一个括号正好为零,因为 y1 已经是齐次解。剩下的方程里没有 u,只有 u′ 和 u′′。令 ,除以 ,就变成
z′+(2y1y
这就是“降阶”的意思:借助已知解,把寻找未知函数的二阶问题降成一个一阶问题。用积分因子可求出
z=u′=Cy1(t)
选取非零常数倍并积分,可以构造第二个解。为避免不定积分里的常数混淆,我们固定 t∗∈J,写成
y2(t)=y1(t)∫
为什么这次肯定找到了新方向?因为 y2=uy1 时
W[y1,y2
而如果取 C=0,就得到 u′=0、u 为常数,对应已有的解 Cy1。它并没有丢掉,只是不能承担第二个独立方向。
一个变系数例子,把降阶完整做完
考虑
t2y′′−6ty′+10y=0,
已知 y1=t2。先检查:y1′=2、,代回左端是 。
令 y=t2u,则
y′=2tu+t2u′,
代回后,含 u 的项抵消,得到
t4u′′−2t3u′=0.
在 t>0 上除以 t4,再令 z=u′,有
z′−t2z=0.
积分因子是 t−2,因此 (t−2z)′=0,从而 。再积分,
u=3At3+B,y=Bt
重新命名任意常数,通解就是
y=c1t2+c2t5.
核对 Wronskian:
W[t2,t5]=5t6−2t
标准形式里的 p=−6/t,Abel 公式也给出 W 应当是常数乘 t6,两种计算一致。若初值为 y(1)=3、,就解
c1+c2=3,2c1+
得到 c1=5、c2=−2,所以 y=,以 为这份初值问题的标准讨论区间。
已知解的零点,可能只是这种表示的障碍
降阶过程中除以 y1,因此不能忽略它的零点。例如对 y′′+y=0,已知 y,公式先只能在两个相邻零点之间使用。由于 ,选一个原函数可得
y2=sint∫sin2t
中间的 cott 在 t=0 无定义,最后化简出的 −cost 却能光滑地延伸到全实轴,并且直接代回原方程仍成立。这里的限制来自暂时除以 sint,而原方程的系数没有奇点。
前一个例子则不同:标准化需要除以 t2,原方程在零点有最高阶系数消失的问题。即使写出的多项式能跨过零点,也不能借此宣称标准初值定理在零点有效。要分清“所选已知解为零”和“方程本身失去标准条件”这两种障碍。
降阶也能处理非齐次方程。如果 y1 是对应齐次解,代入 y=uy1 后同样消去 u 项,只是右端保留 g,得到
z′+(2y1y
这仍是我们已经会解的一阶线性方程。接下来的练习会让你把它实际走一遍。
练习:把条件、结构和计算接在一起
练习一:先确定方程在哪个区间能使用理论
判断下面两条方程是否线性、是否齐次。第一条给定初始时刻 t0=0,求包含这个时刻、可直接应用标准存在唯一性定理的最大开区间。
(4−t2)y′′+ty
第一条是线性非齐次方程。除以 4−t2 后,三个系数在 t=±2 之外连续。包含零点的最大开区间是 (−2,2);区间内任意给定的位置和速度都有唯一解。定理不保证越过端点,也没有断言具体解一定在端点发散。
第二条含 (,不是线性方程。它虽然右端为零,但不属于本章讨论的线性齐次方程,不能使用这里的叠加和二维解空间结论。
练习二:从两个解配出指定状态
直接验证 cos3t,sin3t 是 y′′+9y=0 的解,计算 Wronskian,并求 y(0)、 对应的解。
两个函数求两次导数都变成自身的 −9 倍,所以满足方程。Wronskian 为
W=cos3t⋅3cos3t−(−3sin3t)sin3t=
练习三:没有解的公式,也能判断是否独立
两个函数都是 y′′+3ty′+(2+t4)y= 在全实轴上的解,并且 。求 。若把条件改为 ,结论怎样改变?
标准形式中的 p(t)=3t,所以
W(t)=−2exp(−∫
练习四:一个零点和整个区间是两回事
对任意函数 f(t)=1、h(t)=t2,计算 Wronskian。它在 t=0 为零,是否说明两个函数在全实轴线性相关?它们能否同时满足某个标准形式系数在零点附近连续的二阶齐次方程?
有 W[f,h](t)=2t。虽然 W(0)=0,但 af+bh= 要在全实轴恒为零,先代入 得 ,再代入 得 ,所以它们线性无关。
练习五:特解换了,全部解会改变吗
对 y′′+4y=8,函数 u=2 和 v=2+ 都是特解。验证这一点,说明 和 分别满足什么方程,再分别用这两个特解写出通解。
记 L[y]=y′′+4y。有 L[2]=8,而 ,因此 。两者相减得到
练习六:用降阶处理有输入的变系数方程
在 t>0 上解初值问题
t2y′′−6ty′+10y
提示:已知对应齐次方程有解 y1=t2,可以沿用正文的替换,但保留右端。
令 y=t2u,正文的计算给出左端等于 t4u′′−2t。因此
到这里,我们已经知道求解二阶线性方程要完成哪些具体工作:在合适的区间里找到两个独立的齐次解,有输入时再找一个特解,最后用完整的初始位置和速度确定常数。不过,还有一个问题一直暂时放着:像 cos2t、et 这样的候选解,最初究竟怎样找出来?下一章从常系数方程入手,利用指数函数“求导后只多一个常数倍”的特点,把寻找基本解的问题转成一个二次代数方程,再让根的不同形态解释弹簧会怎样运动。