import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
def pend(y, z, E,x):
theta, omega = y
dydt = [omega, 2*z*theta-2*E*theta]
#dydt = [omega, -E*omega - np.sin(theta)]
return dydt
E = 0
x = 0
y0 = [1,1]
z = np.linspace(0, 20, 101)
sol = odeint(pend, y0, z, args=(E,x))
plt.plot(z, sol[:, 0], 'b', label='theta(t)')
plt.plot(z, sol[:, 1], 'g', label='omega(t)')
plt.legend(loc='best')
plt.xlabel('z')
plt.grid()
plt.show()
网友评论