﻿import matplotlib.pyplot as plt
import numpy as np
from scipy.integrate import odeint

tau= # temps caractéristique à completer
dt=   # à definir. dt doit être grand ou faible devant tau ?
N=1000 # Nombre de points de mesure. à modifier si necessaire ( N*dt >5 tau )
temps = np.linspace(0, (N-1)*dt,N) # une liste qui contient N valeurs de temps espacés de dt. temps = [0,dt,2dt..., N-1 dt]

# définition du signal d'entrée échelon
E_0 = 4 # amplitude crête à crête du signal
e= E_0*np.ones(N)

# définition du signal créneau
E_0 = 10
e1= np.zeros(N)
for i in range(int(N/2)):
    e1[i]=E_0
for i in range (int(N/2), int(N)):
    e1[i] =0
# définition du signal d'entrée rampe ( tension proportionnelle au temps )
E_0 = 10
e2= E_0*temps

# définition du signal d'entrée triangle
E_0 = 10
e3= np.zeros(N)
for i in range(int(N/2)):
    e3[i]=E_0*temps[i]
for i in range (int(N/2), int(N)):
    e3[i] =E_0*(2*temps[int(N/2)]- temps[i])

# calcul de la tension de sortie
s=np.zeros(N)
s_0 = .. # condition initiale sur s, à completer
s[0]=s_0
for i in range(N-1) :
    s[i+1] = .. # à completer. s[i+1] correspond à la valeur du signal à t+dt =i*dt+dt. s[i] correspond à la valeur du signal de sortie à t= i*dt

plt.plot(temps,s) # à completer pour rajouter la légende 
plt.plot(temps, e) # à completer pour rajouter la légende 
plt.    # à completer pour afficher la légende
plt.     # à completer pour afficher le graphique