title: Method of Runge-Kutta in Python
body: <p>I wrote a code about runge-kutta method in python, but every time when the program realizes any calculus the program require the differential equation.</p>
  
  <p>this is my code:</p>
  
  <pre><code>from math import *
  import numpy as np
  
  #Initial Values
  n=input("Enter the number of equations n:")
  n=int(n)
  x=np.array([])
  for i in range(0,n):
      x0=input("Enter the initial value of x{}:".format(i))
      x=np.append(x,[x0])
  t=input("Enter the initial value of t:")
  tf=input("Enter the final value of t:")
  h=input("Enter the time interval h:")
  m=int((tf-t)/float(h))
  
  #Definition of differential equations
  def f(t,x):
      f=np.array([])
      for i in range(0,n):
          f0=input("Enter the equation f{}:".format(i))
          f=np.append(f,[f0])
      return f
  
  
  a=1.0/6
  for i in range(0,m): 
      k1=f(t,x)
      k2=f(t+0.5*h,x+0.5*h*k1)
      k3=f(t+0.5*h,x+0.5*h*k2)
      k4=f(t+h,x+h*k3)
      x=x+a*h*(k1+2*(k2+k3)+k4)
      t=t+h
  
  print t, x
  </code></pre>
  
  <p>Example using the equation dx/dt=x, x(0)=1, xf=1, h=0.1:</p>
  
  <pre><code>Enter the number of equations n:1
  Enter the initial value of x0:1
  Enter the initial value of t:0
  Enter the final value of t:1
  Enter the time interval h:0.1
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  Enter the equation f0:x[0]
  1.0 [ 2.71827974]
  </code></pre>
  
  <p>What should i do to enter only once the differential equation to program calculate all?</p>