0% ont trouvé ce document utile (0 vote)
18 vues7 pages

Cours Integration Numerique

Transféré par

warlockel987
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues7 pages

Cours Integration Numerique

Transféré par

warlockel987
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Intégration numérique

I) Introduction:
le but de ce cours est de déterminer une "bonne" approximation de l'intégrale définie:

Ia,b (f ) = ∫ f (x)dx
a

où f est une fonction continue sur le segment [a, b] à valeurs dans R

II) Motivation:
Dans certains cas très limités, une telle intégrale peut être calculée analytiquement (à la
main). Cependant, ce n’est que très rarement possible, et le plus souvent un des cas suivants
se présente:

Le calcul analytique est long, compliqué.


Le résultat de l’intégrale est une fonction compliquée qui fait appel à d’autres fonctions
elles-même longues à évaluer
Cette intégrale n’a pas d’expression analytique

Dans tous ces cas, on préférera calculer numériquement la valeur de l’intégrale I a,b
(f )

III) Définitions et notations:


III.1) Méthodes de quadrature:
Nous allons nous intéresser dans ce cours à certaines méthodes de quadrature qui
consistent à approcher la valeur de l’intégrale par une somme pondérée finie de valeurs de
la fonction f en des points choisis ; en d’autres termes ces méthodes fournissent une
approximation de I a,b
(f ) par la quantité :

p
I (f ) = ∑ αi f (xi )
a,b

i=0

Les coefficients α 0, . . . , αp étant des réels et dépendants de l’entier p et des points


x0 , . . . , xp appartenant à [a, b].

III.2) Erreur de quadrature:


L’erreur de quadrature est la quantité definit par:
p
Ea,b (f ) = |Ia,b (f ) − I (f )|
a,b

III.3) Order de methode:


On dira qu’une méthode de quadrature est d’ordre k quand l’erreur commise est nulle
lorsque f est un polynôme de degré inférieur ou égal à k.

IV) Méthode élémentaire:


IV.1) Méthode du rectangle:
La méthode de quadrature du rectangle est la plus simple qui soit : elle consiste à approcher
la fonction f par la valeur qu’elle prend en un point de l’intervalle [a, b], en général une de
ses extrémités.

a. Méthode du rectangle gauche:


Si on choisit pour unique nœud a 0 = a et pour poids α 0 = b − a , ceci conduit à approcher
Ia,b (f ) par :

0
I (f ) = (b − a)f (a)
a,b

Exemple:
2
2 2
∫ 2x + 1 dx = [x + x] = 6
0
0

In [1]: f=lambda x: 2*x+1

In [2]: def RG(f,a,b):


return (b-a)*f(a)
RG(f,0,2)

Out[2]: 2

b. Méthode du rectangle droit:


Si on choisit pour unique nœud a 0 = b et pour poids α 0 = b − a , ceci conduit à approcher
Ia,b (f ) par :

0
I (f ) = (b − a)f (b)
a,b
In [3]: def RD(f,a,b):
return (b-a)*f(b)
RD(f,0,2)

Out[3]: 10

Théorème:
La méthode du rectangle est d’ordre 0

c. Méthode du point milieu:


Une amélioration très simple de la méthode du rectangle consiste à approcher la fonction f
par la valeur qu’elle prend au point milieu de l’intervalle [a, b], autrement dit à choisir pour
unique nœud x et pour poids α , ce qui conduit à approcher
a+b
0 = = w 0 = (b − a)
2

Ia,b (f ) par :

0
I (f ) = (b − a)f (w)
a,b

In [4]: def PM(f,a,b):


m=(a+b)/2
return (b-a)*f(m)
PM(f,0,2)

Out[4]: 6.0

Théorème:
La méthode du point milieu est d’ordre 1
IV.2) Méthode des trapèze:
¯
¯¯
La méthode du trapèze consiste à approcher sur [a, b] la fonction f par la fonction affine f
¯
¯¯
joignant les points (a, f (a)) et (b, f (b)). Il est facile d’obtenir l’expression de f [a, b]

f (b) − f (a) b − x x − a
f (x) = f (a) + (x − a) = f (a) + f (b)
b − a b − a b − a

ce qui conduit à approcher ∫ par


b
(f )
a

b b
b − t t − a f (a) + f (b)
1
I (f ) = f (a) ∫ dt + f (b) ∫ dt = (b − a)
a,b
b − a b − a 2
a a

Il s’agit donc d’une méthode de quadrature à deux nœuds a 0


= a et a 1
= b avec les poids
b−a
α0 = α1 =
2

In [5]: def trapeze(f,a,b):


return (b-a)*(f(a)+f(b))/2
trapeze(f,0,2)

Out[5]: 6.0

Théorème
La méthode des trapèzes est d’ordre 1

V) Méthode composite:
V.1) Méthode du rectangle composite:
La méthode du rectangle composite consiste à considérer une subdivision (a 0
, a1 , . . . , an )

de [a, b] de pas régulier et à utiliser la linéarité de l’intégrale :

b n−1 ak+1

Ia,b (f ) = ∫ f (t)dt = ∑ ∫ f (t)dt


a ak
k=0
pour approcher chacune des intégrales I ak ,ak+1 (f ) par

b − a b − a
(ak+1 − ak )f (ak ) = f (a + k ). rectangle gauche
n n

ou par

b − a b − a
(ak+1 − ak )f (ak+1 ) = f (a + (k + 1) ). rectangle droit
n n

La méthode du rectangle composite consiste à considérer une subdivision (a 0, a1 , . . . , an )

de [a, b] de pas régulier et à utiliser la linéarité de l’intégrale :

b n−1 ak+1

Ia,b (f ) = ∫ f (t)dt = ∑ ∫ f (t)dt


a ak
k=0

Autrement dit, cette méthode consiste à approcher I a,b


(f ) par :

n−1
b − a b − a
∑ f (a + k ) rectangle gauche
n n
k=0

ou par

n−1
b − a b − a
∑ f (a + (k + 1) ) rectangle droit
n n
k=0

In [6]: def RGC(f,a,b,n):


s=0
h=(b-a)/n
for k in range(n):
s+=f(a+k*h)
return h*s
RGC(f,0,2,100)

Out[6]: 5.96

In [7]: def RDC(f,a,b,n):


s=0
h=(b-a)/n
for k in range(n):
s+=f(a+(k+1)*h)
return h*s
RDC(f,0,2,100)

Out[7]: 6.04

V.2) Méthode du point milieu composite:


Elle consiste à appliquer la méthode du point milieu à une subdivision de pas régulier du
segment [a, b], ce qui revient à approcher I par :
b

a,b
(f ) = ∫ f (t)dt
a

n−1
b − a 1 b − a
∑ f (a + (k + ) )
n 2 n
k=0

In [9]: def PMC(f,a,b,n):


h=(b-a)/n
s=0
for k in range(n):
s+=f(a+(k+1/2)*h)
return h*s
PMC(f,0,2,100)

Out[9]: 6.0

V.3) Méthode du trapèze composite:


Elle consiste à appliquer la méthode du trapèze à une subdivision de pas régulier du
segment [a, b], ce qui revient à approcher I par :
b
a,b (f ) = ∫ f (t)dt
a

(b−a) (b−a)
n−1 n−1
(b − a) f (a + k ) + f (a + (k + 1) ) (b − a) (b − a) f (a
n n
∑ = (∑ f (a + k ) +
n 2 n n
k=0 k=1
In [10]: def TRC(f,a,b,n):
s=0
h=(b-a)/n
for k in range(1,n):
s+=f(a+k*h)
return h*(s+(f(a)+f(b))/2)
TRC(f,0,2,100)

Out[10]: 6.0

In [ ]:

Vous aimerez peut-être aussi