{ "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 math import *\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 à calculer la primitive de la fonction considérée, chose que l'on ne sait pas toujours faire. Par exemple, savez-vous calculer l'intégrale suivante?\n", "$$\n", "\\int_0^1 e^{-x^2}\\, dx \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 $[a,b]$ 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_a^b 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 (bâtonnets) 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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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#import numpy as np\n", "x = linspace(0,1,21)#[1,2,3,4,5,6,7,8,9,10]\n", "xfin = linspace(0,1,200)\n", "hei=[sin(xi) for xi in xfin]\n", "height = sin(x)\n", "width= 0.047\n", "plt.bar(x,height, width, color='g' )\n", "plot(xfin,hei,'r')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le résultat sera d'autant plus probant que la largeur des bâtonnets sera petite, c'est à dire pour $n$ grand. La surface du rectangle correspond à l'intégration de la fonction constante (hauteur du bâtonnet) sur l'intervalle qui correspond à la largeur du bâtonnet. Pour construire ces bâtonnets, on introduit une subdivision (ou discrétisation) du segment $[a,b]$ comme par exemple\n", "$$\n", "x_0=a,~x_1=a+h,\\cdots,x_i=a+ih,\\cdots, x_n=a+nh=b,\n", "$$\n", "avec $h=\\frac {b-a}{n}$ la largeur du bâtonnet. On obtient alors la formule de quadrature suivante (on choisit ici $f(x_k)$ comme hauteur du bâtonnet sur $[x_k,x_{k+1}]$)\n", "$$\n", "F=\\sum_{k=0}^{n-1} h f(x_k)\\sim \\int_a^b f(x)\\, dx.\n", "$$\n", "On appellera cette formule la formule des rectangles à gauche car la hauteur du rectangle est évaluée par $f$ à gauche de l'intervalle considéré. \n", "\n", "Ecrire ci-dessous la formule des rectangles à droite. \n", "$$\n", "F=.....\n", "$$" ] }, { "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_a^b 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 globable 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", "Ecrire ci-dessous le calcul de l'intégrale de l'approximation affine en $x_k$ et $x_{k+1}$ de $f$. \n", "\n", "$$\n", "p_{[x_k,x_{k+1}]}(x)=f(x_k)+(x-x_k)\\frac {f(x_{k+1})-f(x_k)}{x_{k+1}-x_k},\n", "$$\n", "$$\\int_{x_k}^{x_{k+1}} p_{[x_k,x_{k+1}]}(x) \\,dx=.....\n", "$$\n", "Remarquez-vous que vous auriez pu trouver ce résultat immédiatement par un argument géométrique? \n", "\n", "La section qui suit consiste à vous initier au calcul symbolique afin de ne pas faire ces calculs à la main lorsque l'interpolation se basera sur plus de trois points de l'intervalle $[x_k,x_{k+1}]$.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initiation au calcul symbolique\n", "Les calculs que vous savez faire à la main relève d'un assemblage de techniques de calculs bien identifiées que l'on peut automatiser sur machine. Le langage Python dispose de librairies de calcul formel ou symbolique, en particulier \"sympy\"." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from sympy import *\n", "from matplotlib.pylab import plot # on recharge matplotlib pour écraser le plot de sympy par celui de matplotlib\n", "init_printing()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Les symboles\n", "Les symboles sont des briques de base utilisées pour construire des expressions. Les objets de la classe Symbol doivent être créés et attribués à des variables python pour pouvoir être utilisés dans des expressions. Le nom du symbole et le nom de la variable à laquelle ce symbole est affecté sont deux choses indépendantes, et on peut écrire abc = Symbol ('xyz'). Mais il faut ensuite écrire abc dans les expressions d'entrée, tandis que SymPy écrira xyz dans les expressions en sortie, ce qui produira une confusion inutile. Le nom de la variable python est préférablement choisi comme le nom du symbole.\n", "Les objets de symboles doivent obligatoirement être créés explicitement." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "x=Symbol('x')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut définir une expression $a$ fonction de $x$ et déclarer de nouveaux symboles (plusieurs à la fois dans le cas présent)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADgAAAAVBAMAAADhmjDFAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsyme8Q6PJIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAtUlEQVQoFWNggIDcvQJQFibF5sA8AVMUKsLhwPMFt2QAy1eckgwMXB/xSHIo4JHMxSPHfgFdkushXCSMIQbOBjOEL8MdwTNr1UZUSQYmuCTf//8fsEkKKbuqKaBJgLggnYwJ7E0c2IIOJMkmwPaRywGXTgbODXApxhkdQNB5ACQAcRC/AoiNASCS5w9gSIAEQJJcAvoMTAJYpEGS8Qv2M7hjkQPrFFYSul6ARZLX7qc5FmGEEADLRSh/xyPj8QAAAABJRU5ErkJggg==\n", "text/latex": [ "$$x^{2} - 1$$" ], "text/plain": [ " 2 \n", "x - 1" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a=x**2-1\n", "y,z=symbols('y z')\n", "a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Les substitutions les développements et les factorisations\n", "On peut alors substituer la quantité $y+1$ dans l'expression a." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGgAAAAbBAMAAABihNf9AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIma7zZnddlTvRIkQMqvFy5UvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABj0lEQVQ4EYWTvUsDQRDFXwyJMYkSCIhWXqF/QLSXCFcJBiHp1KiNX1WaYJlC8KMytQixso2CYntC6mBhHxUtrGwEQZQ4s3cXb8PsZSB7s+/NLzc77AHhkSquhhdI7jVeJTlc20QnE14huHuYuhDkQdKpM6hC8LcFbZCUWpYqIpakkjakJjAjullRZfGZfsmr5INQsCBowIkDtMh5PD6gLBiJc2pC6/nItdNvHw6QqgCNbjdIAO3yDxBXnfuGBwE1gtJ1Xw4+hwkaDwrQICxqnrdhqEr/WK1g0lGaDt2aoFnqPVFHzfV1aNoE7QATsTzmJOjQBJ0BzkgFX+Tf2PaubRdUJQ8CHZXy0triWOKUz0QQmpnRX96jbxD/kOuqlSFqDyUMe9PVz3QZqO2lDNEgMI/okyvqkHEQPNYimpYErbiivvKbuIX23bp3L/w3lRsFC1AH1xHE3j9fvGtU8iwfUtvIRh/Q29KFHcunv739fU+nhC+sIXKIW1HR5k/DEFkk99dELyeqSoxYBs/93CXzD+0MWx7MQO2IAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left(y + 1\\right)^{2} - 1$$" ], "text/plain": [ " 2 \n", "(y + 1) - 1" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a.subs(x,y+1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut définir des expressions que l'on pourra choisir de développer avec la commande expand. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAbBAMAAABmcQfAAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIma7zZnddlTvRIkQqzLsm4+cAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABrElEQVQ4EZ2UP0jDQBTGv6T2D22oRcHBxQ4ubtXFRWmF4OAgUiwODkoH/2xdahERu1Rw0kEQxKGTTmIRnA1Y6CSt4CC4FCe3WmcH3+X10gQjbfOGl/e++365y+USYPDwDY4QcWp4wLRHL1Sw7oX69ERVvFBqTFBKHH2HGgNqENRo3wwZX4BSZiMNLAxCVYV5woC6YqdCOXv3t47QuJp8Q4CW2o1elHbG3rEuQlUvCktsz9Oldjh+wEuTVG0NypXjfgjvlj+ABxZnAK2ibgdSZiupygmCX07qqZBJAJMs7gARI/ITitkppbgKH3nsYZjv6JilS5oLQ6YjouuL57reEMoFhnNkqG6JWDat0Tm6tCwK7BC9XGG4jVaTDVa+FVWHohVS3RSZQlL+FPZZsXKI1gBcc0+7ETKOEDTMVlK+BuZ53MolgLjObtBW3hWTGOFRSfkT4W/LbxbR7P1eGVhnlaZ8LtTSce4kpb3n26zI7MeUeMO8Mf+eKHoyl1A2WXSeXi3G6ivqZa6cWZxeM6adOndZzLrJML8UMeL6Vd7km66UNYUSdx13FcUfQMQvvbtXos1K5gQAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left(x + y - z\\right)^{4}$$" ], "text/plain": [ " 4\n", "(x + y - z) " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a=(x+y-z)**4\n", "a" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$x^{4} + 4 x^{3} y - 4 x^{3} z + 6 x^{2} y^{2} - 12 x^{2} y z + 6 x^{2} z^{2} + 4 x y^{3} - 12 x y^{2} z + 12 x y z^{2} - 4 x z^{3} + y^{4} - 4 y^{3} z + 6 y^{2} z^{2} - 4 y z^{3} + z^{4}$$" ], "text/plain": [ " 4 3 3 2 2 2 2 2 3 2 \n", "x + 4⋅x ⋅y - 4⋅x ⋅z + 6⋅x ⋅y - 12⋅x ⋅y⋅z + 6⋅x ⋅z + 4⋅x⋅y - 12⋅x⋅y ⋅z + 12\n", "\n", " 2 3 4 3 2 2 3 4\n", "⋅x⋅y⋅z - 4⋅x⋅z + y - 4⋅y ⋅z + 6⋅y ⋅z - 4⋅y⋅z + z " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a=expand(a)\n", "a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut substituer des valeurs pour $x$ et $y$ par exemple" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQcAAAAWBAMAAAA/eEQeAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMARN3vMmYQu3aZIqtUic3QRwAsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADj0lEQVRIDZ2VS2gTURSG/7TpNJ1kanHhRrBWEaQLS1W6UGiDIC5EGxDxRe3gQsVncGFFFwYFaZVqXGgJNTa4ETe2Ki3Uig34pkKzKb7Qqkg3hfhCRWobz525J5mZxkzwLuacOee///l6M50B5Apzkj9qHQP5G1zVui5z+t8x8LPw1kvoKix4jfuFBUV0D7pAxNFa2KUWzYnCCvfuGRcIuJ1EDXqr3McUVHgfu0EoKwsaUHNUd1O49DXFDeJ8xMUCS90Ebv3teSHUWFswu9PxYFae8V6hnjfKAi2bcYWiEm8JQml/lfeX2tt50SKFEpkFEWgA9kP7mpX1JrOpSEozmRSFkjBXt3HCUThUJpVaVAD3uGiNUfiTwANd1gKx2O+QzM2wv5t+nwFghXlLT0SvFDw1K5VvzorkNEN4Up6g2ZFXw2ET8A6PgJvWViBi3AVCUN8rg8N6tqfSTNvyUWE5MBw0q7U4rZuZhPAbd+pOhtj4/IkUmDJAOJwQz+sLYBcXRZQQWhjKQuCCLmrG2jKVlJkMwuKznoXY0HlXNmwQWiVDNGUydgMDYgqoTlYfxZi1JyE8v3SNTteA8CyuWmuVyFxA0KrTMbfeS9rsYojNHUFgu4BwCFhJDspvgoj4My1kkJsjITD8Q7AZEHvaY2Q0a5kQnmkoxzps/xgSolxXv9IDTRBOAVuRgzoNNKcwPqMDuTkMoWUmSGtA6LjO26zRhCjpgwLVBikhSHsEGgSEQ8AuAoJOojkVuFVXD+TmMMTI3O9V/Ex4j/I2HFok1idxb0LERLpOF1djvUunF6fTk+ZNT+KhgLAJ7A7mz7EDvu86vVKMOVo6/bExne4DyvpwoYEh5puWjqsB4YtS1UMbLEueBH0zx+elDAiHgLXCgR7M0eQqOo4kkJ0jT6I0Ae8fCRGwz7Ba4BnUBEa4ZEYJ0Qj0HBgaGl4dcQpYLiDagNbdXwB/CLk5EuIwCfslxDMgH4awoHeyLxGgFxv7iighosAyuisNwylgsXCgl9VV0EmUJ+gP4jm5k8BxE8K7ZOxUFe+zRGFx7e2r21jTsrXGUmeIGygjc8wJzxKwWDiUJOldu0DHVljmSAjPBMoiJkQFNn3gbZZYcWemH58zmW+IljXaIOVJqPFBHdBOToWcAuliOCgvzwXhHaQPmGWOhMD6OH3AupsmQ5a5RaYSokh1PhlD5OsVWdtXpO7fMiXh6P0FsCMEvHsSI6UAAAAASUVORK5CYII=\n", "text/latex": [ "$$z^{4} - 12 z^{3} + 54 z^{2} - 108 z + 81$$" ], "text/plain": [ " 4 3 2 \n", "z - 12⋅z + 54⋅z - 108⋅z + 81" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a.subs({x:1,y:2})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut revenir à la forme factorisée de a:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAbBAMAAABmcQfAAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIma7zZnddlTvRIkQqzLsm4+cAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABrElEQVQ4EZ2UP0jDQBTGv6T2D22oRcHBxQ4ubtXFRWmF4OAgUiwODkoH/2xdahERu1Rw0kEQxKGTTmIRnA1Y6CSt4CC4FCe3WmcH3+X10gQjbfOGl/e++365y+USYPDwDY4QcWp4wLRHL1Sw7oX69ERVvFBqTFBKHH2HGgNqENRo3wwZX4BSZiMNLAxCVYV5woC6YqdCOXv3t47QuJp8Q4CW2o1elHbG3rEuQlUvCktsz9Oldjh+wEuTVG0NypXjfgjvlj+ABxZnAK2ibgdSZiupygmCX07qqZBJAJMs7gARI/ITitkppbgKH3nsYZjv6JilS5oLQ6YjouuL57reEMoFhnNkqG6JWDat0Tm6tCwK7BC9XGG4jVaTDVa+FVWHohVS3RSZQlL+FPZZsXKI1gBcc0+7ETKOEDTMVlK+BuZ53MolgLjObtBW3hWTGOFRSfkT4W/LbxbR7P1eGVhnlaZ8LtTSce4kpb3n26zI7MeUeMO8Mf+eKHoyl1A2WXSeXi3G6ivqZa6cWZxeM6adOndZzLrJML8UMeL6Vd7km66UNYUSdx13FcUfQMQvvbtXos1K5gQAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left(x + y - z\\right)^{4}$$" ], "text/plain": [ " 4\n", "(x + y - z) " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "factor(a)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Intégration formelle\n", "On peut calculer des primitives de fonction, en précisant la variable d'intégration:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$- \\frac{1}{2 x^{2} y - 2 y^{2}} + \\frac{1}{y^{2}} \\log{\\left (x \\right )} - \\frac{1}{2 y^{2}} \\log{\\left (x^{2} - y \\right )}$$" ], "text/plain": [ " ⎛ 2 ⎞\n", " 1 log(x) log⎝x - y⎠\n", "- ───────────── + ────── - ───────────\n", " 2 2 2 2 \n", " 2⋅x ⋅y - 2⋅y y 2⋅y " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "primit=integrate(1/(x*(x**2-y)**2),x)\n", "primit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut vérifier en dérivant cette primitive qu'on retrouve bien la fonction initiale. La commande pour dériver est \"diff\" et on doit préciser par rapport à quelle variable on dérive." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAATsAAAAzBAMAAAAa1rItAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMpndu3bvImbNiRBUq0Qb3U6NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFCElEQVRYCe1YTYhbVRQ+mWTy816SDu5cTYQRHKU4IEUrVqIoClL6CEwFi8xsXIhog4q6EA26qMVNpEIZUAmFQdBF32aECsWKUhcWHAQpFUpHpJtuEhdSIWo89++9c9+9tzcxnc4IXpjcc8/5zrnnvPu9zM0BcI1cw2XZFfp8c8fSOB/7tz68U+mFP17xp1c6vlPpAaz40wsquzq9Y5heuHzx6jps3AmlF/xkcCNEGLfdsPifXhhhel/Cu9F+6J2H2YERYgKFCDOBgz+9ADC9z+F0/F3p3CIUmhMEN6A8jKG9gcKf3tcsvRg+BAjhOdgT3SCY18TDeFEE4E0v7LH0AH7Hv/p1mJ8jzv9CZGEmGN70qpcvX3kxgtxvGHSmC4cniG2B8jAWvUvlTQ8di034Hl+JI1DYhIOuQGPpRZixoAI0Tnp7mvU/C4NSB2aa9T8miG1AZRhD71aMkV5w6K/3fzrSeg/fjZ9b192h/JZQhPEDFWLv0Y87Sh5nRvbt3nEJvtravdnBA/D4NmdXneZr9Wprym89b3FTpeeNPjXg//SmeYT/3ac3mmqwZ3bmPjY+YOLEsdAnWFs78fza2qbNf8CUOz625XBPPRrfpMK2I72gXeva0wsW7tENvkKs6fmc9C2MVb6dc9wUPoVLGtpdiITZ0vM6aVuYi/xW6W9TyzT3w3ybzXgZ48NRyDFhxU9beg6nxMcvVId2zMPw9hazvCrNjkJqvAaGsaZnr9575Cmz8pHc35h+iJnqZKK3FhJ2lT1MElUaNtuc/EeeMusUDabJ+9iq3Eh09kLWE7tVkE6KIhzjP3LGrDIrl2yfCR80mCKfPhN7IV9k3DJL6YQUeXnhEWlz8IQgOLMuIvwa/JIJqJbvcOEVtXQVUtlKEBZBVX8Swk04nUBtR64jkFlnAHIfXXgqGzVsRfBaXO/V59DSwr+NZ996JjIKETAQD1mLwfHCLKvHLGsxFFcVzMoTDYHMCiIojkYD5aPmoLoKK3D7hW9j1DyJv6J65X35rlGIgEG5q/zULPDcrJyQIsUlqLEf3HxYeUIRrOhwVYAzn2/ij6bH4OhoxPQPYRVxMKy2jUIEDKpLGXeJ52blhBSpDNP01JHrnhTBmfWJbperuBjxvgdfvsT6M5VmAgxPsJvN/jkACcsNEpsUBF6LwiiCr9mQ8MTa0csPKbOszxig304bFpgeOJpHAmamJ/E0ClIER79HeGLt6PV7lFnHuZfxsQizq0qJhwuO5pGA1Y3DlXgjChwgPLF39A4AZdY3Kgl9Psg6MnJg3dV4BWZjpUhnATNfDYmnUfgZzDQIT5KOHrkHAyIoJ+bTvai0AP2OWuP5988dgjfUmswCNtMjKi5KPI3C0+METJqMto4eQxBOONI7u35vW+35K8DZ5Y27OmpNZgGrzBEVFyWeRmEUqTbgdcIT/HrIdvQ4gnAC97aPxURN/qklukRgsPTfSqJWQhqFvRq3ATxNeGLp6DEEtvkSZtlfjVo3TO+A5YbaLDtLmOtKoEVBipQe/GzvEuGJ2dHjCCCcuDu7JV/nO4UoNTyRirokYOmFSreCFgWPqYI/AJcIT8yOHkcA4QT/3ZgJi23o5TuITl1HiUqIAlZIWJoBaFGsFEH2WYfiRGnJataVpY6+zqzSy3zGoC0tFHF09Agn8Epwq4ZJEUdHj3ACL1S3apgUcXT0CCfMkrYtWw9FbPvyy7zNcLN1/wDN4/N/5eF9EwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{4 x y}{\\left(2 x^{2} y - 2 y^{2}\\right)^{2}} - \\frac{x}{y^{2} \\left(x^{2} - y\\right)} + \\frac{1}{x y^{2}}$$" ], "text/plain": [ " 4⋅x⋅y x 1 \n", "──────────────── - ─────────── + ────\n", " 2 2 ⎛ 2 ⎞ 2\n", "⎛ 2 2⎞ y ⋅⎝x - y⎠ x⋅y \n", "⎝2⋅x ⋅y - 2⋅y ⎠ " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diff(primit,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ce n'est pas la forme factorisée intiale $\\frac 1 {x(x^2-y)^2}$, alors on rajoute \"factor\"" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGMAAAAzBAMAAABxm6tRAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWYiRInduzLEnmxuAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB3ElEQVRIDe1UsS8DURz+6mj1rkcxSYj+B94gDBYL0kkTkkoEl1S7GNrBJCFdhMFQJrHoZJK0iWhiYqoQg8FiEDZjKxKDQb137p137SN5CZGI3/Le7/t+3/3e97t3B3xfdBLFZ2mjE6oSIP0vURzzH5rYVP9SVtH9f/kvT6CmGtUfP7AxO6na4xjjqpJzVHKKmgvs5RUlQJ/0j/ilx7K0yVcejZhHsuNkco+ttu81jyJ45aSfeIxSWi/q94IoYD/GBqQehyj10NFLBInQU+rRsID+Wk1Q4NxN6jw6uBZxC5xN8NRFhH4uRjfLbjK4sLtoAf4YoKWi+6V6jxROWtgmOOISrdhaDmUAMwsMY9M6q/cIGL4I0sA6lxjEePLRYYXCwCFOSHe9R2CrJYNboIdLNASu2L4pDxCscBgYumSxSgHSZOEZqHxw7RbbMwkYI4lCru3VI6ncsyp2MDBGEnH4I8ABZ3wkDT95t9/lryLBCWG9hjki2C+E78AuJH1/+qNZDWaFUr6dRYHCMzwdSA1O0xz6KbSxRHKD4+I6UJrPAWwS3vi4MF7czuKAcD14wSfXhNLNGe2Fntzile5q0t7yCGVNi76nRtL9xBooPTVHsZsGHPbcJLADvX/ILHkDnRCbCndZwxkAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{1}{x \\left(x^{2} - y\\right)^{2}}$$" ], "text/plain": [ " 1 \n", "───────────\n", " 2\n", " ⎛ 2 ⎞ \n", "x⋅⎝x - y⎠ " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "factor(diff(primit,x))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\frac{x^{5}}{5} + x^{4} \\left(y - z\\right) + x^{3} \\left(2 y^{2} - 4 y z + 2 z^{2}\\right) + x^{2} \\left(2 y^{3} - 6 y^{2} z + 6 y z^{2} - 2 z^{3}\\right) + x \\left(y^{4} - 4 y^{3} z + 6 y^{2} z^{2} - 4 y z^{3} + z^{4}\\right)$$" ], "text/plain": [ " 5 \n", "x 4 3 ⎛ 2 2⎞ 2 ⎛ 3 2 2 3\n", "── + x ⋅(y - z) + x ⋅⎝2⋅y - 4⋅y⋅z + 2⋅z ⎠ + x ⋅⎝2⋅y - 6⋅y ⋅z + 6⋅y⋅z - 2⋅z \n", "5 \n", "\n", " \n", "⎞ ⎛ 4 3 2 2 3 4⎞\n", "⎠ + x⋅⎝y - 4⋅y ⋅z + 6⋅y ⋅z - 4⋅y⋅z + z ⎠\n", " " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(a,x)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA8sAAAAvBAMAAAAm4kWVAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMARN3vMmYQu3aZIqtUic3QRwAsAAAACXBIWXMAAA7EAAAOxAGVKw4bAAALt0lEQVR4Ae1bb4xcVRU/Mzszuzs7s67EDxg1W8AqopaiRgySOmqUgMFubCqKgb6EDxKbthP/AMoHJjZpuhhkE4XS1MKAIQRjshuNFamW9U+wFRLng2hXgizECBGztKhV+beec+4995737n3T2bKJZjr3w7vnnvM75/zOue+9efNmF4DHJy7bbITBsZ87MLk818/lDWozHXjzxwedOA068PrToMZBifDG3bcPutD/Hbgbruj/IgcVAmxsD7rQ9x04ADsm+r7IQYEXwWwy6EI/d6BwzsTH4Pew0M81DmqDz+/e24T6QmfQir7uQAL39XV9g+JMB0rXDTpxGnTgTXk1NvMMJ9XXpw9EMPU9p/oOZuGrSSQe5Kgt9Oi+qBNbe6XSLUO3+I5tfg/jPXKOKHiSXtJ2LedGEwK1OQ1Xcu2EWqxMvA32RBz+CIci2h5U9fbYYgSWo7bI0alRKTH07ZFKtwxd40vGLj2M90gcafYkvaTtWs6L5ggcAYhv9LZT3+b9sMVwKE0oLued6juYYrv0IrRUJCOymsRUFoGNdsrHRA7mHqm4DEEAAI7fihhQ9WFRd+mh65Fgg9mT9FIAsoq8aEhghCCltY99Xe+Fj7Pr1LcZ5Gq+xIcDOAtm45k0KCYXJ6rHIfxsYTXhU1l8gC5Xc49UXAYfVEkYPyRF9lJTUF17GLvjiSPNnqSXtD0tx6MhgcIcAkdh01NpvF2VHn4N21x5n4nyl3To3ybpdc8rvPfUp0K0vSVlsgjumoZIkblHKu6mFwmB8WOkAMYTi+7aQ+lRJLKoPEkviS0zx6Mxgccy0NSyXjHbXI20NwWEcju9xtU3W6waNRPLdDjXSSsUii2At4U+pMYzlY8kpcbIs6llZtEjFZMh42uWHD9CCuAOwUsPZZ2abY9SuszCk/RSBiLLeDQmUEwEFJmvtNvcw7fqB0N3cwuZTaC69/qGmOszIrn5UicFgvakd3TTAcK+usMsbty/58tODm7a9aO/E2OECpkUwiCzLwc1KYofIQVVdxuUHkpWnEu+B/HbrKLgSXrJhcp2LhqNCYz4lM5bhErLbvNfRZM/bw9Ns/OkwyZthfpxMX9WBD+/3YtZSXmWiehsFgCs5ixiqszBkxOyqL4skpkrT8GdoolQQZNGMNJmEK90ORQ/JIXnirTV9dD7Q7HpFqZHbmkETcGT9JKDZzsXi2YIVI85JxEOi1Dbu/c/U7gIChWAmustWtT4SBJ+TsySL1wMcADgvSTiKHQKDRY8dORCo9BHiaM83wJvAChySHAMAVjNWcR/LIGh9WZxTaP6T1GbeXgGrrcaTyUFUQijtxk8yJMy8UNSAEPzFi891L3Z2TRG1yPBtoygKHiSXnLVpzunojkExrME1tocflIgc+8ptr0xT6pwZ2stZz8Pdia4KOHd6z0ADzVQxvHJR3+dsOC3+d5njEIfJY73LP3t0evwI9g0yDM0as4i/kNrYOwfZlFsj7xf1GaebLu1p+JUJCgE620GhfGkTPyAFGI3Js5B7t9SE1SvttsMtkcCFYSi4El6yVWf6ZyP5hAcmQmE93MFuuKleUTeIzy6zfysLkQRePkt/HFdxu1/PnHb/KHlZRvEQTtdttl7Di0vHwMYwWg4PEOjBsoiY/yE2+bS0cfbojbzl/zSU/E6lBSC9TaDwnhSJn5ACrGbPN70UF3N9fGmtdoeCVZaoih4kl5y1Wc656M5BEdmAjsliZsN6IwLSlNWNe1MANd+4+5bWmqNmjugitfMAikNUf5d02JGF1k4P6nsfvDMo1ZJk4HiJ0Ibt5mjVqZb8N0ETd6I4vmJTUD6At4bcAQMbRY24qF4IsKTja9ePj0BioqKbZ0VIjRKgpOSogcAlYb8pGC4ErdZ2XwWQSgK5Kj6Qkt3kkc7pxHacTJhizpwEys3TLvr/CveWOmUzy0u+jVKnV/CyDGAq0lpiPLvmhYzzGdu4RXYBp9qrbNKD8UdhmfARK3X1sOtBiEF48a+IgnIUjJ344ChyWJ88TjZifAka+XVKXxYUFQseeeZQgRGgZ2cFD0AqDTkKDVVWrjNyuazWESWpOoLE+DqUYp2TiO048YGW9TBNBGqcmuBd3ljPamfqLX9GqA6fydQl39BSkNU/645Pkf64hz+1cKTyW9ItsPWBB3cZhP1+3hN2ucjMZKnJCA/fBNGI2BosrCNDu+0EZ1ChMpyAt9KPBUd22AUIjRKmJOTeg6hPg37SU11wG32NpXFIhQFdlR94TVXj1K0cxqhHfHl47IbAH9aWjpnaYlYXpKwCx4uwMvg6bNxrGtUiCON7bQ++89ogQ/A61r40AH1paWnNywt4b6q3zWLM4TeC5DgdrrhobUGXc0cNRlqwb8R4o3sKQnImb6/xBhSFqGID2ozNiK54PAWeAFgy4SnIrGjCDFmY1A52hYj9Q508mlSNf2KivU2iaSqzpCUvjAPX32kcxmEdpydZ6M6mLOlgNtlB26zH7SlqVF4EeiOsJGU9nxUr3n5OjNfzmkL/bDQbcDbz1En2/amLHHwmQv3zyYgV301mxe1JmD6ap4mZcCTkfixsWUK+GzitYrNawCFCI0G0wOp5xiZqtgWXOmYK8XZfBaL0BQ4jO8LLw8bFvHOaQR+a5CGRn5KMGEeMcHoqG7auJ0Nb2BpdBHoMe4MWhiiNX+GAG/AEai25XOVfRwUHjl48O8P2Kh3ypO032bytAnIEX+lohEwTG1zbQa+F+HJnj+kq1lRUbHZDqAQodFgeiDF2+x6zG6mN1A7ePChD7aiFCxCU2BP3xdemupzOqcR+CbIfgvAdrTZog4cBns1Jjr1CFZLboWRRAw8D8/BjSioR7Aj6nfNsSZuzgyMtB/G57RdylFqArgQbNQbAWPxECN72gRkKKgnbc2QsrhxKcDNEZ5s34ifzaCoqNjWXyFCI2N6IfVjRKo05Cc14buTprb5LIJQFDih7wsvD/ORDpHOpRDKMedJ+yNXfeYsCcfflcxicv4muFf0Zh5tFuhV035aMdHU75p0Ot3zxMIPCi8PH6tOGQ8+Sk0A/wIbdQ9MWoQYyRPfiXAC8ipjNBxcqGboTlo0Vt/9xL41EZ7sOdapXKypqNhsB1CI0MiYXkjh/U2nIT+pCT9PmtrmswhCUeCEvi+85OpZinQuhVCOm9igDxxmprxhQpR8PzaLrbuvvU1vFmorP5umWyk+jdlSUr9r0vX3/PLyC5UHdk1vJogMqQn+sPwjG3Xr0bvaxixG8pQEZNEvnDRDe5Wz8zg+UK6J8DSRF/Y1NBVL3tiyiIiRIL2QwotHpyE3qQnqN730adUNn8UhMiR9XyiO+94c7VwKoRzNt+PxXaXvMEKHEUWxLVJ8xs8wqK4hmyNKCzNSz2+ixDkCBfezQsZICXiMt3g6bFbqmJdFQXJEFztm72Z0thipIXeNuLCZmpweT95Fs8hH0NsWN8Lq0ZSDcOpn2R1f6XUkzhdEkLn7TxeH+J9y6i1CV9p0TA2+mac0ZhFCxxYrxy0wZTQJ2LIj4SlgaD4yrPNKJhU7dOtmVLYYqVHXTRc2VZPTAv5x3A57TuQgVF/YLaw+B6HU9qfG8cdvVpmz4teyCr1eCzfgcrtWafmjetFVLk4Nt2IAk4Atn4vZSdd7lnQEFTttoFU3o7LFSJXWh+FyNCpSHJHXF4/OQSh1eY7R7qna+yrpPiUH4pnTDdTlnglj84FHjqKw+9tRi0nAprdGAajsPUs6goqdNtCqm1HZoqR+GobL0ahIcUReXzw6B6HUxQaju29z6hHZR1dSua0WKbGymFq+pkU5vBXaeKuZZYUU46Ry724rjL5K8KtMnLHNfE2uUtBUGPwWvVqjy11lFbOskG2cFH6r/z8a1aYhM5zY94irz602sWoxb8+PtIpZ8pNELTmkfh4F/4+Uo4lL/EUnDYQ+7oC8mujjEk/70g6B+nPI074bfduADQB3JX1b3aAw2wF8Llw3aEbfd+B+KF/U90UOCqzu/0ky6EJfd+C/I0MlAj2HTHMAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{z^{5}}{5} + z^{4} \\left(- x - y\\right) + z^{3} \\left(2 x^{2} + 4 x y + 2 y^{2}\\right) + z^{2} \\left(- 2 x^{3} - 6 x^{2} y - 6 x y^{2} - 2 y^{3}\\right) + z \\left(x^{4} + 4 x^{3} y + 6 x^{2} y^{2} + 4 x y^{3} + y^{4}\\right)$$" ], "text/plain": [ " 5 \n", "z 4 3 ⎛ 2 2⎞ 2 ⎛ 3 2 2 \n", "── + z ⋅(-x - y) + z ⋅⎝2⋅x + 4⋅x⋅y + 2⋅y ⎠ + z ⋅⎝- 2⋅x - 6⋅x ⋅y - 6⋅x⋅y - 2\n", "5 \n", "\n", " \n", " 3⎞ ⎛ 4 3 2 2 3 4⎞\n", "⋅y ⎠ + z⋅⎝x + 4⋅x ⋅y + 6⋅x ⋅y + 4⋅x⋅y + y ⎠\n", " " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(a,z)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADsAAAAyBAMAAAAQBL5IAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMol2mSJE71SrZruYlGYbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA/klEQVQ4EWNgwAVc4xpwSYHEH3Aa4JNWYPyIT5qBG69uBqEGfLoZD+KTZRBvDMAlH1aS42D/H5fdbAKHmCfg0srAwMKgi11y3zsgEGBg+IFdGirK8oEFQ140rQIq1s9qwIouzWnB0AoVk8kMC0SX7trAWIIuhsQ/dS0X6Cac4A9OGbDEV/zSSxkY2PCoSGJghHkMmyq2srvYhEeomJAxCKgQ8j3/fyzgAyFdg0qeo/ydAx4HyTCw/sQjDcz1q/BIL2ZgOI/HdH0BvNJAg+3xZRcGTvw5gvkAHqcxMJTjlWUrwCu9nYGjAbcClgIGNjzSzaHhh3FrZtD///8zXBoAfutEoAOsGjcAAAAASUVORK5CYII=\n", "text/latex": [ "$$- \\frac{e^{- x^{2}}}{2}$$" ], "text/plain": [ " 2 \n", " -x \n", "-ℯ \n", "──────\n", " 2 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(x*exp(-x**2),x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En revanche, on ne sait pas calculer l'intégrale suivante, sauf à lui donner un nom connu des mathématiciens:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFoAAAAtBAMAAADcoWFIAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInarRM2ZVBDdiWbvuzJCz3LGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACR0lEQVRIDY2UPWgUQRiG310v5naXrCvYBAk5FSyi+I/4g2hjkUJMUERBzFZRPMSrgtq4nFrYHYI/nQEhRapFsDGNBBGVFNHGQoIHV9gIByJ6RmT9vlln92Zv9yYD9833vu8zc7M/d8D/MRqJIaVmPqDJldiYUKRGrK9pACW+ryiduKwDuvNyo1vpejuEyXfQ14Eip2PPf93yfOOaYOyAW7O9XXq4dIIYPvYQDunpnfRczApxLbGm/wKj/gOwmKmi0x/ltPwXeMlzB7ROO657eEKQ2cB7LQuM+s4sYUMhjuTSRhjbjsfzuo4VxDpTS/uW2RmR9l5u3NUZqdX5211xIZPSvSeai+elVudrQjq+dO0Kd7d9rr1jv7AscVxuy6+4DiSaVTpiejg1zqZt0hnVZ97JxVuTrSWBb6egvm3TWAWYS5i0GQ9Kb/Hmxh8cE95nOsKs88CaAF6kUNLRM1rEBZIx/RiwA7szSMe9mTBJ4/5cWDiKMwn9mvbGwDLnbcR/OkkFnF8cnKNPvDfRwIYK1zYXdbjfWac0nYS4JtdxLpnxkO5BF01XORjshhnkX2U7xBU8oi1WxDZ0207XvmAziavCUEv54FhwKvqEVvSRA/r6O1vr1ZDaSyqYp9InbzTi3JheaeaR7GXfKvoq2MW/sg9yn/iNBf81LEmvZx6Rjlz2DjjelGZ2Vn9plE4FfejsatZPgzy3wCutFgS5trUn1y4wpwv8XNv0c+0CcwaGVxD12q4Pc+308Pzc4d49ipypKPpdlHX7/wAbtoU5vHB6SAAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{\\sqrt{\\pi}}{2} \\operatorname{erf}{\\left (x \\right )}$$" ], "text/plain": [ "√π⋅erf(x)\n", "─────────\n", " 2 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(exp(-x**2),x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut également préciser les bornes d'intégration pour faire un calcul intégral:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOBAMAAAAPuiubAAAALVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAIpm7MhCriUTv3c12VLgeopIAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABOSURBVAgdY2BUMnZgYAhjYH/BwJDKwDCTgWEWA0OeA8O+ABAJBOsCgATHcxCTKwFEKoEIHgUQeYmBUYCBRYGBR4BBqrwoi4Fh37t3rxgAK5QOlzv7snYAAAAASUVORK5CYII=\n", "text/latex": [ "$$2$$" ], "text/plain": [ "2" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(sin(x),(x,0,pi))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Retrouver par le calcul cette valeur : ... " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut choisir des bornes abstraites:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMcAAAAUBAMAAADLgTR0AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJVCLvMs1Edmar3bti/yyrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC10lEQVQ4Ea1VTWgTURD+1nSzu0mTBouepF1oBfEUWwptFVwPevDS1UMvYmn9QbQIORUsSBelkIM/EcWDIE1bBGmhxL9LiyiCiNVDoVbqQczFSwWJtRDioTqz2bzsbjY5OfBevm/ezDc7O7sboMZOuT0v3CQQy7lAt3AGKsh5cU6g2XSzIDwEtF0OOnB8gQqqR1ayGuTbR5O0X2sQFKjw1JvQ76U1LKqTa0u4jwskQJDCmji1wW4vrWExalz7JdwBRQIU5BWRYAM14+V+dpocoWpOQBFW2NndCal/NoPxpceUENEBae7tg0qTIeJukzq6DLTO9UGZX7ToYIaW2rn43YlxivgU5HMYM6+a2JDyiFFkPAe04mV2HZGznBi1eK/aoKGcV9YQz7YB3MAPWu2T+OhEOEV8CqqFgdQqMHFlBBGKjBnAARxOHAW+cGITK7ksjaZiLAmleD+BLPk/0RpI4acT4hTxKbTrgEJPR0vy24ZJkeEMkMAtQpI9TqXA8OZXsvUUoU2iEwbwO7b9iCAu0toHXGLcm05/TqdvEPIpTGXpaktUJN96mwW4CPCHlrbCyC7CoGwanwxQzLbU+1cnzEVWIRfph83pxKcgOtmbwCtK5ttFN4O2kD7+ulKKaNlEJ5snEKVr49sllRAaJshWKeJVoJnAOANM3cuiOVce/JFIAdNQn9+hG+YffJoaD+vQSiT3gVRp8NECwsknXEIU8SnIowiZYylcbxpB3OTrh7YVL8g5tLzjrB1J3qs2mEOPcgFq8lgC/Nx20ffNQkvGCSt3UqOwZ38P5I5DGe3gfB8l0SSk5emZJWBswSCupmhzmfRm1sTJ7ve4u/gsQ/6HdvOhymtVLtJQgcXEZ2VBG6YC/EY3Mv6suKwyE9tVX0F8IDeUlSRQuUSXkAdGdQ/d5Wb1FXgwtk1iOQXJcljdHx5MHauvIOfdKaKk2+nBQx5WS4IV/v/f7z/ccsTMmSCgxQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\cos{\\left (x_{k} \\right )} - \\cos{\\left (h + x_{k} \\right )}$$" ], "text/plain": [ "cos(xₖ) - cos(h + xₖ)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_k,h=symbols('x_k h')\n", "integrate(sin(x),(x,x_k,x_k+h))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Interpolation\n", "On a vu l'interpolation de Lagrange dans un précédent TP, la commande \"interpolate\" construit l'expression dans la variable proposée (deuxième argument) en s'appuyant sur les points d'interpolation proposés dans le premier argument:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHgAAAAWBAMAAAD5tEXLAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMnarIkSJZlS7me8N5bApAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABlklEQVQ4EZWSv0vDQBzFX1r7I43WIFTpJkGcOhSl/gCR4i5thyoORRFawambUhC7ODcKIoLQgpsg6KAOCjq4GxcH6eAfULAFnRTjJeaul8ShuaH3fZ/3Xpo7AtiW2Hy2aU/iCOue8rbwNDJlG/AiZrBb9ZJ3ZO9lB/AiU17CjqyoOQCw6CIG2Gk+uvi5i2DOjQBhDfWqwwir4fQfuqJOoEUnfg/KiL7xgMwLt3fWhbFyJeHImDKaRPDDYbzrukVYWf237OvwZSG/sXfIPYqWI2VSji1tr2Q50xz9HUbiOM1OMAXQcgwJCGok5R/lTHOsqYzsoy7fMNUtq6QsymJHKnOmOU4BQ5PGGoNMQmwdKMq8oowTLaWNf4bvwfRo2BADmomsn09e0NeOw3zooOvEKPDxPvvNW2e+LpV+ikAmzUeNWdKwxdhloI0cU90zAy1I8ioCMmeSkXy0y5SEv/rboQZVZKe3DXyjdvGECueRMTR7/JKkSCjmCmdUGDsrn+ibw/nYa4M3AZ+u66xst/iyy+kBjPSQ+QWIH1AxM5qUGgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$- x^{2} + 4 x - 2$$" ], "text/plain": [ " 2 \n", "- x + 4⋅x - 2" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p=interpolate([(1,1),(2,2),(3,1)], x)\n", "p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On trouve bien une parbole qui interpole les trois points mentionnés. Pour tracer ce polynôme, on associe d'abord une fonction \"lambda\" à l'expression p, afin d'évaluer la fonction pour chaque élément d'une liste." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xx=linspace(1,3,100)\n", "lam_p = lambdify(x, p, modules=['numpy'])\n", "qxx= [lam_p(xi) for xi in xx]\n", "plot(xx,qxx)\n", "plot([1,2,3],[1,2,1],'o')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Exercice: construire le polynôme q interpolant la fonction $\\sin$ aux points $(\\frac i {10})_{1\\le i\\le 5}$. Le tracer, ainsi que la fonction $\\sin$ sur $[0,1]$. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut définir un polynôme d'interpolation qui s'appuie sur des points d'abscisse symboliques et/ou des ordonnées sympboliques:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAAqBAMAAACZ5Cp0AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWa73USJIjJt8O9gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAIYUlEQVRoBe1YfYhc1RU/87E7szNvZje1ikVqlqYk4Ac+QjAElJ3W+FWsWWmiBgWHxARSkpqCcf1AXSN+UAzdKkoV1EGskSbBwRb/CGIGdaNIJPOPUBXJUOhX+kdWVqoYdT3nnnvuu/e9t+/tkp1NoHNh78fv/M65vznv3vveXoBeOQ0Z+IF/Gib9/50yd+W6XsIX9/Hf0Ut4L+GLm4FFnq23wnsJX+QMLPJ0vRV+BiTc2/irRVYxn+kmn057z6cz5jNfMncOuXLlxK3wD+Hq5FlOp9Vr53cmz5/OSPaflzU9VyE5dsL/q6c6ACfa85p1McmldvXb5PnSGcn+87Km50rJ6TdBrYRXJzS6D441DeFM65SalZPJmtIZyf7zsqbnSskp1ySqlfCCLyAsDboGO2M6mek0KemMtAjzsKfniuS8ryOuv+TOcQl+o3QAXgm6bu9v7rBboz1JgUv1JCvZ0hlpEeZhnzVXJgbJKUWXcAWfQ+7JBtG8UaqtsuYCHlQmLDC+W9hcvSHekoCGnfLtEPmjjS8YZNL0nM6R7R0ZRxnV8C8SarStbHjWBIpaFWJTIrnSPiE5/VEByrOg8EciE+1ipBBORIQI2ZmZVhRNQcJOuZ2uQ64GR5saKiqJrh1Hq5t94hTDKE1EHOKAzDKAVeClvCQcSjRXKnBYTmUqMl92CKFBqsqtcofN53AD8Dl3ZolOxkydKYV3d3BH14I7YHgQdoLDrnfeh+ywht6Et8LuNH4aBiSpMYxNYotzNdpXrcddfgXAT2JZwW+0KEGuXJ+InFddO45O+FgdoupfS35EDRZJeFm/pw4wHFdLYvMho+Ah2B2GnWCltmvvbAPy3zFU/e2Sp1xnNSoH34oxjMpjc0o49OPvxNNzXSdmBoTkt1iUIFeOS1TORsdOg91UfUDVJTMz1GCRhHsNNaxwo/rhSsSEcyd4mO+Mw05QaLJdexemTcLx9JlyfHkwMGzAGIZXmHvCH/RTE25RglyZ+akTlbPJsdPgJqp2nbutTa0ukvDCDY8+j5B98ue2/vIN3PgHL6yOK7IkNv/4lg5oIxkEt6DASXliFXYyr23xxtf8NFx6+6fb6+xSfqn5b3FW7eADh28Bm+FY92DCWUCsDDMLrXAsr/lRMuGGF1AIxkM4XY46O5it62exzX3ZztcsVBI+cj+sRXhgPLBdBr+r74XcM1v0XhExAz7+Y8JGRRacof6LEAycJJzlpBhQ3Mkm8cbDrpVrFV8paXzN1g3umh25G7JDNkNCU5urY8JZQKwMMwsnvPxNlKzCGR4YisJhDnJOdJga1HdiN/Nd8OohiyR8aQfoeZSGCOTyDhz1fww5kC/FQAw8B2xURME1tA/BwEnHosY4EQMyDartNfUyeL43nWkz7sPH3JF6ZBr6ltkMMVDrASacBcTKEI3qDMefWYuSVTjDCyg8zRzk4D/vM0Ehtz/hH35ZZes0oPLe2NhLY2P0HOi4WY5NtomfX3+m8gD4cA9Z4D8+Vt7Y2L0rxsZqBADc1hajhTOU4z2rnHL3UqS9HXIJnJhRnULI8oa+UXxO1klcVW9OEYOfVw0onnQYVvjzyZMFRGXYs/AK3wBxZJsHhsIbEpLkbGrR7zs2RLVdKLOlFhzrWKCs8P1QoY8ESnhQ/kfdck0D8vTxovEo0pSRTIIzVG4QZpxoQMVyYoZKOBqM9xaiDdapVuWv0tEtnjXFrxxGQMi1+FGxJqpDMswsKuH8pgqTKVzAG6WhoqgNCUlySipr0espSvhIE96mUFLO4U7uJHjD2LWPFKiq77QfClXErMDF6msj2QRnyBv9Zw3AOImz5cQMzkjgnRmFz/DLtSMOGYzilPwwrnCbYVkza9eu+2lda1KyQzKMRpXws6HSjpIpnuEFFN6QiXJGfPI90aaaityPX4v93wNcVFR2ZZIzvDgF2dbD7kvzrP4p2AyYiDxTRcwowF5gozIIzlDhob9MW07sCmA5KUbkpfkPgB0Z/w7o1+LOBqiJs2qreIYP2wzHCtkJrSlWhmhUZzjeAvS3mWaRVTjhWRReGYlyDipf85Vi7sc3IY5b+6RnSdUrPL8TBpst546l/PnAVGUcjj/xKO8p8/Q/guLF2qgCaZEaGrwewcBJprKcFAP6cDYq2ruy/8j6xqGhF0FfnlVfff/XTWZIfR2sHLIYAut2cIIFxMuQRKqEf3Jk8hdRsoojvICC36+4ZZPlTFZvR+/doshc19Mj+CPAkbpYsNUJx89Bj/7Zlo2O3dxVm7c8jkuzuEL/cBFTufVKXxtVII1r6O/bhmwnxcDKclIMKHQQxaK9C/h+b6zaeunN4wqFPth9H/dM7W24HiyGwVXHe/GLh5XgeBmive/nX14DD87MfM00m6zCCC+ggNqQyXLuPo8OFfp6VneA5rrefSOyYJ1wHmA9h3/tDVd3RCQPt5WHO2GGO2bGJxp0vV3mKYxCMpJnCcgxPN6QiVK+6JD5Lqp2UQX6ul52scJ0dbk9wP4jobE1zLWtgdV18WeqjZZljOkyg/YTFdebsQWoQzKSZwnIMTzekEmSqsv/QD9EfQ/zHWCprvjVYdUkVgOzZDXRyTbeD1d17HG0rxjh69ko7dSQdBlW/ERysPwtD6fbP/F6FaBYQ1DfAU5q+88cXuygMhELLzh4yg92wRXNFjBY/rMxBurH8Tuk1EG71yBScZRqLKu5Saz1V0IiZwGMexYgxuKESFz+SkKhnf8NwBPU5ztAc12P39S90qUM8NGg7gCt6/rzujRbLyz0+ZSEpXQHGHNd30tQlzKg7wC7FL0XNpIBfQcYwXtAdzIgd4Ddid6LGsmA3AFGDD2gOxmQO8DuRO9FjWRA7gAjhh7QlQx8D0Lhy28M6ZDaAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{1}{h^{2}} \\left(h^{2} + h \\left(- x z + 5 x + x_{k} z - 5 x_{k}\\right) + 2 x^{2} z - 6 x^{2} - 4 x x_{k} z + 12 x x_{k} + 2 x_{k}^{2} z - 6 x_{k}^{2}\\right)$$" ], "text/plain": [ " 2 2 2 2\n", "h + h⋅(-x⋅z + 5⋅x + xₖ⋅z - 5⋅xₖ) + 2⋅x ⋅z - 6⋅x - 4⋅x⋅xₖ⋅z + 12⋅x⋅xₖ + 2⋅xₖ \n", "──────────────────────────────────────────────────────────────────────────────\n", " 2 \n", " h \n", "\n", " 2\n", "⋅z - 6⋅xₖ \n", "──────────\n", " \n", " " ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p=interpolate([(x_k,1),(x_k+h/2,2),(x_k+h,z)], x)\n", "simplify(p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On est alors en mesure d'intégrer l'expression p qui est polynomiale en $x$. Définir ce polynôme sur l'intervalle $[x_k,x_k+h]$ nous sera bien utile pour la suite afin de construire des formules de quadrature." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$- \\frac{x_{k}^{3}}{3 h^{2}} \\left(2 z - 6\\right) - \\frac{x_{k}^{2}}{2 h^{2}} \\left(- h z + 5 h - 4 x_{k} z + 12 x_{k}\\right) - \\frac{x_{k}}{h^{2}} \\left(h^{2} + h x_{k} z - 5 h x_{k} + 2 x_{k}^{2} z - 6 x_{k}^{2}\\right) + \\frac{\\left(h + x_{k}\\right)^{3}}{3 h^{2}} \\left(2 z - 6\\right) + \\frac{\\left(h + x_{k}\\right)^{2}}{2 h^{2}} \\left(- h z + 5 h - 4 x_{k} z + 12 x_{k}\\right) + \\frac{1}{h^{2}} \\left(h + x_{k}\\right) \\left(h^{2} + h x_{k} z - 5 h x_{k} + 2 x_{k}^{2} z - 6 x_{k}^{2}\\right)$$" ], "text/plain": [ " 3 2 ⎛ 2 \n", " xₖ ⋅(2⋅z - 6) xₖ ⋅(-h⋅z + 5⋅h - 4⋅xₖ⋅z + 12⋅xₖ) xₖ⋅⎝h + h⋅xₖ⋅z - 5⋅h⋅xₖ\n", "- ───────────── - ───────────────────────────────── - ────────────────────────\n", " 2 2 2 \n", " 3⋅h 2⋅h h \n", "\n", " 2 2⎞ 3 2 \n", " + 2⋅xₖ ⋅z - 6⋅xₖ ⎠ (h + xₖ) ⋅(2⋅z - 6) (h + xₖ) ⋅(-h⋅z + 5⋅h - 4⋅xₖ⋅z + 1\n", "─────────────────── + ─────────────────── + ──────────────────────────────────\n", " 2 2 \n", " 3⋅h 2⋅h \n", "\n", " ⎛ 2 2 2⎞\n", "2⋅xₖ) (h + xₖ)⋅⎝h + h⋅xₖ⋅z - 5⋅h⋅xₖ + 2⋅xₖ ⋅z - 6⋅xₖ ⎠\n", "───── + ─────────────────────────────────────────────────\n", " 2 \n", " h " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "I=integrate(p,(x,x_k,x_k+h))\n", "I" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On simplifie l'expression obtenue pour y voir quelque chose, on a la chance d'obtenir une simplification appréciable:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAArBAMAAAAkvaPHAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAELvv3c2ZVESJZnYiqzKqLvLVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB3klEQVQ4EY2TzysFURTHv+N5vBlveClW6vmxk4WFIiyUJFbP4kl+9UrIwk5KFmZhK29DoTSSlQULvc3bTPgDlC1ly+ZRRBY4d2YuZ+TmnqZ7z/mez5w7d+49QG0H9GxUD8OrHpd40uPMPj0uPn/cpkOmJ3Grw63doVmHmwV6dLghJD80OOMNZrsGZz0ilj/4H7QzqHHy/3NlLsy9AEu6CtzyIonzSBQG9Ts3AD3MJpkvXaMbFx7qZChmK8ej1SCw22HnYJ6yVLnHAoRcTQbmIwz+5y45Jrl0I6roGMZYrkB+ot95CKSwXozqvQHbjGslv7Y41xjhaNH4O3DEuEHyU5A/J6yHCaxQYywxrkv41U1i3Mpm+7PZKeFaxXv6vhI+fROKz20IT5isB9jUQKVA9EexbuWVFH64OGnrUqZZ7GMZCMmQs3pR8qL7oL1XD++eOYSThVzViDFO0YKvBQPVrsCh/KNy3e05h9LTjPvz3IJ8so9mc2/fj6L3oCEgglHcA2MM1HLC1O0u7lVZTvavPAr/pcggKmx6Ukq60vs1+/e+5ZeoCl/uC44qx3TjxUUni1Wu8ZnCTEqVZfozcOKwWOUOEOeqkky/1qxXou9jryldO2/o7Jd6bvFOWeQ78QWdnWPy/294YwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{h}{6} \\left(z + 9\\right)$$" ], "text/plain": [ "h⋅(z + 9)\n", "─────────\n", " 6 " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "simplify(I)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A ce stade, vous en savez assez pour vous lancer dans la construction de formule de quadrature." ] }, { "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 $(x_i)_{0\\le i\\le n}$ é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", "x_i=a+i \\frac {b-a} n\n", "$$\n", "et $p$ le polynôme de Lagrange interpolant $(x_i,f(x_i))_{0\\le i \\le n}$.\n", "\n", "A l'aide du calcul formel vu précédemment, construire les formules de quadrature de : \n", "- trapèze (Newton Cotes à 2 points). On parle de la formule de quadrature des trapèzes car l'aire sous l'approximation affine entre les deux points d'interpolation est justement celle d'un trapèze. (Vous avez la solution ci-dessous par le calcul symbolique, même si dans le cas présent le calcul de la surface du trapèze se calcule immédiatement). \n", "- Simpson (Newton Cotes à 3 points)\n", "- Newton Cotes à 4 points\n", "- Newton Cotes à 5 points." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAArBAMAAABiCwBtAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAELvv3c2ZVESJZnYiqzKqLvLVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACgklEQVRIDZ1UTWgTQRh9m58mm2STICqCQqIXD1bJoRfJZdGDFix4iUipsgoiokIPFQSRbNF7g2hFPFgPVrEIoUIuWtmTBxEaEATxhwWLFw9NTgak6jezOzNrIm4332H2zfve2/l29psBtoxhmDgxjAk/hnGlu8O4dHMYV/L80mh0X2kKn6O76i72RHedA6rRXePI/Yrs0nrQK5FdmQ7ijYdRbcZxFOxGVFdsAfp9z/Rmc96ME9TlymymXbwUJAXe3nIExCeJCCQ5b9z9Zzd/qE9L7TaJCCzySWnWVuQ1AbXeDgEBvakwjnFcDzCQrlQnQGsVNcmZHN9WDJTr74NxUmmyFsPPxt4rSroy7yZ41k/NKwn9AhY/gecNjmiQFRaayB4ULB5JhMQ0w6wnEzYBHtK16gJHfRKYkQhxm2H22aUiZ+/UaodrtVMc0x5p6qZYx28elPJc7LNvciEb5Fq0R2nK+LEuANXFK4y1gfn8ik9L1376S9b3NhafrrjB18LbjXgTmLzq16jWqlLrPJ7t4kkvbyK4G7rFFijZwIbLEAuxFh1CFL7QXu1s5zrABS/LRq/uuSLy1b2CFS52Z35dpk8wmqkKcFrk6ck76haQLd/I+7Rw6WVgOV1xEXcNC6yLXp894Gmoe1PtSSDWXNN91y7veT25AOzLmw2sOmtF1r1aGw9snow5SOw22YkxXnFCDoe2EpzCRxdXXpwB6KQYRcSpVAo6lZmWw2HfsCQPKt+HUfq5JgzqIhabuAGOkCzjUD1d6WLO/8fIRlEKEqrDJBcO5hrhmkHFxCAVzoxY4ZpBRWuQCmdSFt6Gq/oV34CX/VzoPDd+77IZquoXJOkGiOz6Aznwi6m7329DAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{h}{2} \\left(f_{k} + f_{kp}\\right)$$" ], "text/plain": [ "h⋅(fₖ + fₖₚ)\n", "────────────\n", " 2 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f_k,f_kp=symbols('f_k f_kp')\n", "p=interpolate([(x_k,f_k),(x_k+h,f_kp)], x)\n", "simplify(integrate(p,(x,x_k,x_k+h)))" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAArBAMAAACuvvjDAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAELvv3c2ZVESJZnYiqzKqLvLVAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEWElEQVRYCcVWXYgbVRT+ssk2mdlJNkgVoUJWXxRdcdUKlYUaFbTFilswUtpV4oLVrYKLPyhIyZQWXxtqrVR9iA9W6SKGFgNF1o5FhEIhEbGgrRpwfRCR3fWHLv0xnnN/ZuZukr6t9zzMufd833e/mbtn7w1wzXpYjSesuuOCVfvMklV7p2jVfvDZ2VGLL1CYxI8W7Stt3GTR/hlg3KL9Znj/2rNPLMMZs2fvLiJZ/cCaf3YCw37Vmv1ADc570t2r/b9v4QaG3ymeJZ5/wSjyxDt8YIbzdY2AU3ecPnwzF3tp4+SV+vNxEJM8y77TfQV9jfRFxr6viLfgoRFeGZUaVXpp48SV+mvjoFvmWWGPz0nGGzKdnMHfNEosX6/qOil86AKGi1QztJqTrutRl94JIaKkAuZV+KFDLb/XT/xDpfSiruus8MwGFCaoZmg1J7Lv0ifGNInyV2J8MFaBWp6cefO778YQl5tvaPU6kX23fpsmUW7w+JP1Z2OlcPm1VcD99tFyDONhiCc208zUampo30N/SJMo3yrGl4Dj5CVDL3/6oTwVhusYuldDImvcO/g0z+NaZ0qUaOPqWhLXO41vqPyhhig/zGM+/1M+DUTo5eFsoHmzDWySgHqGON7yV2jfx3eSFNnH9bswRfArah1O7CDaq8CfCrxdKj1YKj0pxribatRZidgvMwNP3mlogS1YCKhdSqXH7ymVWmKRuH4an1JtAR0RDAt7bo99PBOhvu4McMcMQJ2VKSrEwL0AA3RaGNpNaPqCFH29qeevX5DLiKfY/AF60UO5OVVW9p28sL+dHMq/t3Dk6FxbEhQ+vCTstdbdNfsT4RXaMIrIXuklnNhIWPShqvWSdWD762r7dWffBTwWiF8lgx/tWcLHy7kiaSmUfXIEqcuA1rr7/XkCHxGUmP04wHoJf0ZGRuuJ/4KCD1xpS2G4/FGkL/GhR81Pn+Wta3mLkqHs3RoqtJrWfjmHJm+U5IRfr/USFq03rY0oi53Yn0duXNwfjKjlMzunfPq7U9v9cmyGjvZ6eozREMebO2+hWag9h5eBI4IR2/xQL2A0aaWnFIeTOHQPAEMje3OqrOzlzBkBjmXG2ki2s2VZMnCE2o04i0w10xak8OtDPcH0l2/W4BWBdSeek2u5ZaRb24GB+rwjK7hBZU67B2vAbbliFc1gPs8VGHik9S7n7sevr70kSYlAUCO9gLfgeB585ZSRpW3gGEXqxiK1R5D9QszNxwNraT6Jc228+rk60AxCpE3vaORxX6djwAj1Av7txHmALtw07cGEJJ6C2whMTWw2G/4MiTdMRIi0a6pRNRqF+ggepQYdQaIoSV4tIl9tJA6IqxBSajf7UELYDaif/8w7tT7E3uU1V/K9AV19kW+T/mHCP198tz919RGns3X1Tfo77N73l98fXW3EbeEkXZa2IhkgR5elrSiQ8Q+2zOmWDPi4sxaZrXDr1tyBP6bVlWPjHf4DXkYxoP/S8o4AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{h}{8} \\left(f_{k} + 3 f_{kp} + 3 f_{kp2} + f_{kp3}\\right)$$" ], "text/plain": [ "h⋅(fₖ + 3⋅fₖₚ + 3⋅fₖₚ₂ + fₖₚ₃)\n", "──────────────────────────────\n", " 8 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#bout de correction à effacer\n", "f_k,f_kp,f_kp2,f_kp3=symbols('f_k f_kp f_kp2 f_kp3')\n", "p=interpolate([(x_k,f_k),(x_k+h/3,f_kp),(x_k+2*h/3,f_kp2),(x_k+h,f_kp3)], x)\n", "simplify(integrate(p,(x,x_k,x_k+h)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour $f(x)=\\sin(x) x^3 e^x$, calculer la valeur exacte de $$\\int_1^{ 2} f(x) \\,dx$$ et la comparer aux évaluations des quatres formules de quadrature proposées. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "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_a^b 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=a,~x_1=a+h,\\cdots,x_i=a+ih,\\cdots, x_n=a+nh=b.\n", "$$\n", "Il n'est pas nécessaire de proposer, comme ici, une subdivision uniforme de $[a,b]$, on pourraît choisir de discrétiser plus finement les régions de forte variation de $f$.\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", "Définir à l'aide de fonctions paramétrées par $n$ les formules de quadratures composites basées sur les 4 formules de Newton-Cotes déjà construites. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On appellera **erreur de quadrature**, la quantité dépendante de $n$\n", "$$\n", "\\left |F(n)-\\int_a^b f(x)\\, dx\\right|.\n", "$$\n", "Sur un même graphique, avec $n$ en abscisse ($5\\le n\\le 100$) et l'erreur de quadrature en ordonnée, tracer le graphe des erreurs de quadrature des 4 formules de quadrature composite, pour la fonction $f(x)=\\sin(x) x^3 e^x$, $a=0$, $b=4$. Proposer également le graphe en échelle logarithmique. " ] }, { "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.6.4" }, "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 }