Expand|Select|Wrap|Line Numbers
- K=2
- g=9.8
- L=8
- m=2.0
- Tm=10
- N=125
- h=Tm/float(N)
- import matplotlib.pyplot as plt
- import numpy as np
- import numpy as n1
- x1=n1.zeros(N+1)
- x2=np.zeros(N+1)
- v1=n1.zeros(N+1)
- v2=np.zeros(N+1)
- t=np.zeros(N+1)
- x1[0]=10
- x2[0]=0
- v1[0]=0
- v2[0]=0
- i=0
- while t[i]<Tm:
- v1[i+1]=(-g/L)*x1[i] - (K/m)*(x1[i]-x2[i])
- v2[i+1]=(-g/L)*x2[i] - (K/m)*(x2[i]-x1[i])
- x1[i+1]=x1[i] + v1[i+1]*h
- x2[i+1]=x2[i] + v2[i+1]*h
- t[i+1]=t[i]+h
- i=i+1
- plt.subplot(211)
- plt.plot(t,x1)
- plt.subplot(212)
- plt.plot(t,x2)
- plt.show()