Vous êtes sur la page 1sur 4

Rapport Travaux pratiques Analyse numrique

Script erreur de simpson et de trapze :

function [Esimp,Etrapz ] = erreur( )


a=input('entrez a :');
b=input('entrez b :');
%N=5:100
k=1;
for N=5:100
f=inline('sin(x)');
integ=inline('cos(x)');
integrale_fonction_exacte=integ(a)-integ(b);
h=(b-a)/N;
i=1:N+1;
x=a+(i-1)*h;
y=f(x);
itrap=trapz(x,y);
Etrap(1,k)=abs(integrale_fonction_exacte - itrap);
isimpson=quad(f,a,b);
Esimp(1,k)=abs(integrale_fonction_exacte - isimpson);
k=k+1;
end
N=5:100;
plot(N,Etrap,'-r',N,Esimp,'-bx');
legend('erreur de trapeze','erreur de simpson');
end

execution du script pour a=0 et b = pi/2

Le graph obtenue

Reprsentation graphique de lerreur de trapz (noir) et celle de simpson(rouge)


Rapport Travaux pratiques Analyse numrique

Remarque

Daprs le graph on constate que lerreur de la mthode de


Simpson et plus optimis que celle de trapeze,donc on peut
conclure que la meilleur mthode est : Mthode de Simpson

Conclusion
pi/ 2

On veut approximer lintgrale I(x)= sin (x) par deux


0

mthodes Simpson et mthode trapze pour lintervalle


[0,pi/2] :
f ( x) sin(x ) Erreur
Valeur exacte 1 0
Mthode 1,000135 0,000135
Simpson
Mthode 0,987118 0,012884
Trapze

On constate sans surprise que la mthode de Simpson donne le


meilleur rsultats, mais la mthode de trapze et toute a fait
convenable pour les besoins courants
Rapport Travaux pratiques Analyse numrique

Script de la fonction calculatrice avec linstruction switch

function [somme,Difference,multi,Quotient ] = SW ( a,b,operation )


a=input('entrez a');
b=input('entrez b');
operation=input('entrez l operateur');

switch operation
case 1
somme=a+b;
disp(somme);
case 2
Difference=a-b;
disp(Difference);
case 3
multi=a*b;
disp(multi);
case 4
Quotient=a/b;
disp(Quotient);
otherwise
disp('au revoir' );
end

Script de la fonction integration avec linstruction switch :


function [ simpson,trapez ] = S( )

a=input('entrez a :');
b=input('entrez b :');
n=input('entrez n :');
h=(b-a)/n;
i=[1:n+1];
x=a+(i-1)*h;
f=inline('sin(x)');

fprintf('Menu \n');
fprintf('1:methode de simpson \n');
fprintf('2:methode de trapez \n');
fprintf('3:lerreur \n');
o=input('tn choix est:');

switch O
case 1

simpson=(h/3)*sum([f(x(1)) 4*(f(x(2:2:n))) 2*(f(x(3:2:n))) f(x(n+1))]);


disp(simpson);
case 2

trapez=(h/2)*sum([f(x(1)) 2*(f(x(2:n))) f(x(n+1))]);


disp(trapez);
case 3
Rapport Travaux pratiques Analyse numrique

disp(erreur);
otherwise
disp('au revoir');
end
end
EXECUTION

entrez a :0

entrez b :pi/2

entrez n :4

Menu-----1:la methode de simpson-----2:la methode de


trapez-----3:l erreur2

0.9871

Remarque :

Linstruction Switch du logiciel Matlab nous permet le choix


entre diffrents cas dune faon simple et facile.