import matplotlib.pyplot as plt
import numpy as np
import numpy.random as rd
from math import *


mexp=0.1    # à saisir valeur de m mesuré
Texp=  1   # à saisir valeur de T mesurée
# estimation d'une "précision" sur la mesure (valeur de delta_x qui garantit à 100% que la grandeur mesurée est dans l'intervalle [x-delta_x ; x+delta_x])
delta_m=0.01   # à saisir dans la même unité que mexp
delta_T= 0.1  # à saisir dans la même unité que Texp

# incertitude-type sur x et y
u_m=delta_m/np.sqrt(3)   # voir fiche incertitude
u_T=delta_T/np.sqrt(3)


# simulation de Monte-Carlo

# pour générer une liste de 1000 points tirés aléatoirement dans les boites d'incertitudes
liste_k= []
for i in range (1000):
    mMC=mexp+rd.uniform(-delta_m,delta_m,1) # une valeur de m possible compte tenu de l'incertitude
    TMC= Texp+rd.uniform(-delta_T,delta_T,1)

    kMC= mMC/TMC**2* 2*pi# à completer à partir de mMC et TMC pour donner la valeur de k à partir de m et T
    liste_k.append(kMC)
k=np.mean(liste_k)
u_k=np.std(liste_k) #écart-type et l'incertitude sur k

print("kexp = (",format(k,'.4g'), "+-",format(u_k,'.2g'),") unité de k")
