{ "metadata": { "name": "", "signature": "sha256:82ac706e0d5809bb5a04caf2960ddc4f75b2ba3846fddd451942aaf5623d0143" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "I Utilisation de base de Python " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exercice. On veut tracer les polyn\u00f4mes $P(x)=ax^2+bx+c$ et $Q(x)=cx^2+bx+a$ pour $x$ compris entre 0 et 2. \n", "\n", "D\u00e9finir les fonctions $P$ et $Q$ pour $a=10$, $b=-15$ et $c=5$.\n", "\n", "1) Cr\u00e9ez un vecteur $X$ allant de $0$ \u00e0 $2$ avec un pas de $h$ (que vous pourrez varier au besoin).\n", "\n", "2) Cr\u00e9ez deux vecteurs $Y_1$ et $Y_2$ contenant les images par $P$ et $Q$ du vecteur $X$.\n", "\n", "3) Tracer les graphes de $Y_1$ et $Y_2$ en fonction de $X$. Mettre un titre, les axes, l\u00e9gendes,..\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def P(x,a,b,c): # d\u00e9finition du polyn\u00f4me P\n", " return a*x**2+b*x+c\n", "def Q(x,a,b,c): # d\u00e9finition du polyn\u00f4me Q\n", " return c*x**2+b*x+a" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "#Repr\u00e9sentation des polyn\u00f4mes P et Q\n", "import numpy as np # importation de la librairie NUMPY\n", "import matplotlib.pyplot as plt # importation de la librairie MATPLOT LIB\n", "h=1./100 # d\u00e9finition du pas de discr\u00e9tisation\n", "a,b,c=10., -15. , 5.\n", "X=np.arange(0,2,h) #d\u00e9finition de la discr\u00e9tisation spatiale\n", "Y1=P(X,a,b,c) \n", "Y2=Q(X,a,b,c)\n", "plt.plot(X,Y1) #trac\u00e9 de la fonction P, couleur bleue par d\u00e9faut \n", "plt.plot(X,Y2,'r') #trac\u00e9 de la fonction Q, en rouge\n", "plt.xlabel(u'$x$')\n", "plt.title(u'Trac\u00e9 des fonctions $P$ et $Q$')\n", "plt.show()\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nYII=\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "II Erreur et Stabilit\u00e9" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "1) Repr\u00e9sentation des nombres " ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "a) Repr\u00e9sentation des nombres en base $10$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour tout $x\\in\\mathbb{R}$, il existe \n", "$N\\in\\mathbb{Z}$ tel que $10^N\\leq x<10^{N+1}$ et une suite $(a_i)_{i\\in\\mathbb{N}}$ \n", "tel que $x=\\sum_{i=0}^{\\infty} a_i\\,10^{N-i}$.\n", " \n", "Exercice: \u00e9crire $x=\\displaystyle\\frac{3}{8}$ et $x=\\displaystyle\\frac{4}{3}$ en base $10$.\n", " \n", "Attention certains nombres peuvent avoir deux repr\u00e9sentations:\n", " \n", "$$\n", "\\displaystyle\n", "0.9999....=\\sum_{n=1}^{\\infty}\\frac{9}{10^n}=1.\n", "$$ " ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "b) Repr\u00e9sentation des nombres en base $2$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cette base est particuli\u00e8rement int\u00e9ressante en informatique car pour transmettre ou stocker des nombres, \n", "il suffit d'un m\u00e9canisme physique \u00e0 deux \u00e9tats. Pour tout $x\\in\\mathbb{R}$, il existe $N\\in\\mathbb{N}$ \n", "tel que $2^N\\leq x<2^{N+1}$ et il existe une suite $(a_i)_{i\\in\\mathbb{N}}$ tel que $a_i\\in\\{0, 1\\}, \n", " \\forall i\\in\\mathbb{N}$ et $x=\\displaystyle\\sum_{i=0}^{\\infty} a_i\\,2^{N-i}$. \n", " \n", "Exemple 1: en base 2, $x=10=1\\times 2^3+1\\times 2^1$ s'\u00e9crit $x=1010$.\n", " \n", "Exercice: \u00e9crire en base 2 les nombres $\\displaystyle x_1=\\frac{3}{8}$, $\\displaystyle x_2=\\frac{1}{10}$ , \n", " $\\displaystyle x_3=\\frac{1}{3}$. \n", " " ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "c) Virgule flottante en notation scientifique" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Les syst\u00e8mes pr\u00e9c\u00e9dents sont \u00e0 virgule fixe, la virgule s\u00e9parant partie enti\u00e8re et partie ``d\u00e9cimale''. En base $10$, les nombres $12.345$, $0.12345\\times 10^2$ et $12345\\times 10^{-3}$ sont tous \u00e9gaux. Ils sont tous de la forme $\\pm m\\times b^e$:\n", "\n", "- $m$ s'appelle la mantisse,\n", "\n", "- $b$ d\u00e9signe la base,\n", "\n", "- $e$ s'appelle l'exposant.\n", "\n", "Pour \u00e9viter les redondances et fixer les notations, on introduit la notion de virgule flottante: elle consiste \u00e0 choisir l'exposant $e$ de telle sorte que la mantisse s'\u00e9crive\n", "\n", "$$\n", "\\displaystyle\n", "m=\\alpha_0.\\alpha_1\\,\\alpha_2\\,...\\alpha_p\\,...,\\quad \\alpha_0>0.\n", "$$\n", "\n", "\n" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "2) Repr\u00e9sentation des nombres en machine" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dans la suite, on consid\u00e8re l'ensemble des nombres r\u00e9els en base $2$. Il est impossible de tous les repr\u00e9senter en machine car cet ensemble est infini. Pour les nombres entiers, ils sont stock\u00e9s dans des \u00e9l\u00e9ments de m\u00e9moire form\u00e9 de cellules constitu\u00e9es d'unit\u00e9s \u00e9l\u00e9mentaires appel\u00e9es ${\\it bits}$. Une cellule est constitu\u00e9e en g\u00e9n\u00e9ral de 8 bits et appel\u00e9e ${\\it octet}$.\n", "\n", "- Si un ordinateur utilise $2$ octets, il repr\u00e9sentera les entiers entre $-2^{15}$ et $2^{15}-1$. En effet, on repr\u00e9sentera les entiers sous la forme\n", "\n", "$$\n", "\\displaystyle\n", "x=-\\alpha_{15}\\times 2^{15}+\\sum_{j=0}^{14}\\alpha_j\\times 2^j.\n", "$$\n", "\n", "- Si un ordinateur utilise 3 octets, il repr\u00e9sentera les entiers entre $-2^{23}$ et $2^{23}-1$.\n", "\n", "Pour les r\u00e9els, on ne peut repr\u00e9senter qu'un sous ensemble fini, appel\u00e9 ensemble des r\u00e9els flottants, not\u00e9 $\\mathcal{F}$. Cet ensemble d\u00e9pend bien \u00e9videmment de la machine et de la base utilis\u00e9e. En base $2$, l'ensemble $\\mathcal{F}$ est donn\u00e9 par\n", "\n", "$$\n", "\\displaystyle\n", "\\mathcal{F}=\\left\\{\\pm m\\times 2^e,\\quad m=a_1.a_2...a_p,\\quad a_i\\in\\{0, 1\\},\\quad e\\in[e_{min}, e_{max}]\\right\\}\n", "$$\n", "\n", "Le nombre $p$ de chiffres dans la mantisse est le nombre de chiffres significatifs. Les deux principaux formats (standards IEEE) sont\n", "\n", "- Pr\u00e9cision simple (32 bits): $23+1$ (signe) bits affect\u00e9s \u00e0 la mantisse $m$ et $8$ bits affect\u00e9s \u00e0 l'exposant donc $e\\in[-128, 127]$\n", "\n", "- Pr\u00e9cision double (64 bits): $52+1$ (signe) bits affect\u00e9s \u00e0 la mantisse $m$ et $11$ bits affect\u00e9s \u00e0 l'exposant donc $e\\in[-1024, 1023]$.\n", "\n", "Le plus grand nombre repr\u00e9sentable en valeur absolue est $x_{max}=a_1.a_2...a_p\\times b^{e_{max}}$ avec $a_i=1$. Soit $x_{max}=(2-2^{1-p})\\times 2^{e_{max}}$. Au dela, on ne peut repr\u00e9senter un nombre en machine, c'est le seuil d'${\\it overflow}$.\n", "\n", "Pour la valeur minimale en valeur absolue $x_{min}$, cela devrait \u00eatre $x_{min}=2^{e_{min}}$ si on conserve la normalisation. En de\u00e7a de cette valeur, on peut ${\\it d\u00e9normaliser}$ et admettre $a_1=0$ dans la mantisse. Dans ce cas, $x_{min}=2^{e_{min}-p+1}$.\n", "\n", "Une fois $\\mathcal{F}$ d\u00e9fini, il faut cr\u00e9er une application d'arrondi, qu'on notera ${\\it fl}=[-x_{max}, x_{max}]\\to \\mathcal{F}$. Deux strat\u00e9gies sont possibles:\n", "\n", "- Arrondi par troncature: ${\\it fl}(x)=\\max\\{ y\\in\\mathcal{F},\\:\\:y\\leq x\\}$ si $x>0$ et \n", "${\\it fl}(x)=\\min\\{ y\\in\\mathcal{F},\\:\\:y\\geq x\\}$ si x<0.\n", " \n", "- Arrondi au plus pr\u00e8s: $\\forall y\\in\\mathcal{F}, |x-{\\it fl}(x)|\\leq |x-y|$. \n" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Op\u00e9rations arithm\u00e9tiques \u00e9l\u00e9mentaires" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'ensemble $\\mathcal{F}$ n'est pas stable. Ainsi l'op\u00e9ration $x+y$ devient ${\\it fl}({\\it fl}(x)+{\\it fl}(y))$ et les erreurs d'arrondis peuvent s'accumuler. L'exemple le plus notable est le ${\\it m\u00e9canisme d'absorption}$. Soit $x=m_x\\times 2^{e_x}$ et $y=m_y\\times 2^{e_y}$. Supposons $e_x>e_y$ et notons $n=e_x-e_y$. On a donc\n", "\n", "$$\n", "\\displaystyle\n", "{\\it fl}(x)+{\\it fl}(y)=(m_x+2^{-n}\\times m_y)\\times 2^{e_x}.\n", "$$\n", "\n", "Le nombre $m_x+2^{-n}\\times m_y$ poss\u00e8de plus de $p$ chiffres et donc une partie des chiffres de $m_y$ est perdue.Si $n$ est proche de $p$, alors on perd tous les chiffres de la mantisse et on obtient alors:\n", "\n", "$$\n", "\\displaystyle\n", "{\\it fl}({\\it fl}(x)+{\\it fl}(y))={\\it fl}(x).\n", "$$" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "III Exemples d'erreurs num\u00e9riques" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exemple $1$: calcul de $\\displaystyle f(x)=\\frac{(1+x)-1}{x}$ pour $x$ proche de $0$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'objectif de ce premier exemple est de mettre en \u00e9vidence le m\u00e9canisme d'absorption.\n", "\n", "${\\bf Travail\\,\\, \u00e0\\,\\, r\u00e9aliser:}$\n", "\n", "- Initialiser le coefficient $a=0.5$. D\u00e9finir la fonction $f$\n", "\n", "- Cr\u00e9er un vecteur $n$ allant de $0$ \u00e0 $100$ avec un pas de $1$.\n", "\n", "- Cr\u00e9er un vecteur $X$ contenant la valeur $a$ aux puissances contenues dans le vecteur $n$.\n", "\n", "- Cr\u00e9er un vecteur $Y$ contenant les valeurs de $f(X)$\n", "\n", "- Tracer $f(X)$ en fonction de $\\log(X)$. Mettre un titre, les axes.\n", "\n", "- Faire varier $a$ autour de $0.5$ et observez l'allure de la courbe.\n", "\n", "- En fonction des r\u00e9sultats obtenus, d\u00e9terminer la taille de la mantisse." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math as mt # importation de la librairie MATH\n", "import numpy as np # importation de la librairie NUMPY\n", "import matplotlib.pyplot as plt # importation de la librairie MATPLOT LIB\n", "def f(x): #definition de la fonction f\n", " return ((1+x)-1)/x\n", "a=0.5\n", "N=np.arange(1.,100.) #Cr\u00e9ation du vecteur N=[1:100] avec un pas de 1\n", "X=a**N #Cr\u00e9ation du vecteur a^N, pour N allant de 1 \u00e0 100\n", "plt.plot(np.log(X),f(X))\n", "plt.xlabel(u'$\\log(X)$')\n", "plt.ylabel(u'f(X)')\n", "plt.show()\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nwe34AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exemple 2: Calcul de $\\lim_{x\\to 0}\\displaystyle\\frac{1-\\cos(x)}{x^2}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "${\\bf Travail \\: \u00e0 \\: r\u00e9aliser}$\n", "\n", "- Montrer que $1-\\cos(x)=2\\sin^2(\\displaystyle\\frac{x}{2})$. En d\u00e9duire $\\lim_{x\\to 0}\\displaystyle\\frac{1-\\cos(x)}{x^2}$.\n", "\n", "- Cr\u00e9er un vecteur $n$ allant de $0$ \u00e0 $100$ avec un pas de $1$.\n", "\n", "- Cr\u00e9er un vecteur $X$ contenant les valeurs $(1/2)^k$ avec $k\\in\\{0,\\cdots,100\\}$.\n", "\n", "- D\u00e9finir $f:\\, x\\mapsto\\displaystyle\\frac{1-\\cos(x)}{x^2}$ et $g:\\,x\\mapsto\\displaystyle\\frac{1}{2}\\left(\\frac{\\sin(x/2)}{x/2}\\right)^2$.\n", "\n", "- Repr\u00e9senter $f$ et $g$. Quelle est la formulation la plus ad\u00e9quate pour \u00e9tudier la limite de $f$ en $x=0$. Expliquer." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math as mt # importation de la librairie MATH\n", "import numpy as np # importation de la librairie NUMPY\n", "import matplotlib.pyplot as plt # importation de la librairie MATPLOT LIB\n", "def f(x): #definition de la fonction f\n", " return (1-np.cos(x))/x**2\n", "def g(x): #definition de la fonction g\n", " return 0.5*(np.sin(x/2)/(x/2))**2\n", "a=0.5\n", "N=np.arange(1.,100.) #Cr\u00e9ation du vecteur N=[1:100] avec un pas de 1\n", "X=a**N #Cr\u00e9ation du vecteur a^N, pour N allant de 1 \u00e0 100\n", "plt.plot(np.log(X),f(X)) #tracer de f\n", "plt.plot(np.log(X),g(X),'r') #tracer de g\n", "plt.xlabel(u'$\\log(X)$')\n", "plt.ylabel(u'f(X), g(X)')\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Exemple 3: Calcul d'une d\u00e9riv\u00e9e" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Soit $\\,f: x\\mapsto \\sin(x)$. On souhaite calculer num\u00e9riquement la d\u00e9riv\u00e9e de $f$ en $x=1$ \u00e0 l'aide de la formule\n", "$$\n", "\\displaystyle\n", "f'(1)=\\lim_{h\\to 0}\\frac{f(1+h)-f(1)}{h}.\n", "$$\n", "\n", "${\\bf Travail \\: \u00e0 \\: r\u00e9aliser}$\n", "\n", "- Cr\u00e9er un vecteur $H$ contenant les valeurs $10^{-k}$ pour $k\\in\\{0,\\dots,16\\}$ avec un pas de $1$.\n", "\n", "- Pour tout $h\\in\\mathbb{R}$, on note $e(h)=\\left|f'(1)-\\displaystyle\\frac{f(1+h)-f(1)}{h}\\right|$.Repr\u00e9senter $e(H)$: pour quelle valeur de $h$ a-t-on la meilleure approximation de $f'(1)$?\n", "\n", "- Sachant que la fonction $\\sin$ est fournie avec une erreur de l'ordre de la pr\u00e9cision machine, not\\'ee $u$, montrer que\n", "$$\n", "\\displaystyle\n", "|e(h)|\\leq\\frac{h}{2}\\sup_{\\xi\\in[1, 1+h]}|f''(\\xi)|+\\frac{2\\,u}{h}.\n", "$$\n", "Pour quelle valeur de $h$ la fonction $e$ est minimale?\n", "\n", "- Expliquer le ph\u00e9nom\u00e8ne observ\u00e9 et donner un ordre de grandeur de $u$.\n", "\n", "- Refaire l'exercice en utilisant la formule $f'(1)=\\displaystyle\\lim_{h\\to 0}\\frac{f(1+h)-f(1-h)}{2h}$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math as mt # importation de la librairie MATH\n", "import numpy as np # importation de la librairie NUMPY\n", "import matplotlib.pyplot as plt # importation de la librairie MATPLOT LIB\n", "def e(x): #definition de la fonction erreur e\n", " return np.abs(np.cos(1)-(np.sin(1+x)-np.sin(1))/x)\n", "def e2(x): #definition de la fonction erreur e avec une formule plus pr\u00e9cise\n", " return np.abs(np.cos(1)-(np.sin(1+x)-np.sin(1-x))/x)\n", "a=1./10\n", "N=np.arange(1.,16.)\n", "H=a**N #Cr\u00e9ation du vecteur 10^-k, pour k allant de 1 \u00e0 16.\n", "plt.plot(np.log(H),np.log(e(H))) #tracer de l'erreur avec la premi\u00e8re formule\n", "# plt.plot(np.log(X),g(X),'r') #tracer de l'erreur avec la deuxi\u00e8me formule\n", "plt.xlabel(u'$\\log(H)$')\n", "plt.ylabel(u'$\\log\\, e(H)$')\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Stabilit\u00e9 d'un algorithme" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Cette partie vise \u00e0 montrer l'instabilit\u00e9 associ\u00e9e \u00e0 certaines relations de r\u00e9currence. Les int\u00e9grales $I_k=\\int_0^1\\,x^k\\exp(-x)dx$, avec $k\\in\\mathbb{N}$, peuvent \u00eatre calcul\u00e9es selon la relation de r\u00e9currence suivante:\n", "$$\n", "\\displaystyle\n", "I_0=1-\\frac{1}{e},\\qquad I_{k+1}=(k+1)\\,I_k-\\frac{1}{e}.\n", "$$\n", "\n", "${\\bf Travail \\: \u00e0 \\: r\u00e9aliser}$\n", "\n", "- Utiliser la relation de r\u00e9currence pour calculer les valeurs $I_0$ \u00e0 $I_{30}$. Cr\u00e9er le vecteur $I_c$ qui contiendra les valeurs $I_k$ pour $k$ allant de $0$ \u00e0 $30$.\n", "\n", "La relation de r\u00e9currence peut aussi s'\u00e9crire $\\displaystyle I_k=\\frac{I_{k+1}+\\displaystyle\\frac{1}{e}}{k+1}$.\n", "\n", "- Utiliser ce deuxi\u00e8me algorithme pour calculer les valeurs $I_{30}$ \u00e0 $I_0$ en choisissant la valeur initiale $I_{30}=1$. Stocker les valeurs obtenues dans le vecteur $I_d$.\n", "\n", "- Faire un graphe repr\u00e9sentant $I_c$ et $I_d$ en fonction du nombre d'it\u00e9rations pour visualiser les r\u00e9sultats." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import math as mt\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "I=np.zeros(50)\n", "# M\u00e9thode 1 instable\n", "I[0]=1-mt.exp(-1.)\n", "for j in range(len(I)-1):\n", " I[j+1]=(j+1)*I[j]-mt.exp(-1.)\n", "J=np.zeros(50)\n", "# M\u00e9thode 2 stable\n", "J[len(J)-1]=(1+mt.exp(-1))/102\n", "for j in reversed(range(len(J)-1)):\n", " J[j]=(J[j+1]+mt.exp(-1))/(j+1)\n", " \n", "plt.plot(range(len(J)),J)\n", "# plt.plot(range(len(I)),I,'r')\n", "plt.show()\n", "print I\n", "print J" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 6.32120559e-01 2.64241118e-01 1.60602794e-01 1.13928941e-01\n", " 8.78363239e-02 7.13021781e-02 5.99336275e-02 5.16559512e-02\n", " 4.53681687e-02 4.04340776e-02 3.64613345e-02 3.31952383e-02\n", " 3.04634190e-02 2.81450054e-02 2.61506350e-02 2.43800845e-02\n", " 2.22019104e-02 9.55303570e-03 -1.95924799e-01 -4.09045061e+00\n", " -8.21768917e+01 -1.72608261e+03 -3.79741852e+04 -8.73406628e+05\n", " -2.09617594e+07 -5.24043986e+08 -1.36251436e+10 -3.67878878e+11\n", " -1.03006086e+13 -2.98717649e+14 -8.96152948e+15 -2.77807414e+17\n", " -8.88983724e+18 -2.93364629e+20 -9.97439738e+21 -3.49103908e+23\n", " -1.25677407e+25 -4.65006406e+26 -1.76702434e+28 -6.89139494e+29\n", " -2.75655797e+31 -1.13018877e+33 -4.74679283e+34 -2.04112092e+36\n", " -8.98093204e+37 -4.04141942e+39 -1.85905293e+41 -8.73754878e+42\n", " -4.19402341e+44 -2.05507147e+46]\n", "[ 0.63212056 0.26424112 0.16060279 0.11392894 0.08783632 0.07130218\n", " 0.05993363 0.05165595 0.04536817 0.04043408 0.03646133 0.03319524\n", " 0.03046344 0.02814522 0.02615358 0.02442426 0.02290878 0.02156988\n", " 0.02037847 0.0193115 0.01835047 0.01748038 0.01668893 0.01596593\n", " 0.01530288 0.01469264 0.01412914 0.01360721 0.01312243 0.01267096\n", " 0.0122495 0.01185515 0.01148538 0.01113795 0.01081091 0.01050252\n", " 0.01021122 0.00993563 0.00967452 0.00942677 0.00919139 0.00896747\n", " 0.00875419 0.00855082 0.00835668 0.00817116 0.00799374 0.00782627\n", " 0.00778143 0.01341058]\n" ] } ], "prompt_number": 20 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Exercices de synth\u00e8se" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Exercice 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Donner un programme permettant de calculer correctement les fonctions suivantes au voisinage de $x=0$ (on commencera par en donner un \u00e9quivalent):\n", "\n", "$$\n", "\\displaystyle\n", "f(x)=\\displaystyle\\sqrt{1+x}-1,\\qquad g(x)=\\displaystyle\\frac{1-\\cos(x)}{\\sin(x)}.\n", "$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "ecrire le code" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Exercice 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On souhaite calculer les int\u00e9grales\n", "\n", "$$\n", "\\displaystyle\n", "\\forall n\\in\\mathbb{N},\\quad 1\\leq n\\leq 50,\\quad I_n=\\int_0^1\\displaystyle\\frac{x^n}{x^2+9\\,x+20}dx.\n", "$$\n", "\n", "- Montrer que les $I_n$ v\u00e9rifient une relation de r\u00e9currence $I_{n+1}=a_n\\,I_n+b_n\\,I_{n-1}+c_n$ o\u00f9 $a_n, b_n, c_n$ ne d\u00e9pendent que de $n$.\n", "\n", "- En supposant $I_0, I_1$ donn\u00e9s avec une erreur $\\varepsilon$, d\u00e9terminer l'erreur commise $e_n$ sur le calcul de $I_n$ en utilisant la formule de r\u00e9currence.\n", "\n", "- Montrer que $\\displaystyle \\frac{1}{30(n+1)}\\leq I_n \\leq \\frac{1}{20(n+1)}$.\n", "\n", "- Proposer et programmer une m\u00e9thode pour calculer $I_{10}$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "ecrire le code" ], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }