Vous êtes sur la page 1sur 2

TP N° 6 : Intégration numérique de fonctions

1. But du TP
Le but de ce TP est le calcul numérique d’une intégrale définie en utilisant les méthodes du
point milieu, des trapèzes et de Simpson.

2. Énoncé du TP
On se propose de calculer l’intégrale définie :
3 3
1
∫ ln(2𝑥 + 1) 𝑑𝑥 = (2𝑥 + 1)𝑙𝑛(2𝑥 + 1) − x| = 3.8107
0 2 0
 Ecrire un programme qui calcule cette intégrale en utilisant les méthodes du point milieu,
du trapèze et de Simpson avec n=10.

 Calculer la valeur exacte de l'intégrale et comparer les résultats de chaque méthode,


conclure.

 Refaire l’exécution avec n=150

 Étudier l’influence du nombre de sous-intervalles (n) sur l’erreur d’intégration

 Appliquez les mêmes étapes pour l’intégrale :


𝜋
𝜋
2
∫ 𝑥 𝑠𝑖𝑛(𝑥) 𝑑𝑥 = 𝑠𝑖𝑛⁡(𝑥)|02 =1
0

𝒙𝒌+𝟏 −𝒙𝒌
Méthode de point milieu : 𝑰(𝒇) = 𝒉 ∗ ∑𝒏
𝒌=𝟏 𝒇 ( )
𝟐
𝒉
Méthode de trapèze : 𝑰(𝒇) =
𝟐
[𝒇(𝒂) + 𝒇(𝒃) + ∑𝒏−𝟏
𝒌=𝟏 𝒇(𝒙𝒌 )]

𝒉
Méthode de Simpson : 𝑰(𝒇) =
𝟑
[𝒇(𝒂) + 𝒇(𝒃) + 𝟐 ∑𝒏−𝟏 𝒏
𝒌=𝟏,𝟑,𝟓… 𝒇(𝒙𝒌 ) + 𝟒 ∑𝒌=𝟐,𝟒,𝟔… 𝒇(𝒙𝒌 )]
Programme :

clear all;close all;clc;


a=input('a =');b=input('b =');n=input('n =');
h = (b - a)/n
f=@(x) log(2.*x+1);
som=f(a)+f(b);
disp(['*** S=1. La Méthode des Rectangles ***'])
disp(['*** S=2. La Méthode des Trapèzes ***'])
disp(['*** S=3. La Méthode de Simpson ***'])
disp(['*** S=4. Pour Quitter ***'])
disp(['*** Tapez S entre <1-4> ***'])
s=input('S =');
switch s
case 1
disp(['*** Début de la méthode des Rectangles***'])
x=[a:h:b];
Ipm=0;
for i=1:length(x)-1
xm=(x(i)+x(i+1))/2;
Ipm=Ipm+h*f(xm);
end
disp([ '-----------La solution par la méthode des rectangles-----------'])
disp('[ Ipm=Ipm+h*f(xm)]');
Ipm=Ipm+h*f(xm)
case 2
disp(['*** Début de la méthode des Trapèzes***'])
for i = 1:n-1
som = som + 2*f(a + i * h);
end
disp([ '------------La solution par la méthode des Trapèzes------------'])
disp ([ 'I=(h/2)*som'])
I=(h/2)*som
case 3
disp(['*** Début de la méthode de Simpson***'])
for i = 1:2:n - 1
som = som+4*f(a + i * h);
end
for i = 2:2:n - 2
som = som+2*f(a + i * h);
end
disp ([ '--------------La solution par la méthode de SIMPSON------------'])
disp ([ 'I=(h/3)*som'])
I=(h/3)*som
case 4

quit
otherwise
disp('Erreur! la valeur de S entre <1-4> ');
end
%=================================FIN======================

Vous aimerez peut-être aussi