evan's notes
cal 3discreteodeenv systems
English

本页目录

  • 如何选择 first-order 方法
  • Separable equations
  • 先检查 equilibrium solutions
  • 分离变量并做 integration
  • Separation 为什么成立
  • Implicit solutions 与 level curves
  • 例:logistic growth
  • Linear equations
  • Integrating factor 的作用
  • 求解步骤
  • 例:variable coefficient
  • 例:exponential input
  • 例:下落物体
  • 例:mixing tank
  • 例:cooling
  • Exact and non-exact equations
  • Partial derivatives
  • Exact equations
  • 如何检查 exactness
  • 求解 exact equation
  • 例:含 trigonometric 与 exponential 项的方程
  • Non-exact equations
  • 例:把 non-exact equation 变成 exact
  • 选择方法
  • Solution intervals 与 uniqueness
  • Picard's local existence and uniqueness theorem
  • 例:选择 Picard rectangle
  • 为什么需要 uniqueness 的假设
  • Local intervals、maximal intervals 与 finite-time blowup
  • Linear equations 有更强的 interval 结论
  • 例:不求解,先确定 interval

Ordinary Differential Equations

§2 First-Order Equations

Evan Luo · 2026年9月4日

Ordinary Differential Equations

§2 First-Order Equations

Evan Luo2026年9月4日

44 分钟

如何选择 first-order 方法

first-order ODE 含有 first derivative y′y'y′,但不含 y′′y''y′′ 这样的更高阶 derivative。通常写成

y′=dydt=f(t,y),y'=\frac{dy}{dt}=f(t,y), y′=dtdy​=f(t,y),

其中 ttt 是 independent variable,y=y(t)y=y(t)y=y(t) 是我们要找的函数。

先别急着做 integration,先看方程的结构:能不能把变量分到两边?能不能把左边凑成一个乘积的 derivative?或者,能不能找到一个沿解曲线保持不变的函数?没有一种方法能解所有 first-order equations,这里主要用下面三种形式:

形式方法
y′=f1(t)f2(y)y'=f_1(t)f_2(y)y′=f1​(t)f2​(y)Separation of variables
y′+P(t)y=g(t)y'+P(t)y=g(t)y′+P(t)y=g(t)Linear integrating factor
M(x,y)+N(x,y)y′=0M(x,y)+N(x,y)y'=0M(x,y)+N(x,y)y′=0检查 exactness

同一个方程可能同时符合不止一种形式。例如,一个方程既是 separable 又是 linear,两种方法都能用,选计算更简单的即可。

Separable equations

如果能把 first-order equation 整理成一边只含 yyy、另一边只含 ttt 的形式,就称它为 separable。

常见形式是

dydt=f1(t)f2(y),\frac{dy}{dt}=f_1(t)f_2(y), dtdy​=f1​(t)f2​(y),

其中 f1f_1f1​ 只依赖 ttt,f2f_2f2​ 只依赖 yyy。

例如,

y′=et+y=eteyy'=e^{t+y}=e^t e^y y′=et+y=etey

是 separable,因为右边可以拆成只含 ttt 和只含 yyy 的两个因子的乘积。而方程

y′=t2+y2y'=t^2+y^2 y′=t2+y2

在这个形式下不是 separable,因为右边是两个项相加,而不是这样的乘积。

先检查 equilibrium solutions

分离变量时,需要除以 f2(y)f_2(y)f2​(y)。这个因子为零时不能做除法,但对应的函数可能完全符合原方程,所以要先检查。

在除法之前,先解

f2(y)=0.f_2(y)=0. f2​(y)=0.

如果 y=y∗y=y_*y=y∗​ 使得 f2(y∗)=0f_2(y_*)=0f2​(y∗​)=0,那么 constant function y(t)=y∗y(t)=y_*y(t)=y∗​ 满足

y′(t)=0=f1(t)f2(y∗).y'(t)=0=f_1(t)f_2(y_*). y′(t)=0=f1​(t)f2​(y∗​).

这个 constant function 就是 equilibrium solution。符号 y∗y_*y∗​ 读作 “yyy star”。

不过,不能因此断定所有到达这个值的解都会一直停在那里。要排除“到达后又离开”的解,还需要 uniqueness theorem。

分离变量并做 integration

在 f2(y)≠0f_2(y)\ne0f2​(y)=0 的地方,两边除以它,然后做 integration:

∫1f2(y) dy=∫f1(t) dt+C.\boxed{ \int\frac{1}{f_2(y)}\,dy = \int f_1(t)\,dt+C. } ∫f2​(y)1​dy=∫f1​(t)dt+C.​

最后得到的式子里,yyy 和 ttt 可能仍然混在一起。这叫 implicit solution:它描述函数满足的关系,但没有把函数显式解出来。同一条曲线可能有多个 branch;必须选取可以求 derivative 的 branch,并限制在原 ODE 和刚才的除法都有意义的 interval 上。

Separation 为什么成立

写成

dyf2(y)=f1(t) dt\frac{dy}{f_2(y)}=f_1(t)\,dt f2​(y)dy​=f1​(t)dt

看起来像是把 dy/dtdy/dtdy/dt 当作普通分数来处理。这种写法方便记步骤,但真正支持它的是 chain rule。

给两边的 antiderivatives 分别命名为 FFF 和 GGG,使它们满足

F′(y)=1f2(y),G′(t)=f1(t).F'(y)=\frac{1}{f_2(y)}, \qquad G'(t)=f_1(t). F′(y)=f2​(y)1​,G′(t)=f1​(t).

由于 yyy 依赖 ttt,chain rule 给出

ddtF(y(t))=F′(y)y′=y′f2(y).\frac{d}{dt}F(y(t)) =F'(y)y' =\frac{y'}{f_2(y)}. dtd​F(y(t))=F′(y)y′=f2​(y)y′​.

原 ODE 告诉我们,这等于 f1(t)=G′(t)f_1(t)=G'(t)f1​(t)=G′(t)。因此,

ddt(F(y(t))−G(t))=0.\frac{d}{dt}\bigl(F(y(t))-G(t)\bigr)=0. dtd​(F(y(t))−G(t))=0.

一个量的 derivative 为零,就说明它是常数,所以

F(y)−G(t)=C.\boxed{F(y)-G(t)=C}. F(y)−G(t)=C​.

这正是分离变量再做 integration 得到的 implicit equation。

Implicit solutions 与 level curves

刚才找到的表达式沿着每条解曲线保持不变。把它记作

ψ(t,y)=F(y)−G(t),\psi(t,y)=F(y)-G(t), ψ(t,y)=F(y)−G(t),

ψ\psiψ 读作 “psi”,这里称它为分离后方程的 potential function。ODE 告诉我们曲线的 slope,而这个函数告诉我们:沿着一条解曲线,哪个量保持不变。

ψ(t,y)=C.\psi(t,y)=C. ψ(t,y)=C.

如果一条曲线上每一点的 ψ\psiψ 值都相同,这条曲线就叫 level curve。每个解沿着其中一条曲线变化;选择不同的 CCC,就是选择不同的 level。

Level curves and the selected solution

Concentric level curvesThree circular level curves of psi equal to one half x squared plus one half y squared. The upper branch of the unit circle is highlighted because it contains the initial point zero comma one.C = 1/8C = 1/2C = 9/8(0, 1)xy
Every value of C gives a circle. The initial condition y(0) = 1 picks the upper branch of the circle C = 1/2.

例:圆形的 implicit solutions

考虑

dydx=−xy.\frac{dy}{dx}=-\frac{x}{y}. dxdy​=−yx​.

分离变量并做 integration:

y dy=−x dx,y22=−x22+C.\begin{aligned} y\,dy&=-x\,dx,\\ \frac{y^2}{2}&=-\frac{x^2}{2}+C. \end{aligned} ydy2y2​​=−xdx,=−2x2​+C.​

把平方项移到同一边:

x22+y22=C.\boxed{\frac{x^2}{2}+\frac{y^2}{2}=C}. 2x2​+2y2​=C​.

当常数为正时,这个方程描述一个以原点为圆心的圆。但整个圆并不是横坐标的函数,所以还要选 branch。假设给定

y(0)=1.y(0)=1. y(0)=1.

代入 x=0x=0x=0 和 y=1y=1y=1,得到 C=1/2C=1/2C=1/2,所以

x2+y2=1.x^2+y^2=1. x2+y2=1.

解出 yyy,得到两个 branches:

y=±1−x2.y=\pm\sqrt{1-x^2}. y=±1−x2​.

我们需要 y(0)=1y(0)=1y(0)=1,因此选上半圆:

y(x)=1−x2.\boxed{y(x)=\sqrt{1-x^2}}. y(x)=1−x2​​.

这个解能延伸多远?maximal solution interval 是包含初始点、且这个公式始终满足原 ODE 的最大 interval。这里是

−1<x<1.-1<x<1. −1<x<1.

在 x=±1x=\pm1x=±1 处,square root 仍然有实数值,但此时 y=0y=0y=0,而原 ODE 要除以 yyy。因此这两个端点不能包含在 solution interval 里。

例:logistic growth

设 N(t)N(t)N(t) 是时刻 ttt 的种群数量,N′(t)N'(t)N′(t) 表示总数量变化的快慢。

一般的种群模型可以写成

dNdt=R(N)N.\frac{dN}{dt}=R(N)N. dtdN​=R(N)N.

这里的 R(N)R(N)R(N) 是平均每个个体对应的增长率,叫作 per-capita growth rate。乘以个体数量 NNN,就得到总数量的变化率。

Exponential growth 假设 R(N)R(N)R(N) 不变。在食物和空间充足时,这可能合理,但资源不足时就不合适了。为了描述资源的限制,引入两个常数:

  • r>0r>0r>0,表示种群数量很小时的 per-capita growth rate;
  • K>0K>0K>0,称为 carrying capacity,表示环境能长期维持的种群数量。

因此,R(N)R(N)R(N) 应满足

R(0)=r>0,R(K)=0.R(0)=r>0, \qquad R(K)=0. R(0)=r>0,R(K)=0.

对正的种群数量,N<KN<KN<K 时应该增长,N>KN>KN>K 时应该减少。让 per-capita rate 沿一条直线从 rrr 降到 000,就能得到这种变化:

R(N)=r(1−NK)=rK(K−N).R(N)=r\left(1-\frac{N}{K}\right) =\frac{r}{K}(K-N). R(N)=r(1−KN​)=Kr​(K−N).

检查 K−NK-NK−N 的正负,就能判断种群数量如何变化:

  • 若 0<N<K0<N<K0<N<K,则 K−N>0K-N>0K−N>0,种群数量增加。
  • 若 N=KN=KN=K,则 K−N=0K-N=0K−N=0,种群数量不变。
  • 若 N>KN>KN>K,则 K−N<0K-N<0K−N<0,种群数量减少。

carrying capacity 是一个 equilibrium,不是数量绝不能超过的上限。种群可以从高于 KKK 的数量开始;这时模型预测它会逐渐降向 KKK。

把这个 R(N)R(N)R(N) 代回种群模型,得到 logistic equation:

dNdt=rK(K−N)N.\boxed{\frac{dN}{dt}=\frac{r}{K}(K-N)N}. dtdN​=Kr​(K−N)N​.

这个方程是 first order,也是 separable。它是 nonlinear 的,因为 (K−N)(K-N)(K−N) 与 NNN 相乘后会出现 N2N^2N2 项。

Equilibria 与变化方向

在 equilibrium solution 上,变化率为零。令 logistic equation 的右边等于零:

rK(K−N)N=0.\frac{r}{K}(K-N)N=0. Kr​(K−N)N=0.

得到两个 equilibrium populations:

N=0andN=K.N=0 \qquad\text{and}\qquad N=K. N=0andN=K.

从任何一个 equilibrium 开始,数量都会保持不变。从其他任意正值开始,N′N'N′ 的符号都表明数量会朝 KKK 变化。附近的种群数量会靠近而不是远离这个 equilibrium,因此称它为 stable equilibrium。

Per-capita growth rate

Logistic per-capita growth rateR of N decreases linearly from r at population zero, crosses zero at carrying capacity K, and is negative above K.rKNR(N)

Growth is positive below the carrying capacity K, zero at K, and negative above K.

Population trajectories

Solutions of the logistic equationPositive populations below K rise toward K. Populations above K fall toward K. A population equal to K stays constant.N₀ < KN₀ > KKtN(t)

K is a stable equilibrium: every positive trajectory shown approaches the carrying capacity.

Two D3 graphs showing how the logistic model changes sign at carrying capacity K and how positive solutions approach K.

求解

现在已经知道种群会朝哪里变化,接下来求任意时刻的数量。设 N(0)=N0N(0)=N_0N(0)=N0​,且 N0∉{0,K}N_0\notin\{0,K\}N0​∈/{0,K},其中 N0N_0N0​ 是初始种群数量。

方程右边是 polynomial,因而是 smooth 的,可以应用 uniqueness theorem。这保证了这些解在存在期间不会穿过任何一个 equilibrium。因此 N≠0N\ne0N=0 且 N≠KN\ne KN=K,可以除过去并分离变量:

KN(K−N) dN=r dt.\frac{K}{N(K-N)}\,dN=r\,dt. N(K−N)K​dN=rdt.

把左边拆成 partial fractions,会更容易做 integration:

KN(K−N)=1N+1K−N.\frac{K}{N(K-N)} =\frac1N+\frac1{K-N}. N(K−N)K​=N1​+K−N1​.

这两项的 antiderivatives 都涉及 logarithms。注意第二项的符号:K−NK-NK−N 对 NNN 的 derivative 是 −1-1−1,所以对应的 integral 前面要有负号。

∫(1N+1K−N)dN=ln⁡∣N∣−ln⁡∣K−N∣=ln⁡∣NK−N∣.\begin{aligned} \int\left(\frac1N+\frac1{K-N}\right)dN &=\ln|N|-\ln|K-N|\\ &=\ln\left|\frac{N}{K-N}\right|. \end{aligned} ∫(N1​+K−N1​)dN​=ln∣N∣−ln∣K−N∣=ln​K−NN​​.​

右边也做 integration,把两边合在一起:

ln⁡∣NK−N∣=rt+C.\ln\left|\frac{N}{K-N}\right|=rt+C. ln​K−NN​​=rt+C.

两边取 exponential 来消去 logarithm。把正负号和 eCe^CeC 合并到一个非零常数 C1C_1C1​ 中:

NK−N=C1ert.\frac{N}{K-N}=C_1e^{rt}. K−NN​=C1​ert.

为了解出 NNN,先把两边乘以 K−NK-NK−N:

N=C1ert(K−N).N=C_1e^{rt}(K-N). N=C1​ert(K−N).

展开右边,再把含 NNN 的项收集到左边:

N(1+C1ert)=KC1ert.N(1+C_1e^{rt})=KC_1e^{rt}. N(1+C1​ert)=KC1​ert.

用 N(0)=N0N(0)=N_0N(0)=N0​ 求 C1C_1C1​:

C1=N0K−N0.C_1=\frac{N_0}{K-N_0}. C1​=K−N0​N0​​.

代回 C1C_1C1​,解出种群数量:

N(t)=KN0N0+(K−N0)e−rt.\boxed{ N(t)=\frac{KN_0}{N_0+(K-N_0)e^{-rt}} }. N(t)=N0​+(K−N0​)e−rtKN0​​​.

推导时除以了 N(K−N)N(K-N)N(K−N),所以没有包含两个 equilibria。答案里还要保留它们:

N(t)≡0andN(t)≡K.N(t)\equiv0 \qquad\text{and}\qquad N(t)\equiv K. N(t)≡0andN(t)≡K.

再把公式与之前根据符号作出的判断比较:

  • 若 0<N0<K0<N_0<K0<N0​<K,种群数量增加并趋向 KKK。
  • 若 N0=KN_0=KN0​=K,数量一直为 KKK。
  • 若 N0>KN_0>KN0​>K,种群数量减少并趋向 KKK。

Linear equations

在 linear equation 中,未知函数及其 first derivative 都只以一次幂出现。它们的 coefficients 可以依赖 independent variable,但不能依赖未知函数。题目可能给出这样的形式:

a0(t)y′(t)+a1(t)y(t)=h(t).a_0(t)y'(t)+a_1(t)y(t)=h(t). a0​(t)y′(t)+a1​(t)y(t)=h(t).

先把每一项除以 a0(t)a_0(t)a0​(t),并限制在 a0(t)≠0a_0(t)\ne0a0​(t)=0 的 interval 上,保证除法合法。得到

y′(t)+P(t)y(t)=g(t),y'(t)+P(t)y(t)=g(t), y′(t)+P(t)y(t)=g(t),

其中

P(t)=a1(t)a0(t),g(t)=h(t)a0(t).P(t)=\frac{a_1(t)}{a_0(t)}, \qquad g(t)=\frac{h(t)}{a_0(t)}. P(t)=a0​(t)a1​(t)​,g(t)=a0​(t)h(t)​.

这就是 standard form。找 integrating factor 之前,必须先让 y′y'y′ 的 coefficient 变成 111。

Integrating factor 的作用

standard form 的左边是

y′+P(t)y.y'+P(t)y. y′+P(t)y.

第二项里的函数还不知道,不能把它当作已知函数直接做 integration。我们要先把整个左边变成熟悉的 derivative。

把每一项都乘以一个函数 μ(t)\mu(t)μ(t),读作 “mu of ttt”。目标是让

μy′+μPy\mu y'+\mu P y μy′+μPy

变成 μy\mu yμy 的 derivative。

根据 product rule,

ddt(μy)=μy′+μ′y.\frac{d}{dt}(\mu y)=\mu y'+\mu' y. dtd​(μy)=μy′+μ′y.

第一项已经对应上了。要让第二项也对应上,需要

μ′=Pμ.\mu'=P\mu. μ′=Pμ.

这样就得到一个关于 multiplier 本身的方程,而且它是 separable。除以非零的 multiplier,做 integration,再取 exponential,就能选取

μ(t)=e∫P(t) dt.\boxed{\mu(t)=e^{\int P(t)\,dt}}. μ(t)=e∫P(t)dt​.

这就是 integrating factor。exponent 里不必写 +C+C+C:它只会让 μ\muμ 多乘一个非零常数,最后解出 yyy 时会约掉。

选好这个 μ\muμ 后,product rule 就把乘过 multiplier 的方程变成

ddt(μy)=μg.\frac{d}{dt}(\mu y)=\mu g. dtd​(μy)=μg.

现在两边做 integration,再除以 μ\muμ:

y(t)=1μ(t)(∫μ(t)g(t) dt+C).\boxed{ y(t)=\frac{1}{\mu(t)} \left(\int \mu(t)g(t)\,dt+C\right). } y(t)=μ(t)1​(∫μ(t)g(t)dt+C).​

最后这个公式不必硬背。按“乘上 integrating factor、用 product rule、做 integration、再除回去”的顺序,就能重新推出来。

有些 WeBWorK 题目用 u(t)u(t)u(t) 表示 integrating factor 的 reciprocal:

u(t)=1μ(t).u(t)=\frac{1}{\mu(t)}. u(t)=μ(t)1​.

这不是两种不同的方法。乘方程时仍然用 μ\muμ;最后解出 yyy 时,才会出现 reciprocal uuu。填写答案前,注意题目究竟要哪一个。

求解步骤

对 linear equation,可以按下面的顺序做:

  1. 先除过去,使 y′y'y′ 的 coefficient 为 111。
  2. 对照 y′+P(t)y=g(t)y'+P(t)y=g(t)y′+P(t)y=g(t),确定 P(t)P(t)P(t) 和 g(t)g(t)g(t)。
  3. 求出 μ(t)=e∫P(t) dt\mu(t)=e^{\int P(t)\,dt}μ(t)=e∫P(t)dt。
  4. 每一项都乘以 μ(t)\mu(t)μ(t)。
  5. 把左边写成 (μy)′(\mu y)'(μy)′。
  6. 两边做 integration,在这一步加入常数 CCC。
  7. 除以 μ(t)\mu(t)μ(t)。
  8. 如果给了 initial condition,用它确定 CCC。

检查答案时,先求 derivative,再代回原 ODE。

例:variable coefficient

考虑

y′+2t4+t2y=4t4+t2.y'+\frac{2t}{4+t^2}y=\frac{4t}{4+t^2}. y′+4+t22t​y=4+t24t​.

方程已经是 standard form,因此

P(t)=2t4+t2.P(t)=\frac{2t}{4+t^2}. P(t)=4+t22t​.

integrating factor 为

μ(t)=e∫2t4+t2 dt=eln⁡(4+t2)=4+t2.\begin{aligned} \mu(t) &=e^{\int \frac{2t}{4+t^2}\,dt}\\ &=e^{\ln(4+t^2)}\\ &=4+t^2. \end{aligned} μ(t)​=e∫4+t22t​dt=eln(4+t2)=4+t2.​

4+t24+t^24+t2 始终为正,不会出现需要避开的零点,也不需要分 interval 讨论。每一项乘以 4+t24+t^24+t2:

(4+t2)y′+2ty=4t.(4+t^2)y'+2ty=4t. (4+t2)y′+2ty=4t.

左边正好成为我们需要的 derivative:

ddt((4+t2)y)=4t.\frac{d}{dt}\bigl((4+t^2)y\bigr)=4t. dtd​((4+t2)y)=4t.

做 integration 得到

(4+t2)y=2t2+C,(4+t^2)y=2t^2+C, (4+t2)y=2t2+C,

因此 general solution 是

y(t)=2t2+C4+t2.\boxed{y(t)=\frac{2t^2+C}{4+t^2}}. y(t)=4+t22t2+C​​.

不同的 CCC 对应不同的解,initial condition 会从中选出一个。

例如,若 y(0)=0y(0)=0y(0)=0,则

0=C4,0=\frac{C}{4}, 0=4C​,

所以 C=0C=0C=0,得到

y(t)=2t24+t2.y(t)=\frac{2t^2}{4+t^2}. y(t)=4+t22t2​.

若 y(0)=1y(0)=1y(0)=1,则 C=4C=4C=4,得到

y(t)=2t2+44+t2.y(t)=\frac{2t^2+4}{4+t^2}. y(t)=4+t22t2+4​.

例:exponential input

考虑

y′+12y=12et/3.y'+\frac12y=\frac12e^{t/3}. y′+21​y=21​et/3.

这里 P(t)=1/2P(t)=1/2P(t)=1/2,因此

μ(t)=e∫1/2 dt=et/2.\mu(t)=e^{\int 1/2\,dt}=e^{t/2}. μ(t)=e∫1/2dt=et/2.

整个方程乘以 et/2e^{t/2}et/2:

ddt(et/2y)=12et/2et/3=12e5t/6.\frac{d}{dt}\left(e^{t/2}y\right) =\frac12e^{t/2}e^{t/3} =\frac12e^{5t/6}. dtd​(et/2y)=21​et/2et/3=21​e5t/6.

做 integration:

et/2y=12∫e5t/6 dt+C=35e5t/6+C.\begin{aligned} e^{t/2}y &=\frac12\int e^{5t/6}\,dt+C\\ &=\frac35e^{5t/6}+C. \end{aligned} et/2y​=21​∫e5t/6dt+C=53​e5t/6+C.​

除以 et/2e^{t/2}et/2,得到

y(t)=35et/3+Ce−t/2.\boxed{y(t)=\frac35e^{t/3}+Ce^{-t/2}}. y(t)=53​et/3+Ce−t/2​.

第一项是对应这个 input 的一个解,Ce−t/2Ce^{-t/2}Ce−t/2 则让我们能调整初值而不改变 input。它满足把右边换成零后得到的方程,也就是 homogeneous equation:

y′+12y=0.y'+\frac12y=0. y′+21​y=0.

例:下落物体

假设一个物体在重力作用下下落,air resistance 阻碍它的运动。取向下为正方向,设:

  • v(t)v(t)v(t) 是时刻 ttt 的向下速度;
  • m>0m>0m>0 是物体质量;
  • g>0g>0g>0 是 gravitational acceleration;
  • γ>0\gamma>0γ>0 读作 “gamma”,是 linear drag coefficient。

重力贡献 +mg+mg+mg。这里把 drag 建模为 −γv-\gamma v−γv,所以它始终与 velocity 的方向相反。Newton's second law 给出

mv′(t)=mg−γv(t).mv'(t)=mg-\gamma v(t). mv′(t)=mg−γv(t).

两边除以 mmm,得到 acceleration:

v′(t)=g−γmv(t).\boxed{v'(t)=g-\frac{\gamma}{m}v(t)}. v′(t)=g−mγ​v(t)​.

物体向下运动时,可以比较两个力的大小。若重力大于 drag,则 v′>0v'>0v′>0,物体加速;若 drag 大于重力,则 v′<0v'<0v′<0,物体减速。

Terminal velocity

acceleration 为零(v′=0v'=0v′=0)时,velocity 不再改变。令右边为零:

0=g−γmv,0=g-\frac{\gamma}{m}v, 0=g−mγ​v,

得到

vT=mgγ,\boxed{v_T=\frac{mg}{\gamma}}, vT​=γmg​​,

这里的 vTv_TvT​ 就是 terminal velocity。

把 γm\frac{\gamma}{m}mγ​ 提出来,用 vTv_TvT​ 改写方程:

v′=γm(vT−v).v'=\frac{\gamma}{m}(v_T-v). v′=mγ​(vT​−v).

这样就可以直接判断变化方向:

  • 若 v<vTv<v_Tv<vT​,则 v′>0v'>0v′>0,velocity 增大。
  • 若 v>vTv>v_Tv>vT​,则 v′<0v'<0v′<0,velocity 减小。
  • 若 v=vTv=v_Tv=vT​,则 v′=0v'=0v′=0,velocity 保持不变。

无论哪种情况,velocity 都趋向或保持在 vTv_TvT​。

求解

为了求 v(t)v(t)v(t),先把方程写成 standard first-order linear form:

v′+γmv=g.v'+\frac{\gamma}{m}v=g. v′+mγ​v=g.

integrating factor 是

μ(t)=eγt/m.\mu(t)=e^{\gamma t/m}. μ(t)=eγt/m.

每一项乘以 μ(t)\mu(t)μ(t),左边就成为乘积的 derivative:

ddt(eγt/mv(t))=geγt/m.\frac{d}{dt}\left(e^{\gamma t/m}v(t)\right) =ge^{\gamma t/m}. dtd​(eγt/mv(t))=geγt/m.

两边做 integration:

eγt/mv(t)=mgγeγt/m+C.e^{\gamma t/m}v(t) =\frac{mg}{\gamma}e^{\gamma t/m}+C. eγt/mv(t)=γmg​eγt/m+C.

设初速度为 v(0)=v0v(0)=v_0v(0)=v0​。代入 t=0t=0t=0,求出常数:

C=v0−mgγ.C=v_0-\frac{mg}{\gamma}. C=v0​−γmg​.

再乘以 e−γt/me^{-\gamma t/m}e−γt/m,并代入 CCC:

v(t)=mgγ+(v0−mgγ)e−γt/m.\boxed{ v(t)=\frac{mg}{\gamma} +\left(v_0-\frac{mg}{\gamma}\right)e^{-\gamma t/m} }. v(t)=γmg​+(v0​−γmg​)e−γt/m​.

可以把这个答案看成 equilibrium 值,再加上随时间变化的差值:

  • mg/γmg/\gammamg/γ 是稳定的 terminal velocity;
  • 另一项是初速度与 terminal velocity 的差,乘以一个不断衰减的 exponential。

因为 m>0m>0m>0 且 γ>0\gamma>0γ>0,exponential 项会衰减:

e−γt/m⟶0as t→∞.e^{-\gamma t/m}\longrightarrow0 \qquad\text{as }t\to\infty. e−γt/m⟶0as t→∞.

差值趋向零时,velocity 就趋向 terminal velocity:

lim⁡t→∞v(t)=mgγ.\boxed{ \lim_{t\to\infty}v(t)=\frac{mg}{\gamma} }. t→∞lim​v(t)=γmg​​.

如果物体从静止释放,令 v0=0v_0=0v0​=0,答案简化为

v(t)=mgγ(1−e−γt/m).v(t)=\frac{mg}{\gamma} \left(1-e^{-\gamma t/m}\right). v(t)=γmg​(1−e−γt/m).

velocity 从零开始平滑上升,趋向 terminal velocity,但不会超过它。

Velocity under linear drag

Falling-object velocity curvesVelocities above terminal velocity decrease toward it. Zero and negative initial velocities increase toward the same terminal value.mg/γterminal velocityv₀ above terminal velocitynegative v₀tv(t)
The exponential term decays, so every curve approaches the terminal velocity mg/γ.

例:mixing tank

一个水箱起初装有 100100100 gallons 充分搅匀的溶液,其中含盐 Q0Q_0Q0​ pounds。液体不断流入和流出,同时带进和带走盐。设:

  • Q(t)Q(t)Q(t) 是经过 ttt minutes 后的盐量,单位为 pounds;
  • r>0r>0r>0 是流入和流出的 flow rate,两者相同,单位为 gallons per minute;
  • 流入溶液的盐浓度为 14\frac1441​ lb/gal。

流入与流出的液体量相同,因此水箱始终有 100100100 gallons。盐量的变化率等于流入的盐量速率减去流出的盐量速率:

rate of change=rate in−rate out.\text{rate of change}=\text{rate in}-\text{rate out}. rate of change=rate in−rate out.

流入的盐量速率等于浓度乘以 flow rate:

(14lbgal)(rgalmin)=r4lbmin.\left(\frac14\frac{\mathrm{lb}}{\mathrm{gal}}\right) \left(r\frac{\mathrm{gal}}{\mathrm{min}}\right) =\frac r4\frac{\mathrm{lb}}{\mathrm{min}}. (41​gallb​)(rmingal​)=4r​minlb​.

由于充分搅拌,盐均匀分布在溶液中。因此,流出液体的浓度与水箱中液体的浓度相同:

Q(t)100lbgal.\frac{Q(t)}{100}\frac{\mathrm{lb}}{\mathrm{gal}}. 100Q(t)​gallb​.

所以,流出的盐量速率是

(Q(t)100lbgal)(rgalmin)=r100Q(t)lbmin.\left(\frac{Q(t)}{100}\frac{\mathrm{lb}}{\mathrm{gal}}\right) \left(r\frac{\mathrm{gal}}{\mathrm{min}}\right) =\frac r{100}Q(t)\frac{\mathrm{lb}}{\mathrm{min}}. (100Q(t)​gallb​)(rmingal​)=100r​Q(t)minlb​.

两者相减,得到 initial-value problem:

Q′+r100Q=r4,Q(0)=Q0.\boxed{ Q'+\frac r{100}Q=\frac r4, \qquad Q(0)=Q_0 }. Q′+100r​Q=4r​,Q(0)=Q0​​.

检查单位:每一项都应是 pounds per minute。这里描述的是盐量变化的快慢,不是浓度变化的快慢。

求解

这已经是 linear standard form:derivative 的 coefficient 为一,盐量只以一次幂出现。integrating factor 是

μ(t)=e∫r/100 dt=ert/100.\mu(t)=e^{\int r/100\,dt}=e^{rt/100}. μ(t)=e∫r/100dt=ert/100.

把方程乘以 μ(t)\mu(t)μ(t),左边变成乘积的 derivative:

ddt(ert/100Q(t))=r4ert/100.\frac d{dt}\left(e^{rt/100}Q(t)\right) =\frac r4e^{rt/100}. dtd​(ert/100Q(t))=4r​ert/100.

两边做 integration:

ert/100Q(t)=r4∫ert/100 dt+C=25ert/100+C.\begin{aligned} e^{rt/100}Q(t) &=\frac r4\int e^{rt/100}\,dt+C\\ &=25e^{rt/100}+C. \end{aligned} ert/100Q(t)​=4r​∫ert/100dt+C=25ert/100+C.​

除以 integrating factor:

Q(t)=25+Ce−rt/100.Q(t)=25+Ce^{-rt/100}. Q(t)=25+Ce−rt/100.

再用 initial condition 确定常数:

Q0=Q(0)=25+C,C=Q0−25.Q_0=Q(0)=25+C, \qquad C=Q_0-25. Q0​=Q(0)=25+C,C=Q0​−25.

于是

Q(t)=25+(Q0−25)e−rt/100.\boxed{ Q(t)=25+(Q_0-25)e^{-rt/100} }. Q(t)=25+(Q0​−25)e−rt/100​.

这个 equilibrium 也可以从浓度来理解。当水箱与流入液体的浓度相同时,盐流入和流出的速率相等。此时箱中的盐量应为

100 gal(14lbgal)=25 lb.100\,\mathrm{gal}\left(\frac14\frac{\mathrm{lb}}{\mathrm{gal}}\right) =25\,\mathrm{lb}. 100gal(41​gallb​)=25lb.

因为 r>0r>0r>0,exponential 因子趋向零。若 Q0<25Q_0<25Q0​<25,盐量增加并趋向 252525;若 Q0>25Q_0>25Q0​>25,盐量减少并趋向 252525;若 Q0=25Q_0=25Q0​=25,盐量就保持不变。

不追踪总盐量,而是追踪它与 equilibrium 的差,也能看出同样的变化。定义 E(t)=Q(t)−25E(t)=Q(t)-25E(t)=Q(t)−25,模型变成

E′=−r100E,E(t)=E(0)e−rt/100.E'=-\frac{r}{100}E, \qquad E(t)=E(0)e^{-rt/100}. E′=−100r​E,E(t)=E(0)e−rt/100.

如果起初不在 equilibrium,E(t)/E(0)=e−rt/100E(t)/E(0)=e^{-rt/100}E(t)/E(0)=e−rt/100 就表示初始差值还剩下多少比例。如果起初就在 equilibrium,差值会一直为零。

Stable salt equilibrium at 25 pounds

Stable salt equilibrium at 25 poundsFor a positive flow rate, solutions beginning with 10, 25, and 50 pounds of salt all approach the equilibrium Q of t equals 25 pounds. Solutions below the equilibrium rise, solutions above it fall, and the equilibrium solution stays constant.050100150200010202530405025 lb equilibriumt (min)Q(t) (lb)
  • Q(0) = 50 lb
  • Q(0) = 25 lb
  • Q(0) = 10 lb
The exponential term keeps the initial deviation's sign while making its size decay. A solution approaches 25 lb from its own side and never crosses the equilibrium.

达到目标需要多久

取 Q0=50Q_0=50Q0​=50 lb、r=3r=3r=3 gal/min,则

Q(t)=25+25e−3t/100.Q(t)=25+25e^{-3t/100}. Q(t)=25+25e−3t/100.

与 252525-lb equilibrium 相差不超过 2%2\%2%,意味着

∣Q(t)−25∣≤0.02(25)=0.5.|Q(t)-25|\le0.02(25)=0.5. ∣Q(t)−25∣≤0.02(25)=0.5.

盐量从上方逐渐降向 equilibrium。第一次达到要求时,Q(T)=25.5Q(T)=25.5Q(T)=25.5,其中 TTT 就是所求时间。解得:

25+25e−3T/100=25.5e−3T/100=150T=1003ln⁡50≈130.4 min.\begin{aligned} 25+25e^{-3T/100}&=25.5\\ e^{-3T/100}&=\frac1{50}\\ T&=\frac{100}{3}\ln50\\ &\approx130.4\ \mathrm{min}. \end{aligned} 25+25e−3T/100e−3T/100T​=25.5=501​=3100​ln50≈130.4 min.​

如果要求在 454545 minutes 内达到这个范围呢?这次时间已知,要找的是 flow rate。恰好够用的最小 flow rate 会使盐量在最后一刻达到目标:

25+25e−45r/100=25.5.25+25e^{-45r/100}=25.5. 25+25e−45r/100=25.5.

因此,

rmin⁡=10045ln⁡50≈8.69 gal/min.\boxed{ r_{\min}=\frac{100}{45}\ln50 \approx8.69\ \mathrm{gal/min} }. rmin​=45100​ln50≈8.69 gal/min​.

任何 r≥rmin⁡r\ge r_{\min}r≥rmin​ 都能在不晚于 454545 minutes 时达到允许的误差范围。

例:cooling

热物体与环境的温差越大,降温越快。随着温度接近室温,温差缩小,降温也会变慢。设 T(t)T(t)T(t) 为物体温度,TroomT_{\mathrm{room}}Troom​ 为保持不变的环境温度。Newton's law of cooling 假设温度变化率与这个温差成正比:

dTdt=−k(T−Troom),k>0.\boxed{ \frac{dT}{dt}=-k\left(T-T_{\mathrm{room}}\right), \qquad k>0 }. dtdT​=−k(T−Troom​),k>0​.

负号保证温度会朝室温变化:

  • 若 T>TroomT>T_{\mathrm{room}}T>Troom​,则 T′<0T'<0T′<0,物体降温。
  • 若 T<TroomT<T_{\mathrm{room}}T<Troom​,则 T′>0T'>0T′>0,物体升温。
  • 若 T=TroomT=T_{\mathrm{room}}T=Troom​,则 T′=0T'=0T′=0,温度处于 equilibrium。

这里可以用 separation,也可以用 linear equation 的方法。采用后者时,先写成 standard form:

T′+kT=kTroom.T'+kT=kT_{\mathrm{room}}. T′+kT=kTroom​.

integrating factor 是

μ(t)=ekt.\mu(t)=e^{kt}. μ(t)=ekt.

把方程乘以 ekte^{kt}ekt,左边变成乘积的 derivative:

ddt(ektT)=kTroomekt.\frac{d}{dt}\left(e^{kt}T\right) =kT_{\mathrm{room}}e^{kt}. dtd​(ektT)=kTroom​ekt.

做 integration 后再除以 ekte^{kt}ekt,得到

T(t)=Troom+Ce−kt.T(t)=T_{\mathrm{room}}+Ce^{-kt}. T(t)=Troom​+Ce−kt.

若 T(0)=T0T(0)=T_0T(0)=T0​,则 C=T0−TroomC=T_0-T_{\mathrm{room}}C=T0​−Troom​,因此

T(t)=Troom+(T0−Troom)e−kt.\boxed{ T(t)=T_{\mathrm{room}} +\left(T_0-T_{\mathrm{room}}\right)e^{-kt} }. T(t)=Troom​+(T0​−Troom​)e−kt​.

作为比较,separation 会给出

∫dTT−Troom=∫−k dt,\int\frac{dT}{T-T_{\mathrm{room}}} =\int-k\,dt, ∫T−Troom​dT​=∫−kdt,

所以

ln⁡∣T−Troom∣=−kt+C.\ln|T-T_{\mathrm{room}}|=-kt+C. ln∣T−Troom​∣=−kt+C.

这里除以了温差,因此没有包含物体一开始就处于室温的情况。要另外保留这个 constant solution。对于其他解,两边取 exponential,再把正负号合并进任意常数:

T(t)=Troom+C1e−kt.T(t)=T_{\mathrm{room}}+C_1e^{-kt}. T(t)=Troom​+C1​e−kt.

按 exponential 衰减的是温差 T(t)−TroomT(t)-T_{\mathrm{room}}T(t)−Troom​。在这个模型中,T(t)T(t)T(t) 会逐渐接近 TroomT_{\mathrm{room}}Troom​,但不会越过它。

咖啡降温

一杯刚倒出的咖啡温度为 90∘C90^\circ\mathrm C90∘C,室温为 20∘C20^\circ\mathrm C20∘C。一分钟后,咖啡降至 85∘C85^\circ\mathrm C85∘C。模型为

T(t)=20+70e−kt.T(t)=20+70e^{-kt}. T(t)=20+70e−kt.

利用 T(1)=85T(1)=85T(1)=85,有

85=20+70e−k,e−k=6570,85=20+70e^{-k}, \qquad e^{-k}=\frac{65}{70}, 85=20+70e−k,e−k=7065​,

所以

k=−ln⁡(6570)≈0.0741 min−1.k=-\ln\left(\frac{65}{70}\right) \approx0.0741\ \mathrm{min}^{-1}. k=−ln(7065​)≈0.0741 min−1.

要找咖啡何时降到 60∘C60^\circ\mathrm C60∘C,解方程

60=20+70e−kt.60=20+70e^{-kt}. 60=20+70e−kt.

得到

t=−1kln⁡(4070)≈7.55 min.\boxed{ t=-\frac1k\ln\left(\frac{40}{70}\right) \approx7.55\ \mathrm{min} }. t=−k1​ln(7040​)≈7.55 min​.

下落物体、mixing tank 和 cooling 的解有一个共同形式:

current value=equilibrium+initial difference×e−λt.\text{current value} =\text{equilibrium} +\text{initial difference}\times e^{-\lambda t}. current value=equilibrium+initial difference×e−λt.

其中 λ>0\lambda>0λ>0 描述差值衰减的快慢;三个模型中分别是 γ/m\gamma/mγ/m、r/100r/100r/100 和 kkk。这是这些 constant-coefficient models 的特点,并不是所有 linear solutions 都有这种形式。

Exact and non-exact equations

对于 exact equation,我们要找一个沿解曲线保持不变的函数。虽然还不知道这个函数,但方程给出了它的两个 partial derivatives,可以据此把它找回来。先明确 partial derivative 的含义。

Partial derivatives

像 ψ(x,y)\psi(x,y)ψ(x,y) 这样的函数依赖两个变量。记号

ψx=∂ψ∂x\psi_x=\frac{\partial\psi}{\partial x} ψx​=∂x∂ψ​

表示对 xxx 求 derivative,同时把 yyy 当作常数。同样地,

ψy=∂ψ∂y\psi_y=\frac{\partial\psi}{\partial y} ψy​=∂y∂ψ​

表示对 yyy 求 derivative,同时把 xxx 当作常数。

例如,设

ψ(x,y)=3x2y+y3.\psi(x,y)=3x^2y+y^3. ψ(x,y)=3x2y+y3.

固定 yyy,得到

ψx=6xy,\psi_x=6xy, ψx​=6xy,

固定 xxx,则得到

ψy=3x2+3y2.\psi_y=3x^2+3y^2. ψy​=3x2+3y2.

求 partial derivative 时,我们固定一个输入,只改变另一个。沿着一条曲线变化时,两个输入都可能改变,因此 chain rule 需要同时用到两个 partial derivatives。

Exact equations

把 first-order equation 写成

M(x,y)+N(x,y)dydx=0.M(x,y)+N(x,y)\frac{dy}{dx}=0. M(x,y)+N(x,y)dxdy​=0.

如果存在函数 ψ(x,y)\psi(x,y)ψ(x,y),满足

M=ψx,N=ψy.M=\psi_x, \qquad N=\psi_y. M=ψx​,N=ψy​.

这个方程就称为 exact。这样做的用处在于:沿着解 y=y(x)y=y(x)y=y(x),chain rule 给出

ddxψ(x,y(x))=ψx+ψydydx.\frac{d}{dx}\psi(x,y(x)) =\psi_x+\psi_y\frac{dy}{dx}. dxd​ψ(x,y(x))=ψx​+ψy​dxdy​.

若 M=ψxM=\psi_xM=ψx​ 且 N=ψyN=\psi_yN=ψy​,那么 differential equation 就是在说

ddxψ(x,y(x))=0.\frac{d}{dx}\psi(x,y(x))=0. dxd​ψ(x,y(x))=0.

因此,ψ\psiψ 沿每条解曲线保持不变:

ψ(x,y)=C.\boxed{\psi(x,y)=C}. ψ(x,y)=C​.

从一个已知函数出发,可以看清这个形式是怎么来的。设

ψ(x,y)=x2y+3x.\psi(x,y)=x^2y+3x. ψ(x,y)=x2y+3x.

它的 partial derivatives 是

ψx=2xy+3,ψy=x2.\psi_x=2xy+3, \qquad \psi_y=x^2. ψx​=2xy+3,ψy​=x2.

令 dψ/dx=0d\psi/dx=0dψ/dx=0,就得到

(2xy+3)+x2dydx=0.(2xy+3)+x^2\frac{dy}{dx}=0. (2xy+3)+x2dxdy​=0.

这个方程是对一个已知函数求 derivative 得到的,所以我们已经知道它来自哪个函数。它的解满足

x2y+3x=C.x^2y+3x=C. x2y+3x=C.

如何检查 exactness

通常我们知道的是 MMM 和 NNN,不知道 ψ\psiψ。在尝试求它之前,先检查必要条件。若 M=ψxM=\psi_xM=ψx​ 且 N=ψyN=\psi_yN=ψy​,再分别求 derivative:

My=(ψx)y=ψxy,Nx=(ψy)x=ψyx.M_y=(\psi_x)_y=\psi_{xy}, \qquad N_x=(\psi_y)_x=\psi_{yx}. My​=(ψx​)y​=ψxy​,Nx​=(ψy​)x​=ψyx​.

当函数足够 smooth 时,mixed partial derivatives 相等,因此得到检验条件

My=Nx.\boxed{M_y=N_x}. My​=Nx​​.

这不是要求 MMM 与 NNN 相等,而是要求它们的 cross-derivatives 相等。

假设 MMM、NNN、MyM_yMy​、NxN_xNx​ 在一个 rectangular region 上连续。那么,方程在这个区域上是 exact,当且仅当整个区域内都满足 My=NxM_y=N_xMy​=Nx​。

求解 exact equation

通过检验后,就可以反过来找 ψ\psiψ。对一个 coefficient 做 integration,先找回函数的一部分,再用另一个 coefficient 确定缺少的部分:

  1. 将 M=ψxM=\psi_xM=ψx​ 对 xxx 做 integration。
  2. 加上一个待定函数 h(y)h(y)h(y),而不只是一个常数。因为对 xxx 求 derivative 时,任何只依赖 yyy 的函数都会被当作常数。
  3. 将结果对 yyy 求 derivative。
  4. 令这个 derivative 等于 N=ψyN=\psi_yN=ψy​,求出 h′(y)h'(y)h′(y)。
  5. 对 h′(y)h'(y)h′(y) 做 integration,得到 h(y)h(y)h(y),最后把完整的函数 ψ(x,y)\psi(x,y)ψ(x,y) 设为 CCC。

例如,考虑

2x+y2+2xydydx=0.2x+y^2+2xy\frac{dy}{dx}=0. 2x+y2+2xydxdy​=0.

这里

M=2x+y2,N=2xy.M=2x+y^2, \qquad N=2xy. M=2x+y2,N=2xy.

cross-derivatives 相等:

My=2y=Nx.M_y=2y=N_x. My​=2y=Nx​.

将 MMM 对 xxx 做 integration:

ψ(x,y)=x2+xy2+h(y).\psi(x,y)=x^2+xy^2+h(y). ψ(x,y)=x2+xy2+h(y).

再对 yyy 求 derivative:

ψy=2xy+h′(y).\psi_y=2xy+h'(y). ψy​=2xy+h′(y).

它必须等于 N=2xyN=2xyN=2xy,因此 h′(y)=0h'(y)=0h′(y)=0。缺少的函数只是一个常数,可以合并进 CCC。得到

x2+xy2=C.\boxed{x^2+xy^2=C}. x2+xy2=C​.

也可以从另一个 coefficient 开始:将 NNN 对 yyy 做 integration,加上一个只依赖 xxx 的待定函数,再用 MMM 确定它。哪边的 integral 更容易算,就从哪边开始。

例:含 trigonometric 与 exponential 项的方程

考虑这个 exact differential equation:

(ycos⁡x+2xey)+(sin⁡x+x2ey−1)dydx=0.\left(y\cos x+2xe^y\right) +\left(\sin x+x^2e^y-1\right)\frac{dy}{dx}=0. (ycosx+2xey)+(sinx+x2ey−1)dxdy​=0.

这里

My=cos⁡x+2xey=Nx,M_y=\cos x+2xe^y=N_x, My​=cosx+2xey=Nx​,

所以方程是 exact。将 MMM 对 xxx 做 integration:

ψ(x,y)=ysin⁡x+x2ey+h(y).\psi(x,y)=y\sin x+x^2e^y+h(y). ψ(x,y)=ysinx+x2ey+h(y).

对 yyy 求 derivative,并与 NNN 对照:

ψy=sin⁡x+x2ey+h′(y)=sin⁡x+x2ey−1.\psi_y=\sin x+x^2e^y+h'(y) =\sin x+x^2e^y-1. ψy​=sinx+x2ey+h′(y)=sinx+x2ey−1.

于是 h′(y)=−1h'(y)=-1h′(y)=−1,可取 h(y)=−yh(y)=-yh(y)=−y。implicit solution 是

ysin⁡x+x2ey−y=C.\boxed{y\sin x+x^2e^y-y=C}. ysinx+x2ey−y=C​.

Non-exact equations

如果 My≠NxM_y\ne N_xMy​=Nx​,方程就不是 exact。有时可以给整个方程乘上一个 integrating factor μ\muμ,让新的 coefficients μM\mu MμM 和 μN\mu NμN 满足 exactness test。

对一般的因子 μ(x,y)\mu(x,y)μ(x,y),exactness 要求

∂(μM)∂y=∂(μN)∂x.\frac{\partial(\mu M)}{\partial y} = \frac{\partial(\mu N)}{\partial x}. ∂y∂(μM)​=∂x∂(μN)​.

如果 multiplier 同时依赖两个变量,我们就要处理两个新的 partial derivatives。因此,先尝试只依赖一个变量的 multiplier。

假设 μ=μ(x)\mu=\mu(x)μ=μ(x),我们需要

(μM)y=(μN)x.(\mu M)_y=(\mu N)_x. (μM)y​=(μN)x​.

因为 μ\muμ 只依赖 xxx,它对 yyy 的 derivative 为零。应用 product rule:

μMy=μ′N+μNx.\mu M_y=\mu' N+\mu N_x. μMy​=μ′N+μNx​.

把 μNx\mu N_xμNx​ 移到左边,并在 μN\mu NμN 非零的地方除以它:

μ′μ=My−NxN.\frac{\mu'}{\mu} = \frac{M_y-N_x}{N}. μμ′​=NMy​−Nx​​.

左边只依赖选定的那个变量。如果右边化简后仍然依赖两个变量,这种 multiplier 就行不通。

如果

My−NxN\frac{M_y-N_x}{N} NMy​−Nx​​

只依赖 xxx,把它记为 F(x)F(x)F(x),就有

μ(x)=e∫F(x) dx.\boxed{\mu(x)=e^{\int F(x)\,dx}}. μ(x)=e∫F(x)dx​.

若想找只依赖 yyy 的因子,令 μ=μ(y)\mu=\mu(y)μ=μ(y)。product rule 给出

(μM)y=μ′M+μMy,(μN)x=μNx.(\mu M)_y=\mu' M+\mu M_y, \qquad (\mu N)_x=\mu N_x. (μM)y​=μ′M+μMy​,(μN)x​=μNx​.

令两式相等,并在 μM\mu MμM 的两个因子都非零的地方除以它:

μ′μ=Nx−MyM.\frac{\mu'}{\mu} = \frac{N_x-M_y}{M}. μμ′​=MNx​−My​​.

因此,如果

Nx−MyM\frac{N_x-M_y}{M} MNx​−My​​

只依赖 yyy,把它记为 G(y)G(y)G(y),就有

μ(y)=e∫G(y) dy.\boxed{\mu(y)=e^{\int G(y)\,dy}}. μ(y)=e∫G(y)dy​.

这里减法的顺序反了过来,是因为 product rule 多出来的那一项换到了另一边。如果忘记符号,不必猜;重新写出 exactness condition,再展开 product rule 就能确定。

例:把 non-exact equation 变成 exact

考虑这个方程:

(3xy+y2)+(x2+xy)dydx=0.(3xy+y^2)+(x^2+xy)\frac{dy}{dx}=0. (3xy+y2)+(x2+xy)dxdy​=0.

先确定

M=3xy+y2,N=x2+xy.M=3xy+y^2, \qquad N=x^2+xy. M=3xy+y2,N=x2+xy.

cross-derivatives 是

My=3x+2y,Nx=2x+y.M_y=3x+2y, \qquad N_x=2x+y. My​=3x+2y,Nx​=2x+y.

它们不相等,所以方程不是 exact。试着找只依赖 xxx 的 integrating factor:

My−NxN=(3x+2y)−(2x+y)x2+xy=x+yx(x+y)=1x.\begin{aligned} \frac{M_y-N_x}{N} &=\frac{(3x+2y)-(2x+y)}{x^2+xy}\\ &=\frac{x+y}{x(x+y)}\\ &=\frac1x. \end{aligned} NMy​−Nx​​​=x2+xy(3x+2y)−(2x+y)​=x(x+y)x+y​=x1​.​

在被约去的因子和 xxx 都非零的区域上,结果只依赖 xxx。因此

μ(x)=e∫1/x dx=eln⁡∣x∣.\mu(x)=e^{\int 1/x\,dx}=e^{\ln|x|}. μ(x)=e∫1/xdx=eln∣x∣.

integrating factor 乘以非零常数,不会改变变换后方程的解。所以,在不跨过 x=0x=0x=0 的 interval 上,可以选

μ(x)=x.\boxed{\mu(x)=x}. μ(x)=x​.

把原方程的每一项乘以 xxx:

(3x2y+xy2)+(x3+x2y)dydx=0.(3x^2y+xy^2)+(x^3+x^2y)\frac{dy}{dx}=0. (3x2y+xy2)+(x3+x2y)dxdy​=0.

新的 coefficients 满足

(3x2y+xy2)y=3x2+2xy=(x3+x2y)x,(3x^2y+xy^2)_y =3x^2+2xy =(x^3+x^2y)_x, (3x2y+xy2)y​=3x2+2xy=(x3+x2y)x​,

因此变换后的方程是 exact。

在 x+y=0x+y=0x+y=0 上,刚才约去的因子为零,那个比值没有定义。但直接检查新的 coefficients,可以看到 exactness 在这条线上仍然成立。因此 integrating factor μ=x\mu=xμ=x 可以延伸到 x+y=0x+y=0x+y=0 上。不过,如果要把两个方程当作等价方程,就仍然不能跨过 x=0x=0x=0,因为 multiplier 本身在那里为零。

现在将新的 MMM 对 xxx 做 integration:

ψ(x,y)=x3y+12x2y2+h(y).\psi(x,y)=x^3y+\frac12x^2y^2+h(y). ψ(x,y)=x3y+21​x2y2+h(y).

于是

ψy=x3+x2y+h′(y).\psi_y=x^3+x^2y+h'(y). ψy​=x3+x2y+h′(y).

与新的 N=x3+x2yN=x^3+x^2yN=x3+x2y 对照,可得 h′(y)=0h'(y)=0h′(y)=0。implicit solution 为

x3y+12x2y2=C.\boxed{x^3y+\frac12x^2y^2=C}. x3y+21​x2y2=C​.

选择方法

  1. 右边能否拆成只含 ttt 和只含 yyy 的两个因子的乘积?能的话,尝试 separation。
  2. 能否写成 y′+P(t)y=g(t)y'+P(t)y=g(t)y′+P(t)y=g(t)?能的话,使用 linear integrating factor。
  3. 能否写成 M+Ny′=0M+Ny'=0M+Ny′=0?检查是否满足 My=NxM_y=N_xMy​=Nx​。
  4. 如果不是 exact,检查两个 single-variable integrating-factor ratios,看看是否有一个适用。
  5. 保留因除法而漏掉的 equilibrium solutions,并说明最终公式在哪个 interval 上满足原方程。

Solution intervals 与 uniqueness

求出公式还没有完成 initial-value problem。我们还要知道:经过初始点的解是否存在,是否只有一个,以及它能在时间上延伸多远。

Picard's local existence and uniqueness theorem

从下面的 IVP 出发:

y′=f(t,y),y(0)=y0.y'=f(t,y), \qquad y(0)=y_0. y′=f(t,y),y(0)=y0​.

取有限的数 a,b>0a,b>0a,b>0,以初始点为中心画一个 open rectangle:

R=(−a,a)×(y0−b,y0+b).R=(-a,a)\times(y_0-b,y_0+b). R=(−a,a)×(y0​−b,y0​+b).

aaa 是沿 ttt 方向的水平半宽,bbb 是沿 yyy 方向的竖直半高。

假设 fff 及其 partial derivative

fy=∂f∂yf_y=\frac{\partial f}{\partial y} fy​=∂y∂f​

在整个 RRR 内都连续。Picard's theorem(也称 Picard–Lindelöf theorem)说明,存在一个数 hhh,满足

0<h≤a0<h\le a 0<h≤a

使得这个 IVP 在 (−h,h)(-h,h)(−h,h) 上恰好有一个解。在这个 local interval 上,解的图像保持在 rectangle 内。

What the local theorem guarantees

Picard rectangle and local solution intervalAn open rectangle has horizontal half-width a and vertical half-height b around the initial point. A unique solution is guaranteed only on a possibly shorter interval from minus h to h, where h is positive and no greater than a.−aa−hhy0​+by0​y0​−by(t)ty
The hypotheses hold in R=(−a,a)×(y0​−b,y0​+b). The theorem gives one solution on (−h,h) for some 0<h≤a; it does not say that this is the maximal interval of the solution.

hhh 可以小于或等于 aaa,并不是只要方程 nonlinear,就必须严格小于。还要区分:(−h,h)(-h,h)(−h,h) 是 theorem 保证有解的 interval,不一定是解能存在的最大 interval。

两个假设分别起着不同的作用:

  • fff 连续,已经足以保证至少有一个 local solution。
  • fyf_yfy​ 连续,是保证 local uniqueness 的一个方便的 sufficient condition,因为它限制了 fff 在 yyy 方向上变化的剧烈程度。

这些是 sufficient conditions,不是双向判据。某个条件不满足时,只能说这个 theorem 无法给出相应结论;IVP 仍可能只有一个解,也可能有多个解。

例:选择 Picard rectangle

考虑

y′=y21+t+cos⁡t,y(0)=y0.y'=\frac{y^2}{1+t}+\cos t, \qquad y(0)=y_0. y′=1+ty2​+cost,y(0)=y0​.

这里

f(t,y)=y21+t+cos⁡t,fy(t,y)=2y1+t.f(t,y)=\frac{y^2}{1+t}+\cos t, \qquad f_y(t,y)=\frac{2y}{1+t}. f(t,y)=1+ty2​+cost,fy​(t,y)=1+t2y​.

只要 t≠−1t\ne-1t=−1,这两个函数都连续,对 yyy 没有额外限制。由于初始时刻为 000,可以选

R=(−1,1)×(y0−b,y0+b)R=(-1,1)\times(y_0-b,y_0+b) R=(−1,1)×(y0​−b,y0​+b)

其中 b>0b>0b>0 可以是任意有限值。水平方向的边界标为 −a-a−a 和 aaa,此处 a=1a=1a=1;bbb 表示从 y0y_0y0​ 向上或向下的距离。singular time t=−1t=-1t=−1 落在边界上,不属于这个 open rectangle。

事实上,两个函数在整个 unbounded strip (−1,1)×R(-1,1)\times\mathbb R(−1,1)×R 上都连续,所以 bbb 没有自然的上限。但 theorem 中的 rectangle 仍应取任意有限的 bbb,而不是写成 b=∞b=\inftyb=∞。

Choosing a rectangle that avoids the singularity

A Picard rectangle beside the singular timeThe example is continuous at every height when t is not minus one. The open rectangle runs from minus one to one in time and has any finite positive vertical half-height b. The singular line at t equals minus one is its excluded left boundary.t=−1a=1y0​+by0​−by0​b>0ty
For f(t,y)=1+ty2​+cost, both f and fy​ are continuous wherever t=−1. We may take a=1 and any finite b>0. The larger continuity set is unbounded in the vertical direction, but the theorem rectangle shown here is finite.

现在 Picard's theorem 保证,在某个 (−h,h)(-h,h)(−h,h) 上存在唯一解,其中 0<h≤10<h\le10<h≤1。它不会告诉我们 hhh 的具体值,也不会给出解的公式或 maximal solution interval。

为什么需要 uniqueness 的假设

考虑

y′=y2/3,y(0)=0.y'=y^{2/3}, \qquad y(0)=0. y′=y2/3,y(0)=0.

对实数 yyy,这里的 fractional power 要用 real cube root 来解释:

y2/3:=(y3)2=∣y∣2/3.y^{2/3}:=\left(\sqrt[3]{y}\right)^2=|y|^{2/3}. y2/3:=(3y​)2=∣y∣2/3.

当 y<0y<0y<0 时,这个约定尤其重要。按这个约定,constant function

y1(t)=0y_1(t)=0 y1​(t)=0

是一个解,因为 y1′(t)=0=(y1(t))2/3y_1'(t)=0=(y_1(t))^{2/3}y1′​(t)=0=(y1​(t))2/3,且 y1(0)=0y_1(0)=0y1​(0)=0。与此同时,

y2(t)=t327\boxed{y_2(t)=\frac{t^3}{27}} y2​(t)=27t3​​

是另一个解。直接把第二个函数代回原方程检查:

y2′(t)=t29,(y2(t)3)2=(t3273)2=(t3)2=t29,y2(0)=0.\begin{aligned} y_2'(t)&=\frac{t^2}{9},\\ \left(\sqrt[3]{y_2(t)}\right)^2 &=\left(\sqrt[3]{\frac{t^3}{27}}\right)^2 =\left(\frac t3\right)^2 =\frac{t^2}{9},\\ y_2(0)&=0. \end{aligned} y2′​(t)(3y2​(t)​)2y2​(0)​=9t2​,=(327t3​​)2=(3t​)2=9t2​,=0.​

两条不同的解曲线经过同一个初始点,因此 uniqueness 不成立。

这套计算对负的 ttt 也成立:t3/27t^3/27t3/27 的 real cube root 是 t/3t/3t/3,虽然为负,但平方后仍然是 t2/9t^2/9t2/9。

用 separation 解这个方程时,要除以 y2/3y^{2/3}y2/3,因此在 y=0y=0y=0 处这一步不合法,也会漏掉零解。这样找到的非零候选解,都必须像刚才那样代回原 ODE 验证。甚至还存在先在零处停留一段时间、然后沿着平移后的 cubic 变化的解,所以一个初值并不能只选出一条曲线。

右边 f(t,y)=y2/3f(t,y)=y^{2/3}f(t,y)=y2/3 是连续的,但当 y≠0y\ne0y=0 时,

fy(t,y)=23y3,f_y(t,y)=\frac{2}{3\sqrt[3]{y}}, fy​(t,y)=33y​2​,

这个 partial derivative 在 y=0y=0y=0 处没有定义。因此,在任何围绕 (0,0)(0,0)(0,0) 的 rectangle 上,fyf_yfy​ 都不连续。不过,单凭这一点还不能证明 nonuniqueness;真正的证明是我们已经验证了两个不同的解。它们并不违背 Picard's theorem,因为 theorem 所需的 uniqueness 假设没有满足。

Local intervals、maximal intervals 与 finite-time blowup

local theorem 给出的 interval,与 maximal solution interval 是两个概念:

  • local interval,例如 (−h,h)(-h,h)(−h,h),是保证 existence 和 uniqueness 的一个 neighborhood。
  • maximal interval 则是包含初始时刻、且这个特定的解能始终满足 ODE 的最大 connected interval。

maximal interval 不一定关于初始时刻对称,下面的例子可以说明这一点。

考虑

y′=y2,y(0)=y0>0.y'=y^2, \qquad y(0)=y_0>0. y′=y2,y(0)=y0​>0.

这里 f(t,y)=y2f(t,y)=y^2f(t,y)=y2 和 fy(t,y)=2yf_y(t,y)=2yfy​(t,y)=2y 处处连续,所以在每个点附近都满足 Picard 的 local existence and uniqueness 假设。对这个正的初值,沿解曲线可以合法地分离变量:

dyy2=dt.\frac{dy}{y^2}=dt. y2dy​=dt.

做 integration:

−1y=t+C.-\frac1y=t+C. −y1​=t+C.

在 t=0t=0t=0 处,用 initial condition 得到 C=−1/y0C=-1/y_0C=−1/y0​。代回去并解出 yyy:

y(t)=11y0−t=y01−y0t.\boxed{ y(t)=\frac{1}{\frac1{y_0}-t} =\frac{y_0}{1-y_0t}. } y(t)=y0​1​−t1​=1−y0​ty0​​.​

分母在 t=1/y0t=1/y_0t=1/y0​ 时变成零,并且

lim⁡t→(1/y0)−y(t)=+∞.\lim_{t\to(1/y_0)^-}y(t)=+\infty. t→(1/y0​)−lim​y(t)=+∞.

所以,包含初始时刻的 maximal interval 是

(−∞,1y0).\boxed{\left(-\infty,\frac1{y_0}\right)}. (−∞,y0​1​)​.

在这个 domain 内,以 000 为中心的最大 symmetric interval 只是

(−1y0,1y0).\left(-\frac1{y_0},\frac1{y_0}\right). (−y0​1​,y0​1​).

这个 symmetric interval 仍然不是 maximal:解可以一直向左延伸。因此,local theorem 中对称的 (−h,h)(-h,h)(−h,h) 不能与完整的 solution interval 混为一谈。

A smooth equation can still blow up in finite time

Finite-time blowup for y prime equals y squaredThe positive solution passes through its initial point, approaches zero far to the left, and rises without bound as time approaches one over the initial value from below. The dashed line marks that finite blowup time.t=y0​1​(0,y0​)y(t)=1/y0​−t1​ty
The right side f(t,y)=y2 is smooth everywhere, so the IVP is locally unique. Its maximal interval through the initial point is (−∞,1/y0​), because the solution tends to +∞ as t→(1/y0​)−.

这种情况叫 finite-time blowup。它不违背 Picard's theorem:theorem 保证的是 local 的唯一解,并没有说 nonlinear solution 在所有时刻都必须保持有限。相比之下,y′=yy'=yy′=y 的解在每个有限时刻都保持有限,只有当 t→∞t\to\inftyt→∞ 时才会无界增长。

Linear equations 有更强的 interval 结论

考虑 linear IVP:

y′+p(t)y=g(t),y(t0)=y0,y'+p(t)y=g(t), \qquad y(t_0)=y_0, y′+p(t)y=g(t),y(t0​)=y0​,

假设 ppp 和 ggg 在 open interval III 上连续,且 t0∈It_0\in It0​∈I。那么,在包含 t0t_0t0​ 的这个完整 interval III 上,恰好有一个解,而不只是保证在一个可能更小的 neighborhood 上有唯一解。

integrating-factor formula 可以解释原因。定义

P(t)=∫t0tp(s) ds.P(t)=\int_{t_0}^t p(s)\,ds. P(t)=∫t0​t​p(s)ds.

那么唯一解为

y(t)=e−P(t)[y0+∫t0teP(s)g(s) ds].\boxed{ y(t)=e^{-P(t)} \left[ y_0+\int_{t_0}^t e^{P(s)}g(s)\,ds \right]. } y(t)=e−P(t)[y0​+∫t0​t​eP(s)g(s)ds].​

连续性保证这些 integrals 对每个 t∈It\in It∈I 都有意义,因此解不会在 III 的内部发生 blowup。同一个 interval 并不意味着整个 R\mathbb RR:某个 coefficient 不再连续时,这个保证就到此为止。具体问题的解可能还能延伸得更远,但仅靠这个 theorem 不能断定。

例:不求解,先确定 interval

考虑

y′+1t−2y=cos⁡(1t),y(1)=4.y'+\frac{1}{t-2}y=\cos\left(\frac1t\right), \qquad y(1)=4. y′+t−21​y=cos(t1​),y(1)=4.

coefficient 和 forcing term 分别是

p(t)=1t−2,g(t)=cos⁡(1t).p(t)=\frac{1}{t-2}, \qquad g(t)=\cos\left(\frac1t\right). p(t)=t−21​,g(t)=cos(t1​).

ppp 在 t=2t=2t=2 处不连续,ggg 在 t=0t=0t=0 处没有定义。它们共同的 continuity set 分成三个 intervals:

(−∞,0),(0,2),(2,∞).(-\infty,0), \qquad (0,2), \qquad (2,\infty). (−∞,0),(0,2),(2,∞).

初始时刻 t0=1t_0=1t0​=1 只落在其中一个 interval 里,因此 theorem 保证唯一解存在于

I=(0,2).\boxed{I=(0,2)}. I=(0,2)​.

Intersect the coefficient intervals, then keep the piece containing the initial time

Common continuity interval for a linear IVPThe coefficient p is continuous except at two, and the forcing g is continuous except at zero. Their common interval containing the initial time one is the open interval from zero to two.p(t)=t−21​g(t)=cos(t1​)I=(0,2)012t0​=1
Both functions are continuous on several intervals, but the initial time t0​=1 selects I=(0,2). The linear theorem gives one solution on this same interval; no explicit solution is needed to reach that conclusion.

不必求 explicit solution。这道题只需要找到包含初始时刻、且两个函数都连续的 interval。

来源: https://notes.ohevan.com/zh/notes/ode/02-first-order-equations

© 2026 Evan Luo. 保留所有权利。

返回 Ordinary Differential Equations

0 次阅读

·最后编辑 今天
  • 邮件订阅

  • 关于我

  • 赞助

© 2026 Evan Luo. 保留所有权利。