平衡点与相直线
给定一个微分方程
d y d t = f ( t , y ) , \frac{dy}{dt} = f(t, y), dtdy=f(t,y),
我们可以通过绘制斜率场和勾勒图形来大致了解解的行为,或者使用欧拉法计算近似解。有时我们甚至可以推导出解的显式公式并绘制结果。所有这些技术都需要相当多的工作,无论是数值上的(计算斜率或欧拉法)还是解析上的(积分)。
在本节中,我们考虑右侧不依赖于 t t t 的微分方程。这类方程被称为自治微分方程。自治的意思是“自我管理的”,粗略地说,自治系统是自我管理的,因为它是根据完全由因变量的值决定的微分方程来演变的。对于自治微分方程,有一些定性技术可以帮助我们以较少的算术操作勾勒解的图形,而比其他方法更简便。
自治方程
自治方程是形式为
d y d t = f ( y ) \frac{dy}{dt} = f(y) dtdy=f(y)
的微分方程。换句话说,因变量的变化率可以仅仅表示为因变量自身的函数。自治方程作为模型出现频繁,有两个原因。首先,许多物理系统在任何时间点的行为都是相同的。例如,早上10点和下午3点,压缩相同量的弹簧提供的力是相同的。其次,对于许多系统,时间依赖性在所考虑的时间尺度上“平均化”了。例如,如果我们研究狼和田鼠的相互作用,我们可能会发现狼在白天吃的田鼠比晚上多。然而,如果我们对狼和鼠的种群在几年或几十年内的行为感兴趣,那么我们可以将每周每只狼吃掉的鼠的数量进行平均,忽略每日的波动。
我们已经注意到,自治方程的斜率场具有特殊的形式(见第40页,第1.3节)。因为方程的右侧不依赖于 t t t,所以斜率标记在 t t t- y y y 平面上的水平线上是平行的。也就是说,对于自治方程,两个 y y y 坐标相同但 t t t 坐标不同的点具有相同的斜率标记(见图1.51)。
图 1.51 自治微分方程 d y d t = ( y − 2 ) ( y + 1 ) \frac{dy}{dt} = (y - 2)(y + 1) dtdy=(y−2)(y+1)的斜率场。斜率在水平线上是平行的。
注意到斜率场表明存在两个平衡解,即 y 1 ( t ) = − 1 y_1(t) = -1 y1(t)=−1 对于所有 t t t 和 y 2 ( t ) = 2 y_2(t) = 2 y2(t)=2 对于所有 t t t。此外,初始值在 − 1 -1 −1 和 2 2 2 之间的解是递减的,并且在所有时间内都是定义良好的。
因此,自治方程的斜率场中存在大量冗余。如果我们知道在单一垂直线 t = t 0 t = t_0 t=t0 上的斜率场,那么我们就知道整个 t t t- y y y 平面上的斜率场。因此,我们应该能够只绘制一条包含相同信息的线。这条线称为自治方程的相位线。
绳索的比喻
假设你得到一个自治微分方程
d y d t = f ( y ) . \frac{dy}{dt} = f(y). dtdy=f(y).
想象一根垂直悬挂的绳索,向上无限延伸,向下无限延伸。因变量 y y y 表示绳索上的一个位置(绳索是 y y y 轴)。函数 f ( y ) f(y) f(y) 给出绳索上每个位置的一个数值。假设这个数值 f ( y ) f(y) f(y) 实际上被印在绳索的高度 y y y 上。例如,在高度 y = 2.17 y = 2.17 y=2.17 处,绳索上印有 f ( 2.17 ) f(2.17) f(2.17) 的值。
假设你在时间 t = 0 t = 0 t=0 时被放置在高度 y 0 y_0 y0 的绳索上,并被给予以下指示:读取绳索上印刷的数字,并以与该数字相等的速度沿绳索上升或下降。如果数字是正数,则沿绳索上升;如果数字是负数,则沿绳索下降。(大的正数意味着你会很快上升,而接近零的负数意味着你会缓慢下降。)在移动时,继续读取绳索上的数字,并调整你的速度,以便它始终与绳索上印刷的数字一致。
如果你按照这个相当奇怪的指示进行,你将生成一个函数 y ( t ) y(t) y(t),它给出你在时间 t t t 时的位置。你的初始位置在 t = 0 t = 0 t=0 时是 y ( 0 ) = y 0 y(0) = y_0 y(0)=y0,因为你最初是放置在这个位置的。你在时间 t t t 时的运动速度 d y d t \frac{dy}{dt} dtdy 由绳索上的数字给出,因此对于所有 t t t,都有 d y d t = f ( y ( t ) ) \frac{dy}{dt} = f(y(t)) dtdy=f(y(t))。因此,你的位置函数 y ( t ) y(t) y(t) 是初值问题
d y d t = f ( y ) , y ( 0 ) = y 0 \frac{dy}{dt} = f(y), \quad y(0) = y_0 dtdy=f(y),y(0)=y0
的解。
相位线是这根绳索的图示。由于记录所有速度的数值是繁琐的,我们仅在速度为零的地方标记相位线,并在区间中指示速度的符号。相位线提供了解的定性信息。
逻辑方程的相位线
考虑微分方程
d y d t = ( 1 − y ) y . \frac{dy}{dt} = (1 - y)y. dtdy=(1−y)y.
这个微分方程的右侧是 f ( y ) = ( 1 − y ) y f(y) = (1 - y)y f(y)=(1−y)y。在这种情况下, f ( y ) = 0 f(y) = 0 f(y)=0 正好当 y = 0 y = 0 y=0 和 y = 1 y = 1 y=1 时成立。因此,常数函数 y 1 ( t ) = 0 y_1(t) = 0 y1(t)=0 对于所有 t t t 和 y 2 ( t ) = 1 y_2(t) = 1 y2(t)=1 对于所有 t t t 是这个方程的平衡解。我们称 y = 0 y = 0 y=0 和 y = 1 y = 1 y=1 在 y y y 轴上的点为平衡点。还要注意,如果 0 < y < 1 0 < y < 1 0<y<1,则 f ( y ) f(y) f(y) 为正;如果 y < 0 y < 0 y<0 或 y > 1 y > 1 y>1,则 f ( y ) f(y) f(y) 为负。我们可以通过在平衡点 y = 0 y = 0 y=0 和 y = 1 y = 1 y=1 处放置点来绘制相位线(或“绳索”)。对于 0 < y < 1 0 < y < 1 0<y<1,我们放置指向上的箭头,因为 f ( y ) > 0 f(y) > 0 f(y)>0 意味着你会向上爬;而对于 y < 0 y < 0 y<0 或 y > 1 y > 1 y>1,我们放置指向下的箭头,因为 f ( y ) < 0 f(y) < 0 f(y)<0 意味着你会向下爬(见图1.52)。
如果我们将相位线与斜率场进行比较,我们会发现相位线包含了关于平衡解的所有信息,以及解是递增还是递减。关于解的增减速度的信息会丢失(见图1.53)。但仅使用相位线,我们仍然可以给出解的图形的粗略草图。这些草图虽然不如斜率场的草图准确,但它们将包含关于解在 t t t 较大时的行为的所有信息(见图1.54)。
如何绘制相位线
我们可以通过给出绘制相位线所需的步骤来更准确地定义相位线。对于自治方程 d y d t = f ( y ) \frac{dy}{dt} = f(y) dtdy=f(y),步骤如下:
- 绘制 y y y 轴线。
- 找到平衡点(即 f ( y ) = 0 f(y) = 0 f(y)=0 的点),并在直线上标记它们。
- 找到 f ( y ) > 0 f(y) > 0 f(y)>0 的 y y y 值区间,并在这些区间中画出指向上的箭头。
- 找到 f ( y ) < 0 f(y) < 0 f(y)<0 的 y y y 值区间,并在这些区间中画出指向下的箭头。
我们在图1.55中勾画了几个相位线的示例。在查看相位线时,你应该记住绳索的比喻,并“动态”地思考微分方程的解——想象随着时间的推移,人们在绳索上向上或向下攀爬。
如何利用相位线来勾画解的图形
我们可以直接从相位线中获得解图形的粗略草图,但前提是我们在解读这些草图时要小心。相位线在预测解的极限行为(即当 t t t 增大或减小时的行为)方面非常有效。
考虑方程
d w d t = ( 2 − w ) sin w . \frac{dw}{dt} = (2 - w) \sin w. dtdw=(2−w)sinw.
这个微分方程的相位线如图1.56所示。注意到平衡点是 w = 2 w = 2 w=2 和 w = k π w = k\pi w=kπ(其中 k k k 为任意整数)。假设我们想要勾画初值为 w ( 0 ) = 0.4 w(0) = 0.4 w(0)=0.4 的解 w ( t ) w(t) w(t) 的图形。因为 w = 0 w = 0 w=0 和 w = 2 w = 2 w=2 是这个方程的平衡点,并且 0 < 0.4 < 2 0 < 0.4 < 2 0<0.4<2,根据存在性和唯一性定理,我们知道 0 < w ( t ) < 2 0 < w(t) < 2 0<w(t)<2 对于所有 t t t 都成立。此外,因为在 0 < w < 2 0 < w < 2 0<w<2 区间内 ( 2 − w ) sin w > 0 (2 - w) \sin w > 0 (2−w)sinw>0,所以解始终在增加。由于当 ( 2 − w ) sin w (2 - w) \sin w (2−w)sinw 接近零时解的速度较小,并且这种情况只发生在平衡点附近,我们知道解 w ( t ) w(t) w(t) 会随着 t → ∞ t \to \infty t→∞ 增加到 w = 2 w = 2 w=2(见第1.5节)。
类似地,如果我们将时间倒退,解 w ( t ) w(t) w(t) 会减少。它始终保持在 w = 0 w = 0 w=0 之上,且不能停下,因为