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.

4.3. Implémentation basique#

4.3.1. Schéma d’euler - Système d’équations#

On va chercher à résoudre le système suivant:

\[\begin{split} \begin{cases} \frac{\rm{d}u}{\rm{dt}} = - \frac{1}{\tau} v - \frac{2}{\tau}u\\ \frac{\rm{d}v}{\rm{dt}} = - \frac{1}{\tau} v - \frac{1}{\tau}u \end{cases} \end{split}\]

avec \(v(t=0) = 2\), \(u(t=0) = 0\), \(\tau = 1\)

Exercice 1 :

  1. Copier-coller la fonction euler que vous avez écrite pour la séance précédente. Si le corps de la fonction ne change pas, sa signature change:

euler(f:callable, y0: numpy.ndarray, t0: float, tf: float, pas: float) -> (numpy.ndarray, numpy.ndarray)
  1. Ecrire une fonction F(t:float, Y:numpy.ndarray) -> numpy.ndarray qui renvoie la fonction \(F\) du schéma d’Euler précédent. Attention, cette fois, Y est un vecteur (dont les composantes sont \(u_k\) et \(v_k\)) et \(F\) renvoie un vecteur (dont les composantes sont \(\frac{\rm{d}u}{\rm{dt}}(t_k)\) et \(\frac{\rm{d}v}{\rm{dt}}(t_k)\) obtenus à partir du système d’équations). Veillez à renvoyer un vecteur et non une liste (pourquoi ?).

  2. Utiliser la fonction euler pour obtenir \(Y(t)\) puis tracer \(u(t)\) et \(v(t)\) entre \(t=0\) et \(t=10\). A vous de choisir le pas d’intégration sachant que \(\tau\) est à peu près le “temps caractéristique” du système.

  3. Obtenir la solution grâce aux fonction odeint ou solve_ivp puis les tracer pour vérifier que vous obtenez le même tracé.

"""Ne pas oubliez d'importer les bibliothèques scientifiques."""

4.3.2. Schéma d’Euler - Ordre 2#

On veut résoudre l’équation différentielle suivante:

\[ \frac{\rm{d^2}u}{\rm{dt^2}} = - \frac{3}{\tau}\frac{\rm{d}u}{\rm{dt}} - \frac{1}{\tau}u \]

On va donc travailler avec le vecteur :

\[\begin{split} Y(t)= \begin{pmatrix} u(t)\\ \frac{\rm{d}u}{\rm{dt}}(t) \end{pmatrix} \end{split}\]

Exercice 2 :

  1. La fonction euler a-t-elle besoin d’être modifiée ?

  2. Ecrire une fonction F2(t, Y) correspondant au schéma d’Euler comme expliqué précédemment.

  3. Obtenir la solution sur le même intervale de temps que dans l’exercice précédent et vérifier que la solution coïncide avec la solution trouvée avec un système d’équations.