平衡点与相直线
给定一个微分方程
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 之上,且不能停下,因为
0
<
w
<
2
0 < w < 2
0<w<2。因此,当
t
→
−
∞
t \to -\infty
t→−∞ 时,解会趋向于
w
=
0
w = 0
w=0。我们可以绘制一个包含初始条件
w
(
0
)
=
0.4
w(0) = 0.4
w(0)=0.4 的解图形的定性图(见图1.57)。
同样,我们可以从相位线上的信息中在
t
t
t-
w
w
w 平面上勾画其他解。平衡解很容易找到和绘制,因为它们已经在相位线上标记出来。相位线上的向上箭头所对应的区间表示递增的解,而向下箭头所对应的区间表示递减的解。根据唯一性定理,解的图形不会交叉,特别是它们不能交叉平衡解的图形。此外,解必须继续增加或减少,直到它们接近一个平衡解。因此,我们可以很容易地勾画出许多具有不同初始条件的解。我们唯一缺少的信息是解增减的速度(见图1.58)。
这些观察结果引出了关于自治方程所有解的一些普遍性陈述。假设
y
(
t
)
y(t)
y(t) 是自治方程
d
y
d
t
=
f
(
y
)
\frac{dy}{dt} = f(y)
dtdy=f(y)
的解,其中
f
(
y
)
f(y)
f(y) 对所有
y
y
y 都是连续可微的。
- 如果 f ( y ( 0 ) ) = 0 f(y(0)) = 0 f(y(0))=0,那么 y ( 0 ) y(0) y(0) 是一个平衡点,且 y ( t ) = y ( 0 ) y(t) = y(0) y(t)=y(0) 对于所有 t t t 都成立。
- 如果 f ( y ( 0 ) ) > 0 f(y(0)) > 0 f(y(0))>0,那么 y ( t ) y(t) y(t) 对所有 t t t 都是递增的,并且 y ( t ) y(t) y(t) 要么随着 t t t 增加而趋向于 ∞ \infty ∞,要么趋向于大于 y ( 0 ) y(0) y(0) 的第一个平衡点。
- 如果 f ( y ( 0 ) ) < 0 f(y(0)) < 0 f(y(0))<0,那么 y ( t ) y(t) y(t) 对所有 t t t 都是递减的,并且 y ( t ) y(t) y(t) 要么随着 t t t 增加而趋向于 − ∞ -\infty −∞,要么趋向于小于 y ( 0 ) y(0) y(0) 的第一个平衡点。
类似的结果适用于 t t t 减少(即时间倒退的情况)。如果 f ( y ( 0 ) ) > 0 f(y(0)) > 0 f(y(0))>0,那么 y ( t ) y(t) y(t) 要么在负时间内趋向于 − ∞ -\infty −∞,要么趋向于下一个较小的平衡点。如果 f ( y ( 0 ) ) < 0 f(y(0)) < 0 f(y(0))<0,那么 y ( t ) y(t) y(t) 要么在负时间内趋向于 ∞ \infty ∞,要么趋向于下一个较大的平衡点。
一个具有三个平衡点的例子
例如,考虑微分方程
d
P
d
t
=
(
1
−
P
20
)
3
(
P
5
−
1
)
P
7
.
\frac{dP}{dt} = \left( \frac{1 - P}{20} \right)^3 \left( P^5 - 1 \right) P^7.
dtdP=(201−P)3(P5−1)P7.
如果初始条件为 P ( 0 ) = 8 P(0) = 8 P(0)=8,当 t t t 变得非常大时会发生什么?
首先,我们绘制这个方程的相位线。设
f
(
P
)
=
(
1
−
P
20
)
3
(
P
5
−
1
)
P
7
.
f(P) = \left( \frac{1 - P}{20} \right)^3 \left( P^5 - 1 \right) P^7.
f(P)=(201−P)3(P5−1)P7.
我们通过解方程 f ( P ) = 0 f(P) = 0 f(P)=0 来找到平衡点。因此, P = 0 P = 0 P=0、 P = 5 P = 5 P=5 和 P = 20 P = 20 P=20 是平衡点。
如果 0 < P < 5 0 < P < 5 0<P<5, f ( P ) f(P) f(P) 为负;如果 P < 0 P < 0 P<0 或 5 < P < 20 5 < P < 20 5<P<20, f ( P ) f(P) f(P) 为正;如果 P > 20 P > 20 P>20, f ( P ) f(P) f(P) 为负。我们可以在相位线上适当地放置箭头(见图1.59)。注意,我们只需要检查这些区间中的一个点的 f ( P ) f(P) f(P) 值来确定整个区间内 f ( P ) f(P) f(P) 的符号。
初始条件为 P ( 0 ) = 8 P(0) = 8 P(0)=8 的解 P ( t ) P(t) P(t) 位于平衡点 P = 5 P = 5 P=5 和 P = 20 P = 20 P=20 之间的区域,因此对于所有 t t t,都有 5 < P ( t ) < 20 5 < P(t) < 20 5<P(t)<20。在这个区间内,箭头指向上方,所以 P ( t ) P(t) P(t) 对所有 t t t 都是递增的。随着 t → ∞ t \to \infty t→∞, P ( t ) P(t) P(t) 趋向于平衡点 P = 20 P = 20 P=20。
当
t
→
−
∞
t \to -\infty
t→−∞ 时,初始条件为
P
(
0
)
=
8
P(0) = 8
P(0)=8 的解将递减至下一个较小的平衡点,即
P
=
5
P = 5
P=5。因此,
P
(
t
)
P(t)
P(t) 始终大于
P
=
5
P = 5
P=5。如果我们数值计算解
P
(
t
)
P(t)
P(t),我们会看到它从
P
(
0
)
=
8
P(0) = 8
P(0)=8 快速增加到接近
P
=
20
P = 20
P=20(见图1.60)。仅凭相位线,我们无法知道解增加的速度有多快。
警告:并非所有解都存在于所有时间
假设 y 0 y_0 y0 是方程 d y d t = f ( y ) \frac{dy}{dt} = f(y) dtdy=f(y) 的一个平衡点。那么 f ( y 0 ) = 0 f(y_0) = 0 f(y0)=0。我们假设 f ( y ) f(y) f(y) 是连续的,因此如果解接近 y 0 y_0 y0,则 f ( y ) f(y) f(y) 的值很小。因此,当解接近平衡点时,解的移动速度很慢。一个随着 t t t 增加(或减少)而接近平衡点的解,随着它接近平衡点,移动速度会越来越慢。根据存在性和唯一性定理,接近平衡点的解实际上永远不会到达那里。它与平衡点是渐近的,并且在 t t t- y y y 平面上的解图形具有水平渐近线。
另一方面,无界解通常在移动时会加速。例如,方程
d
y
d
t
=
(
1
+
y
)
2
\frac{dy}{dt} = (1 + y)^2
dtdy=(1+y)2
在
y
=
−
1
y = -1
y=−1 处有一个平衡点,而对于所有其他
y
y
y 的值,
d
y
d
t
>
0
\frac{dy}{dt} > 0
dtdy>0(见图1.61)。
相位线无法完全指示解的行为
相位线显示,初始条件大于
−
1
-1
−1 的解对于所有
t
t
t 都是递增的,并且随着
t
t
t 的增加趋向于
+
∞
+\infty
+∞。如果我们分离变量并计算解的显式形式,我们可以确定这些解实际上在有限时间内会爆炸。实际上,任何非平凡解的显式形式为
y
(
t
)
=
−
1
−
1
t
+
c
y(t) = -1 - \frac{1}{t + c}
y(t)=−1−t+c1
其中
c
c
c 是某个常数。由于我们假设
y
(
0
)
>
−
1
y(0) > -1
y(0)>−1,我们必须有
y
(
0
)
=
−
1
−
1
c
>
−
1
,
y(0) = -1 - \frac{1}{c} > -1,
y(0)=−1−c1>−1,
这意味着
c
<
0
c < 0
c<0。因此,这些解仅在
t
<
−
c
t < -c
t<−c 的范围内定义,并且随着
t
t
t 从下方接近
−
c
-c
−c,解会趋向于
∞
\infty
∞(见图1.61)。单凭相位线,我们无法判断解是否会在有限时间内爆炸。
初始条件为 y ( 0 ) < − 1 y(0) < -1 y(0)<−1 的解在 t t t 增加时与平衡点 y = − 1 y = -1 y=−1 渐近,因此它们在所有 t > 0 t > 0 t>0 时都被定义。然而,这些解在 t t t 减少时会在有限时间内趋向于 − ∞ -\infty −∞。
另一个危险的例子是
d
y
d
t
=
1
1
−
y
.
\frac{dy}{dt} = \frac{1}{1 - y}.
dtdy=1−y1.
如果
y
>
1
y > 1
y>1,则
d
y
d
t
\frac{dy}{dt}
dtdy 为负;如果
y
<
1
y < 1
y<1,则
d
y
d
t
\frac{dy}{dt}
dtdy 为正。如果
y
=
1
y = 1
y=1,则
d
y
d
t
\frac{dy}{dt}
dtdy 不存在。相位线上在此处有一个空洞。虽然没有标准的方式在相位线上标记这些点,但我们将使用一个小空圆圈来标记它们(见图1.62)。
所有解在
t
t
t 增加时都会趋向于
y
=
1
y = 1
y=1。由于如果
y
y
y 接近 1 时
d
y
d
t
\frac{dy}{dt}
dtdy 的值很大,因此解在接近
y
=
1
y = 1
y=1 时会加速,并且解会在有限时间内到达
y
=
1
y = 1
y=1。一旦解到达
y
=
1
y = 1
y=1,它无法继续下去,因为它已经离开了微分方程的定义域。它已经陷入了相位线上的一个空洞中。
仅凭定性信息绘制相位线**
要绘制微分方程 d y d t = f ( y ) \frac{dy}{dt} = f(y) dtdy=f(y) 的相位线,我们需要知道平衡点的位置以及解的递增或递减区间。也就是说,我们需要知道 f ( y ) = 0 f(y) = 0 f(y)=0 的点, f ( y ) > 0 f(y) > 0 f(y)>0 的区间,以及 f ( y ) < 0 f(y) < 0 f(y)<0 的区间。因此,我们可以仅凭函数 f ( y ) f(y) f(y) 的定性信息绘制微分方程的相位线。
例如,假设我们不知道
f
(
y
)
f(y)
f(y) 的公式,但我们有它的图形(见图1.63)。从图形中我们可以确定
f
(
y
)
=
0
f(y) = 0
f(y)=0 的
y
y
y 值,并决定在哪些区间内
f
(
y
)
>
0
f(y) > 0
f(y)>0 和
f
(
y
)
<
0
f(y) < 0
f(y)<0。有了这些信息,我们可以绘制相位线(见图1.64)。然后,从相位线我们可以得到解的定性草图(见图1.65)。因此,我们可以从关于
f
(
y
)
f(y)
f(y) 的定性信息出发,得到微分方程
d
y
d
t
=
f
(
y
)
\frac{dy}{dt} = f(y)
dtdy=f(y) 的解的图形,而无需写出公式。对于信息完全是定性的模型,这种方法非常合适。
平衡点的作用
如果 f ( y ) f(y) f(y) 对所有 y y y 都是连续可微的,我们已经确定,任何自洽方程 d y d t = f ( y ) \frac{dy}{dt} = f(y) dtdy=f(y) 的解要么在 t t t 增加时趋向于 + ∞ +\infty +∞ 或 − ∞ -\infty −∞(可能在有限时间内变为无穷大),要么在 t t t 增加时渐近于一个平衡点。因此,平衡点在理解解的长期行为中极为重要。
我们还看到,在绘制相位线时,我们需要找到平衡点、 f ( y ) f(y) f(y) 为正的区间,以及 f ( y ) f(y) f(y) 为负的区间。如果 f f f 是连续的,它只能在 f ( y 0 ) = 0 f(y_0) = 0 f(y0)=0 的点(即平衡点)处从正值切换到负值。因此,平衡点在绘制相位线时也起着关键作用。
事实上,平衡点是理解整个相位线的关键。例如,假设我们有一个自洽的微分方程
d
y
d
t
=
g
(
y
)
\frac{dy}{dt} = g(y)
dtdy=g(y),其中
g
(
y
)
g(y)
g(y) 对所有
y
y
y 都是连续的。假设我们所知道的唯一信息是,该微分方程有两个平衡点,分别位于
y
=
2
y = 2
y=2 和
y
=
7
y = 7
y=7,并且在
y
=
2
y = 2
y=2 和
y
=
7
y = 7
y=7 附近的相位线如图1.66左侧所示。我们可以利用这些信息来绘制整个相位线。我们知道
g
(
y
)
g(y)
g(y) 的符号只能在平衡点处改变。因此,
g
(
y
)
g(y)
g(y) 的符号在
2
<
y
<
7
2 < y < 7
2<y<7、
y
<
2
y < 2
y<2 或
y
>
7
y > 7
y>7 的区间内不会改变。因此,如果我们知道这些区间内箭头的方向(例如在平衡点附近),那么我们就知道整个相位线上的方向(见图1.66)。因此,如果我们理解了自洽微分方程的平衡点,我们应该能够理解(至少是定性地)该方程的任何解。
平衡点的分类
鉴于平衡点的重要性,对不同类型的平衡点进行命名和分类,以便根据附近解的行为加以区分是很有用的。考虑一个平衡点 y = y 0 y = y_0 y=y0,如图1.67所示。当 y y y 稍微小于 y 0 y_0 y0 时,箭头指向上方;当 y y y 稍微大于 y 0 y_0 y0 时,箭头指向下方。具有初始条件接近 y 0 y_0 y0 的解在 t → ∞ t \to \infty t→∞ 时渐近于 y 0 y_0 y0。
我们说平衡点 y 0 y_0 y0 是一个吸引点(sink),如果任何初始条件足够接近 y 0 y_0 y0 的解在 t t t 增加时渐近于 y 0 y_0 y0。(“吸引点”这个名字意在让人联想到厨房水槽,平衡点就像是水槽的排水口。如果水开始时离排水口足够近,它将会流向排水口。)
另一种可能的相位线形式在平衡点
y
0
y_0
y0 附近如图1.68所示。在这种情况下,箭头在
y
y
y 稍微高于
y
0
y_0
y0 时指向上方,而在
y
y
y 稍微低于
y
0
y_0
y0 时指向下方。具有初始值接近
y
0
y_0
y0 的解在
t
t
t 增加时远离
y
0
y_0
y0。如果时间倒流,从
y
0
y_0
y0 附近开始的解会趋向于
y
0
y_0
y0。
我们说一个平衡点
y
0
y_0
y0 是一个源点(source),如果所有从
y
0
y_0
y0 足够接近的解在
t
t
t 减少时趋向于
y
0
y_0
y0。这意味着所有从
y
0
y_0
y0 附近(但不在
y
0
y_0
y0)开始的解在
t
t
t 增加时会远离
y
0
y_0
y0。因此,源点在时间倒流时会变成吸引点。(“源点”这个名字旨在帮助你形象地理解解从一个点流出或远离一个点。)
吸引点和源点是两种主要的平衡点类型。任何既不是源点也不是吸引点的平衡点称为节点(node)。图1.69 展示了两种可能的节点附近的相位线图像。
给定一个微分方程,我们可以根据相位线对平衡点进行分类,确定它们是吸引点、源点还是节点。例如,考虑
d y d t = y 2 + y − 6 = ( y + 3 ) ( y − 2 ) \frac{dy}{dt} = y^2 + y - 6 = (y + 3)(y - 2) dtdy=y2+y−6=(y+3)(y−2)
平衡点为 y = − 3 y = -3 y=−3 和 y = 2 y = 2 y=2。另外,对于 − 3 < y < 2 -3 < y < 2 −3<y<2, d y d t < 0 \frac{dy}{dt} < 0 dtdy<0,而对于 y < − 3 y < -3 y<−3 和 y > 2 y > 2 y>2, d y d t > 0 \frac{dy}{dt} > 0 dtdy>0。根据这些信息,我们可以绘制相位线,并从相位线中看到 y = − 3 y = -3 y=−3 是一个吸引点,而 y = 2 y = 2 y=2 是一个源点(见图1.70)。
假设我们给定一个微分方程
d
w
d
t
=
g
(
w
)
\frac{dw}{dt} = g(w)
dtdw=g(w),其中右侧的函数
g
(
w
)
g(w)
g(w) 以图形形式给出,而不是公式形式。我们仍然可以绘制相位线。例如,假设
g
(
w
)
g(w)
g(w) 的图形如图1.71 所示。对应的微分方程有三个平衡点:
w
=
−
0.5
w = -0.5
w=−0.5、
w
=
1
w = 1
w=1 和
w
=
2.5
w = 2.5
w=2.5;且
g
(
w
)
>
0
g(w) > 0
g(w)>0 当
w
<
−
0.5
w < -0.5
w<−0.5、
1
<
w
<
2.5
1 < w < 2.5
1<w<2.5 和
w
>
2.5
w > 2.5
w>2.5 时,而
−
0.5
<
w
<
1
-0.5 < w < 1
−0.5<w<1 时
g
(
w
)
<
0
g(w) < 0
g(w)<0。利用这些信息,我们可以绘制相位线(见图1.72),并对平衡点进行分类。点
w
=
−
0.5
w = -0.5
w=−0.5 是一个吸引点,点
w
=
1
w = 1
w=1 是一个源点,而点
w
=
2.5
w = 2.5
w=2.5 是一个节点。
平衡点类型辨识及线性化
从前面的例子中,我们知道仅通过 f ( y ) f(y) f(y) 的图形,我们可以确定相位线并对平衡点进行分类。由于平衡点的分类仅依赖于平衡点附近的相位线,我们可以通过 f ( y ) f(y) f(y) 在 y 0 y_0 y0 附近的图形来确定平衡点 y 0 y_0 y0 的类型。
如果 y 0 y_0 y0 是一个吸引点,那么在 y 0 y_0 y0 下面的相位线箭头指向上方,而在 y 0 y_0 y0 上面的箭头指向下方。因此, f ( y ) f(y) f(y) 在 y 0 y_0 y0 的左侧会是正值,而在右侧会是负值(见图1.73)。所以, f f f 必须在 y 0 y_0 y0 附近递减。反之,如果 f ( y 0 ) = 0 f(y_0) = 0 f(y0)=0 且 f f f 在 y 0 y_0 y0 附近对所有 y y y 递减,则 f ( y ) f(y) f(y) 在 y 0 y_0 y0 的左侧是正值,而在右侧是负值。因此, y 0 y_0 y0 是一个吸引点。
同样,平衡点 y 0 y_0 y0 是一个源点当且仅当 f f f 在 y 0 y_0 y0 附近对所有 y y y 递增(见图1.74)。
线性化定理及平衡点分类
在微积分中,我们有一个强大的工具来判断一个函数在特定点是否递增或递减——即导数。结合之前的几何观察,我们可以使用 f ( y ) f(y) f(y) 的导数来给出指定平衡点类型的标准。
线性化定理 假设 y 0 y_0 y0 是微分方程 d y / d t = f ( y ) dy/dt = f(y) dy/dt=f(y) 的一个平衡点,其中 f f f 是一个连续可导的函数。那么:
- 如果 f ′ ( y 0 ) < 0 f'(y_0) < 0 f′(y0)<0,则 y 0 y_0 y0 是一个吸引点;
- 如果 f ′ ( y 0 ) > 0 f'(y_0) > 0 f′(y0)>0,则 y 0 y_0 y0 是一个源点;
- 如果 f ′ ( y 0 ) = 0 f'(y_0) = 0 f′(y0)=0,则我们需要额外的信息来确定 y 0 y_0 y0 的类型。
这个定理可以立即从我们之前的讨论中得出,一旦我们记住,如果 f ′ ( y 0 ) < 0 f'(y_0) < 0 f′(y0)<0,则 f f f 在 y 0 y_0 y0 附近递减;如果 f ′ ( y 0 ) > 0 f'(y_0) > 0 f′(y0)>0,则 f f f 在 y 0 y_0 y0 附近递增。这种分析和结论是线性化的一种例子,这是一个我们经常会发现有用的技术。导数 f ′ ( y 0 ) f'(y_0) f′(y0) 告诉我们在 y 0 y_0 y0 附近, f f f 最佳线性近似的行为。如果我们用 f f f 的最佳线性近似来替代 f f f,那么得到的微分方程在 y y y 接近 y 0 y_0 y0 时与原微分方程非常接近。
如果 f ′ ( y 0 ) = 0 f'(y_0) = 0 f′(y0)=0,我们不能对 y 0 y_0 y0 的分类做出任何结论,因为可能出现三种情况(见图1.75)。
作为另一个例子,考虑微分方程
d
y
d
t
=
h
(
y
)
=
y
(
cos
(
y
5
+
2
y
)
−
27
π
y
4
)
.
\frac{dy}{dt} = h(y) = y(\cos(y^5 + 2y) - 27\pi y^4).
dtdy=h(y)=y(cos(y5+2y)−27πy4).
在
y
=
0
y = 0
y=0 附近相位线的样子是什么?绘制该方程的相位线会非常复杂。我们需要找出平衡点并确定
h
(
y
)
h(y)
h(y) 的符号。另一方面,很容易看到
y
=
0
y = 0
y=0 是一个平衡点,因为
h
(
0
)
=
0
h(0) = 0
h(0)=0。我们计算
h
′
(
y
)
=
(
cos
(
y
5
+
2
y
)
−
27
π
y
4
)
+
y
d
d
y
(
cos
(
y
5
+
2
y
)
−
27
π
y
4
)
.
h'(y) = (\cos(y^5 + 2y) - 27\pi y^4) + y \frac{d}{dy} (\cos(y^5 + 2y) - 27\pi y^4).
h′(y)=(cos(y5+2y)−27πy4)+ydyd(cos(y5+2y)−27πy4).
因此,
h
′
(
0
)
=
(
cos
(
0
)
−
0
)
+
0
=
1
h'(0) = (\cos(0) - 0) + 0 = 1
h′(0)=(cos(0)−0)+0=1。根据线性化定理,我们得出
y
=
0
y = 0
y=0 是一个源点。初始条件接近
y
=
0
y = 0
y=0 的解将远离
y
=
0
y = 0
y=0。
对于 y = 0 y = 0 y=0,随着 t t t 增大,解将远离 y = 0 y = 0 y=0。当然,这里有一个危险的漏洞条款:“足够接近”。初始条件可能需要非常非常接近 y = 0 y = 0 y=0,上述结论才适用。我们只做了一些工作,得到了少量信息。要获得更多信息,我们需要更仔细地研究函数 h ( y ) h(y) h(y)。
在实际应用中,仅凭线性化定理来判断平衡点的类型可能不足以提供完整的解答。特别是当导数在平衡点处为零时,我们必须进一步分析原始函数 h ( y ) h(y) h(y) 的行为。在这种情况下,除了线性化,还可以考虑其他方法,如使用高阶导数或更复杂的数学工具,以获得关于平衡点的更详细信息。
总结
- 吸引点(Sink): 如果 f ′ ( y 0 ) < 0 f'(y_0) < 0 f′(y0)<0,则 y 0 y_0 y0 是吸引点,解会向 y 0 y_0 y0 收敛。
- 源点(Source): 如果 f ′ ( y 0 ) > 0 f'(y_0) > 0 f′(y0)>0,则 y 0 y_0 y0 是源点,解会远离 y 0 y_0 y0。
- 节点(Node): 如果 f ′ ( y 0 ) = 0 f'(y_0) = 0 f′(y0)=0,需要进一步分析来确定 y 0 y_0 y0 的类型。可以通过更高阶导数或函数的详细行为来获得更多信息。
通过这些方法,我们可以更全面地理解微分方程的平衡点及其对解的长期行为的影响。
修改的逻辑斯蒂模型
作为这些理论的应用,我们利用本节的技术讨论逻辑斯蒂人口模型的一个修改版本。该模型涉及的是一种名为松鼠的动物,它生活在落基山脉。松鼠是一种非常有领地意识的动物,因此如果其种群数量很大,其增长率会下降甚至变为负数。另一方面,如果种群数量过小,生育期的成年松鼠可能找不到合适的配偶,从而使增长率也变为负数。
我们定义:
- t t t = 时间(自变量),
- S ( t ) S(t) S(t) = 时间 t t t 时的松鼠种群数量(因变量),
- k k k = 增长率系数(参数),
- N N N = 环境承载能力(参数),
- M M M = “稀疏性”常数(参数)。
环境承载能力 N N N 指示了“过大”的种群数量,而稀疏性参数 M M M 指示了“过小”的种群数量。
我们希望得到一个符合这些假设的形式为 d S d t = g ( S ) \frac{dS}{dt} = g(S) dtdS=g(S) 的模型。我们可以将这些假设看作是确定 g ( S ) g(S) g(S) 图形的形状,特别是 g ( S ) g(S) g(S) 的正负值分布。注意,当 S > N S > N S>N 时, d S d t = g ( S ) < 0 \frac{dS}{dt} = g(S) < 0 dtdS=g(S)<0,因为种群数量过大时增长率为负。同样地,当 S < M S < M S<M 时, g ( S ) < 0 g(S) < 0 g(S)<0,因为种群数量过小时增长率为负。最后,当 M < S < N M < S < N M<S<N 时, g ( S ) > 0 g(S) > 0 g(S)>0,并且 g ( 0 ) = 0 g(0) = 0 g(0)=0。也就是说,我们希望 g ( S ) g(S) g(S) 的图形类似于图 1.76。 S < 0 S < 0 S<0 时的 g ( S ) g(S) g(S) 的图形无关紧要,因为负的松鼠数量(反松鼠?)没有实际意义。
逻辑斯蒂模型在接近环境承载能力的种群数量时表现“正确”,但对于小于“稀疏性”水平 M M M 的种群,逻辑斯蒂模型的解与假设不一致。因此,我们需要对逻辑斯蒂模型进行修改,以包含小种群的行为,并引入参数 M M M。我们构建的模型形式为:
d S d t = g ( S ) = k S ( 1 − S N ) × ( 某个东西 ) . \frac{dS}{dt} = g(S) = kS \left(1 - \frac{S}{N}\right) \times (\text{某个东西}). dtdS=g(S)=kS(1−NS)×(某个东西).
“某个东西”必须满足当 S > M S > M S>M 时为正,当 S < M S < M S<M 时为负。满足这些条件的最简单选择是:
某个东西 = S M − 1. \text{某个东西} = \frac{S}{M} - 1. 某个东西=MS−1.
因此,我们的模型是:
d S d t = k S ( 1 − S N ) ( S M − 1 ) . \frac{dS}{dt} = kS \left(1 - \frac{S}{N}\right) \left(\frac{S}{M} - 1\right). dtdS=kS(1−NS)(MS−1).
这是逻辑斯蒂模型加上额外的项
(
S
M
−
1
)
\left(\frac{S}{M} - 1\right)
(MS−1)。我们将其称为修改的逻辑斯蒂种群模型。(其他模型也可能被称为修改的逻辑斯蒂模型,但修改的方式可能不同。)
模型分析
为了分析这个微分方程的解,我们可以使用解析方法,因为这个方程是可分离的。然而,定性技术提供了大量关于解的信息,而且工作量要少得多。给定的微分方程是:
d S d t = g ( S ) = k S ( 1 − S N ) ( S M − 1 ) , \frac{dS}{dt} = g(S) = kS \left(1 - \frac{S}{N}\right) \left(\frac{S}{M} - 1\right), dtdS=g(S)=kS(1−NS)(MS−1),
其中 0 < M < N 0 < M < N 0<M<N 且 k > 0 k > 0 k>0。这个方程有三个平衡点—— S = 0 S = 0 S=0、 S = M S = M S=M 和 S = N S = N S=N。
- 当 0 < S < M 0 < S < M 0<S<M 时,我们有 g ( S ) < 0 g(S) < 0 g(S)<0,所以初始条件在 0 0 0 和 M M M 之间的解会减小。
- 当 S > N S > N S>N 时, g ( S ) < 0 g(S) < 0 g(S)<0,所以初始条件大于 N N N 的解也会减小。
- 当 M < S < N M < S < N M<S<N 时,我们有 g ( S ) > 0 g(S) > 0 g(S)>0。因此,初始条件在 M M M 和 N N N 之间的解会增大。
由此我们可以得出结论,
0
0
0 和
N
N
N 处的平衡点是汇聚点(sink),而
M
M
M 处的平衡点是源点(source)。图 1.77 显示了相平面和典型解的图形。