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 rectangles            »  Accéder au programme en ligne , Autres méthodes

Cette méthode, très élémentaire, basée sur les sommes de Cauchy-Riemann (approchant l'aire sous une courbe) et appliquée à une fonction f continue, permet le calcul approché d'intégrales en choisissant une subdivision régulière de pas xi+1 - xi = (b - a)/n, donc indépendant de i avec une valeur de n "suffisamment grande".

On obtient une succession de rectangles en rose ci-contre, 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.

     Le coloriage en bleu (resp. en vert) indique des portions d'aires de rectangles en excès (resp. en manque).

É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>

Autres méthodes : »


© Serge Mehl - www.chronomath.com