我创建了以下代码来实现Runge-KuttaRK4方法:
import numpy as np
u = np.zeros((steps+1, 3))
u[0] = u0.copy()
i=0
h6=h/6
for step in range(steps):
k1 = f(u[i])
k2 = f(u[i] + (k1/2)*h)
k3 = f(u[i] + (k2/2)*h)
k4 = f(u[i] + h*k3)
u[i+1] = u[i] + (k1 + 2*k2 + 2*k3 + k4)*h6
i+=1
return u
f()
是导数函数,在本例中它不依赖于t
。该方法生成一个点的三维数组,这是问题的解决方案。现在我想通过将for
循环转换为矩阵形式来提高效率,但我还没能做到。有人能帮我吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐