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

L'intégrale de Riemann d'une fonction continue
   
Programmation de la méthode élémentaire des rectangles , Autres méthodes , Intégration par parties

On sait depuis Mercator et Leibniz, que si une fonction est positive, l'intégrale sur un intervalle [a,b] évalue l'aire sous la courbe. L'idée de Riemann fut de remplacer un arc de courbe sur chaque [xi, xi+1] par un segment d'ordonnée f(ci), xi < ci < ci+1 : on parle de fonction en escalier :

Étude :   

Considérons un intervalle [a,b] sur lequel une fonction f est continue et soit :

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

une subdivision s = (xi) de [a,b] en n sous-intervalles, la somme :

Sn = (x1 - xo)f(c1) + (x2 - x1)f(c2) + (x3 - x2)f(c3) + ... + (xn - xn-1)f(cn)

sur cet intervalle, est une somme de Riemann attachée à f sur l'intervalle [a,b].

Si, lorsque n tend vers l'infini, de sorte que le plus grand des pas xi - xi-1 tende vers 0, la somme Sn admet une limite finie pour toute subdivision s et tout choix des ci, on dit que f est intégrable au sens de Riemann. On démontre alors que cette limite ne dépend ni de s ni des ci choisis. On l'appelle intégrale de f sur [a,b] au sens de Riemann et on écrit :

Mais le calcul d'une primitive n'est pas toujours évident, même pour une fonction d'apparence simple comme par exemple x cos(x2). On peut avoir recours à un développement en série de la fonction. Pour l'exemple cité, on devrait alors écrire :

cos x = 1 - x2/2! + x4/4! - x6/6! + ..., puis cos(x2) = 1 - x4/2! + x8/4! - x12/6! + ...

D'où une complication (la recherche du développement n'est pas non plus toujours évidente) et un souci pour la précision du calcul. Les mathématiciens se sont alors penchés sur des méthodes d'approximation :

Calcul approché par la méthode des rectangles :

Ce principe permet le calcul approché d'intégrales en choisissant une subdivision régulière : de pas xi+1 - xi = (b - a)/n, indépendant de i, et un n "assez grand".

On obtient une succession de rectangles en rose ci-dessus, d'où le nom de cette méthode, approchant l'aire sous la courbe,  où ci est choisi ici au "milieu" de [xi ; xi+1]. On calcule :

Sn = hΣf(ci) , i variant de 0 à n - 1

avec : h = (b - a)/n , xi = a + i.h , ci = (xi+1 + xi)/2 = a + ih + h/2. Le passage à la limite fournit l'intégrale cherchée.

Évaluation de l'erreur commise :

On montre facilement, que l'erreur est en 1/n, plus précisément inférieure à :

 

Le lecteur intéressé par le calcul de cette majoration pourra se reporter au calcul similaire de l'évaluation de l'erreur commise par la méthode des trapèzes. Cette dernière, en 1/n2, est plus efficace : à précision égale, 100 points de subdivision équivalent, grosso modo à 10 000 points par la méthode des rectangles. Mais cela est très théorique. Tout dépend de la fonction et de l'amplitude de l'intervalle d'intégration. Sans oublier les erreurs d'arrondis.

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. Rappel ln2 0,693147180559945.


<SCRIPT LANGUAGE=JavaScript>

var x,fonc
var pi=3.141592653589793;
var e=2.7182818284590452;

function rect()
{
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 rectangles
h=(b-a)/n ;
s=0
for(i=0;i<=n-1;i++) {s=s+f(a+i*h+h/2)}
// -------------
alert("Integrale = "+s*h)
}
}

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

  On trouvera dans ChronoMath d'autres méthodes usuelles plus élaborées :

Aire sous la parabole :     Calcul aléatoire d'une intégrale :

1. Intégration "par parties" : On suppose u et v dérivables sur un intervalle J. En utilisant (uv)' = u'v + uv', prouver que pour tout x de J :

La notation désigne une primitive de f (intégrale indéfinie). En déduire la formule (abrégée) :

      (1)

ou bien, en utilisant la notation différentielle :

       (2)

Application : 

L'intégration par parties est un outil extrêmement efficace. On l'utilise systématiquement dans le calcul d'intégrales "récurrentes" de la forme In = fn(x) dx afin de calculer une relation entre In et In-1 ou In-2. Les exercices ci-dessous sont indépendants.

a) Montrer que les primitives de x ln(x) sont x x.ln(x) - x + C.   
    Indications :
faire jouer à ln(x) le rôle de v.

b) Par une double intégration par parties, calculer l'intégrale sur l'intervalle [0,1] de la fonction x x2e-x.

    Rép :
2 - 5/e

c)     
   
Calculer I5 à 10-2 près. 
Indications : on calculera Io et on utilisera la relation de récurrence.
    Rép :  Io= 42/3  et  I5= -327682/9009

d) Sachant que -cotan x est une primitive de 1/sin2x  (fonction cotangente), calculer les primitives de 1/sin4x.

    Indications et réponse : si j(x) désigne les primitives cherchées, on vérifiera, en procédant par parties, que
    j(x) = -cosx/sin3x - 2j(x) + 2dx/sin2x. D'où 3j(x) = -cosx/sin3x - 2cotan x = -3cotan x - cotan3 x + C


Voir aussi :

3. niveau SUP : Intégrale de Wallis        4. niveau SUP : Calcul d'intégrales & primitives diverses

5. Autres exercices : niveau bac , niveau sup.


© Serge Mehl - www.chronomath.com