1 % script : demo_compar_methode_int_inc compare les quatre méthodes d'intégrations
\r
3 % - du point milieu ,
\r
7 % en comparant l'intégrale calculée avec N points
\r
8 % avec l'intégrale calculée avec 2N points
\r
12 % ************ Fonctions auxiliaires utilisées ************
\r
14 % saisiefonction, int_fcn
\r
16 % *********************************************************
\r
19 % ATTENTION : si erreur nulle, log(0)/log(10)=log10d0;
\r
22 a=input('Entrez l''extrémité inférieure de [a,b] : ');
\r
23 b=input('Entrez l''extrémité supérieure de [a,b] : ');
\r
24 nmin=input('Entrez la puissance de dix du nombre minimum de point de discrétisation : ');
\r
25 nmax=input('Entrez la puissance de dix du nombre maximum de point de discrétisation : ');
\r
26 p=input('Entrez le nombre total de point de calculs : ');
\r
28 disp('entrée de la fonction à intégrer');
\r
33 nombrecalcul=zeros(4,p);
\r
34 % calcul des erreurs pour les quatre méthodes
\r
36 for k=logspace(nmin,nmax,p)
\r
37 compteur=compteur+1;
\r
41 intva=int_fcn(methode,kf,a,b,ch1);
\r
42 intvab=int_fcn(methode,2*kf,a,b,ch1);
\r
43 err=abs(intva-intvab);
\r
45 erreur(methode,compteur)=log10d0;
\r
47 erreur(methode,compteur)=log10(err);
\r
54 % tracé des erreurs commises par les différentes méthodes
\r
55 plot(log10x,erreur(1,:),'b',...
\r
56 log10x,erreur(2,:),'r',...
\r
57 log10x,erreur(3,:),'g',...
\r
58 log10x,erreur(4,:),'y');
\r
60 title(['erreur d''intégration pour la fonction ','inline(',formula(ch1),')']);
\r
62 title(['erreur d''intégration pour la fonction ',ch1]);
\r
64 xlabel('logarithme 10 du nombre de points d''intégration');
\r
65 ylabel('logarithme 10 de l''erreur d''intégration');
\r
66 legend('rectangle','trapèzes','milieux','Simpson',0);
\r