import numpy as np
import matplotlib.pyplot as plt
#### Ratt
# Valeurs théoriques

VDmes =  # V

R1 =  #Ohm
C1 =   #F
f = 10000 #Hz
omega = 2*np.pi*f

# Entrez les précisions

DeltaR1 =    # Ohm
DeltaC1 =    # F


# Entrez la fonction de composition

def Ratt(R1,C1,omega):
    return (-2*R0)/(k*VE**2)

# Entrez le nombre de simulation que vous voulez effectuer

N = 100000

# Calculs avec une distribution de probabilité uniforme
R = []

for i in range(0,N):
    VD = np.random.uniform(VDmes-DeltaVD,VDmes+DeltaVD)
    R.append(Resistance(VD))

plt.figure(1)
plt.hist(Resistance,bins = 'rice')
plt.title('Résultat du tirage aléatoire de R après simulation')
plt.xlabel("f' (cm)")


# Calcul et affichage moyenne et écart type

moy = np.mean(Resistance)
std = np.std(Resistance,ddof=1)

print("Moyenne de R = {:.2f} cm".format(moy))
print("Ecart type de R = {:.2f} cm".format(std))

#### Xatt

# Mesures de VD

VDmes =  # V

R0 =  #Ohm

VE =  #V

# Entrez les précisions

DeltaVD =    # V


# Entrez la fonction de composition

def Reactance(VD):
    return (2*R0)/(k*VE**2)

# Entrez le nombre de simulation que vous voulez effectuer

N = 100000

# Calculs avec une distribution de probabilité uniforme
X = []

for i in range(0,N):
    VD = np.random.uniform(VDmes-DeltaVD,VDmes+DeltaVD)
    X.append(Reactance(VD))

plt.figure(1)
plt.hist(Focale,bins = 'rice')
plt.title('Résultat du tirage aléatoire de X après simulation')
plt.xlabel("f' (cm)")


# Calcul et affichage moyenne et écart type

moy = np.mean(Reactance)
std = np.std(Reactance,ddof=1)

print("Moyenne de X = {:.2f} cm".format(moy))
print("Ecart type de X = {:.2f} cm".format(std))