透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

y(xn) — RK4 approximation
0.7615941538
經典四階 Runge-Kutta 法
步長 h 0.02
等分段數 n 50
F(x,y) 運算次數 200
i / x y(近似值)
0 0
0.02 0.0199973337
0.04 0.0399786803
0.06 0.0599281034
0.08 0.079829769
0.1 0.0996679945
0.12 0.1194272984
0.14 0.1390924477
0.16 0.1586485041
0.18 0.1780808679
0.2 0.1973753199
0.22 0.2165180612
0.24 0.2354957492
0.26 0.2542955322
0.28 0.2729050801
0.3 0.291312612
0.32 0.3095069207
0.34 0.3274773943
0.36 0.3452140335
0.38 0.3627074669
0.4 0.3799489616
0.42 0.3969304313
0.44 0.4136444414
0.46 0.4300842106
0.48 0.4462436094
0.5 0.4621171563
0.52 0.4777000112
0.54 0.4929879656
0.56 0.5079774318
0.58 0.5226654285
0.6 0.5370495658
0.62 0.5511280273
0.64 0.5648995515
0.66 0.5783634117
0.68 0.591519394
0.7 0.6043677756
0.72 0.6169093013
0.74 0.6291451598
0.76 0.6410769595
0.78 0.6527067042
0.8 0.6640367685
0.82 0.675069873
0.84 0.6858090604
0.86 0.6962576708
0.88 0.7064193184
0.9 0.7162978682
0.92 0.7258974128
0.94 0.7352222508
0.96 0.7442768652
0.98 0.7530659027
1 0.7615941538

這個計算機的功能

本工具可數值求解形如 \(y' = F(x, y)\) 的一階常微分方程,並在給定初始條件 \(y(x_0) = y_0\) 的情況下,從 \(x_0\) 積分到 \(x_n\)。它採用經典的四階 Runge-Kutta 法(RK4),這是數值分析中最常用、也最可靠的單步積分法之一。計算結果會輸出一張逼近真實解的 \((x_i, y_i)\) 數值表,並附上終點值 \(y(x_n)\)。這是一個純數學工具,不涉及任何國家或單位的限制。

使用方式

請將方程式右側 \(F(x,y)\) 以含有 xy 的運算式輸入(例如 1-y^2x+yx*ysin(x)+y)。支援的運算子有 + - * / ^,函式則包含 sin, cos, tan, exp, log, ln, sqrt, abs, tanh,並可使用常數 pie。接著設定起點 \(x_0\)、初始值 \(y_0\)、終點 \(x_n\),並選擇要將區間等分成幾段 \(n\)。等分數越多,精度越高,因為 RK4 的整體誤差會以 \(h^4\) 的速度縮小。

公式解析

整個區間會被切割成 \(n\) 個等寬的小段,每段寬度為 $$h = \frac{x_n - x_0}{n}.$$ 在每一步中,RK4 會對斜率取樣四次:起點取一次(\(k_1\))、中點取兩次(\(k_2\)、\(k_3\))、終點取一次(\(k_4\))。下一個值即為加權平均 $$y_{n+1} = y_n + \frac{h}{6}\left(k_1 + 2k_2 + 2k_3 + k_4\right).$$ 這樣的加權方式可消去至四階為止的誤差項,使單步截斷誤差為 \(O(h^5)\),整體誤差為 \(O(h^4)\)。

RK4 單步示意圖,展示步長 h 上從 k1 到 k4 的四次斜率計算
RK4 在每一步結合四個斜率估計值(\(k_1\)–\(k_4\)),從 \((x_n, y_n)\) 推進到 \((x_{n+1}, y_{n+1})\)。

實例演算

求解 \(y' = 1 - y^2\),其中 \(x_0 = 0\)、\(y_0 = 0\)、\(x_n = 1\)、\(n = 10\)(\(h = 0.1\))。其精確解為 \(y = \tanh(x)\)。RK4 的第一步算得 \(y_1 = 0.0996679\),與 \(\tanh(0.1) = 0.0996680\) 相符。完成全部十步後,\(y(1) = 0.7615942\),與 \(\tanh(1) = 0.7615942\) 在小數點後七位上完全吻合。

折線圖,比較精確解曲線與緊鄰其旁的 RK4 數值點
RK4 數值點(圓點)在整個區間上緊貼精確解曲線。

常見問題

為什麼 RK4 比 Euler 法更好?Euler 法每步只取一次斜率(誤差為 \(O(h)\))。RK4 每步取四次斜率並加以平均,在相同步長下可達到 \(O(h^4)\) 的精度,因此要達到相同的目標精度所需的步數遠少於 Euler 法。

我該選擇多少步數?建議先從 50 開始。若解的變化平滑,這通常已綽綽有餘;遇到變化劇烈或接近剛性(stiff)的問題時,再增加到 100、200 或 500。

若出現 NaN 或無限大(Infinity)怎麼辦?這代表解可能已發散,或 \(F(x,y)\) 觸發了無效運算(例如對負數取對數或除以零)。請檢查運算式,並試著縮小區間或增加步數。

最後更新: