On cherche à modéliser la charge d’un condensateur dans un circuit RC série soumis à une tension continue .
À , l’interrupteur est fermé. Le condensateur est initialement déchargé.
1/ Montrer que vérifie l’équation différentielle
La loi des mailles s’écrit avec et . Donc
2/ Que vaut ?
On souhaite résoudre numériquement cette équation différentielle à l’aide de la méthode d’Euler explicite. On note la tension discrétisée.
3/ Établir une relation de récurrence sur .
La relation de Taylor à l’ordre 1 donne
4/ Écrire une suite d’instructions permettant de calculer les valeurs successives de . On prendra , , , et on effectuera itérations.
R = 1e3
C = 1e-6
E = 5
Delta_t = 0.2e-3
N = 25
u = [0] # u(0) = 0 V
for i in range(N):
u.append(u[i] + Delta_t * (-1/(R * C) * u[i] + 1/(R * C) * E))5/ Tracer l’évolution de en fonction du temps. Comparer avec la solution analytique que vous calculerez et tracerez également.
La solution analytique est
import numpy as np
import matplotlib.pyplot as plt
temps = [i * Delta_t for i in range(N + 1)]
u_analytique = [E * (1 - np.exp(-t / (R * C))) for t in temps]
plt.plot(temps, u, label='Numérique (Euler explicite)')
plt.plot(temps, u_analytique, label='Analytique')
plt.xlabel('Temps (s)')
plt.ylabel('Tension u (V)')
plt.legend()
plt.show()6/ Observer qualitativement l’effet de la valeur de sur la précision de la solution numérique.