%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright 2015-2019 Louis Paternault --- http://ababsurdo.fr
%
% Publié sous licence Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
% http://creativecommons.org/licenses/by-sa/4.0/deed.fr
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Pour compiler :
%$ lualatex $basename
%$ lualatex $basename

\documentclass[12pt]{article}

\usepackage{1920-pablo}
\usepackage{1920-pablo-paternault}
\usepackage[a5paper, margin=1.0cm]{geometry}

\setlength{\parindent}{0pt}

\begin{document}

\begin{center}
  \large\textsc{Méthode d'Euler}
\hrule
\end{center}

On appelle \emph{équation différentielle} une équation mettant en œuvre une ou plusieurs \emph{fonctions} inconnues et leurs dérivées. Par exemple, trouver les fonctions $f$ telles que $f'\left( x \right)+2f\left( x \right)=0$. Ce genre d'équations sera étudié l'an prochain.

La \emph{méthode d'Euler} permet de trouver une solution approchée de certaines de ces équations.

\begin{exercice}[Expérimentations, et Calculs théoriques]~
  \begin{center}
    \begin{tikzpicture}[ultra thick, scale=1]
      \begin{scope}
        \clip (-3, 0) rectangle (5, 7);
        \draw[gray!50!white, thin, xshift=-0.5cm, yshift=-0.5cm] (-3, -1) grid (6, 8);
        \draw[gray, thin] (-3, 0) grid (5, 7);
      \end{scope}
      \draw[-latex] (-3, 0) -- (5, 0);
      \draw[-latex] (0, 0) -- (0, 7);
      \foreach \x in {-3, -2, ..., 5} {
        \draw (\x, 0) node[below, fill=white, opacity=.7, text opacity=1]{$\x$};
      }
      \foreach \y in {1, 2, ..., 7} {
        \draw (0, \y) node[left, fill=white, opacity=.7, text opacity=1]{$\y$};
      }

      \draw[domain=-3:5,smooth,variable=\x,blue] plot ({\x},{\x*\x/4});

    %\draw[dashed] (2, 0) node[below]{$x$} -- (2, {2*2/4}) node{$\bullet$} -- (0, {2*2/4}) node[left]{$f\left( x \right)$};
    %\draw[dashed] (3, 0) node[below]{$x+h$} -- (3, {3*3/4}) node{$\bullet$} -- (0, {3*3/4}) node[left]{$f\left( x +h\right)$};
    %\draw[latex-latex] (2, -1) -- (3, -1) node[below, midway]{$h$};
    %\draw[dotted] (1, 0) -- (4, 3);
    \end{tikzpicture}
  \end{center}

  \begin{enumerate}
    \item On a tracé ci-dessus la courbe $\mathcal{C}_f$ de la fonction $f:x\mapsto \frac{x^2}{4}$.
      \begin{enumerate}
        \item Dériver la fonction $f$.
        \item Calculer $f'(2)$, puis tracer la tangente à la courbe $\mathcal{C}_f$ au point d'abscisse -2.
        \item Que peut-on dire de la courbe de $f$, et de sa tangente, pour des abscisses très proches de -2 ?
      \end{enumerate}
    \item On cherche à résoudre de manière approchimative l'équation différentielle :
      \begin{equation}\label{eq:exemple}
      \left\{\begin{array}{l}
          2f\left( x \right)-xf'\left( x \right)=0\\
          f\left( -2 \right) = 1 \\
      \end{array}\right.
    \end{equation}

      \begin{enumerate}
        \item\label{q:isoler} Isoler $f'\left( x \right)$ dans l'équation \ref{eq:exemple}.
        \item Placer le point de coordonnées $\left( -2; f\left( -2 \right) \right)$.
        \item\label{q:fprime} En utilisant l'équation \ref{eq:exemple}, calculer $f'\left( -2 \right)$, puis tracer le segment de la droite passant par le point de coordonnées $\left( -2; f\left( -2 \right) \right)$, et de coefficient directeur $f'(-2)$, pour $x\in\left[ -2; -1 \right]$.
      \end{enumerate}
      Puisque la courbe de la fonction et sa tangente sont très proches pour des abscisses proches de 2, on suppose ici que la tangente correspond \emph{exactement} à la courbe de la fonction. C'est une approximation, fausse, mais cela nous permettra d'obtenir une solution \emph{approchée} de l'équation différentielle.
      \begin{enumerate}[resume]
        \item\label{q:etape2} En supposant que le « morceau » de tangente que nous avons tracé est la courbe de $f$, lire graphiquement la valeur de $f(3)$.
        \item Répéter les questions \ref{q:fprime} et \ref{q:etape2} à partir d'une abscisse $x=-1$.
        \item Répéter les mêmes questions pour les abscisses $x=0$, puis $x=1$, et ainsi de suite jusqu'à $x=4$ (on remarque alors que la question \ref{q:etape2} est inutile).
      \end{enumerate}
    \item \emph{Précision de la solution.}
      \begin{enumerate}
        \item Vérifier par le calcul que la fonction $f:x\mapsto\frac{x^2}{4}$ est une solution de l'équation \ref{eq:exemple}.
        \item Comparer la courbe tracée à cette question, et la courbe de la fonction $f$. Comment faire pour améliorer la précision du tracé ?
      \end{enumerate}
    \item \emph{Généralisation.} Soit $f$ une fonction dérivable, et $a$ un réel de son ensemble de définition.
      On suppose que pour des valeurs de $h$ suffisament petites, $f\left( a+h \right)$ est exactement égale à l'image de $a+h$ par la tangente à $f$ en $a$.
      \begin{enumerate}
        \item Rappeler l'équation de la tangente à $f$ au point d'abscisse $a$.
        \item En déduire l'expression de $f\left( a+h \right)$ en fonction de $f\left( a \right)$, $f'\left( a \right)$ et $h$.
      \end{enumerate}
  \end{enumerate}
\end{exercice}

\pagebreak

\begin{exercice}[Mise en œuvre informatique]~
  \begin{enumerate}
  \item \emph{Exemple (fait avec le professeur).} Télécharger le fichier \texttt{exo-euler-exemple.py}, ouvrez-le avec le logiciel Thonny, complétez-le (remplacez les \texttt{???} par les bonnes formules), puis exécutez-le. Une approximation de la courbe de la fonction $x\mapsto \frac{x^2}{4}$ (solution de l'équation différentielle \ref{eq:exemple}) devrait s'afficher à l'écran.
    \item\label{q:chimie}\emph{Cinétique chimique.} La réaction de l'oxydation du sulfite de cuivre peut être modélisée par les équations suivantes.
      \[\left\{\begin{array}{rclp{9em}}
          A &\longrightarrow& B & Réaction lente\\
          B + B &\longrightarrow& C + B & Réaction très rapide \\
          B + C &\longrightarrow& A + C & Réaction rapide
      \end{array}\right.\]

      On appelle $a$, $b$ et $c$ les quantités (en unité arbitraire) des composants $A$, $B$ et $C$ au cours du temps : $a\left( 0 \right)$ est la quantité de $A$ initiale ; $b\left( 3 \right)$ est la quantité de $B$ au bout de trois secondes, etc. Ces fonctions $a$, $b$, $c$ vérifient le système d'équations différentielles suivant (avec $k_1=0,04$, $k_2=3$, $k_3=0,1$) :

      \[\left\{\begin{array}{rcrccccc}
          \multicolumn{8}{p{16em}}{$a\left( 0 \right)=1$ ; $b\left( 0 \right)=0$ ; $c\left( 0 \right)=0$} \\
          a'\left( t \right) &=& -&k_1a\left( t \right)&+&k_3b\left( t \right)c\left( t \right)\\
          b'\left( t \right) &=&  &k_1a\left( t \right)&-&k_3b\left( t \right)c\left( t \right)&-&k_2b\left( t \right)^2\\
          c'\left( t \right) &=&  &                    & &                                     & &k_2b\left( t \right)^2\\
      \end{array}\right.\]

      Copiez dans votre répertoire personnel le fichier \texttt{exo-euler-chute.py}. Ouvrez-le avec le logiciel Thonny, complétez les trous (remplacez les \texttt{???} par les bonnes formules), puis exécutez le fichier pour tracer (une approximation de) la représentation graphique des fonctions $a$, $b$ et $c$.

      Appelez le professeur pour vérifier votre travail.
    \item\label{q:chute}\emph{Chute libre.} En mécanique, deuxième loi de Newton (ou « principe fondamental de la dynamique ») donne la relation entre l'accélération d'un corps de masse $m$ et les forces extérieures s'appliquant à ce corps :
      \[\displaystyle\sum\vecteur{F}=m\vecteur{a}\]

      Un mobile en chute libre n'est soumis qu'à la gravité, qui s'exprime comme $m\vecteur{g}$ (où $\vecteur{g}$ est un vecteur vertical, orienté vers le bas, de norme $g$, intensité de la pesanteur).

      Par définition, l'accélération $\vecteur{a}$ d'un mobile est égale à la dérivée de sa vitesse $\vecteur{v}$, elle même égale à la dérivée de sa position $\vecteur{r}$. L'équation différentielle vérifiée par la position $\vecteur{r}$ est donc :
      $m\frac{d^2\vecteur{r}}{dt^2}=-mg\vecteur{z}$ (où $\frac{d^2f}{dt^2}$ est la notation « physicienne » pour $f''(t)$, la dérivée seconde de $f$). Cela donne, en décomposant selon deux coordonnées (on se place dans un plan vertical) :
      \[\left\{\begin{array}{rcl}
          \multicolumn{3}{p{16em}}{$x\left( 0 \right) = 0$ ; $z\left( 0 \right) = 0$} \\
          \multicolumn{3}{p{16em}}{$x'\left( 0 \right) = 10$ ; $z'\left( 0 \right) = 10$} \\
          mx''\left( t \right) &=& 0\\
          mz''\left( t \right) &=& -mg\\
      \end{array}\right.\]
      Copiez dans votre répertoire personnel le fichier \texttt{exo-euler-chute.py}. Ouvrez-le avec le logiciel Thonny, complétez les trous (remplacez les \texttt{???} par les bonnes formules), puis exécutez le fichier.

      Appelez le professeur pour vérifier votre travail.
    \item Répondre aux questions suivantes, dans l'ordre de votre choix.
      \begin{enumerate}
        \item Dans la question \ref{q:chute} (chute libre), ajouter un des paramètres suivants :
          \begin{enumerate*}[(i)]
          \item le rebond du mobile, quand il atteint le sol en $z=0$ ;
          \item la résistance de l'air (ou le vent), dont il faudra déterminer une expression, qui applique une force horizontale à l'objet.
          \end{enumerate*}
        \item Utiliser cette méthode pour résoudre un autre problème, par exemple un des problèmes suivants. Pour chacun, il faudra déterminer (en étudiant le problème, ou par une recherche sur internet) une équation différentielle modélisant le problème, et appliquer la méthode d'Euler pour le résoudre.
          \begin{enumerate}
            \item Mouvement d'une masse accrochée à un ressort. Dans un premier temps, on pourra ignorer le frottement, puis le rajouter, puis considérer un mouvement entretenu (ce qui est le cas pour un séisme). Voir par exemple : \url{http://fr.wikipedia.org/wiki/Système_masse-ressort}.
            \item Étude de la taille des populations d'une proie et d'un prédateur (lions et antilopes, requins et sardines, trolls et gobelins, etc.). Voir par exemple : \url{https://fr.wikipedia.org/wiki/Équations_de_Lotka-Volterra}.
            \item Un autre problème de votre choix.
          \end{enumerate}
      \end{enumerate}
  \end{enumerate}
\end{exercice}

\end{document}
