Fonctions circulaires

✎ Travail n° 1 TD sinus

Faire les exercices présents dans ce document pdf

💻 Travail n° 2 Tracé avec Matplotlib

Ci-dessous figure le listing d’un script Python qui permet de tracer une sinusoïde :

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as tck

# Paramètres de la sinusoïde
frequence = 50  # Fréquence en Hz
amplitude = 20 # amplitude de la tension en V
phaseOrigine = 0 # phase à l'origine en radians
pulsation = 2 * np.pi * frequence # pulsation en rad/s
nbPoints = 100 # nombre de points pour chaque courbe
dureeTrace = 0.080 # durée du tracé en secondes

# Répartition homogène des antécédents sur la durée 
# du tracé dans un tableau Numpy
temps = np.linspace(0,dureeTrace,nbPoints)

# Définitions de la sinusoïde
sinusoide = amplitude * np.sin(pulsation * temps + phaseOrigine) (1)

# Création d'une figure Matplotlib
fig, ax = plt.subplots(layout="constrained")

# Configuration de la grille de la courbe
ax.xaxis.set_major_locator(tck.MultipleLocator(0.005)) # une graduation principale toutes les 5ms
ax.xaxis.set_minor_locator(tck.MultipleLocator(0.001)) # une graduation secondaire toutes les 1ms
ax.xaxis.set_major_formatter(lambda x, pos: str(round(x*1000))) # valeurs graduations en ms plutôt qu'en s

ax.yaxis.set_major_locator(tck.MultipleLocator(10)) # une graduation verticale principale toutes les 10 unités
ax.yaxis.set_minor_locator(tck.MultipleLocator(5)) # une graduation verticale secondaire toutes les 5unités

ax.grid(which='major', color='#888888', linewidth=0.8) # couleur/largeur lignes des graduations principales
ax.grid(which='minor', color='#AAAAAA', linestyle=':', linewidth=0.5) # couleur/largeur lignes des graduations secondaires

# Tracé de la sinusoïde
ax.plot(temps, sinusoide, "blue")

# Configuration de la figure
ax.set_xlabel("Temps (ms)") # libellé axe abscisses
ax.set_title("Signal sinusoïdal") # titre
ax.legend(["$f(t) = sin(100 \pi \cdot t)$"],  loc='upper right', ncol=2) # légende placée en haut à droite

# Affichage de la figure
plt.show()
1 On utilise ici np.sin() du module Numpy qui permet d’appliquer un calcul à un ensemble de valeurs (→ tableau temps)
sinusoide contiendra l’ensemble des images des antécédents présents dans temps

Voici le résultat obtenu :

template sinusoide
  1. Analyser le script et le modifier de façon à tracer la courbe étudiée dans l’exercice n°1 du TD du Travail n°1 sur l’intervalle [0…​20ms] :

    sinus latex

    Vous veillerez à modifier l’emplacement des graduations verticales pour obtenir le résultat suivant :

    trav02a corrige

    Dans le module Numpy :

    • la fonction racine carrée est np.sqrt()

    • la valeur de pi est obtenue avec np.pi

  2. Tracer une 2ème sinusoïde sur la même figure qui est de même fréquence que la 1ère mais est en avance de phase de π/4 sur celle-ci et dont l’amplitude est 2 fois moindre.

    Résultat attendu :

    trav02b corrige

🞄  🞄  🞄