

## Détermination de l'inductance et de son incertitude
import numpy as np
import matplotlib.pyplot as plt
import numpy.random as rd

# Valeurs de C et de f
C = 27.40*10**(-9) # Farad
f = 2986  # Hz

# Entrez les incertitudes type
uC = 4.16*10**(-10) # Farad
uf = 11 # Hz


# Entrez le nombre de simulation que vous voulez effectuer
N = 100000


# Entrez la fonction de composition
f_MC = f + rd.uniform(-uf*np.sqrt(3), uf*np.sqrt(3), N)
C_MC = C + rd.uniform(-uC*np.sqrt(3), uC*np.sqrt(3), N)
L_MC = 1/(39.4784176*C_MC*f_MC**(2))


# Représentation de l'histogramme de L
plt.hist(L_MC, bins='rice')
plt.show()

# Calculs avec une distribution de probabilité uniforme
L = 1/(39.4784176*C*f**(2))
L_moy = np.average(L_MC)
u_L = np.std(L_MC, ddof=1)
u_L_prop = (L)* np.sqrt((uC/C)**2 + 4*(uf/f)**2)

# Affichage des résultats
print("L =", L)
print('L_moy =',L_moy)     #choix alternatif
print('u(L) MC =', u_L)
print('u(L) propagation = ', u_L_prop)


