微分方程:用方程描述變化的世界
從一杯冷掉的咖啡到混沌與機器學習,看微分方程如何把「變化的規則」還原成整個演化過程。
為什麼一杯熱咖啡冷得越來越慢?
把一杯滾燙的咖啡放在桌上,它一開始冷得很快,過了一陣子卻變得不慍不火,遲遲降不下來。你也許注意過:放越久,溫度掉得越慢。這不是巧合,而是一條規律——咖啡降溫的「速度」並不是固定的,它取決於咖啡此刻比室溫高出多少。
換句話說,我們不知道「咖啡在第 30 分鐘是幾度」這個直接的答案,但我們知道一件更基本的事:溫度變化的快慢,由當下的溫度決定。能把這種「變化率」與「狀態本身」綁在一起的數學語言,就叫做微分方程(differential equation)。
微積分讓我們會算「變化率」$\dfrac{dy}{dx}$;微分方程則反過來——已知變化的規則,去還原出整個過程。這是描述世界如何隨時間演化的核心工具:從人口成長、放射性衰變、電路振盪,到行星軌道與流行病傳播,幾乎都寫成一條微分方程。

什麼是微分方程?
一個微分方程就是含有未知函數及其導數的方程式。未知的不是某個數字 $x$,而是一整個函數 $y(t)$。例如:
$$ \frac{dy}{dt} = -k\,y $$
這裡 $y(t)$ 代表某物質在時間 $t$ 的量,$k>0$ 是常數。方程式在說:「$y$ 減少的速度,與此刻的 $y$ 成正比。」我們要找的不是一個數,而是哪一個函數 $y(t)$ 能讓等式對所有 $t$ 都成立。
幾個常用術語先講清楚:
- 階數(order):方程裡出現的最高階導數。$\dfrac{dy}{dt}=-ky$ 是一階;$\dfrac{d^2x}{dt^2}+x=0$ 是二階。
- 常微分方程(ordinary differential equation, ODE):未知函數只有一個自變數(通常是時間 $t$)。
- 偏微分方程(partial differential equation, PDE):未知函數有多個自變數,導數是偏導數,例如描述熱擴散的 $\dfrac{\partial u}{\partial t}=\alpha\dfrac{\partial^2 u}{\partial x^2}$。
本文聚焦最基礎也最實用的一階常微分方程。
解,不是一個,而是一族
回到咖啡。設咖啡溫度為 $T(t)$,室溫為 $T_{\text{env}}$。牛頓冷卻定律(Newton's law of cooling)說:降溫速度與溫差成正比,
$$ \frac{dT}{dt} = -k\,(T - T_{\text{env}}). $$
直覺上很合理:溫差越大冷得越快,溫差趨近於零時幾乎不再變化——這正解釋了「放越久冷得越慢」。
微分方程的一個重要特性是:它的解通常不只一個,而是一整族函數。$\dfrac{dy}{dt}=-ky$ 的解是
$$ y(t) = C\,e^{-kt}, $$
其中 $C$ 是任意常數。$C=1$、$C=5$、$C=100$ 都滿足方程。這個 $C$ 對應「一開始有多少量」。要鎖定唯一的解,需要一個初始條件(initial condition),例如 $y(0)=y_0$。代入得 $C=y_0$,於是
$$ y(t)=y_0\,e^{-kt}. $$
「微分方程 + 初始條件」合稱初值問題(initial value problem, IVP)。微分方程給出運動的「規則」,初始條件給出「起點」,兩者合起來才確定唯一的未來。這正是物理可預測性的數學寫照。
動手解一條:分離變數法
最容易上手的解法是分離變數法(separation of variables):把含 $y$ 的項移到一邊、含 $t$ 的項移到另一邊,再兩邊積分。
看一個例子
解初值問題
$$ \frac{dy}{dt}=-k\,y,\qquad y(0)=y_0. $$
步驟一:分離變數。 把 $y$ 與 $t$ 拆開:
$$ \frac{1}{y}\,dy = -k\,dt. $$
步驟二:兩邊積分。
$$ \int \frac{1}{y}\,dy = \int -k\,dt \quad\Longrightarrow\quad \ln|y| = -k\,t + C_1. $$
步驟三:解出 $y$。 兩邊取指數,
$$ |y| = e^{-kt+C_1}=e^{C_1}e^{-kt}. $$
令 $C=\pm e^{C_1}$(吸收常數與正負號),得通解
$$ y(t)=C\,e^{-kt}. $$
步驟四:套用初始條件。 $y(0)=C\,e^{0}=C=y_0$,所以
$$ \boxed{\,y(t)=y_0\,e^{-kt}\,}. $$
這就是著名的指數衰減(exponential decay)。放射性物質的半衰期、藥物在血液中的代謝、電容放電,全是它的化身。
來個具體數字:某放射性同位素 $k=0.1\ \text{(每年)}$,初始 $y_0=200$ 克。問 10 年後剩多少?
$$ y(10)=200\,e^{-0.1\times 10}=200\,e^{-1}\approx 200\times 0.368 = 73.6\ \text{克}. $$
而它的半衰期(剩一半所需時間)滿足 $\tfrac12=e^{-k\,t_{1/2}}$,解得
$$ t_{1/2}=\frac{\ln 2}{k}=\frac{0.693}{0.1}\approx 6.93\ \text{年}. $$
動手試試
試著用同樣四步驟解牛頓冷卻方程 $\dfrac{dT}{dt}=-k(T-T_{\text{env}})$。提示:令 $u=T-T_{\text{env}}$,則 $\dfrac{du}{dt}=\dfrac{dT}{dt}=-k\,u$,問題就化成你剛解過的形式。答案會是
$$ T(t)=T_{\text{env}}+(T_0-T_{\text{env}})\,e^{-kt}. $$
驗證一下兩個極端:$t=0$ 時 $T=T_0$(正確);$t\to\infty$ 時 $T\to T_{\text{env}}$(咖啡終究降到室溫,符合直覺)。
當成長不再無限:邏輯斯諦方程
純指數模型有個盲點。若把人口成長寫成 $\dfrac{dP}{dt}=rP$,解是 $P=P_0e^{rt}$,意味人口會無限暴增——但現實中資源有限,成長終會放緩。邏輯斯諦方程(logistic equation)修正了這點:
$$ \frac{dP}{dt}=r\,P\left(1-\frac{P}{K}\right). $$
這裡 $K$ 是環境承載量(carrying capacity)。當 $P$ 很小,括號接近 1,成長近似指數;當 $P$ 接近 $K$,括號趨近 0,成長踩煞車。它的解是優雅的 S 形曲線(sigmoid):
$$ P(t)=\frac{K}{1+A\,e^{-rt}},\qquad A=\frac{K-P_0}{P_0}. $$
這條方程同時是流行病學 SIR 模型、新產品市場滲透、神經網路 activation 函數背後的共同骨架。它示範了一件深刻的事:只要在「變化規則」裡加一點非線性,行為就會從爆炸轉為飽和。
不必解也能看懂:方向場與平衡點
有些微分方程根本沒有漂亮的公式解。好消息是,我們常常不需要解出來,也能掌握行為——這就是定性分析(qualitative analysis)的威力。
對一階自治方程 $\dfrac{dy}{dt}=f(y)$,在平面上每一點畫一條斜率為 $f(y)$ 的小線段,就得到方向場(direction field);解曲線必沿著這些線段流動。
特別重要的是平衡點(equilibrium):使 $f(y)=0$ 的 $y$ 值,在那裡 $\dfrac{dy}{dt}=0$,系統靜止不動。以邏輯斯諦方程為例,$rP(1-P/K)=0$ 給出 $P=0$ 與 $P=K$ 兩個平衡點。
- 在 $P=K$:稍微偏離也會被拉回 $K$,這是穩定(stable)平衡。
- 在 $P=0$:只要有一點族群,就會遠離 0、奔向 $K$,這是不穩定(unstable)平衡。
判別法簡單:若 $f'(y^\*)<0$ 則 $y^\*$ 穩定;若 $f'(y^\*)>0$ 則不穩定。光靠這個,不必求解就知道「人口長期會穩定在承載量 $K$」。
重點回顧
- 微分方程把「變化率」與「狀態」綁在一起:未知的是一整個函數 $y(t)$,方程描述它如何隨時間演化。
- 解是一族函數,含任意常數;加上初始條件構成初值問題,才鎖定唯一解。
- 分離變數法是一階方程最基本的解法:分離、積分、解出、代入初始條件四步驟。
- 指數衰減 $y=y_0e^{-kt}$ 與邏輯斯諦 S 形曲線是描述自然界最常見的兩種變化模式;非線性帶來飽和行為。
- 定性分析(方向場、平衡點、穩定性)讓我們在無法求出公式解時,仍能掌握長期行為。
深入探討(研究所視角)
存在唯一性的理論基礎。 我們一直假設初值問題「有唯一解」,但這需要證明。Picard–Lindelöf 定理指出:若 $f(t,y)$ 在某區域連續,且對 $y$ 滿足Lipschitz 條件 $|f(t,y_1)-f(t,y_2)|\le L|y_1-y_2|$,則初值問題 $y'=f(t,y),\,y(t_0)=y_0$ 在 $t_0$ 附近存在唯一解。證明的核心是把微分方程改寫成積分方程 $y(t)=y_0+\int_{t_0}^t f(s,y(s))\,ds$,並對映射 $(\mathcal{T}y)(t)=y_0+\int_{t_0}^t f(s,y(s))\,ds$ 套用Banach 不動點定理——$\mathcal{T}$ 在適當的函數空間上是壓縮映射,其唯一不動點即為解。少了 Lipschitz 條件,唯一性可能崩潰:$y'=y^{2/3},\,y(0)=0$ 同時有 $y\equiv 0$ 與 $y=(t/3)^3$ 兩組解。
線性系統與相空間。 高階與耦合方程可化為一階向量系統 $\dot{\mathbf{x}}=A\mathbf{x}$,其中 $\mathbf{x}\in\mathbb{R}^n$。解由矩陣指數給出:
$$ \mathbf{x}(t)=e^{At}\,\mathbf{x}(0),\qquad e^{At}=\sum_{n=0}^\infty \frac{(At)^n}{n!}. $$
系統的長期行為完全由 $A$ 的特徵值(eigenvalue)決定:特徵值實部為負則解衰減、為正則發散、為純虛數則振盪。例如簡諧振子 $\ddot{x}+\omega^2 x=0$ 對應特徵值 $\pm i\omega$,給出 $x(t)=C_1\cos\omega t+C_2\sin\omega t$ 的振盪解。這把微分方程與線性代數緊密接合,也是控制理論(control theory)判斷系統穩定性的標準工具。
非線性、混沌與動力系統。 一旦進入非線性,全域解析解往往不存在,研究重心轉向動力系統(dynamical systems)的幾何:固定點、極限環(limit cycle)、分歧(bifurcation)。著名的Lorenz 系統
$$ \dot{x}=\sigma(y-x),\quad \dot{y}=x(\rho-z)-y,\quad \dot{z}=xy-\beta z $$
僅三條一階方程,卻展現對初始條件的敏感依賴——蝴蝶效應,這是混沌(chaos)的數學起點,也說明了為何長期天氣無法精準預報。
跨領域連結。 微分方程是現代科學的通用語。偏微分方程支撐物理三大方程——熱方程、波方程、Laplace 方程——以及量子力學的 Schrödinger 方程與電磁學的 Maxwell 方程組。在機器學習中,Neural ODE 把殘差網路視為連續深度的微分方程;擴散模型(diffusion model)的生成過程本質是一條隨機微分方程(SDE)的逆向求解。當解析解失效,數值方法(Euler 法、Runge–Kutta 法、有限元素法)接手,讓我們得以用電腦模擬從氣候到星系的演化。理解微分方程,等於握住了一把開啟眾多學門的鑰匙。