298
8 Int´ egration num´ erique
Programme 62 - simpsonc : Formule composite de Cavalieri-Simpson
function int = simpsonc(a,b,m,fun)
%SIMPSONC Formule composite de Simpson
% INT=SIMPSONC(A,B,M,FUN) calcule une approximation de l’int´ egrale de la
% fonction FUN sur ]A,B[ par la m´ ethode de Simpson (avec M
% intervalles ´ equir´ epartis). FUN accepte en entr´ ee un vecteur r´ eel x et
% renvoie un vecteur r´ eel.
h=(b-a)/m;
x=[a:h/2:b];
dim= length(x);
y=eval(fun);
if size(y)==1
y=diag(ones(dim))*y;
end
int=(h/6)*(y(1)+2*sum(y(3:2:2*m-1))+4*sum(y(2:2:2*m))+y(2*m+1));
return
Exemple 8.1 Utilisons les formules composites du point milieu, du trap` eze et de
Cavalieri-Simpson pour calculer l’int´ egrale
2π
0
xe
−x cos(2x)dx =
3(e
−2π − 1) − 10πe
−2π
25
−0.122122.
(8.18)
La Table 8.1 pr´ esente dans les colonnes paires le comportement de la valeur absolue
de l’erreur quand H est divis´ e par 2 (i.e. quand m est multipli´ e par 2), et dans
les colonnes impaires le rapport Rm = |Em|/|E2m| entre deux erreurs cons´ ecutives.
Comme pr´ evu par l’analyse th´ eorique pr´ ec´ edente, Rm tend vers 4 pour les formules
du point milieu et du trap` eze et vers 16 pour la formule de Cavalieri-Simpson.
•
Table 8.1. Erreur absolue pour les formules composites du point milieu, du trap` eze
et de Cavalieri-Simpson dans l’´ evaluation approch´ ee de l’int´ egrale (8.18)
m
|E0,m|
R m
|E1,m|
R m
|E2,m|
R m
1
0.9751
1.589e-01
7.030e-01
2
1.037
0.9406
0.5670
0.2804
0.5021
1.400
4
0.1221
8.489
0.2348
2.415
3.139 · 10
−3
159.96
8
2.980 · 10
−2
4.097
5.635 · 10
−2
4.167
1.085 · 10
−3
2.892
16
6.748 · 10
−3
4.417
1.327 · 10
−2
4.245
7.381 · 10
−5
14.704
32
1.639 · 10
−3
4.118
3.263 · 10
−3
4.068
4.682 · 10
−6
15.765
64
4.066 · 10
−4
4.030
8.123 · 10
−4
4.017
2.936 · 10
−7
15.946
128 1.014 · 10
−4
4.008
2.028 · 10
−4
4.004
1.836 · 10
−8
15.987
256 2.535 · 10
−5
4.002
5.070 · 10
−5
4.001
1.148 · 10
−9
15.997
Précédent

- 306/540

Suivant