evan's notes
cal 3discreteodeenv systems
English

本页目录

  • Differential equations
  • 用 differential equations 建模
  • 下落物体
  • Population growth
  • Ordinary and partial differential equations
  • ODE 的 order
  • ODE 的一般形式
  • 从 FFF 写出 ODE
  • 怎样才算 solution?
  • 验证一个候选解
  • Linear and nonlinear ODEs
  • Linear 的例子
  • Nonlinear 的例子
  • General solutions
  • Scalar equations and systems
  • Autonomous and non-autonomous ODEs

Ordinary Differential Equations

§1 Introduction to Differential Equations

Evan Luo · 2026年9月2日

Ordinary Differential Equations

§1 Introduction to Differential Equations

Evan Luo2026年9月2日

11 分钟

Differential equations

普通代数方程中的未知量通常是一个数。differential equation(DE)要找的则是整个函数;方程描述这个函数与它的一个或多个 derivative 之间的关系。

例如,设:

  • ttt 是 independent variable;
  • N(t)N(t)N(t) 是待求函数;
  • rrr 是常数。

撇号表示对 ttt 求 derivative:

N′(t)=dNdt.N'(t)=\frac{dN}{dt}. N′(t)=dtdN​.

于是,方程

N′(t)=rN(t)N'(t)=rN(t) N′(t)=rN(t)

就是一个 differential equation:它说明变化率 N′(t)N'(t)N′(t) 与当前值 N(t)N(t)N(t) 成正比。

用 differential equations 建模

科学和工程中的许多定律直接描述的是一个量如何随时间变化,而不是它在每一刻的数值。正因为如此,differential equations 很适合用来表达这些定律。

下落物体

考虑一个质量为 mmm、在重力作用下下落的物体。把向下定为正方向,用 v(t)v(t)v(t) 表示时刻 ttt 的向下速度。再设:

  • ggg 是 gravitational acceleration;
  • γ\gammaγ 读作 “gamma”,是 drag coefficient。

Newton's second law 给出:

mass×acceleration=sum of forces.\text{mass}\times\text{acceleration} = \text{sum of forces}. mass×acceleration=sum of forces.

acceleration 是 velocity 的 derivative,所以这里的 acceleration 是 v′(t)v'(t)v′(t),等式左边就是 mv′(t)mv'(t)mv′(t)。

物体受到两个力:

  • 重力向下,因此记为 +mg+mg+mg。
  • air resistance(drag)阻碍向下运动,因此记为 −γv(t)-\gamma v(t)−γv(t)。

令质量与 acceleration 的乘积等于合力,就得到

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

这个 differential equation 把向下的重力和方向相反的 drag 放在同一个运动模型里。

Population growth

设 N(t)N(t)N(t) 是时刻 ttt 的种群数量,先假设环境中的资源没有限制。如果数量的变化率与当前数量成正比,用 rrr 表示 proportionality constant,就有

N′(t)=rN(t).N'(t)=rN(t). N′(t)=rN(t).

先记下 constant solution N(t)=0N(t)=0N(t)=0,因为除以 NNN 会漏掉它。接下来求数量为正的解,两边除以 N(t)N(t)N(t):

N′(t)N(t)=r.\frac{N'(t)}{N(t)}=r. N(t)N′(t)​=r.

根据 chain rule,左边恰好是 natural logarithm ln⁡\lnln 的 derivative:

ddtln⁡N(t)=N′(t)N(t).\frac{d}{dt}\ln N(t)=\frac{N'(t)}{N(t)}. dtd​lnN(t)=N(t)N′(t)​.

因此,方程可以写成

ddtln⁡N(t)=r.\frac{d}{dt}\ln N(t)=r. dtd​lnN(t)=r.

两边对 ttt 做 integration,并引入 constant of integration CCC:

ln⁡N(t)=rt+C.\ln N(t)=rt+C. lnN(t)=rt+C.

要把 N(t)N(t)N(t) 单独解出来,可以对两边取 exponential:

N(t)=ert+C=eCert.N(t)=e^{rt+C}=e^Ce^{rt}. N(t)=ert+C=eCert.

由于 CCC 是任意常数,eCe^CeC 可以是任意正数。令 k=eCk=e^Ck=eC,得到这一族解:

N(t)=kert,k>0.N(t)=ke^{rt},\qquad k>0. N(t)=kert,k>0.

把 t=0t=0t=0 代进去,就能看出 kkk 的实际意义:

N(0)=ke0=k.N(0)=ke^0=k. N(0)=ke0=k.

所以,kkk 就是初始种群数量,通常写作 N0=N(0)N_0=N(0)N0​=N(0)。没有指定初值时,答案是一族正值曲线;再加上 N(t)=0N(t)=0N(t)=0,就包含了所有非负的种群解。rrr 的正负决定了长期变化:

  • r>0r>0r>0:exponential growth;
  • r=0r=0r=0:种群数量不变;
  • r<0r<0r<0:exponential decay。

现实环境不可能永远提供无限资源,因此这个理想化模型通常只适用于有限的一段时间。

Ordinary and partial differential equations

ordinary differential equation(ODE)中的 derivative 都是对同一个 independent variable 求的。下面几个都是 ODE:

N′(t)=rN(t),N'(t)=rN(t), N′(t)=rN(t), y′′(x)+y(x)=0,y''(x)+y(x)=0, y′′(x)+y(x)=0, mv′(t)=mg−γv(t).mv'(t)=mg-\gamma v(t). mv′(t)=mg−γv(t).

independent variable 不一定是时间。例如在 y′′(x)+y(x)=0y''(x)+y(x)=0y′′(x)+y(x)=0 中,未知函数 yyy 依赖的是空间位置 xxx。

partial differential equation(PDE)涉及一个依赖两个或更多 independent variables 的未知函数,以及它的 partial derivatives。符号 ∂\partial∂ 表示:对其中一个变量求 derivative,同时固定其他变量。

例如,用 u(x,t)u(x,t)u(x,t) 表示位置 xxx、时刻 ttt 的温度,one-dimensional heat equation 可以写成

∂u∂t=∂2u∂x2.\frac{\partial u}{\partial t} = \frac{\partial^2u}{\partial x^2}. ∂t∂u​=∂x2∂2u​.

由于 u(x,t)u(x,t)u(x,t) 同时依赖 xxx 和 ttt,这就是 PDE。

ODE 的 order

ODE 的 order 由方程中出现的最高阶 derivative 决定。

对任意正整数 jjj,记号

y(j)(t)=djydtj(t)y^{(j)}(t)=\frac{d^jy}{dt^j}(t) y(j)(t)=dtjdjy​(t)

表示 yyy 对 ttt 的第 jjj 阶 derivative。例如,y(2)(t)=y′′(t)y^{(2)}(t)=y''(t)y(2)(t)=y′′(t) 就是 second derivative。

ODE最高阶 derivativeOrder
N′(t)=rN(t)N'(t)=rN(t)N′(t)=rN(t)N′(t)N'(t)N′(t)first
v′(t)=g−γmv(t)v'(t)=g-\dfrac{\gamma}{m}v(t)v′(t)=g−mγ​v(t)v′(t)v'(t)v′(t)first
y′′(t)+y(t)=cos⁡ty''(t)+y(t)=\cos ty′′(t)+y(t)=costy′′(t)y''(t)y′′(t)second
y(4)+y′′+cos⁡t+y2=0y^{(4)}+y''+\cos t+y^2=0y(4)+y′′+cost+y2=0y(4)y^{(4)}y(4)fourth

判断 order 时只看 derivative 的阶数,不看代数中的幂。例如

y(4)+y′′+cos⁡t+y2=0,y^{(4)}+y''+\cos t+y^2=0, y(4)+y′′+cost+y2=0,

中的 y2y^2y2 只是把函数值平方;最高阶 derivative 是 y(4)y^{(4)}y(4),所以这是 fourth-order ODE。

如果上下文已经说明 independent variable 是什么,常常会把它省略。例如,y′′+y=0y''+y=0y′′+y=0 就代表 y′′(t)+y(t)=0y''(t)+y(t)=0y′′(t)+y(t)=0。

ODE 的一般形式

任何 nnnth-order ODE 都可以整理为一个表达式。用函数 FFF 接收 independent variable、未知函数,以及直到第 nnn 阶的所有 derivatives:

F(t,y(t),y′(t),…,y(n)(t))=0.F\bigl(t,y(t),y'(t),\ldots,y^{(n)}(t)\bigr)=0. F(t,y(t),y′(t),…,y(n)(t))=0.

这是 implicit 的写法:方程不一定已经把最高阶 derivative y(n)(t)y^{(n)}(t)y(n)(t) 单独解出来。

函数 FFF 一共接收 n+2n+2n+2 个输入:

t, y(t), y′(t),…,y(n)(t).t,\ y(t),\ y'(t),\ldots,y^{(n)}(t). t, y(t), y′(t),…,y(n)(t).

如果 FFF 接受这些输入的任意实数组合,就写作

F:Rn+2→R,F:\mathbb R^{n+2}\to\mathbb R, F:Rn+2→R,

其中 R\mathbb RR 表示实数集合。

从 FFF 写出 ODE

考虑这个多变量表达式:

F(s,u,p)=s2+2su+p3,F(s,u,p)=s^2+2su+p^3, F(s,u,p)=s2+2su+p3,

这里的 sss、uuu、ppp 先只是占位符。把它们分别对应到 ODE 中的量:

s=t,u=y(t),p=y′(t),s=t, \qquad u=y(t), \qquad p=y'(t), s=t,u=y(t),p=y′(t),

就得到

F(t,y(t),y′(t))=t2+2t y(t)+(y′(t))3.F\bigl(t,y(t),y'(t)\bigr) =t^2+2t\,y(t)+\bigl(y'(t)\bigr)^3. F(t,y(t),y′(t))=t2+2ty(t)+(y′(t))3.

再令 F=0F=0F=0,得到

t2+2t y(t)+(y′(t))3=0.t^2+2t\,y(t)+\bigl(y'(t)\bigr)^3=0. t2+2ty(t)+(y′(t))3=0.

最高阶 derivative 是 y′y'y′。即使它被取了三次幂,这仍然是 implicit first-order ODE。

怎样才算 solution?

设 I=(a,b)I=(a,b)I=(a,b) 是一个 open interval,包含严格介于 aaa 与 bbb 之间的实数。y:I→Ry:I\to\mathbb Ry:I→R 表示 yyy 是定义在 III 上的实值函数。

要说函数 y:I→Ry:I\to\mathbb Ry:I→R 是方程

F(t,y(t),y′(t),…,y(n)(t))=0F\bigl(t,y(t),y'(t),\ldots,y^{(n)}(t)\bigr)=0 F(t,y(t),y′(t),…,y(n)(t))=0

在 interval III 上的 solution,必须满足:

  1. yyy 在 III 上具有直到第 nnn 阶的所有 derivatives;
  2. 把 y(t)y(t)y(t) 及其 derivatives 代入后,方程对每个 t∈It\in It∈I 都成立(∈\in∈ 表示“属于”)。

验证一个候选解

检查一个函数是不是 ODE 的解,可以依次做三件事:求 derivative、代回方程、化简。

例如,考虑

y′′(t)+y(t)=0.y''(t)+y(t)=0. y′′(t)+y(t)=0.

要检查 y(t)=cos⁡ty(t)=\cos ty(t)=cost,先求它的前两阶 derivatives:

y′(t)=−sin⁡t,y′′(t)=−cos⁡t.y'(t)=-\sin t, \qquad y''(t)=-\cos t. y′(t)=−sint,y′′(t)=−cost.

把 y(t)y(t)y(t) 和 y′′(t)y''(t)y′′(t) 代入 differential equation 的左边:

y′′(t)+y(t)=−cos⁡t+cos⁡t=0.y''(t)+y(t) =-\cos t+\cos t =0. y′′(t)+y(t)=−cost+cost=0.

结果对每个实数 ttt 都为零,因此 y(t)=cos⁡ty(t)=\cos ty(t)=cost 确实是定义在 R\mathbb RR 上的一个解。

Linear and nonlinear ODEs

如果未知函数及其 derivatives 满足下面的条件,ODE 就是 linear:

  • 只以一次幂出现;
  • 不互相相乘;
  • 不放在 sine、exponential、square root 等 nonlinear functions 里面。

未知函数及其 derivatives 前面的 coefficients 可以随 independent variable 变化。对 nnnth-order linear ODE,如果 coefficient functions 是 a0(t),…,an(t)a_0(t),\ldots,a_n(t)a0​(t),…,an​(t),source term 是 h(t)h(t)h(t),一般形式为

a0(t)y(n)(t)+a1(t)y(n−1)(t)+⋯+an(t)y(t)=h(t).a_0(t)y^{(n)}(t) +a_1(t)y^{(n-1)}(t) +\cdots +a_n(t)y(t) =h(t). a0​(t)y(n)(t)+a1​(t)y(n−1)(t)+⋯+an​(t)y(t)=h(t).

Linear 的例子

这个 second-order equation

ty′′(t)+cos⁡(t)y′(t)+t3y(t)=sin⁡tty''(t)+\cos(t)y'(t)+t^3y(t)=\sin t ty′′(t)+cos(t)y′(t)+t3y(t)=sint

是 linear 的,因为 y′′y''y′′、y′y'y′、yyy 都只以一次幂出现,并且只乘上了 ttt 的函数。与一般形式对照,可得:

n=2,a0(t)=t,a1(t)=cos⁡t,a2(t)=t3,h(t)=sin⁡t.n=2, \qquad a_0(t)=t, \qquad a_1(t)=\cos t, \qquad a_2(t)=t^3, \qquad h(t)=\sin t. n=2,a0​(t)=t,a1​(t)=cost,a2​(t)=t3,h(t)=sint.

Nonlinear 的例子

这个 first-order equation

y′(t)+(y(t))2=sin⁡ty'(t)+\bigl(y(t)\bigr)^2=\sin t y′(t)+(y(t))2=sint

是 nonlinear 的,因为未知函数 y(t)y(t)y(t) 被平方了。

General solutions

general solution 用一个公式表示 ODE 的整族解,其中含有一个或多个任意常数。

例如,方程

y′(t)=2y(t)y'(t)=2y(t) y′(t)=2y(t)

的 general real-valued solution 是

y(t)=ke2t,k∈R.y(t)=ke^{2t},\qquad k\in\mathbb R. y(t)=ke2t,k∈R.

求 derivative 就能验证这一族函数:

y′(t)=2ke2t=2y(t).y'(t)=2ke^{2t}=2y(t). y′(t)=2ke2t=2y(t).

每个 k∈Rk\in\mathbb Rk∈R 都对应一条不同的解曲线:

  • k>0k>0k>0 时,曲线为正,并按 exponential growth 增长;
  • k=0k=0k=0 时,得到恒为零的 constant solution;
  • k<0k<0k<0 时,曲线为负,其绝对值按 exponential growth 增长。

如果没有额外条件指定 yyy 在某个时刻的值,这个 ODE 就有无穷多个解。

Scalar equations and systems

scalar ODE 只有一个未知函数,每个输入对应一个实数输出。

system of ODEs 则有多个 differential equations 和多个未知函数,所有方程必须同时成立。如果每个方程都涉及其他未知函数,就称这个 system 为 coupled。例如

{x′(t)=x(t)y(t)+cos⁡t,y′(t)=x(t)+(y(t))2\begin{cases} x'(t)=x(t)y(t)+\cos t,\\ y'(t)=x(t)+\bigl(y(t)\bigr)^2 \end{cases} {x′(t)=x(t)y(t)+cost,y′(t)=x(t)+(y(t))2​

是关于两个未知函数 x(t)x(t)x(t)、y(t)y(t)y(t) 的 coupled system。

Autonomous and non-autonomous ODEs

如果 independent variable 没有显式出现在方程中,ODE 就是 autonomous。例如,假设 rrr、ggg、γ\gammaγ、mmm 都是常数,则

N′=rN,v′=g−γmv,y′′+y=0N'=rN, \qquad v'=g-\frac{\gamma}{m}v, \qquad y''+y=0 N′=rN,v′=g−mγ​v,y′′+y=0

都是 autonomous。它们的解仍然可以依赖时间,但方程本身没有显式出现时间 ttt。

如果 independent variable 显式出现在方程中,ODE 就是 non-autonomous。例如

t2y′(t)+cos⁡(t)y(t)=0t^2y'(t)+\cos(t)y(t)=0 t2y′(t)+cos(t)y(t)=0

是 non-autonomous,因为 ttt 通过 t2t^2t2 和 cos⁡t\cos tcost 直接出现在方程里。

来源: https://notes.ohevan.com/zh/notes/ode/01-introduction-to-odes

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

返回 Ordinary Differential Equations

0 次阅读

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

  • 关于我

  • 赞助

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