Hi I am working on a script that will solve and plot an ODE using the Runge Kutta method. I want to have the script use different functions so I can expand upon it later. If I write it with out the function definition it works fine, but with the def() it will not open a plot window or print the results. Than you!
from numpy import *
import matplotlib.pyplot as plt
#H=p^2/2-cosq
#p=dp=-dH/dq
#q=dq=dH/dp
t = 0
h = 0.5
pfa = []                        #Create arrays that will hold pf,qf values
qfa = []
while t < 10:
    q = 1*t
    p = -sin(q*t)
    p1 = p
    q1 = q
    p2 = p + h/2*q1
    q2 = q + h/2*p1
    p3 = p+ h/2*q2
    q3 = q+ h/2*p2
    p4 = p+ h/2*q3
    q4 = q+ h/2*p4
    pf = (p +(h/6.0)*(p1+2*p2+3*p3+p4))
    qf = (q +(h/6.0)*(q1+2*q2+3*q3+q4))
    pfa.append(pf)                   #append arrays
    qfa.append(qf)
    t += h                           #increase time step                        
print("test")
plt.plot(pfa,qfa)
print("test1")
plt.show()
print("tes2t")
 
     
     
    