【发布时间】:2016-12-07 17:56:59
【问题描述】:
如果这是一个简单/愚蠢的问题,请提前道歉。
我见过的每一个关于 RK4 的解释都使用两个变量的函数;例如。 f' = f(u, t),初始条件为 t0 和 u0=u(t0),步长值为 Δt .
这导致以下近似方法:
k1 = Δt * f'(tn,yn)
k2 = Δt * f'(tn + (1/2) *Δt, yn + (1/2 ) * k1)
k3 = Δt * f'(tn + (1/2) *Δt, yn + (1/2 ) * k2)
k4 = Δt * f'(tn + Δt,yn + k3)
屈服:
un+1 = un + (1/6)*(k1 + 2*k2 + 2* k3 + k4)
tn+1 = tn + Δt
单个变量如何发挥作用,例如。 u' = u(t) 初始条件 t0 和 u0=u(t0) 和 Δt 的步长值改变方法的实现?
【问题讨论】:
-
函数应该是f'=f(t,u)(时间是第一个变量)
-
@Aziz 这只是一个约定。每个人都明白他们在这里写的方式。
-
你的函数只是没有明确的依赖于 t。所以,它和你已经写的一样,只需将 t 替换为 0。
-
@jojo 不,我指的不是约定。该问题在顶部有 f(u,t),但在 RK4 方程中使用 f(t,u)。我确定这是一个错字,但必须澄清。
-
@Aziz 很公平,这确实是一个不一致的地方。
标签: algorithm numerical-methods differential-equations