In [2]:
from pylab import *
from scipy import signal
from scipy.integrate import odeint
from matplotlib.pyplot import *
R=float(input("donner la valeur de la résistance en ohms svp : "))
L=float(input("donner la valeur de l'inductance en mili-Henri svp : "))
L=L*10**(-3)
C=float(input("donner la valeur de la capacité en micro-Farad svp : "))
C=C*10**(-6)
omega0=1/sqrt(L*C)
Q=L*omega0/R
print("Q= ",Q)
f=float(input("donner la valeur de la fréquence du fondamental en kHz pour le signal carré svp : "))
f=f*1000
def ue(t):
    return signal.square(2*pi*f*t,0.5)
# Définition du système différentiel linéaire def RLC(Uc,t):
def RLC(Uc,t):
    uc=Uc[0]
    ucpoint=Uc[1]
    return [ucpoint,omega0**2*(ue(t)-uc)-omega0/Q*ucpoint]
t0=0
T=1/f
tfin=10*T
t=linspace(t0,tfin,10000) 
uc0=float(input("donner la valeur de la tension uc initiale svp :")) 
ucpoint0=float(input("donner la valeur de la dérivée de uc initiale svp :" )) 
X=odeint(RLC,[uc0,ucpoint0],t) 
figure(figsize=(12,12),dpi=200)
subplot(211) 
plot(t,X[:,0],color='b') 
plot(t,ue(t),color='r') 
xlabel('t', fontsize = 20) 
ylabel('uc', fontsize = 20)
axis([0,tfin,-4,4]) 
subplot(212) 
plot(X[:,0],X[:,1]) 
xlabel('uc', fontsize = 20)
ylabel('$\dot{uc}$', fontsize = 20) 
tight_layout() 
show()
donner la valeur de la résistance en ohms svp : 9.5
donner la valeur de l'inductance en mili-Henri svp : 36
donner la valeur de la capacité en micro-Farad svp : 1
Q=  19.972279958958186
donner la valeur de la fréquence du fondamental en kHz pour le signal carré svp : 0.084
donner la valeur de la tension uc initiale svp :0
donner la valeur de la dérivée de uc initiale svp :0
In [ ]: