RungeKutta法求一阶常微分方程的python代码
时间: 2023-11-13 16:09:05 浏览: 87
以下是使用Runge-Kutta法求解一阶常微分方程的Python代码示例:
```python
def rk4(f, y0, t0, t1, h):
"""
使用Runge-Kutta方法求解一阶常微分方程
Args:
f: 一阶常微分方程
y0: 初始值
t0: 初始时间
t1: 终止时间
h: 步长
Returns:
t: 时间数组
y: 对应的解数组
"""
t = np.arange(t0, t1 + h, h)
y = np.zeros(len(t))
y[0] = y0
for i in range(len(t) - 1):
k1 = h * f(y[i], t[i])
k2 = h * f(y[i] + k1 / 2, t[i] + h / 2)
k3 = h * f(y[i] + k2 / 2, t[i] + h / 2)
k4 = h * f(y[i] + k3, t[i] + h)
y[i + 1] = y[i] + (k1 + 2 * k2 + 2 * k3 + k4) / 6
return t, y
```
希望这个代码对你有所帮助!
阅读全文