{ "cells": [ { "cell_type": "markdown", "metadata": { "tags": [ "Euler", "physique-chime", "pcm", "première-voie", "technologique" ] }, "source": [ "# Méthode d'Euler pour le calcul approché de primitives" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Présentation\n", "- **Voie et niveau de classe :** \n", " - Technologique : Première (spécialité physique-chimie et mathématiques)\n", "- **Référence au programme :** \n", " - Spécialité physique-chimie et mathématiques de première technologique : *Construire différents points d’une approximation de courbe intégrale par la méthode d’Euler.*\n", "- **Description de l'activité :** Cette activité permet aux élèves d'utiliser la méthode d'Euler pour obtenir des courbes approchées de primitives des fonctions $t\\mapsto \\frac{1}{t}$ et $t\\mapsto \\frac{1}{1+t^2}$. La méthode d'Euler est utilisée en physique.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implémentation de la méthode" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La fonction `Euler` prend en paramètres une fonction `f`, des flottants `a`, `Fa` et `b` et un entier `n`. Elle renvoie en sortie deux listes permettant de construire la courbe de la primitive de la fonction $f$ prenant en $a$ la valeur $F_a$, que l'on peut interpréter comme la solution de l'équation différentielle $y'(x)=f(x)$ vérifiant $y(a)=F_a$. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "def Euler(f,a,Fa,b,n):\n", " dt = (b-a)/n\n", " listeEulerAbscisse = [a]\n", " listeEulerOrdonnee = [Fa]\n", " x = a\n", " y = Fa\n", " for i in range(n):\n", " x = x + dt\n", " y = y + f(x)*dt\n", " listeEulerAbscisse.append(x)\n", " listeEulerOrdonnee.append(y)\n", " return listeEulerAbscisse,listeEulerOrdonnee" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "* **Expliquer un programme**\n", "\n", " - Que fait la fonction `Euler` ? \n", " - Que représente `Fa` à la ligne 4 ?\n", " - Que représente `dt` ?\n", " \n", "* **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 4, 6, 8 et 9 par `listeEulerOrdonnee = [...]`, `y = ...`, `x = ...`, `y = ...`, demander aux élèves de compléter les lignes 4, 6, 8 et 9.\n", " \n", "* **Écrire un programme**\n", " \n", " Écrire la fonction `Euler`.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Définition des fonctions sur lesquelles on souhaite appliquer la méthode d'Euler" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On applique la méthode d'Euler pour tracer les courbes approchées des primitives $F$ et $G$ des fonctions $f:t\\mapsto \\frac{1}{t}$ et $g:x\\mapsto \\frac{1}{1+t^2}$ vérifiant les conditions initiales $F(1)=0$ et $G(0)=0$." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def f(t):\n", " return 1/t\n", "\n", "def g(t):\n", " return 1/(1+t**2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", " \n", "* **Écrire un programme**\n", " \n", " Écrire les fonctions informatiques `f` et `g` représentant les fonctions mathématiques $f$ et $g$.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Représentation d'une primitive de la fonction $f:t\\mapsto \\frac{1}{t}$ par la méthode d'Euler" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On souhaite maintenant représenter une approximation de la fonction $F$ sur $[1,10]$ pour $1000$ itérations." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Importation de la bibliothèque graphique :" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from matplotlib.pyplot import plot,show" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "n = 1000\n", "\n", "X,Y = Euler(f,1,0,10,n)\n", "\n", "plot(X,Y,'b')\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "* **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant la ligne 3 par `X,Y = Euler(...)`, demander aux élèves de compléter la ligne 3.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Représentation d'une primitive de la fonction $g:t\\mapsto \\frac{1} {1+t^2}$ par la méthode d'Euler\n", "\n", "Dans cette partie, on souhaite approcher la courbe de la primitive $G$ de la fonction $g:t\\mapsto \\frac{1} {1+t^2}$ sur $[0,10]$ vérifiant $G(0)=0$.\n", "Il faut donc distinguer deux cas. Cette courbe va être construite en partant de $0$ vers la droite puis vers la gauche. L'un avec un $dt$ positif qui construira la courbe «vers la droite» et l'autre avec un $dt$ négatif qui construire la fonction «vers la gauche»." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "n = 1000\n", "\n", "# dt positif de x=0 à x=2\n", "X,Y = Euler(g,0,0,10,n)\n", "plot(X,Y,'b')\n", "# dt négatif de x=0 à x=-2\n", "X,Y = Euler(g,0,0,-10,n)\n", "plot(X,Y,'b')\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "* **Expliquer un programme**\n", "\n", " - Comment expliquer la symétrie de la courbe obtenue ?\n", " - Distinguer la partie de la courbe liée à la ligne 5 de celle liée à la ligne 7." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Animation susceptible d'être présentée aux élèves\n", "Cette animation permet de visualiser la construction approchée par la méthode d'Euler des primitives des fonctions $f:t\\mapsto \\frac{1}{t}$ et $g:x\\mapsto \\frac{1}{1+t^2}$ vérifiant les conditions initiales $F(1)=0$ et $G(0)=0$." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "import matplotlib.animation\n", "from IPython.display import HTML\n", "from matplotlib.pyplot import close,subplots\n", "#ctes: \n", "n =50\n", "#Création des figures\n", "fig, (ax1,ax2) = subplots(1, 2,figsize=(12, 6))\n", "courbeEulerG, = ax2.plot([],[],'.-',color=\"#1e7fcb\")\n", "courbeEulerD, = ax2.plot([],[],'.-',color=\"#1e7fcb\")\n", "courbeEuler, = ax1.plot([],[],'.-',color=\"#C4151C\")\n", "#Réglage des axes\n", "ax1.set_xlim(( 0.1, 40))\n", "ax1.set_ylim(( 0, 6))\n", "ax2.set_xlim(( -10, 10))\n", "ax2.set_ylim(( -2, 2))\n", "\n", "def init():\n", " global courbeEuler\n", " courbeEulerG.set_data([], [])\n", " courbeEulerD.set_data([], [])\n", " courbeEuler.set_data([], [])\n", " return (courbeEuler,) \n", "\n", "def animate(i):\n", " global courbeEuler,courbeEulerG,courbeEulerD\n", " n = i+1\n", " listeX1,listeY1 = Euler(f,1,0,40,n)\n", " \n", " listeX2dte,listeY2dte = Euler(g,0,0,10,n)\n", " listeX2gch,listeY2gch = Euler(g,0,0,-10,n)\n", " \n", " courbeEulerG.set_data(listeX2gch,listeY2gch)\n", " courbeEulerD.set_data(listeX2dte,listeY2dte)\n", " courbeEuler.set_data(listeX1,listeY1)\n", " ax1.set_title('Primitive de $t \\mapsto \\dfrac{1}{t}$',y=1.02,color=\"#C4151C\")\n", " ax2.set_title('Primitive de $t \\mapsto \\dfrac{1}{1+t^2}$',y=1.02,color=\"#1e7fcb\")\n", " return (courbeEuler,)\n", " \n", "close ()\n", "ani = matplotlib.animation.FuncAnimation(fig, animate, frames=n,init_func=init,blit=False,interval=200)\n", "# l'un ou l'autre\n", "HTML(ani.to_jshtml())\n", "#HTML(ani.to_html5_video())" ] } ], "metadata": { "celltoolbar": "Tags", "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.5.5" } }, "nbformat": 4, "nbformat_minor": 2 }