National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Educational Big Data Challenge
Claim or create a course
Try an AI Scenario Task
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

3

Local AI

--

Uedu Code

--

中央大學 AQI 72 24°C PM2.5 13
AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

Unit 24

斜率場與歐拉法

微分方程的幾何意義與數值解
Interaction 35 minute(s)

Learning Objectives

  • 說明微分方程的解是函數,並以代入法檢查一個函數是否為解
  • 從斜率場讀出解的走向,說明初始值如何確定其中一條解
  • 找出平衡解並判斷它穩定或不穩定
  • 以歐拉法手算數步,說明步長與誤差的關係
  • 說明步長過大時歐拉法發散的原因

微分方程與斜率場

熱咖啡放在桌上,每一分鐘的溫度未必已知,但有一條規則可循:溫度與室溫相差越多,下降越快。銀行帳戶亦然,已知的是「餘額每年增加 2%」,而不是每一年的餘額。

這類規則的數學形式稱為微分方程(differential equation):聯繫函數與其導數的等式,例如

$$y' = x - y$$

其意義為:在 $(x, y)$ 這個位置,函數的斜率必須是 $x - y$。

微分方程的解是一個函數,不是一個數。檢查一個函數是否為解時,將其代入並確認等式是否對每個 $x$ 都成立。例如 $y = x - 1$:左邊 $y' = 1$,右邊 $x - y = x - (x-1) = 1$,兩邊相等,所以它是解。$y = x - 1 + 2e^{-x}$ 也是解:左邊 $1 - 2e^{-x}$,右邊 $x - (x - 1 + 2e^{-x}) = 1 - 2e^{-x}$。

解不只一個,$y = x - 1 + Ce^{-x}$ 對任何常數 $C$ 都成立。要確定其中一條,需要額外的條件,稱為初始值:例如 $y(0) = 1$ 代入得 $-1 + C = 1$,所以 $C = 2$。

不解方程式也能觀察解的形狀。 方程式 $y' = f(x, y)$ 在平面上每一點都指定了一個斜率。在許多格點上各畫一小段具有該斜率的線段,所得的圖稱為斜率場(slope field)。

解的曲線必須在每一點都與該處的小線段相切。因此斜率場如同水流的方向:從一個起點順著方向延伸,即得一條解;起點改變,得到的是另一條解。

下方藍色的曲線是從起點出發的解,由程式以很小的步長數值計算。兩個方程式可以切換,也可以自行輸入 $f(x, y)$。

互動練習:斜率場與起點

點選圖上的位置設定起點,或拖曳青綠色的點、使用滑桿調整。先完成第一個方程式,再切換到 $y' = y(2-y)$。若 $y$ 不隨 $x$ 改變,該水平線也是解,稱為平衡解:代入方程式後斜率處處為 0。

平衡解與唯一性

若 $f(x,y)$ 僅取決於 $y$,平衡解的穩定性可直接從導數判斷。以 $f(y) = y(2-y)$ 為例:

  • $y$ 在 0 和 2 之間時 $f > 0$,解遞增;$y > 2$ 時 $f < 0$,解遞減。因此 $y = 2$ 兩側的解都向其靠近,此平衡解是穩定的
  • $y$ 略小於 0 時 $f < 0$,解向下遠離;$y$ 略大於 0 時解向上遠離。$y = 0$ 是不穩定的

解的交叉。 若 $f$ 和 $\frac{\partial f}{\partial y}$ 在 $(x_0, y_0)$ 附近都連續,則通過這一點的解在 $x_0$ 附近存在且唯一,所以兩條解不會在此相交。此定理有兩點須注意:

  • 不唯一:$y' = 2\sqrt{y}$($y \ge 0$)、$y(0) = 0$。$y = 0$ 是解,$y = x^2$($x \ge 0$)也是解。這裡 $\frac{\partial f}{\partial y} = \frac{1}{\sqrt{y}}$ 在 $y = 0$ 不連續
  • 定理只保證附近:$y' = y^2$、$y(0) = 1$ 的解是 $y = \frac{1}{1-x}$,$f$ 處處平滑,解卻在 $x = 1$ 趨向無窮大。因此「存在」僅在起點附近有保證,並不保證解可延伸至任意位置

歐拉法

大部分微分方程無法寫出解的公式,此時可依斜率場逐步前進。在 $(x_n, y_n)$ 處,斜率是 $f(x_n, y_n)$;以切線近似函數(線性近似,$\Delta y \approx y' \cdot \Delta x$),前進水平距離 $h$:

$$y_{n+1} = y_n + h\,f(x_n, y_n), \qquad x_{n+1} = x_n + h$$

此即歐拉法(Euler's method),$h$ 稱為步長。每一步都以「起點的斜率」涵蓋整段,而真解的斜率持續變化,所以每一步都會產生些微偏差。

手算一次 $y' = y$、$y(0) = 1$、$h = 0.5$(正確的解是 $y = e^x$):

$n$ $x_n$ $y_n$ 斜率 $f = y_n$ $y_{n+1} = y_n + 0.5\,y_n$
0 0 1 1 1.5
1 0.5 1.5 1.5 2.25

到達 $x = 1$ 時得到 2.25,正確值 $e \approx 2.71828$,相差約 0.468。此解為凹向上,切線始終在曲線下方,所以歐拉法在此持續低估。

互動練習:步長與誤差

黃色折線是歐拉法,藍色是真解(步長很小的數值解,作為參考答案)。下方的表將目前步長連續減半,每一列都計算到同一個終點。

動畫:歐拉法的迴圈程式

本動畫不需要程式基礎:這支程式執行的是前述公式,逐步重複。請先觀察中間三行如何更新 $y$ 和 $x$,再觀察最後的輸出:步數每次加倍時誤差的變化。

歐拉法的誤差階

輸出的誤差如下:

步長 $h$ 誤差 和上一列的比值
0.5 0.468282
0.25 0.276876 1.69
0.125 0.152497 1.82
0.0625 0.080353 1.90
0.03125 0.041292 1.95

比值趨近 2:步長減半,誤差約減半。原因是當 $f$ 足夠平滑時,每一步因直線近似產生的誤差約與 $h^2$ 成正比(泰勒展開的二次項),而到達固定終點需要 $\frac{1}{h}$ 步,累積誤差與 $h$ 成正比。這種方法稱為一階方法。

準確度每增加一位,步數須增加十倍。因此實務上常用更高階的方法,例如互動練習中作為參考答案的 RK4(四階的 Runge-Kutta),其每一步多次計算斜率再取加權平均,步長減半時誤差約縮小為 $\frac{1}{16}$。

互動練習:步長過大時的數值解

方程式 $y' = -3y$、$y(0) = 1$,真解是 $e^{-3x}$,快速衰減至 0。請逐步調大步長,觀察黃色折線。任務要求找出兩種不同的失效情形,並算出分界。

歐拉法的數值穩定性

將歐拉法的公式用於 $y' = -3y$:

$$y_{n+1} = y_n + h(-3y_n) = (1 - 3h)\,y_n$$

因此每一步都乘上同一個數 $1 - 3h$,$n$ 步後為 $(1-3h)^n$:

步長 $1 - 3h$ 數值解
$0 < h < \frac{1}{3}$ 在 0 和 1 之間 單調趨近 0,與真解的形狀相同
$\frac{1}{3} < h < \frac{2}{3}$ 在 $-1$ 和 0 之間 正負交替,振幅縮小
$h > \frac{2}{3}$ 小於 $-1$ 正負交替,振幅變大,發散

一般而言,$y' = -\lambda y$($\lambda > 0$)須 $h < \frac{2}{\lambda}$ 才不會發散。$\lambda$ 越大,解衰減得越快,歐拉法反而越需要小步長。

須注意真解 $e^{-3x}$ 並無異常。數值解發散不代表方程式的解發散,數值結果發散時應先檢查步長。

重點整理

  • 微分方程是變化率的規則,解是函數;以代入檢查,以初始值確定其中一條
  • 斜率場在每一點畫出解必須有的斜率,解的曲線和小線段相切
  • 平衡解是讓斜率恆為 0 的水平線;附近的解向其靠近稱為穩定,遠離稱為不穩定
  • $f$ 和 $\frac{\partial f}{\partial y}$ 連續時,解在起點附近存在且唯一,但不保證可延伸至任意位置(可能在途中趨向無窮大);條件不成立時可能不唯一
  • 歐拉法:$y_{n+1} = y_n + h\,f(x_n, y_n)$,一階方法,步長減半誤差約減半
  • 步長過大會使數值解振盪或發散,這是方法造成的,不代表真解如此

下一課以積分求出解,討論指數成長、半衰期、冷卻與 logistic 模型。更完整的文字說明見優微積分讀本的一階微分方程。

小測驗

1.

哪一個函數同時滿足 $y' = 2y$ 和 $y(0) = 3$?

2.

$y' = x + y$,目前位於 $(1, 2)$,步長 $h = 0.1$。歐拉法的下一個 $y$ 是多少?

3.

以歐拉法計算至固定的終點,步長 $h$ 減為一半時,當 $h$ 足夠小,誤差大約變成?

4.

$y' = -10y$、$y(0) = 1$,以歐拉法取 $h = 0.3$,數值解的行為為何?

5.

$y' = y(2-y)$、$y(0) = 3$,解的長期行為為何?

第 1 次作答
這一課完成了!
Next lesson:可分離方程式與成長模型
你目前沒有登入,學習進度只存在這個瀏覽器。 Login 後,進度會跟著帳號,換電腦也看得到。