import matplotlib.pyplot as plt
import numpy as np

t=np.array([0,100,250,500,750,1000])
S=np.array([0.402,0.344,0.279,0.198,0.138,0.099])
### Q2
## Mise en oeuvre de la méthode intégrale A COMPLETER
# Coordonnées utilisées :
Y=np.log(S)
D=np.polyfit(t,Y,1)
Ymod=D[0]*t+D[1]

# Courbe(s) :
plt.plot(t,Y,"+",t,Ymod,"--")
plt.xlabel("t (min)")
plt.ylabel("ln([S])")
plt.legend(["exp","modèle"],loc="best")
plt.grid()
plt.show()

### Q3
## Estimation de la constante de vitesse apparente et de son incertitude-type A COMPLETER
# Avec régression linéaire :
print("valeur constante de vitesse apparente =",-D[0],"d'après régression linéaire") # A COMPLETER

# Par étude statistique :
k_lst=[]
for i in range(len(S)-1):
    k_lst.append(-(Y[i+1]-Y[0])/(t[i+1]-t[0]))

k=np.mean(k_lst)
u_k=(np.std(k_lst,ddof=1))/(len(S)-2)

print("valeur constante de vitesse apparente =",k,"d'après moyenne sur les mesures") # A COMPLETER
print("incertitude sur valeur constante de vitesse apparente =",u_k,"d'après écart-type sur les mesures") # A COMPLETER