Samir Chtita
UNIVERSITE SIDI MOHAMED BEN ABDELLAHFACULTE DES SCIENCES
DHAR EL MEHRAZFES
LES MÉTHODES D'INTÉGRATION NUMÉRIQUE
2010 / 2011
MASTER DE CHIMIEOPTION: CIS
1
PL
AN
Introduction
La méthode des rectangles
La méthode des trapèzes
Le méthode de Simpson
2
3
Intro
du
ction
L'intégration numérique est une partie importante
de l'analyse numérique et un
outil indispensable en physique numérique.On intègre
numériquement dans deux cas
principaux:
4
Lorsqu’on ne peut pas intégrer analytiquement.
Lorsque l'intégrande (la fonction à intégrer) est fourni non pas sous la forme d'une fonction mais de tableaux de mesures, cas d'ailleurs le plus fréquent dans la vraie vie.
5
En analyse numérique, il
existe toute une famille
d'algorithmes permettant
d'approcher la valeur numérique d'une intégrale.
6
Par une formule dite de quadrature, de type
Le choix de p, des pondérations ωi et des nœuds xi dépendent de
la méthode employée.
Toutes consistent à approcher l'intégrale :
7
Les méthodes numériques d'intégration sont nombreuses et les techniques sont très diverses. Des très simples, comme la méthode des rectangles aux très complexes comme certaines variétés de la méthode de Monte-Carlo. Mon but est de vous donner un outil pour intégrer des fonctions pas très tourmentées.
8
La méthode
des
rectangles
9
10
Considérons donc une fonction continue sur un intervalle [a,b].
Je ne vais pas vous faire un cours sur
l'intégration! Intégrer pour nous, signifie calculer l'aire sous la courbe de la fonction entre a et b.
11
La première méthode qui vienne à l'esprit, c'est de découper l'aire entre la courbe f(x), l'axe des x et les droites x= a et x = b, en une multitude de petits rectangles de largeur faible, appelons la h, et de hauteur f(h).
L'aire sous la courbe est obtenue en sommant tous ces petits rectangles. Voyons cela sur un schéma:
12
13
Comme vous le constatez, on a le choix entre trois techniques:1 - on fait coïncider le sommet haut gauche du rectangle avec la courbe : c'est la méthode des rectangles à gauche,2 - on fait coïncider le sommet haut droit du rectangle avec la courbe : c'est la méthode des rectangles à droite,3 - on fait coïncider le milieu du coté haut du rectangle avec la courbe: c'est la méthode du point milieu.
14
Posons h = (b - a)/n,
où n est le nombre de rectangles avec lesquels nous allons paver l'aire à
calculer.
Évidement, plus n sera grand et plus la précision du calcul sera grande.
Un rapide calcul nous montre que dans le cas:
15
1 - méthode des rectangles à gauche, on obtient
2 - méthode des rectangles à droite, on obtient
3 - méthode du point milieux, on obtient
n
i
b
ahiafhxf
1
)1()(
1
0
2/)(n
i
b
ahihafhxf
1
0
)(n
i
b
aihafhxf
16
Méthode très simple mais pas très précise. Mais
facile à coder!
Pour des fonctions (polynomiales, sin, cos,
exp), cette méthode donne des résultats acceptables.
con
clusio
n
17
Su
r Fo
rtron
PROGRAM rectangles
*Intégration par la méthode des rectangles (point milieu* a = borne inferieure d'intégration* b = borne supérieure d'intégration* n = nombre de pas (rectangles)* aire = surface retournée
SUBROUTINE IntRectangles (fn,a,b,n,aire)
REAL a,b,fn,aire INTEGER n EXTERNAL fn REAL x,h
* Initialisation des variables
aire = 0 x = a h = (b-a)/n
* Boucle de calcul
DO WHILE (x .LT. b) aire = aire + h*(fn(x+h)+fn(x))/2 x = x+h ENDDO
END
18
La méthode
des
trapèzes
19
La méthode des trapèzes est du même tonneau que celle des
rectangles. Vous avez sans doute
compris qu'on utilise non plus des rectangles pour
paver l'aire mais des trapèzes. Ainsi, la partie
du pavé qui touche la courbe est plus proche.
20
Comme plus haut, je partage l'intervalle [a,b] en n petits trapèzes de largeur h = (b-a)/n. Je
sais que l'aire de chaque petit trapèze est :
Ai = (h/2)*(f(a+ih) + f(a+(i-1)h)).
21
b
a
n
i
ihafhbfafh
dxxf1
1
)())()((2
)(
Nous obtenons l'aire recherchée en
sommant l'aire de tous les trapèzes entre a et b, ce qui nous donne :
22
La méthode des trapèzes standard est une méthode d'ordre 2,(démonstration par développement de Taylor). On peut la pousser à l'ordre 4 en estimant f"(x) par (f'(b)-f'(a))/(b-a). On appelle cette méthode la méthode des trapèzes avec correction aux extrémités. Elle donne :
)(')('12
)())()((2
)(21
1
afbfihafhbfafh
dxxf hb
a
n
i
23
Su
r Fo
rtron
* Intégration par la méthode des trapèzes* a = borne inferieure d'intégration* b = borne supérieure d'intégration* n = nombre de pas* aire = surface retournée
SUBROUTINE Int Trapèzes (fn,a,b,n,aire)
REAL a,b,fn,aire INTEGER n EXTERNAL fn
REAL h, app INTEGER i
* Boucle d'intégration
* Initialisation des variables aire = 0 h = (b-a)/n
* Calcul de l'aire approximative du trapèze f(a) f(b)
app = (h/2)*(fn(a)+fn(b))
* Boucle de calcul
DO i=1, n-1 aire = aire + fn(a+i*h) ENDDO
* Calcul final de l'aire aire = app + aire*h
END
25
Dans la méthode des trapèzes, nous avons en fait interpolé f(x) par une droite entre les points i et i+h de l'intervalle. Dans la méthode de
Simpson, nous n'allons plus interpoler par une droite mais par un polynôme de degré 2, ce qui va améliorer notre précision.
26
Plaçons nous autour d'un point x0 appartenant à l'intervalle [a,b], dans la maille de calcul x0-h et x0+h. Pour un accroissement
(x-x0), le développement de Taylor limité au second ordre nous donne:f(x) = f(x0) + (x-x0)f'(x0) +
(1/2)(x-x0)^2f"(x0) + O((x-x0)^3).
27
Nous savons que :f'(x0) = f(x0+h) - f(x0-h)/2h et que :f"(x0) = (f(x0+h) - 2f(x0)+ f(x0-h))/h^2 Si nous remplaçons ces valeurs dans le développement limité et que l'on intègre entre x0-h et x0+h, on obtient l'aire élémentaire :
(f(x0+h) + 4f(x0)+ f(x0-h))*h/3.
28
L'intégrale recherchée s'obtient en sommant
toutes les aires élémentaires. Il faut
quelques petites manip calculatoires sans intérêt
Et l'on obtient :
b
a
n
i
n
i
ihafihafbfafh
dxxf1
1
2
2
)(2)(4)()(3
)(
29
La méthode de Simpson est une méthode d'ordre
4.
b
a
n
i
n
i
ihafihafbfafh
dxxf1
1
2
2
)(2)(4)()(3
)(
30
En
Fo
rtran
PROGRAM méthodedeSimpson* a = borne inferieure d'intégration* b = borne supérieure d'intégration* n = nombre de pas* aire = surface retournée
SUBROUTINE Int Simpson(fn,a,b,n,aire)
REAL a,b,fn,aire INTEGER n EXTERNAL fn
REAL h,SommePaire, SommeImpaire INTEGER i
* Boucle d'intégration* Initialisation des variables
aire = 0 h = (b-a)/(n*2) SommePaire = 0 SommeImpaire = 0
* Calcul de la somme des indices impaires DO i=1, n-1 SommeImpaire = SommeImpaire + fn(a+h*2*i) ENDDO
*Calcul de la somme des indices paires DO i=1, n SommePaire = SommePaire + fn(a+h*(2*i-1)) ENDDO
*Calcul final de l'aire aire = h*(fn(a) + fn(b)+ 2*SommePaire + 4*SommeImpaire)/3
END
Merci pour votre attention
Samir Chtita