ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges
 

Méthode des trapèzes             Accéder au programme en ligne , Autres méthodes

La méthode d'intégration approchée, dite des trapèzes, décrite ci-après, introduite par Newton & Cotes est plus précise que la méthode élémentaire, dite des rectangles, correspondant aux sommes de Riemann consistant à remplacer la fonction initiale par une approximation en escalier. Graphiquement, sur l'intervalle [xi, xi+1], on remplace l'arc de courbe par le segment [MiNi+1], donc l'aire sous la courbe, par le « rectangle » xi Mi Ni+1 xi+1 :

La méthode des trapèzes, étudiée ici, remplace tout arc de courbe correspondant à [xi,xi+1] par le segment [MiMi+1], donc l'aire sous la courbe, par « trapèze » xi Mi Mi+1 xi+1 au lieu du « rectangle » xi Mi Ni+1 xi+1 :

A subdivision égale, cette méthode apparaît a priori comme plus précise que celle des rectangles, principalement pour une fonction à variation rapide (dérivée forte). Sa programmation est fort simple et on peut calculer, intégrée au programme, une majoration de l'erreur commise par cette approximation.

Étude :  

Soit f une fonction continue et positive sur un intervalle [a,b] dont on veut calculer l'intégrale :

     (intégrale au sens de Riemann)

Si nous choisissons une subdivision régulière de l'intervalle [a,b] en n sous-intervalles [xi,xi+1] avec i variant de o à n :

xo = a < x1< x2 < ... < xn = b,

on a xi+1 - xi = (b - a)/n. La somme des aires colorées en jaune pointé représente une approximation J de l'intégrale I. Chaque aire est celle d'un trapèze de hauteur xi+1 - xi, de bases respectives f(xi) et f(xi+1). Par suite :

Il est important de remarquer que si f est monotone (i.e. croissante ou bien décroissante) sur [a,b], l'approximation J obtenue par la méthode des trapèzes n'est autre que la moyenne arithmétique des aires des rectangles encadrant l'intégrale cherchée, à savoir :


   exercice d'application
 

Évaluation de l'erreur commise :

Évaluons un majorant de l'erreur commise par ce procédé (et représentée concrètement en bleu-vert sur le schéma ci-dessus) : supposons f de classe C2 sur l'intervalle [a,b] : f est dérivable jusqu'à l'ordre 2 au moins et ses dérivées f ' et f " sont continues. Posons h = (b - a)/n. L'erreur ei(h) sur [xi, xi+1] = [xi,xi + h] est, selon la formule de l'aire d'un trapèze :

En utilisant la 1ère formule de Maclaurin, on obtient facilement :

Il s'agit maintenant de faire la somme des erreurs pour i variant de 0 à n-1 : notons M le maximum de |f ''(x)| sur [a,b] : la valeur absolue de l'erreur commise est majorée par e = nM x h3/12, c'est à dire :

On voit que cette erreur est en 1/n2 : si on multiplie par 10 le nombre de points de la subdivision, l'erreur est, en théorie, divisée par 100. La méthode des trapèzes est donc plus précise que la méthode élémentaire des rectangles, dont on montre facilement, que l'erreur est en 1/n, plus précisément inférieure à :

 

En effet, l'erreur sur [xi, xi + h] est ici :

Si f est au moins de classe C1 (continûment dérivable), le développement de Taylor avec reste de Lagrange de f au voisinage de x = xi s'écrit f

(x) = f(xi) + (x - xi)f '(ui) , ui [xi, xi + h]

Dans l'intégrale, poser t = x - xi. On intègre alors de 0 à h et ei(h) = ½h2f '(ui) avec h = (b - a)/n. Il n'y a plus qu'à sommer et majorer.

Programmation de la méthode en JavaScript :

Pour tester ce programme vous devez entrer la fonction utilisée en utilisant une syntaxe comprise par le langage JavaScript. Cependant, l'instruction with (Math), placée en début de procédure, évite à l'utilisateur de préciser Math devant chaque fonction mathématique utilisée.

   fonctions mathématiques usuelles


Par défaut f(x) = 1/x, a = 1, b = 2. Le programme calcule des approximations du logarithme népérien de x. On pourra comparer cette valeur aux résultats obtenus en faisant varier n ainsi qu'aux autres méthodes proposées, celle de Simpson en particulier.

Rappel ln2 0,693147180559945.

Pour cette fonction, très "régulière", le programme est assez performant mais n'espérez pas dépasser 4 ou 5 décimales exactes... l'évaluation de l'erreur commise n'est pas simple à programmer car il s'agit de calculer un majorant de f "sur l'intervalle d'intégration et la fonction à intégrer peut posséder une dérivée seconde difficile à étudier.

<SCRIPT LANGUAGE=JavaScript>
var x,fonc
var pi=3.141592653589793;
var e=2.7182818284590452;
function trap()
{
with (Math)
{
fonc="1/x"
a=1 ; b="2" ; n="100";
fonc=prompt("Entrez votre fonction :",fonc)
a=eval(prompt("Entrez a :",a))
b=eval(prompt("Entrez b :",b))
n=prompt("Nombre de points n= ",n)
if (n==null) {return} else {n =eval(n)};
//--------------   
Σ des trapèzes
h=(b-a)/n ; s=(f(a)+f(b))/2;
for(i=1;i<=n-1;i++) {s=s+f(a+i*h)}
//--------------
alert("Integrale = "+s*h)
}
}

function f(x)
{
with(Math){y=eval(fonc);return y}
}
</SCRIPT>

Autres méthodes :


© Serge Mehl - www.chronomath.com