La page ci-présente existe en version notebook téléchargeable grâce au bouton Bouton (choisir le format .ipynb). On rappelle qu’l faut ensuite l’enregistrer dans un répertoire adéquat sur votre ordinateur (capa_num par exemple dans votre répertoire personnel) puis lancer Jupyter Notebook depuis Anaconda pour accéder au notebook, le modifier et exécutez les cellules de code adéquates.

3.5. Implémentation complète#

3.5.1. Implémentation du schéma d’Euler#

Exercice 1

  1. Commencer par importer les bibliothèques scientifiques utiles : numpy, matplotlib.pyplot

  2. Ecrire une fonction euler

    • qui prend en arguments :

      • une variable f qui sera une fonction

      • un flottant y0 correspond à y(t=0)

      • un flottant h qui sera le pas h d’intégration

      • deux flottants t0 et tf donnant les temps initiaux et finaux de l’intervalle sur lesquels on va intégrer le signal (Note : tf ne sera pas forcément atteint)

    • et qui renvoie deux vecteurs numpy :

      • le premier contient les temps tk où on a évaluer la fonction (on commence à t0)

      • le second contient les valeurs estimées de y(tk) (yk).

Click to show
"""Ne pas oublier d'importer les bibliothèques scientifiques"""

3.5.2. Application au régime libre et à l’échelon de tension.#

On prendra τ=1. Il s’agit de vérifier que la fonction précédente fonctionne correctement. Si vous avez fait la comparaison dans l’étude de base, vous pouvez réutiliser une bonne partie du code pour le tracé graphique en choisissant bien le nom de vos variables.

Exercice 2

  1. Préciser l’expression de la fonction f(t,y) dans le cas d’un régime libre et d’un échelon de tension (E=1V) puis implémenter deux fonctions f_libre et f_echelon correspondant à ces fonctions (mettre les arguments t et y même s’ils n’interviennent pas dans la fonction).

  2. Définir deux fonctions sol_libre et sol_echelon qui prennent comme argument t, t1 et y0 et qui renvoient respectivement les solutions pour un régime libre puis pour un échelon de tension avec comme condition initiale y(t1)=y0.

  3. Utiliser le schéma d’Euler que vous avez implémenté pour résoudre numériquement le cas d’un régime libre et d’un échelon de tension. Choisir un pas d’intégration pas=11000τ

  4. Tracer sur le même graphique la réponse numérique et la réponse analytique pour un régime libre puis pour un échelon de tension.

Click to show
"""La fonction euler que vous avez défini précédemment est accessibles"""

3.5.3. Erreur et pas d’intégration#

Inutile de faire cette partie si vous l’avez dans l’étude de base.

Exercice 3

  1. Reprendre l’exercice précédent mais en affichant deux graphiques (1 colonne et deux lignes) : les solutions analytique et numérique précédentes sur le premier et la valeur absolue des écarts entre les deux solutions sur le second graphique.

  2. Etudier l’évolution des erreurs en fonction du pas d’intégration (commencer par un pas égal à τ puis diviser successivement par 5 le pas).

Pour vous aider sur la manière de tracer une fenêtre multi-graphique, utiliser cet élément de cours.

Informations utiles:

  • Vous pouvez tout à fait créer un tracé (ax[0].plot(...)) à l’intérieur d’une boucle pour superposer plusieurs courbes.