微分方程直覺解析:斜率場裡的變化規則

一般的方程式要你找出一個數。它給你一個像 2x + 3 = 11 這樣的敘述,問你哪個值能讓它成立。微分方程要你找出一條曲線。它給你一個局部的變化規則,問你哪些完整的路徑可以遵循它。
這個轉變正是這個主題一開始會讓人覺得奇怪的原因。未知的是一個函數,答案常常帶有任意常數,而且曲線上的一個點並不夠。方程式描述的是曲線在整個區間中必須如何走。
讓顯式的一階微分方程變得可讀的圖像,是一片由微小斜率組成的場。對於寫成 y' = F(x, y) 的方程式,每一個 F 有定義的點上都有一小段線段,告訴曲線該往哪個方向傾斜。解就是一條沿著這些方向前進的路徑。一旦你看見了這片場,解族、初始條件與指數成長就不再像是互不相干的技巧。
微分方程是變化的規則
導數告訴你一個量變化得有多快。微分方程把這個想法反過來。它給你一個牽涉到導數的關係,要你把原來的量找回來。
考慮
撇號表示 y 對 x 的導數。這個方程式說,變化率永遠是當前數值的兩倍。當 y 是 1 時,斜率必須是 2。當 y 是 3 時,斜率必須是 6。當 y 是負的時,斜率必須是負的。這條規則並不直接告訴你曲線在某個特定 x 處的高度,它告訴你的是高度與斜率必須如何一起前進。
這就是核心的反轉:
- 在微積分中,你知道函數,並計算它的變化率。
- 在微分方程中,你知道變化率的規則,並重建函數。
方程式 y' = 2y 是一階的,因為它最高的導數是一階導數。牽涉到 y'' 的方程式是二階的。階數告訴你這條規則觸及幾層變化,而不是方程式看起來有多難。
它也是一個常微分方程(ODE),因為 y 只依賴一個自變數。如果溫度同時依賴位置與時間,它的模型會用到偏導數,就成為偏微分方程(PDE)。同樣的大想法依然成立,不過本文只談 ODE:一個輸入、一條演變的路徑。
解是函數,不是數
要解 y' = 2y,你需要一個函數,它的導數是自己的兩倍。指數函數正好有這種行為。試試
其中 C 是任意常數。對它微分:
由於 y 本身就是 ,這就是說 y' = 2y。所提出的函數在每一個 x 處都滿足方程式,所以它是一個解。
注意驗證長什麼樣子。對代數方程式,你代入一個數。對微分方程,你對函數微分,再代入所得的結果。一個正確的解必須在你考慮的區間上處處遵守這條規則,而不只是經過某一個方便的點。
常數 C 不是沒做完的工作,它是答案的一部分。這個方程式描述的是一族曲線:
- 得到 。
- 得到 。
- 得到 。
- C = 0 得到平坦的解 y = 0。
每一個成員都有相同的成長規則,但各自從不同的高度出發。變化的定律無法告訴你故事從哪裡開始。這項缺少的起始資訊,正是常數所儲存的。
這也是為什麼積分會引入一個加法常數。微分會抹去固定的垂直平移,因為它們的導數是零,所以反向的過程必須保留每一種可能的平移。之後的代數運算可能會改變這個參數的樣子。在這個例子中,取指數把 變成 前面的一個乘法常數。
斜率場把規則變成地形
在用符號求解之前,你就可以理解顯式的一階方程式 y' = F(x, y)。取一組 F 有定義的格點。在每一點算出所需的斜率,然後畫一小段具有該斜率的線段。得到的圖稱為斜率場或方向場。
對於 y' = 2y,斜率只取決於高度:
- 沿著 y = 0,每一段線段都是水平的。
- 沿著 y = 1,每一段線段的斜率都是 2。
- 沿著 y = -1,每一段線段的斜率都是 -2。
- 越往上(y 為正)的橫列,向上傾斜得越陡。
- 越往下(y 為負)的橫列,向下傾斜得越陡。
這片場看起來像是一條條傾斜程度相同的水平帶。解曲線可以從任何一點出發,但之後它必須沿著局部的線段前進。正的解向上彎曲並成長。負的解則遠離零點下降。零解保持平坦,因為那條線上的每一個箭頭都是水平的。
這幅圖像把方程式與任何一個解分開來。微分方程創造出整片場,每一個解則是穿過它的一條線。
它也讓你不必求出公式就能預測行為。如果某個區域中的線段向上指,解在那裡就是遞增的。如果它們沿著 y = c 對所有相關的 x 都是水平的,那麼 y = c 就是一個常數平衡解。如果附近的線段指向那條線,附近的解就會被拉回它。如果它們指向遠離的方向,小小的擾動就會放大。應用微分方程的大部分工作,就是這種定性的閱讀:在推導出確切公式之前,先了解路徑能做什麼。
對於 y' = 2y,右邊隨 y 平滑地變化,所以標準的存在與唯一性條件保證每個點都有恰好一個解通過。斜率場說明了這個結果,但並不證明它。並不是每個方程式都能靠「通過同一點、具有同一斜率」就保證解唯一:較不規則的規則可能允許解相遇之後又分開。
初始條件挑出一條路徑
現在對同一個方程式加上條件 y(0) = 3。這是一個初始條件:在 x = 0 處,曲線通過高度 3。從解族
出發,代入已知的點:
所以特解是
微分方程提供了這一族的形狀,初始條件選出了其中一個成員。在斜率場的圖像中,它把你的手指放在點 (0, 3) 上,只剩下通過該點的那條路徑。
對於規則的初值問題,你通常需要的條件個數與方程式的階數相符。一階的速度定律 y' = v(x, y),其中速度已經給定,通常只需要一個初始位置。二階的加速度定律一般則同時需要初始位置與初始速度。
例如,標準化的無阻尼彈簧方程式
說的是加速度指向平衡位置。物理形式是 m y'' + k y = 0;選擇使 k/m = 1 的單位,就得到上面的標準化方程式。它的解結合了正弦與餘弦。只知道起始位置,並不能告訴你彈簧是從靜止釋放的,還是已經在運動。再加上起始速度,運動就被決定了。
分離變數就是解開連結
方程式 y' = 2y 可以有系統地求解,而不只是猜。把導數寫成 :
把 y 的部分移到 dy 旁邊,x 的部分移到 dx 旁邊:
現在對兩邊積分:
取指數得到
在這個階段 A 不為零,因為除以 y 排除了 y = 0。把被排除的函數代入原方程式檢驗:y = 0 是成立的。因此完整的解族可以寫成 y = ,其中 A 為任意實數常數,包括零。
這個方法之所以叫分離變數法,是因為它在積分之前,把所有牽涉到 y 的部分與所有牽涉到 x 的部分分開。它適用於可以整理成
這種形式的方程式,但代數運算中藏著一個陷阱。除以 g(y) 可能會丟掉 g(y) = 0 的解。在這個例子中,除以 y 暫時排除了平衡解 y = 0。
對於通常用分離變數法入門的那些平滑方程式,把被排除的平衡解補回去,就能使解族完整。較不規則的方程式也可能有分段的解,它們先在平衡位置等待再離開,所以分離變數法並不是普遍適用的完備性證明。在除以某個式子或整理之後,要把導出的解族與每一個被排除的值,都代回原方程式檢驗。
成長、衰減與振盪是不同的規則
微分方程中的小小改變,會產生非常不同的運動。
模型
當 k 為正時,描述正的量的指數成長;當 k 為負時,描述朝向零的指數衰減。更一般地說,任何非零解的大小在 k 為正時增大,在 k 為負時縮小。只要變化率與當前的量成正比,這個模型就會出現:理想化的人口成長、連續複利的金錢與放射性衰變都是熟悉的例子。同一個公式並不表示每一個真實的人口或投資都會永遠呈指數變化。它說的是,只要成正比的變化率這個假設仍然成立,就會出現指數行為。
彈簧方程式 y'' + y = 0 則產生振盪。它的解由正弦與餘弦組成,因為微分兩次會使它們的符號反轉。把它與
比較,後者的解由指數函數組成,或等價地由雙曲函數組成。符號決定了系統是被拉回而重複運動,還是被推向成長與衰減。
真實的模型會加入外力、摩擦、有限資源,或多個量之間交互作用的項。邏輯斯諦(logistic)人口模型在接近環境容納量時減緩成長。阻尼彈簧的振幅隨時間減小。微分方程組可以追蹤好幾個一起變化的量。每增加一項,就改變了局部規則,也因此改變了系統能夠走的路徑。
錯誤從哪裡來
第一個錯誤是去找一個數。在微分方程中,未知的通常是一個函數。如果你的答案只是 y 的一個值,而題目沒有要求在某一點求值,你很可能太早停下來了。
第二個是只檢查初始條件。通過 (0, 3) 並不會讓一條曲線成為 y' = 2y 的解。有無限多條曲線通過那個點。曲線還必須在整個區間上滿足導數的規則。
第三個是漏掉任意常數。條件不夠的微分方程通常描述的是一整族曲線。把其中一個成員寫成彷彿是全部的答案,會丟掉有效的歷程。
第四個是在除法時丟掉平衡解。如果你除以 y、y - 1,或任何牽涉到未知函數的式子,就要停下來,把那個式子等於零的值代回原方程式檢驗。
第五個是把模型當成事物本身。y' = ky 會產生指數成長或衰減,是因為它假設了固定的比例變化率。真實的系統只有在這個假設仍然是個有用的近似時,才會沿著那條曲線走。把方程式解對了,並不能證明這個方程式是正確的模型。
Math Zen 在哪裡派上用場
微分方程結合了好幾項常在不同章節分別學習的技能。你需要把導數讀成變化率、整理代數而不漏掉任何情形、認出指數函數微分之後仍是它自己、對兩邊積分,並用初始條件決定剩下的常數。其中任何一層的弱點,都可能讓整個方法顯得神祕。
Math Zen 包含可分離、一階線性、二階、齊次、正合、白努利以及常微分方程組的練習。在計算之前,用本文的同樣三個問題來問自己:這個方程式要求什麼樣的變化、什麼樣的一族路徑可以遵守它、哪些條件選出你需要的那一條路徑?
有用的練習循環很簡單:把一個方程式分類,預測它的解的方向,求解或驗證它,然後檢查初始條件與任何被排除的平衡解。隔一段時間再回頭做這個混合題組,採用 Math Zen 其他部分一貫使用的間隔複習法。目標不是背下一整櫃的食譜,而是看清眼前是哪一種變化的規則。
重點整理
微分方程描述一個量與它的變化方式之間的關係。它的解是一整個函數,常常是一個函數族中的一員。任意常數記錄了這條路徑可能從哪裡出發,而初始條件選出與實際起點相符的那一條路徑。
對於顯式的一階方程式,斜率場的圖像把整個主題串在一起。局部的規則在它的定義域中填滿了允許的方向,而解就沿著它們前進。分離變數法、初值問題、成長、衰減與振盪,都是閱讀或描繪這片地形的不同方式。微分方程把局部的變化規則變成整體的曲線。
常見問題
- 用最簡單的話來說,微分方程是什麼?
- 微分方程是把一個未知函數與它的一個或多個導數連結起來的規則。它不是直接告訴你某個量的數值,而是告訴你這個量如何變化。解方程式的意思,就是找出所有變化率遵守這條規則的函數。例如 y' = 2y 表示某個量的導數等於它當前數值的兩倍,它的解是形如 y = Ce^(2x) 的指數函數。
- 為什麼微分方程的解是一個函數?
- 一般的方程式要求的是一個讓敘述成立的數。微分方程要求的是一整個函數,它的各階導數要在區間內每一點都讓敘述成立。在 y' = 2y 中,未知的不是 y 的某一個值,而是完整的曲線 y(x)。要驗證一個提出的解,就是對它微分,再檢查所得的導數是否滿足原方程式。
- 常微分方程和偏微分方程有什麼差別?
- 常微分方程(ODE)描述只有一個自變數的函數,使用一般的導數。偏微分方程(PDE)描述有兩個或更多自變數的函數,使用偏導數。隨時間變化的運動通常可以用 ODE 來建模。熱在位置與時間中擴散則需要 PDE,因為溫度取決於好幾個輸入。
- 為什麼微分方程會有任意常數?
- 一條關於變化的規則,通常描述的是一整族可能的歷程。不論你選哪個常數 C,每一個函數 y = Ce^(2x) 都遵守 y' = 2y。像 y(0) = 3 這樣的初始條件,會強制 C = 3,從這一族中選出一個成員。任意常數記錄了微分時遺失的資訊,而初始條件把這些資訊放了回去。
- 學微分方程之前應該先會什麼?
- 你應該熟悉函數、導數、基本積分、指數、對數與代數式的整理。開始之前不必精通所有進階積分技巧。最初實用的方法大多依靠辨認變化率、用微分來檢驗解、分離變數,以及用初始條件決定常數。


