import numpy as np
import matplotlib.pyplot as plt

# dérivation
lt=[0,1,3,5,8,11,13,16,17,18,21]
lx=[0,12,20,29,36,41,45,48,46,41,24]
plt.plot(lt,lx,'*')
plt.grid()
plt.xlabel('t(s)')
plt.ylabel('x(m)')
plt.show()

lv=[0]
for i in range (len(lt)-1):
    lv.append((lx[i+1]-lx[i])/(lt[i+1]-lt[i]))
plt.plot(lt,lv,'*')
plt.grid()
plt.xlabel('t(s)')
plt.ylabel('v(m/s)')
plt.show()

#intégration
g,R,T,m=9.8,1,0.2,0.25
tf,N=1,1000
dt=tf/N
lt=[0]
ltheta=[0]
lthetapoint=[2]
for i in range(N):
    c=g/R*np.sin(ltheta[i])-T/m/R
    lt.append(lt[i]+dt)
    lthetapoint.append(lthetapoint[i]+c*dt)
    ltheta.append(ltheta[i]+lthetapoint[i]*dt)
plt.plot(lt,ltheta)
plt.grid()
plt.xlabel('t(s)')
plt.ylabel('theta(rad)')
plt.show()

    