σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academy路线图学习路线
Ctrl K
AO
+1.2k 位学习者
登录加入 ↗
路线图学习路线
AO
+1.2k 位学习者
登录
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Calculus 学习路线›模块 3 · 近似与动力学›主题 3.2·~50分钟中级

微分方程:欧拉法与 RK4

路线进度模块 3/4 · 主题 2/2
3.2 微分方程:欧拉法与 RK4
—实验得分— / 100总 XP—连续天数—

跟随变化率

微分方程描述一个量变化得多快:dydt=f(t,y)\frac{dy}{dt}=f(t,y)dtdy​=f(t,y)。以连续利率 rrr 增长的资金满足 dydt=ry\frac{dy}{dt}=rydtdy​=ry,解为 y0erty_0e^{rt}y0​ert。被拉回长期水平 θ\thetaθ 的短期利率满足 drdt=κ(θ−r)\frac{dr}{dt}=\kappa(\theta-r)dtdr​=κ(θ−r)。很少有方程能写出解的公式,所以我们数值地沿时间前进。

yn+1=yn+h f(tn,yn)y_{n+1}=y_n+h\,f(t_n,y_n)yn+1​=yn​+hf(tn​,yn​)(1)

欧拉法沿切线走一个短步长 hhh:新值 = 旧值 + 步长 × 斜率。它简单,但只有一阶精度:步长减半,误差也减半。四阶龙格-库塔法(RK4)每步取四次斜率并加权混合,yn+1=yn+h6(k1+2k2+2k3+k4)y_{n+1}=y_n+\frac{h}{6}(k_1+2k_2+2k_3+k_4)yn+1​=yn​+6h​(k1​+2k2​+2k3​+k4​),其误差按 h4h^4h4 缩小:步长减半,误差降为原来的 1/16。

增长率为 1 的两种算法用 h=0.5h=0.5h=0.5 解 y′=yy'=yy′=y、y(0)=1y(0)=1y(0)=1 到 t=1t=1t=1。欧拉法:y1=1+0.5⋅1=1.5y_1=1+0.5\cdot1=1.5y1​=1+0.5⋅1=1.5,y2=1.5+0.5⋅1.5=2.25y_2=1.5+0.5\cdot1.5=2.25y2​=1.5+0.5⋅1.5=2.25,而 e=2.7183e=2.7183e=2.7183,误差 0.4683。RK4 走一步到 t=0.5t=0.5t=0.5:k1=1k_1=1k1​=1,k2=1.25k_2=1.25k2​=1.25,k3=1.3125k_3=1.3125k3​=1.3125,k4=1.65625k_4=1.65625k4​=1.65625,所以 y=1+0.56(1+2.5+2.625+1.65625)=1.6484y=1+\frac{0.5}{6}(1+2.5+2.625+1.65625)=1.6484y=1+60.5​(1+2.5+2.625+1.65625)=1.6484,真值为 e0.5=1.6487e^{0.5}=1.6487e0.5=1.6487。
  • 欧拉法:yn+1=yn+h f(tn,yn)y_{n+1}=y_n+h\,f(t_n,y_n)yn+1​=yn​+hf(tn​,yn​),一阶精度。
  • RK4:每步取四次斜率,权重为 1、2、2、1;四阶精度。
  • 截断误差:用步进代替精确求解所损失的部分。
更小的步长并非没有代价步长减半意味着步数翻倍。超过某个点后,截断误差不再重要,舍入误差反而增大;某些刚性方程如果步长不够小还会发散。在相信结果之前,先比较两种步长来估计误差。

实验:评分内容

  • 欧拉法两步15 分
  • 欧拉法的误差15 分
  • 一步 RK420 分
  • 精度阶数10 分
  • 步长减半15 分
  • 欧拉法的循环10 分
  • 为什么 RK4 优于欧拉法15 分
0/ 已答 7 题
任务
1数值作答15 分未作答

考虑 y′=yy'=yy′=y,y(0)=1y(0)=1y(0)=1,步长 h=0.5h=0.5h=0.5。做两步欧拉法,给出 y2y_2y2​(y(1)y(1)y(1) 的估计值)。

y2=y_2 =y2​=允许误差:± 0.001
2数值作答15 分未作答

考虑 y′=yy'=yy′=y,y(0)=1y(0)=1y(0)=1,步长 h=0.5h=0.5h=0.5。精确解为 y(1)=e=2.7183y(1)=e=2.7183y(1)=e=2.7183。欧拉估计 y2=2.25y_2=2.25y2​=2.25 与之相差多少?

error=\text{error} =error=允许误差:± 0.001
3数值作答20 分未作答

考虑 y′=yy'=yy′=y,y(0)=1y(0)=1y(0)=1,步长 h=0.5h=0.5h=0.5。从 t=0t=0t=0 做一步 RK4,给出 y(0.5)y(0.5)y(0.5) 的估计 y1y_1y1​,保留 4 位小数。对 f(t,y)=yf(t,y)=yf(t,y)=y:k1=ynk_1=y_nk1​=yn​,k2=yn+h2k1k_2=y_n+\frac{h}{2}k_1k2​=yn​+2h​k1​,k3=yn+h2k2k_3=y_n+\frac{h}{2}k_2k3​=yn​+2h​k2​,k4=yn+hk3k_4=y_n+hk_3k4​=yn​+hk3​。

y1=y_1 =y1​=允许误差:± 0.0002
4选择10 分未作答

欧拉法和 RK4 的精度阶数分别是多少?

5数值作答15 分未作答

欧拉法在步长 h=0.1h=0.1h=0.1 时误差为 0.08。步长 h=0.05h=0.05h=0.05 时大约会是多少?

error=\text{error} =error=允许误差:± 0.005
6排列步骤10 分未作答

给一次欧拉迭代的步骤排序。

拖动以重新排序;也可聚焦某项,按空格抬起,用方向键移动,再按空格放下。

  1. 1更新 y←y+h⋅斜率y\leftarrow y+h\cdot\text{斜率}y←y+h⋅斜率
  2. 2从初值 t0t_0t0​ 和 y0y_0y0​ 开始
  3. 3推进时间 t←t+ht\leftarrow t+ht←t+h 并重复
  4. 4在当前点计算斜率 f(t,y)f(t,y)f(t,y)
7用文字解释15 分未作答

请用两三句话说明,为什么在相同步长下 RK4 通常比欧拉法更精确,以及它的代价。

数学模式键盘或 LaTeX 输入第 1/7 题 · Ctrl ⏎ 检查

登录后即可运行你的代码。

所有讲解均可免费阅读。创建账户或登录后,即可运行代码、运行测试并提交此实验。

  • 浏览器内 IDE 与 bash 终端,无需安装
  • 即时评分、XP 以及你在学习路线中的位置
创建账户登录
或
使用 GitHub 继续