{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "from matplotlib.pyplot import *\n", "from numpy import *\n", "#from scipy import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Méthodes numériques \n", "\n", "## TD/TP n° 2 - Intégration numérique \n", "\n", "### Exercice 1 - méthode des rectangles et des trapèzes\n", "\n", "Retrouver les formules de quadrature pour la méthode des rectangles et des trapèzes, ainsi que l'ordre de ces méthodes.\n", "\n", "Écrire deux fonctions `MethPointMil(a,b,f)` et `MethTrap(a,b,f)` qui calculent une approximation de l'intégrale de la fonction `f` sur le segment `[a,b]` respectivement par la méthode des rectangles point milieu et la méthode des trapèzes.\n", "\n", "On considère la fonction $f(x)=\\cos(x)$ dans l'intervalle $[0,2].$\n", "Déterminer numériquement l'erreur pour les deux formules de quadrature dans ce cas particulier.\n", "Est-on en accord avec la théorie ?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercice 2 \n", "\n", "Écrire une fonction `MethComp(Meth,a,b,f,N)`, qui retourne une approximation\n", "numérique de l'intégrale de la fonction `f` sur `[a,b]`, en utilisant la méthode d'intégration composite sur `N` sous-intervalles construite à partir de la méthode d'intégration `Meth`.\n", "\n", "Ici, `Meth` est une méthode d'intégration numérique quelconque -- autrement dit, `Meth(a,b,f)` retourne une approximation de l'intégrale de `f` sur `[a,b]`.\n", "\n", "Utiliser cette fonction pour calculer une approximation de la fonction $f(x)=\\cos(x)$ par les méthodes composites des rectangles-point milieu et des trapèzes, avec `N` = 25 (en utilisant les fonctions définies à l'exercice 1).\n", " \n", "Déterminer numériquement l'erreur pour chacune des méthodes dans ce cas particulier. Est-on en accord avec la théorie ?\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercice 3\n", "\n", "Retrouver la formule de quadrature pour la méthode de Simpson. Déterminer numériquement l'erreur de quadrature dans ce cas particulier.\n", "Est-on en accord avec la théorie ?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercice 4\n", "\n", "Écrire une fonction 'evalquadn(f,X,alpha)' donnant l'intégrale approchée d'une fonction $f$ par la formule de quadrature $J_n(f)=\\sum_{i=0}^n \\alpha_i f(x_i).$\n", "\n", "Vérifier numériquement que la méthode des trapèzes est inexacte à l'ordre 2 et que la méthode de Simpson est exacte à l'ordre 3. Peut-on montrer mathématiquement ce résultat ? " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercice 5\n", "(comparaison des ordres des erreurs pour les méthodes composites des trapèzes et de Simpson) \n", "\n", "Tracer en fonction de $m$ (nombre de sous-intervalles) sur un graphe log-log les erreurs pour les méthodes composites des trapèzes et de Simpson pour la fonction $f(x)=\\cos(x)$ sur l'intervalle $[0,2]$ . Les résultats sont-ils conformes avec la théorie ? " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 0 }