Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 :
Soit l’intégrale suivante :
𝜋/2
𝐼=∫ sin(𝑥) cos(𝑥) 𝑑𝑥
0
1- Calculez une estimation de 𝐼 par les trois méthodes de quadrature ; Point milieu, Trapèzes,
Simpson. Utilisez les formules simples.
2- Recalculez ladite intégrale par les méthodes citées avant en utilisant cette fois les versions
composées. Considérez 𝑚 = 3.
%%%%%===============================================================
% Formules de quadrature simples
%%%%%===============================================================
clear
clc
% Donnees initiales
a=0; b=pi/2;
f=@(x) sin(x)*cos(x);
% 2- Calcul
% Point milieu
I1 = (b-a)*f((a+b)/2);
% Trapezes
I2 = (b-a)/2*(f(a)+f(b));
% Simpson
I3 = (b-a)/6*(f(a)+f(b)+4*f((a+b)/2));
% 3- Resultats
1 2022/2023 Pr O. Bourihane
%%%%%===============================================================
% Formules de quadrature composees
%%%%%===============================================================
clear
clc
% Donnees initiales
a=0; b=pi/2;
f=@(x) sin(x)*cos(x);
m = 3; h = (b-a)/m;
% 2- Calcul
% Point milieu
x1 = a + h/2; x2 = a + 3*h/2; x3 = a + 5*h/2;
I1 = h*(f(x1)+f(x2)+f(x3));
% Trapezes
x1 = a; x2 = a + h; x3 = a + 2*h; x4 = b;
I2 = h/2*(f(x1)+2*(f(x2)+f(x3))+f(x4));
% Simpson
x1 = a; x2 = a + h/2; x3 = a + 2*h/2;
x4 = a + 3*h/2; x5 = a + 4*h/2; x6 = a + 5*h/2; x7 = b;
I3 = h/6*(f(x1)+f(x7) + 2*(f(x3)+f(x5)) + 4*(f(x2)+f(x4)+f(x6)));
% 3- Resultats
Exercice 2 :
Considérons l’intégrale de l’exercice 1 :
1- écrire trois programmes de fonctions qui permettent l’approximation d’une intégrale
quelconque par les méthodes ci-dessus, en considérant un nombre variable de sous-
intervalles 𝑚.
2- Comparez les résultats des fonctions avec les résultats de l’exercice 1.
3- En utilisant ces trois fonctions estimez la valeur de l’intégrale 𝐼 pour un nombre 𝑚 ∈ [1 40]
et tracez l’erreur absolue en fonction de 𝑚. Commentez les figures !
%%%%%======================================================================
function I = pMilieu(a,b,m,f)
% Integrale par methode du point milieu
h = (b-a)/m;
% Milieux des intervalles [ak bk]
I = 0;
for i = 1:m
xk = a + h*(i-1/2);
I = I + f(xk);
end
I = h*I;
2 2022/2023 Pr O. Bourihane
%%%%%======================================================================
function I = trapeze(a,b,m,f)
% Integrale par methode des trapezes
h = (b-a)/m;
% Extremites des intervalles [ak bk]
som = 0;
for i=2:m
xk = a + (i-1)*h;
som = som+f(xk);
end
I = h/2 * (f(a)+f(b)+ 2*som);
%%%%%======================================================================
function I = simpson(a,b,m,f)
% Integrale par methode de Simpson
h = (b-a)/m;
% Extremites de l intervalle [a b]
som1 = f(a)+f(b);
% Milieux des intervalles [ak bk]
som2 = 0;
for i = 1:m
xk = a + h*(i-1/2);
som2 = som2+f(xk);
end
% Extremites des intervalles [ak bk]
som3 = 0;
for i=2:m
xk = a + (i-1)*h;
som3 = som3+f(xk);
end
I = h/6 * (som1 + 4*som2 + 2*som3);
%%%%%===============================================================
% Verification des resultats des "functions"
%%%%%===============================================================
clear
clc
% Donnees initiales
a=0; b=pi/2;
f=@(x) sin(x)*cos(x);
% Un seul intervalle
m = 1;
IpMilieu = pMilieu(a,b,m,f);
Itrapeze = trapeze(a,b,m,f);
ISimpson = simpson(a,b,m,f);
3 2022/2023 Pr O. Bourihane
% Trois sous-intervalle
m = 3;
IpMilieu = pMilieu(a,b,m,f);
Itrapeze = trapeze(a,b,m,f);
ISimpson = simpson(a,b,m,f);
%%%%%===============================================================
% Erreurs de quadrature
%%%%%===============================================================
clear
clc
close all
% Donnees initiales
a=0; b=pi/2;
f=@(x) sin(x)*cos(x);
IExact = 0.5;
% Boucle sur m
for m = 1:40
IpMilieu(m) = pMilieu(a,b,m,f);
Itrapeze(m) = trapeze(a,b,m,f);
ISimpson(m) = simpson(a,b,m,f);
end
% Traçage
m = 1:40;
figure(1)
subplot(2,2,1)
EpMilieu = abs(0.5-IpMilieu);
semilogy(m,EpMilieu)
xlabel("m"); ylabel("Erreur Point Milieu (m)")
subplot(2,2,2)
Etrapeze = abs(0.5-Itrapeze);
semilogy(m,Etrapeze)
xlabel("m"); ylabel("Erreur Trapezes (m)")
subplot(2,1,2)
ESimpson = abs(0.5-ISimpson);
semilogy(m,ESimpson)
xlabel("m"); ylabel("Erreur Simpson (m)")
4 2022/2023 Pr O. Bourihane
Exercice 3 : Homework
Refaire les exercices 1 et 2 en prenant en considération les résultats de la méthode de Gauss
Legendre.
5 2022/2023 Pr O. Bourihane