{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "application/javascript": "IPython.notebook.set_autosave_interval(300000)" }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Autosaving every 300 seconds\n" ] } ], "source": [ "from IPython.display import display, Latex\n", "from IPython.core.display import HTML\n", "%reset -f\n", "%matplotlib inline\n", "%autosave 300\n", "from matplotlib.pylab import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Formule de quadrature\n", "\n", "L'objectif de ce TP est de proposer un calcul approché d'intégrale sans avoir à intégrer la fonction considérée, chose que l'on ne sait pas toujours faire. Exemple, savez-vous calculer l'intégrale suivante?\n", "$$\n", "\\int_{0}^{1} e^{-x^2}\\, dx \n", "$$\n", "En effet, on ne connaît pas la primitive de la fonction $e^{-x^2}$. \n", "\n", "L'idée du calcul approché repose sur ce qu'on nome une **formule de quadrature** et qui prend la forme\n", "$$\n", "\\sum_{k=0}^n A_k f(x_k),\n", "$$\n", "où les points $(x_k)_{0\\le k \\le n}$ sont répartis sur l'intervalle d'intégration $[\\alpha,\\beta]$ et les poids $(A_k)_{0\\le k \\le n}$ sont choisis de façon pertinente pour approcher (lorsque $n$ est grand) l'intégrale\n", "$$\n", "\\int_{\\alpha}^{\\beta} f(x)\\, dx.\n", "$$\n", "Les coefficients $(A_k)_{0\\le k \\le n}$ et les points $(x_k)_{0\\le k \\le n}$ changent bien-sûr lorsque $n$ change.\n", "## Un premier exemple de formule de quadrature\n", "La première idée qui vient à l'esprit pour approcher l'intégrale est d'approcher $f$ par une fonction constante par morceau et de calculer la somme des surfaces des rectangles (batonnets) proposés sur le graphe suivant. La surface verte est proche de la surface sous la courbe rouge." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "NB=20\n", "pas=1/(NB)\n", "x = linspace(pas/2,1-pas/2,NB)\n", "xfin=linspace(0,1,300)\n", "hei=[sin(xi+pas/2) for xi in x]\n", "#height = sin(x-pas/2)\n", "width= pas#1/(NB-1)\n", "plt.bar(x,hei, width, color='g')\n", "plot(xfin,sin(xfin),'r')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut choisir de prendre pour hauteur du batonnet l'évaluation de la fonction à gauche du batonnet et non à droite comme sur le précédent graphe, ou en tout autre point entre les deux." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "NB=20\n", "pas=1/(NB)\n", "x = linspace(pas/2,1-pas/2,NB)\n", "xfin=linspace(0,1,300)\n", "hei=[sin(xi-pas/2) for xi in x]\n", "#height = sin(x-pas/2)\n", "width= pas#1/(NB-1)\n", "plt.bar(x,hei, width, color='g')\n", "plot(xfin,sin(xfin),'r')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le résultat sera d'autant plus probant que la largeur des batonnets sera petite, c'est à dire pour $n$ grand. La surface du rectangle correspond à l'intégration de la fonction constante (hauteur du batonnet) sur l'intervalle qui correspond à la largeur du batonnet. Pour construire ces batonnets, on introduit une subdivision (ou discrétisation) du segment $[a,b]$ comme par exemple\n", "$$\n", "x_0=\\alpha,~x_1=\\alpha+h,\\cdots,x_i=\\alpha+ih,\\cdots, x_n=\\alpha+nh=\\beta,\n", "$$\n", "avec $h=\\frac {\\beta-\\alpha}{n}$ la largeur du batonnet. On obtient alors la formule de quadrature suivante (on choisit ici $f(x_{k+1})$ comme hauteur du batonnet sur $[x_k,x_{k+1}]$)\n", "$$\n", "F=\\sum_{k=0}^{n-1} h f(x_{k+1})\\sim \\int_\\alpha^\\beta f(x)\\, dx.\n", "$$\n", "On appellera cette formule la formule des rectangles à droite car la hauteur du rectangle est évaluée par $f$ à droite de l'intervalle considéré. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Ecrire ci-dessous la formule des rectangles à gauche. \n", "$$\n", "F=h\\sum_{k=...}^{...}f(x_k)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "Pour $f(x)=x^2 \\cos(2x^3)$, calculer la valeur exacte de $$\\int_0^1 f(x)\\,dx.$$ " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\int_0^1 x^2\\cos(2x^3)\\,dx=...\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Construction de formules de quadrature des rectangles\n", "Proposez le calcul approché de l'intégrale par: \n", "- la formule de quadrature des rectangles à gauche\n", "- la formule de quadrature des rectangles à droite\n", "- la formule de quadrature des rectangles du point milieu.\n", "\n", "Afficher l'erreur entre l'intégrale exacte et chacune des formules de quadrature pour $N=50$, $N=100$ et $N=200$. Laquelle est la plus précise?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Une formule de quadrature plus précise\n", "Plutôt que d'approcher la fonction $f$ par une fonction constante par morceaux, nous allons approcher $f$ par des polynômes par morceaux car nous savons intégrer les polynômes:\n", "$$\n", "F=\\sum_{k=0}^{n-1} \\int_{x_k}^{x_{k+1}} p_{[x_k,x_{k+1}]}(x) \\,dx\\sim \\int_\\alpha^\\beta f(x)\\, dx.\n", "$$\n", "On pourra choisir pour le polynôme $p_{[x_k,x_{k+1}]}$ un polynôme de Lagrange d'interpolation de $f$ sur $[x_k,x_{k+1}]$.\n", "\n", "Avant de construire la formule de quadrature gloable qui résulte de la sommation de ces intégrales de polynôme, nous allons devoir d'abord évaluer $$\\int_{x_k}^{x_{k+1}} p_{[x_k,x_{k+1}]}(x) \\,dx.$$ \n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "Ecrire ci-dessous le calcul de l'intégrale de l'approximation affine de $f$, entre $x_k$ et $x_{k+1}$.\n", " \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Construction des formules de quadrature de Newton-Cotes\n", "Les formules de quadrature de Newton-Cotes sont basées sur l'interpolation de Lagrange pour les points de discrétisation $(\\xi_i)_{0\\le i\\le m}$ équirepartis sur l'intervalle d'intégration.\n", "$$\n", "\\int_a^b f(x) \\,dx\\sim \\int_a^b p(x) \\,dx,\n", "$$\n", "avec \n", "$$\n", "\\xi_i=a+i \\frac {b-a} m\n", "$$\n", "et $p$ le polynôme de Lagrange interpolant $(\\xi_i,f(\\xi_i))_{0\\le i \\le m}$.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Construire les formules de quadrature de : \n", "- trapèze (Newton Cotes à 2 points ($m=1$)). On parle de la formule de quadrature des trapèzes car l'aire sous l'aproximation affine entre les deux points d'interpolation est justement celle d'un trapèze. \n", "- Simpson (Newton Cotes à 3 points ($m=2$)).\n", "Etablir que dans ce cas,\n", "$$\n", "\\int_a^b f(x) \\,dx\\sim \\int_a^b p(x) \\,dx=\\frac {b-a} 6 \\left(f(a)+4f(\\frac {a+b} 2)+f(b)\\right).\n", "$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Construction de formules de quadrature composites\n", "Maintenant que l'on sait produire des formules de quadrature basées sur l'interpolation de Lagrange, on peut revenir aux formules de quadrature introduites au début de ce Notebook et on rappelle la formule de quadrature\n", "$$\n", "F(n)=\\sum_{k=0}^{n-1} \\int_{x_k}^{x_{k+1}} p_{[x_k,x_{k+1}]}(x) \\,dx\\sim \\int_\\alpha^\\beta f(x)\\, dx,\n", "$$\n", "où $p_{[x_k,x_{k+1}]}$ est un polynôme de Lagrange d'interpolation sur $[x_k,x_{k+1}]$ basé sur des points d(interpolation de $[x_k,x_{k+1}]$ avec\n", "$$\n", "x_0=\\alpha,~x_1=\\alpha+h,\\cdots,x_i=\\alpha+ih,\\cdots, x_n=\\alpha+nh=\\beta.\n", "$$\n", "\n", "\n", "On vient de voir dans le paragraphe précédent comment calculer $\\int_{x_k}^{x_{k+1}} p_{[x_k,x_{k+1}]}(x) \\,dx$ par les formules de quadrature de Newton-Cotes. Il ne reste plus qu'à les sommer, on parle alors de **formules de quadrature composites**.\n", "\n", "\n", "Définir à l'aide de fonctions paramétrées par $n$ les formules de quadratures composites basées sur les 2 formules de Newton-Cotes déjà construites.\n", "\n", " \n", "Tester pour quelques valeurs de $n$ les deux calculs." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculez l'erreur entre la formule de quadrature des trapèzes composites paramétrée par $n$ et l'intégrale exacte. Proposez le graphe de l'erreur en échelle logarithmique et en déduire l'ordre de l'erreur, c'est à dire: trouver $k\\in \\mathbb R$ tel que l'erreur s'écrit comme un $\\mathcal O(n^{-k})$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculez l'erreur entre la formule de quadrature de Simpson composite paramétrée par $n$ et l'intégrale exacte. Proposez le graphe de l'erreur en échelle logarithmique et en déduire l'ordre de l'erreur. \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.8.5" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }