0% ont trouvé ce document utile (0 vote)
48 vues3 pages

DL Integrale - 2

Transféré par

reehabbaaa
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)
48 vues3 pages

DL Integrale - 2

Transféré par

reehabbaaa
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

Ingénierie numérique et simulation Prof : S.

BENGHAZOUANI

Chapitre N°5 : Calcul approché d'intégrales

Intégration numérique.
Dans ce chapitre, on va essayer de mettre en œuvre des méthodes pour approcher l'intégrale
𝒃
:∫𝒂 𝒇(𝒙)𝒅𝒙 avec f une fonction continue sur [a; b]

Pour cela, on divise l'intervalle [a; b] en n intervalles de longueur h =(b – a) / n et on approche f


sur ces intervalles par un polynôme

1 Méthodes des rectangles

Ici, sur chaque intervalle [xi; xi+1], on approche f par un polynôme de degré 0 c'est-_a-dire par
une constante.

𝒃
∫𝒂 𝒇(𝒙)𝒅𝒙 ≈ somme de l'aire de chaque rectangle

Considérons donc une fonction de R dans R continue sur un intervalle [a,b]. Pour un
physicien, intégrer signifie la plupart du temps calculer l'aire sous la courbe de la
fonction entre a et b.

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.

Découpons l'intervalle [a,b] en rectangles élémentaires de largeur h, h étant petit. Le


rectangle n° i aura donc pour longueur f(a + i*h). Sa surface est donc égale à h*f(a +
i*h). L'aire sous la courbe entre a et b est obtenue en sommant tous ces petits
rectangles On peut imaginer d'autres découpages. Voyons cela sur un schéma:

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,

1
Ingénierie numérique et simulation Prof : [Link]

• 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

Posons h = (b - a)/n, où n est le nombre de rectangles avec lesquels nous allons paver
l'aire à calculer. Evidement, plus n sera grand et plus la précision du calcul sera grande

1 - méthode des rectangles à gauche, on obtient:

2 - méthode des rectangles à droite, on obtient:

3 - méthode du point milieu, on obtient:

Question 1 :
Ecrire la fonction rectanglesGauche(f, a, b, n) qui calcule et renvoie ∫𝑓(𝑡)𝑑𝑡𝑏𝑎 par la subdivision de
l’intervalle [a,b] en n intervalles.
f : une fonction
a et b : Les bornes de l’intervalle
n : le nombre de subdivision

de même pour rectanglesDroit(f, a, b, n), rectanglesmilieu(f, a, b, n)

Implémentation en Python

3 Méthode de Simpson.

2
Ingénierie numérique et simulation Prof : [Link]

Après avoir approché notre fonction par une fonction constante (méthode des rectangles), puis par
une fonction affine (méthode des trapèzes), l’étape logique suivante est de tenter une
approximation par des courbes de degré 2, donc des paraboles.

Définition 3. Avec les mêmes notations que précédemment, la méthode de Simpson approche

l’intégrale de f par la somme

Question
Ecrire la fonction simpson(f, a, b, n) qui calcule et renvoie ∫𝑓(𝑡)𝑑𝑡𝑏𝑎 la méthode de Simpson.
f : une fonction
a et b : Les bornes de l’intervalle
n : le nombre de subdivision

Implémentation en Python
Programme Python pour la méthode de Simpson :

Exemple de comparaison

Exemple de comparaison entre les trois méthodes. Nous allons faire calculer à Python par chacune
𝟓
des trois méthodes l’intégrale I= ∫𝟎 𝟓/(𝟐 + (𝐱 − 𝟑) ∗ (𝐱 − 𝟒)) 𝒅𝒙

def f(x):
return 5.0/(2+(x-3)*(x-4))

print(" par rectangles : " , rectangles(f,0.,5.,100));


print("partrapèzes:",trapezes(f,0.,5.,100));
print("parSimpson:",simpson(f,0.,5.,100));

Vous aimerez peut-être aussi