{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapitre 17 Ondes mécaniques périodiques\n", "\n", "## Exercice 16 p 356 : Représenter un signal périodique\n", "\n", "**Enoncé :** \n", "Le programme suivant permet de représenter l'élongation $y_{\\mathrm{S}}(t)$ de l'extrémité S d'une corde dont la représentation temporelle est donnée dans l'exercice 15. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*La ligne 8 de la cellule suivante est à compléter en tenant compte de la période du signal déterminée dans l'exercice 15.*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#!/usr/bin/python \n", "# -*- coding: utf-8 -*-\n", "from matplotlib import pyplot as plt\n", "from math import ceil\n", "\n", "n = 7 # Nombre de points décrivant une impulsion\n", "Delta_t = 8 # ∆t entre 2 positions successives (en ms)\n", "T = ... # Période du signal (en ms)\n", "tmax = 180 # Date de fin (en ms)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">\n", "**Question a :** \n", "Les listes `t` et `y`, introduites lignes 4 et 5 de la cellule suivante, définissent les coordonnées de l’élongation $y(t)$ de S pour une impulsion de durée 48 ms débutant à l’instant de date `t0`. \n", "*Décrire l’action des lignes 5 et 6 sur ces deux listes et l’intérêt de ces instructions.*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Fonction représentant un motif de durée T commençant à t\n", "def motif(t0,T):\n", " \"\"\"t0=date de début du motif en ms, T=période en ms\"\"\"\n", " t = [t0+Delta_t*i for i in range(n)]\n", " y = [0,1,2,1,0,-1,0]\n", " t.append(t0+T)\n", " y.append(0)\n", " return plt.plot(t,y,'r')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">\n", "**Question b :** \n", "*Décrire l’action de la boucle* `for` *lignes 3 et 4 de la cellule suivante pour la représentation du signal périodique.*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Représentation du signal périodique entre t=0 et tmax\n", "N=ceil(tmax/T) # Nombre de périodes arrondi à l'entier supérieur\n", "for i in range(N):\n", " motif(i*T,T)\n", "plt.xlim(0,tmax)\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">\n", "**Question c :** \n", "*Proposer une modification de la ligne 4 de la cellule précédente afin de représenter au cours du temps l’élongation d’un point M présentant un retard de 50 ms par rapport à la source S.*" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }