将for循环转换为matricial形式

时间:2016-11-04 13:45:58

标签: python python-3.x numpy runge-kutta

我创建了以下代码来实现Runge-Kutta RK4方法:

 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。该方法生成一个3d数组点,这是问题的解决方案。现在我想通过将for循环转换为matricial形式来使这更有效,但我还没有能够做到这一点。有人能帮助我吗?

0 个答案:

没有答案