Module & Argument
✎ Travail n° 1 Fonction de transfert n°1
🎯 Travail à faire :
Faire le TD Fonction de transfert 1 [1]
✎ Travail n° 2 Fonction de transfert n°2
🎯 Travail à faire :
Faire le TD Fonction de transfert 2 [1]
💻 Travail n° 3 Programmation Python
Ci-dessous figure un script Python qui répond à la question 5b) du TD du travail n°1.
import cmath as cm
import numpy as np
import matplotlib.pyplot as plt
# Fonction de transfert isochrone
def H(x) :
return 10 / (1 + x*1j)
#Point d'entrée du script
if __name__ == "__main__":
# Domaine de définition
# -> de 0 à 10 en 100 pas répartis
pulsationsReduites = np.linspace(0, 10, 100)
# Calcul des modules et arguments de H(x) pour les
# différentes valeurs des pulsations réduites
modules = np.absolute(H(pulsationsReduites))
arguments = np.angle(H(pulsationsReduites))
# Création d'une figure comportant 2 courbes
fig, (axg, axp) = plt.subplots(2,1,layout="constrained")
# Tracé des courbes de gains (axg) et de phases (axp) dans la figure
axg.set_xscale('log')
axg.plot(pulsationsReduites
, modules
, "blue"
)
axp.set_xscale('log')
axp.plot(pulsationsReduites
, arguments
, "green"
)
# Ajout des labels
axg.set_ylabel('Gain [db]')
axg.set_xlabel(r'x = $\omega$/$\omega_0$')
axp.set_ylabel('Phase [rad]')
axp.set_xlabel(r'x = $\omega$/$\omega_0$')
# Ajout des grilles
for ax in (axg, axp):
ax.grid(True)
ax.grid(which='minor')
# Affichage de la figure
plt.show()
Voici les courbes produites par ce script :
🎯 Travail à faire :
-
S’appuyer sur ce script pour en créer un nouveau qui permet de répondre aux questions 2 et 3 du TD du travail n°2.
Question 2.Les fonctions
real()
etimag()
de Numpy permettent respectivement de calculer les parties réelles et imaginaires d’un nombre complexe.Exemple :
demo.pyimport numpy as np z = 10 - 5j re = np.real(z) im = np.imag(z) print(f"Re{z} = {re} / Im{z} = {im}")
Résultat d’exécution :
> python demo.py Re(10-5j) = 10.0 / Im(10-5j) = -5.0
-
Analyser les courbes produites pour répondre à la question 4 du TD.
-
Répondre à la question 5 du TD en faisant afficher par votre script Python le déphasage maximal introduit par le filtre.
Question 5Le maximum d’un tableau Numpy est obtenu avec la fonction
max()
.Exemple :
demo.pyimport numpy as np tab = np.array([1, -5, 2, 3.14, 10, 9.89, 5, 3]) print(f"max. tab = {np.max(tab)}")
Résultat d’exécution :
> python demo.py max. tab = 10.0
🞄 🞄 🞄