{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "B9Lb9xIM7qQn", "tags": [ "dérivée", "fonction", "taux", "accroissement", "sécante" ] }, "source": [ "# Dérivée d'une fonction" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "première-générale", "première" ] }, "source": [ "## Présentation de l'activité\n", "- **Niveau de classe :** \n", " - Classe de première de la voie générale (spécialité mathématiques).\n", " - Classe de première de la voie technologique (tronc commun).\n", "- **Références aux programmes :**\n", " - Spécialité de première générale : *écrire la liste des coefficients directeurs des sécantes pour un pas donné.*\n", " - Enseignement commun de première technologique : *à l'aide d'un logiciel, visualiser la position limite des sécantes à une courbe en un point.*\n", "- **Description :** \n", " Activité d'introduction de la notion de dérivée en distinguant le point de vue local (nombre dérivé) et le point de vue global (fonction dérivée)." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "I8nawpIfRTz6" }, "source": [ "## Nombre dérivé d'une fonction en un point\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "q9znBxZO88Bw" }, "source": [ "##### Définition\n", "Le nombre dérivé d’une fonction $f$ en un point $x_0$ est la limite (lorsqu'elle existe) du taux de variation de $f$ en ce point.\n", "C'est la limite de la pente des sécantes issues du point de la courbe d'abscisse $x_0$ :\n", "$$ \\lim _{h\\rightarrow 0} \\frac{f(x_0+h)-f(x_0)}{h}=f'(x_0).$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pente d'une sécante en un point\n", "La fonction `coefDirSecante` calcule la pente de la sécante à la courbe représentative d'une fonction $f$ préalablement définie (ci-dessous la fonction carré) entre le point d'abscisse $x_0$ et le point d'abscisse $x_0+h$." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 34 }, "colab_type": "code", "id": "smh-Fx1hIHAi", "outputId": "0295e75e-4dad-44d1-c18b-dd3a434d114b" }, "outputs": [ { "data": { "text/plain": [ "2.100000000000002" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def f(x):\n", " return x**2\n", "\n", "def coefDirSecante(x0,h):\n", " coef=(f(x0+h)-f(x0))/h\n", " return coef\n", "\n", "coefDirSecante(1,0.1)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "o6xJmnyZdLCU" }, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "* **Expliquer un programme**\n", "\n", " Que représentent les paramètres de la fonction `coefDirSecante` ?\n", " \n", "* **Écrire un programme**\n", " \n", " - Modifier le contenu de la fonction `f`. \n", " - Écrire la fonction `coefDirSecante`.\n", " \n", "* **Tester** la fonction `coefDirSecante` pour $x_0=1$ et pour de petites valeurs de $h$. \n", "\n", " En déduire une valeur approchée de $f'(1)$ où $f$ désigne la fonction carré.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Sécante passant par les points $(x_0, f(x_0))$ et $(x_0+h,f(x_0+h))$**\n", "\n", "On cherche à tracer la sécante à la courbe représentative de la fonction $f$ passant par les points d'abscisses $x_0$ et $x_0+h$. La fonction `secante` prend en paramètres les deux nombres flottants $x_0$ et $h$, et renvoie les listes $[x_0,x_0+h]$ et $[f(x_0),f(x_0+h)]$ afin de tracer la sécante avec `matplotlib`." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([1, 1.1], [1, 1.2100000000000002])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def secante(x0,h):\n", " return [x0,x0+h],[f(x0),f(x0+h)]\n", "\n", "secante(1,0.1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Liste des coefficients directeurs de sécantes en un point**\n", "\n", "On souhaite afficher la liste des pentes des sécantes à la courbe représentative de la fonction $f$ passant par les points d'abscisse $x_0$ et $x_0+h$ pour des valeurs de $h$ tendant vers $0$. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[3.0,\n", " 2.9,\n", " 2.8000000000000003,\n", " 2.6999999999999997,\n", " 2.600000000000001,\n", " 2.5,\n", " 2.399999999999999,\n", " 2.3000000000000003,\n", " 2.2,\n", " 2.1000000000000023]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def listeCoefDir(n):\n", " liste = [1-i/n for i in range(n)]\n", " x_0=1\n", " return [coefDirSecante(x_0,h) for h in liste]\n", "\n", "listeCoefDir(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Représentations graphiques** \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Tracé d'une sécante en un point**\n", "\n", "Dans cette partie, on trace la sécante à la courbe de la fonction $f$ entre le point d'abscisse $1$\n", " et le point d'abscisse $1+h$.\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Importation de la bibliothèque graphique**" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Fonction renvoyant la liste des éléments de la subdivision d'un intervalle $[a,b]$ en $N$ sous-intervalles de même longueur**\n", "\n", " Le nom de la fonction est `subdivisionIntervalle`.\n", " \n", " Elle prend comme paramètres :\n", " \n", " * les bornes $a$ et $b$ de l'intervalle $[a,b]$\n", " \n", " * le nombre $N$ de sous-intervalles de la subdivision \n", "\n", "Elle renvoie la liste des éléments de la subdivision.\n", "\n", "N.B : on considère ici des subdivisions à pas constant." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def subdivisionIntervalle(a,b,N):\n", " pas = (b-a)/N\n", " return [a+i*pas for i in range(N+1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "\n", "
\n", "\n", "* **Expliquer un programme**\n", "\n", " Le programme précédent étant fourni, demander aux élèves d'expliquer : \n", " - à quoi correspond la variable `pas` et comment elle est calculée ; \n", " - l'instruction de la ligne 3 ;\n", " - quel est le premier élément de la liste renvoyée ;\n", " - quel est le dernier élément de la liste renvoyée.\n", " \n", "* **Compléter un programme** \n", " - Le programme précédent étant fourni en remplaçant la ligne 2 par `pas= ...`, demander aux élèves de compléter la ligne 2.\n", " - Le programme précédent étant fourni en remplaçant la ligne 3 par `[... for i in range(N+1)]`, demander aux élèves de compléter la ligne 3.\n", " \n", "* **Tester un programme**\n", "\n", " Tester la fonction `subdivisionIntervalle` sur l'intervalle $[1,8]$ subdivisé en 8 parties égales." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Représentation graphique de la fonction $f$ et tracé d'une sécante**\n", "\n", "Le programme ci-dessous est séparé en trois parties :\n", "- les constantes (modifiables par l'enseignant) ;\n", "- les listes contenant les abscisses et les ordonnées des points de la courbe ;\n", "- les instructions de représentation graphique." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 407 }, "colab_type": "code", "id": "BV5OY0cLOcLc", "outputId": "8b0c6883-ea52-4fdb-9dd8-805d3d7995be" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# constantes\n", "a = 0\n", "b = 2\n", "h =0.75\n", "x0 = 0.5\n", "nbSubdivision = 1000\n", "\n", "# points de la courbe\n", "abscisses = subdivisionIntervalle(a,b,nbSubdivision)\n", "ordonnees = [f(x) for x in abscisses]\n", "abscisseSecante,ordonneeSecante = secante(x0,h)\n", "\n", "# paramètres figure\n", "fig, ax1 = plt.subplots(1,figsize=(6, 6))\n", "ax1.plot(abscisses,ordonnees,'r')\n", "ax1.plot(abscisseSecante,ordonneeSecante,'b+-')\n", "ax1.set_title('Sécante en x0={} pour h={}'.format(x0,h,coefDirSecante(1,h)))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "bvoa-YfUSvaX", "tags": [ "carré", "Animation" ] }, "source": [ "### Animation susceptible d'être présentée aux élèves \n", "Le programme suivant permet de créer deux animations parallèles : la première illustre la convergence des sécantes issues du point d'abscisse $1$ vers la tangente en ce point et la seconde illustre la convergence de la pente de ces sécantes vers le nombre dérivé. L'animation peut être utilisée telle quelle en classe par l'enseignant. Il peut aussi, s'il le souhaite, modifier les constantes pour changer l'animation. La compréhension et la connaissance de ce progamme ne sont pas attendues des élèves." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1051 }, "colab_type": "code", "id": "febh1A98IF59", "outputId": "0cffb826-8ab8-4d2f-d246-905007a39a03", "tags": [ "tangente", "convergence", "Animation" ] }, "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": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "import matplotlib.animation\n", "from IPython.display import HTML\n", "\n", "# constantes\n", "a = 0\n", "b = 2\n", "nbSubdivision =1000\n", "x0 = 1\n", "n =30\n", "\n", "# points de la courbe\n", "abscisses = subdivisionIntervalle(a,b,nbSubdivision)\n", "ordonnees = [f(x) for x in abscisses]\n", "\n", "#Création des figures\n", "fig, (ax1, ax2) = plt.subplots(1, 2,figsize=(15, 6))\n", "ax1.plot(abscisses,ordonnees,'r')\n", "courbeSegments, = ax1.plot([],[],'.-',color=\"#1e7fcb\")\n", "courbeConvergence, = ax2.plot([],[],color=\"#1e7fcb\")\n", "\n", "#Réglage des axes\n", "ax1.set_xlim(( x0-1, x0+1))\n", "ax1.set_ylim(((x0-1)**2, (x0+1)**2))\n", "ax2.set_xlim(( 0, n))\n", "ax2.set_ylim((2*x0-0.2, 2*x0+1))\n", "pentes=[]\n", "\n", "# initialisation\n", "def init():\n", " global courbeSegments,courbeConvergence\n", " courbeSegments.set_data([], [])\n", " courbeConvergence.set_data([], [])\n", " return (courbeSegments,) \n", "\n", "# fonction d'animation\n", "def animate(i):\n", " global courbeSegments,courbeConvergence\n", " #Calcul de h\n", " h=1/(i+1)\n", " #Nouvelles extrémités de la sécante\n", " abscisseSecante,ordonneeSecante = secante(x0,h)\n", " #Tracé de la sécante\n", " courbeSegments.set_data(abscisseSecante,ordonneeSecante)\n", " #Ajout de la pente à la liste des pentes \n", " pentes.append(coefDirSecante(x0,h))\n", " #Tracé de la courbe des pentes\n", " courbeConvergence.set_data(range(1,i+2),pentes[:i+2])\n", " # Titre de la figure 1\n", " ax1.set_title('Sécante pour $x_0$={:.2f} et h={:.2f}'.format(x0,h))\n", " #Ajout du tracé de la tangente et de la valeur limite de la dérivée lorsque h<0.1\n", " if i>10:\n", " ax1.plot([x0-1+1/(2*x0),x0+1],[(x0-1)**2,2*x0+x0**2],color=\"#47255f\")\n", " ax2.plot([0,n],[2*x0,2*x0],color=\"#47255f\")\n", " ax2.set_title('Pente de la sécante $\\simeq${:.2f}'.format(pentes[-1]))\n", " return (courbeSegments,)\n", "\n", "plt.close ()\n", "ani = matplotlib.animation.FuncAnimation(fig, animate, frames=n,init_func=init,blit=False,interval=500)\n", "# l'un ou l'autre\n", "HTML(ani.to_jshtml())\n", "#HTML(ani.to_html5_video())" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "dérivation" ] }, "source": [ "## Fonction dérivée\n", "La fonction qui, à tout réel $x$, associe le nombre dérivé de $f$ en $x$ est\n", "la fonction dérivée de $f$ et se note $f'$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Approximation de la fonction dérivée par la liste des coefficients directeurs des sécantes.\n", "La fonction suivante, nommée `listeCoefDir`, renvoie la liste des coefficients directeurs des sécantes à la courbe de la fonction $f$ sur l'intervalle $[0;2]$ pour une subdivision de cet intervalle en $n$ sous-intervalles de même longueur. Elle prend en paramètre ce nombre $n$." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.20000000000000004, 0.6000000000000001, 1.0000000000000002, 1.4000000000000001, 1.7999999999999994, 2.1999999999999997, 2.6, 3.0000000000000004, 3.3999999999999986, 3.799999999999999, 4.200000000000004]\n" ] } ], "source": [ "## Alternative en utilisant la fonction subdivisionIntervalle ##\n", "def listeCoefDir(n):\n", " abscisses = subdivisionIntervalle(0,2,n)\n", " h=2/n\n", " return [coefDirSecante(x,h) for x in abscisses]\n", "\n", "print(listeCoefDir(10)) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "\n", "
\n", "\n", "* **Compléter un programme** \n", "\n", " Remplacer les lignes 4 et 5 du programme précédent par `h=...` et `return [... for x in abscisses]` et demander aux élèves de les compléter.\n", "* **Expliquer un programme** \n", "\n", " Le programme précédent étant fourni, demander aux élèves d'expliquer :\n", " - l'instruction de la ligne 5 ;\n", " - le nombre d'éléments contenus dans la liste de la ligne 5.\n", " \n", "* **Tester un programme**\n", "\n", "Tester la fonction `ListeCoefDir` pour $n=10$ (remplacer la ligne 7 par `...` dans le programme fourni aux élèves).\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Courbe approchée de la fonction dérivée.\n", "Le programme suivant trace une courbe approchée de la fonction dérivée de la fonction carré sur l'intervalle $[0;2]$ subdivisé en $n$ sous-intervalles. L'ordonnée du point d'abscisse $x$ de cette courbe est égale au taux de variation (pente de la sécante) de la fonction carré entre $x$ et $x+\\dfrac{2}{n}$. La courbe approchée est la droite d'équation $y=2x+\\dfrac{2}{n}$." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "n=50\n", "abscisses = subdivisionIntervalle(0,2,n)\n", "ordonnees = listeCoefDir(n)\n", "\n", "#paramètres figure\n", "fig, ax1 = plt.subplots(1,figsize=(15, 6))\n", "ax1.plot(abscisses,ordonnees,'.', color=\"#1e7fcb\")\n", "ax1.set_xlim(( 0, 2))\n", "ax1.set_ylim((0, 4))\n", "ax1.set_title('Représentation des coefficients directeurs des sécantes pour un pas de {:.2f}'.format(2/n))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "\n", "
\n", "\n", "* **Tester** le programme pour différentes valeurs de $n$.\n", "* **Observer** l'allure de la courbe de la fonction dérivée.\n", "* **Conjecturer** l'expression de $f'$ en prenant des valeurs assez grandes pour $n$." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Animation" ] }, "source": [ "### Animation susceptible d'être présentée aux élèves\n", "L'animation suivante permet de visualiser une approximation de la courbe de la dérivée de la fonction carré.\n", "Pour chaque valeur de $h$, le point d'abscisse $x$ de la courbe approchée a pour ordonnée la pente de la sécante, à savoir $\\dfrac{(x+h)^2-x^2}{h}=2x+h$. Cela fournit une famille de droites qui tendent vers la droite d'équation $y=2x$ lorsque le pas $h$ tend vers $0$. Ici le pas $h$ est la longueur d'une subdivision de l'intervalle.\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "tags": [ "Animation" ] }, "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": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "#ctes: \n", "n =60\n", "#Création des figures\n", "fig, ax1 = plt.subplots(1, 1,figsize=(6, 12))\n", "courbePenteSecantes, = ax1.plot([],[],'.',color=\"#1e7fcb\")\n", "#Réglage des axes\n", "ax1.set_xlim(( 0, 2))\n", "ax1.set_ylim((0, 4))\n", "\n", "def init():\n", " global courbePenteSecantes\n", " courbePenteSecantes.set_data([], [])\n", " return (courbeSegments,) \n", "\n", "def animate(i):\n", " global courbePenteSecantes\n", " abscisses = subdivisionIntervalle(0,2,i+1)\n", " ordonnees=listeCoefDir(i+1)\n", " #Tracé de la courbe des pentes de sécantes\n", " courbePenteSecantes.set_data(abscisses,ordonnees)\n", " \n", " # Titre de la figure 1\n", " #Calcul de h\n", " h=1/(i+1)\n", " ax1.set_title('Courbe des pentes des sécantes de la fonction carrée pour h={:.2f}'.format(h))\n", " return (courbePenteSecantes,)\n", " \n", "\n", "#plt.show()\n", "plt.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())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pour aller plus loin : dérivation de la fonction cube\n", "En changeant la définition de la fonction $f$, on peut étudier de la même manière le nombre dérivé en un point et la fonction dérivée d'autres fonctions, par exemple de la fonction cube. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pente d'une sécante" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.100000000000002\n" ] } ], "source": [ "def cube(x):\n", " return x**3\n", "def coefDirSecanteCube(a,h):\n", " coef=(cube(a+h)-cube(a))/h\n", " return coef\n", "print(coefDirSecante(1,0.1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fonction dérivée de la fonction cube\n", "La fonction suivante, nommée `listeCoefDir`, renvoie la liste des coefficients directeurs des sécantes à la courbe de la fonction cube aux points de cette courbe correspondant à une subdivision de l'intervalle $[-2;2]$ en $n$ sous-intervalles de même longueur. Elle prend en paramètre ce nombre $n$." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[9.759999999999996, 5.920000000000001, 3.039999999999999, 1.1199999999999994, 0.1599999999999999, 0.16000000000000003, 1.1200000000000012, 3.0400000000000005, 5.920000000000001, 9.759999999999996, 14.559999999999995]\n" ] } ], "source": [ "def listeCoefDirCube(n):\n", " abscisse = subdivisionIntervalle(-2,2,n)\n", " h=4/n\n", " return [coefDirSecanteCube(x,h) for x in abscisse]\n", "\n", "print(listeCoefDirCube(10)) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Représentation de la liste des coefficients directeurs des sécantes pour un pas donné" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "tags": [ "cube" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "n=50\n", "\n", "abscisse = subdivisionIntervalle(-2,2,n)\n", "ordonnee=listeCoefDirCube(n)\n", "\n", "#paramètres figure\n", "fig, ax1 = plt.subplots(1,figsize=(10, 10))\n", "ax1.plot(abscisse,ordonnee,'.', color=\"#1e7fcb\")\n", "ax1.set_xlim(( -2, 2))\n", "ax1.set_title('Courbe approchée de la dérivée de la fonction cube pour un pas de {:.3f}'.format(4/n))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "\n", "
\n", "\n", "* **Tester** le programme pour différentes valeurs de $n$.\n", "* **Observer** l'allure de la courbe de la fonction dérivée.\n", "* **Conjecturer** la formule de $f'$ en prenant des valeurs assez grandes pour $n$." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Animation" ] }, "source": [ "### Animation susceptible d'être présentée aux élèves\n", "L'animation suivante est une version dynamique de ce qui précède." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "tags": [ "Animation" ] }, "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": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "#constantes: \n", "n =50\n", "#Création des figures\n", "fig, ax1 = plt.subplots(1, 1,figsize=(6, 12))\n", "courbePenteSecantesCube, = ax1.plot([],[],'.',color=\"#1e7fcb\")\n", "#Réglage des axes\n", "ax1.set_xlim(( -2, 2))\n", "ax1.set_ylim(( 0, 12))\n", "\n", "pentes=[]\n", "def init():\n", " global courbePenteSecantesCube\n", " courbePenteSecantesCube.set_data([], [])\n", " return (courbePenteSecantesCube,) \n", "\n", "def animate(i):\n", " global courbePenteSecantesCube\n", " \n", " #Calcul des pentes de sécante\n", " abscisse = subdivisionIntervalle(-2,2,i+1)\n", " ordonnee=listeCoefDirCube(i+1) \n", " \n", " #Tracé de la courbe des pentes de sécantes\n", " courbePenteSecantesCube.set_data(abscisse,ordonnee)\n", " # Titre de la figure 1\n", " #Calcul de h\n", " h=4/(i+1)\n", " ax1.set_title('Courbe des pentes de sécantes de la fonction cube pour h={:.2f}'.format(h))\n", " return (courbePenteSecantesCube,)\n", "\n", "plt.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", "colab": { "collapsed_sections": [], "name": "ApproximationDerivee.ipynb", "provenance": [], "version": "0.3.2" }, "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": 1 }