通过MCP连接 →

输入计算

数学公式

广告

结果

y(xn) — RK4 approximation
0.7615941538
经典四阶龙格-库塔法
步长 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\) 的区间上进行积分。它采用经典的四阶龙格-库塔法(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 = \dfrac{x_n - x_0}{n}\)。在每一步,RK4 都会对斜率采样四次:一次在起点(\(k_1\)),两次在中点(\(k_2\)、\(k_3\)),一次在终点(\(k_4\))。下一个值是它们的加权平均,

$$y_{i+1} = y_i + \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 为什么比欧拉法更好?欧拉法每步只用一个斜率(误差 \(O(h)\))。RK4 用了四个斜率并取平均,在相同步长下可达到 \(O(h^4)\) 的精度,因此要达到目标精度所需的步数大大减少。

应该选多少步?可以先从 50 开始。如果解比较平滑,这通常就足够了;对于变化剧烈或接近刚性的问题,可以增加到 100、200 甚至 500。

出现 NaN 或 Infinity 怎么办?可能是解发散了,或者 \(F(x,y)\) 遇到了无效运算(比如对负数取对数、或除以零)。请检查表达式,并尝试缩小区间或增加步数。

最后更新: