algorithm - RK4 - 单变量 ODE 的龙格库塔算法

标签 algorithm numerical-methods differential-equations

如果这是一个简单/愚蠢的问题,请提前道歉。

我看到的每一个关于 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(t, u) = 2 u - 1(也就是说,没有明确的对 f 中的 t 的依赖;只是一个隐含的,因为 u 本身是 t 的函数)。只需应用该方法并相应地进行即可。

关于algorithm - RK4 - 单变量 ODE 的龙格库塔算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41024193/

相关文章:

c - 用指针返回一个值(C 程序)

algorithm - 代码的出现 2016 : Day 1

algorithm - DBSCAN Clustersize 小于 MinPts

python - 通过迭代方法估计 Spring 的速度

c++ - 错误 : control Reaches end of non void function

python-3.x - 如何定义时间相关的离散参数?

python - 二微分方程组的 Runge-Kutta 实现

c - 基于斐波那契递归缓存

python - Python 中的递归关系

python - 边界条件在热方程和Crank-Nicholson有限差分解中的应用