Calcul de l'énergie consommée
Le système est composé de deux vérins électriques. On a à notre disposition la force dans chaque vérin et la position de chaque vérin. La puissance développée par un vérin est égale au produit de la force par la vitesse \(P(t) = F(t)\times V(t)\).
Il faut donc calculer la vitesse de translation des vérins à partir des positions.
Question
Définir une fonction \(\texttt{derive(t,f)}\) qui prend en arguments une vecteur \(\texttt{t}\) représentant l'abscisse et un vecteur \(\texttt{f}\) représentant l'ordonnée. Cette fonction renvoie une liste contenant la dérivée numérique à droite, à gauche ou centrée selon votre choix. Vous veillerez à ce que la liste retournée soit de la même taille que le temps \(\texttt{t}\).
Tester votre fonction sur la variable \(\texttt{test2}\) qui représente la fonction \(3t\). La dérivée est ainsi connue et doit être égale à 3.
Solution
# derivation numérique à droite
def derivee(temps, data):
vit = []
for i in range(1, len(data)):
vit.append((data[i]-data[i-1])/(temps[i]-temps[i-1]))
vit.append(vit[-1]) #la dernière vitesse est égale à la précédente
return vit
# derivation numérique centrée pour ceux qui veulent tester.
def derivee_centree(temps,data):
vit = [(data[1]-data[0])/(temps[1]-temps[0])]
for i in range(1, len(data)-1):
vit.append((data[i+1]-data[i-1])/(temps[i+1]-temps[i-1]))
vit.append(vit[-1]) #la dernière vitesse est égale à la précédente
return vit
Question
Utiliser votre fonction pour calculer la puissance totale \(P = F_1.V_1+F_2.V_2\).
Solution
#Q8
vit1 = array(derivee(temps,pos1))
vit2 = array(derivee(temps,pos2))
puissance = force1*vit1+force2*vit2
L'énergie consommée au cours du temps est l'intégrale sur le temps de la puissance.
Question
Tracer l'évolution de l'énergie consommée au cours du temps.
Solution
energ1 = integration_rectangle(temps, puissance)
figure(3)
plot(temps, energ1)

Question
Changer de méthode d'intégration : définir une fonction \(\texttt{integration_trapeze(t,f)}\) qui calcule l'intégrale à l'aide de la méthode des trapèzes. Tester votre fonction avec la variable \(\texttt{test2}\) dont la valeur de l'intégrale sur le temps complet est de 96. Appliquer la méthode d'intégration au calcul de l'énergie. Conclure.
Solution
def integration_trapeze(t, f):
s=[0]
for i in range(1,len(t)):
s.append(s[-1]+(f[i]+f[i-1])*(t[i]-t[i-1])/2.)
return array(s)