import matplotlib.pyplot as plt # pour le tracé graphique

## paramètres du circuit
R = 10**3    # Ohm
C = 3*10**-7 # F
tau = R*C    # constante de temps

## paramètres de résolution
t0 = 0               # instant initial
tf = 10*tau          # résolution sur l'intervalle [0,10*RC]
n = 1000             # nombre d'intervalles
h =  (tf-t0)/n                # à compléter : pas de calcul


## Utilisation de l'algorithme d'Euler pour l'étude de la charge du condensateur
e = 5 # Volt (Si E=5V)
t = [ t0 + i*h for i in range(0,n+1) ] # initialisation de la liste des instants
u = [ 0 for i in range(0,n+1) ] # initialisation de la liste des tensions
u[0] = 0   # condition initiale sur la tension u

## Remplissage de la liste avec les valeurs de u(ti)
for i in range(0,n):
    u[i+1] =  u[i] + (e-u[i])/tau*h               # à compléter avec la relation de récurrence

## Tracé de u en fonction de t
plt.plot(t,u) # tracé des valeurs de u en fonction des valeurs de t
plt.xlabel("t (s)")       # nom de l'axe des abscisse
plt.ylabel("uc (V)")      # nom de l'axe des ordonnées
plt.grid()
plt.title("Evolution temporelle de la tension aux bornes du condensateur lors de sa charge")
plt.show()                # affiche le graphe