Beruflich Dokumente
Kultur Dokumente
m
P
m
, appele polyn ome dinterpolation tel que
m
(x
i
) = a
m
x
m
i
+ + a
1
x
i
+ a
0
= y
i
i = 0, . . . , n.
Si n = m on a le resultat suivant :
Theor`eme 1.1. Etant donne n + 1 points distincts x
0
, . . . , x
n
et n + 1
valeurs correspondantes y
0
, . . . , y
n
, il existe un unique polynome
n
P
n
tel
que
n
(x
i
) = y
i
pour i = 0, . . . , n.
Demonstration. Pour prouver lexistence, on va construire explicitement
n
.
Posons
l
i
P
m
: l
i
(x) =
n
j=0
j=i
x x
j
x
i
x
j
i = 0, . . . , n.
Les polynomes {l
i
, i = 0, . . . , n} forment une base de P
n
. En decomposant
n
sur cette base, on a
n
(x) =
n
j=0
b
j
l
j
(x), do` u
n
(x
i
) =
n
j=0
b
j
l
j
(x
i
) = y
i
, i = 0, . . . , n.
et comme l
j
(x
i
) =
ij
, on en deduit immediatement que b
i
= y
i
.
Par consequent, le polynome dinterpolation existe et secrit sous la forme
suvante
n
(x) =
n
i=0
y
i
l
i
(x)
(1)
4
Pour montrer lunicite supposons quil existe un autre polynome
m
de degre
m n, tel que
m
(x
i
) = y
i
pour i = 0, . . . , n. La dierence
n
m
sannule
alors en n + 1 points distincts x
i
, elle est donc nulle. Ainsi,
m
=
n
.
La relation (1) est appelee formule dinterpolation de Lagrange, et les po-
lynomes l
i
(x) sont les polynomes caracteristiques (de Lagrange).
1.2 Formules de quadrature
Soit f une fonction reelle integrable sur lintervalle [a, b]. Le calcul ex-
plicite de lintegral denie I(f) =
_
b
a
f(x) dx peut etre dicile, voire impos-
sible. On appelle formule de quadrature ou formule dintegration numerique
toute formule permettant de calculer une approximation de I(f). Une pos-
sibilite consiste `a remplacer f par une approximation f
n
, o` u n est un entier
positif, et calculer I(f
n
) au lieu de I(f). En posant I
n
(f) = I(f
n
), on a
I
n
(f) =
b
_
a
f
n
(x) dx, n 0. (2)
Si f C
0
([a, b]), lerreur de quadrature E
n
(f) = I(f) I
n
(f) satisfait
|E
n
(f)|
b
_
a
|f(x) f
n
(x)| dx (b a) f f
n
. (3)
Donc si pour un certain n, f f
n
, alors |E
n
(f)| (b a).
Lapproximation f
n
doit etre facilement integrable, ce qui est le cas si, par
exemple, f
n
P
n
. Une approche naturelle consiste `a prendre f
n
=
n
f, le
polynome dinterpolation de Lagrange de f sur un ensemble de n+1 noeuds
distincts {x
i
, i = 0, . . . , n}. Ainsi, on deduit de (2) que
I
n
(f) =
n
i=0
f(x
i
)
b
_
a
l
i
(x) dx, (4)
o` u l
i
est le polynome caracteristique de Lagrange de degre n associe au
noeud x
i
(voir sous-section 1.1). On notera que (4) est un cas particulier de
la formule de quadrature suivante
I
n
(f) =
n
i=0
i
f(x
i
)
(5)
o` u les coeciants
i
de la combinaison lineaire sont donnes par
_
b
a
l
i
(x) dx.
La formule (5) est une somme ponderee des valeurs de f aux points x
i
, pour
5
i = 0, . . . , n. On dit que les nombres
i
R sont ses coecients ou encore
ses poids. Les poids et les noeuds dependent en general de n.
La formule de Lagrange est une formule de quadrature interpolatoire, car la
fonction f est remplacee par son polynome dinterpolation de Lagrange.
On denit le degre dexactitude dune formule de quadrature comme le plus
grand entier r 0 pour lequel
I
n
(f) = I(f), f P
r
.
Toute formule de quadrature interpolatoire utilisant n + 1 noeuds distincts
a un degre dexactitude au moins egal `a n.
En eet, si f P, alors
n
f = f et donc I
n
(
n
f) = I(
n
f). La reciproque
est aussi vraie : une formule de quadrature utilisant n + 1 noeuds distincts
et ayant un degre dexactitude au moins egal `a n est necessairement de type
interpolatoire (sans preuve).
1.3 Formule du rectangle ou du point milieu
Une facon simple dapproximer I(f) peut etre obtenue en remplacant la
fonction f par une constante egale `a la valeur de f au milieu de [a, b] (voir
gure 1a), ce qui nous donne
I
0
(f) =
_
b
a
f
_
a + b
2
_
dx = (b a)f
_
a + b
2
_
(6)
Le poids est donc
0
= b a et le noeud x
0
=
a+b
2
. Si f C
2
([a, b]), lerreur
de quadrature est
E
0
(f) =
h
3
3
f
(), h =
b a
2
, (7)
o` u est dans lintervalle ]a, b[. On en deduit que cette methode est exacte
pour les constantes et les fonctions anes (car dans les deux cas f
() = 0
pour tout ]a, b[ ). Le degre dexactitude du point milieu est donc egal `a 1.
Pour obtenir la formule du point milieu composite on applique la methode
du point milieu sur m sous-intervalles de [a, b], avec m 1. En introduisant
les noeuds de quadrature x
k
= a + (2k + 1)H/2, pour k = 0, . . . , m 1 et
H = (a b)/m, on obtient ainsi :
I
0,m
(f) = H
m1
k=0
f(x
k
), m 1
(8)
Pour linterpretation graphique voir la gure 1b.
6
x
x
0
f(x)
a b
k
x
0
x
x
M
x
f(x)
Fig. 1 a, b
Si f C
2
([a, b]), lerreur de quadrature est donnee par :
E
0,m
(f) = I(f) I
0,m
(f)
=
b a
24
H
2
f
() (9)
o` u ]a, b[. Meme dans ce cas, on a un degre dexactitude egal `a 1. On
remarque que si la longueur des intervalles H nest pas susamment petite,
lerreur de quadrature peut etre assez grande. On retrouve cet inconvenient
aussi pour les deux methodes dintegration numerique presentees ci dessous.
On peut ecrire un petit programme MATLAB (cf. le programme 1) qui utilise
la methode du point milieu pour integrer numeriquement une fonction f.
Programme 1 formule du point milieu composite
function Imp=midpntc(a,b,M,f,varargin)
% MIDPNTC Composite midpoint numerical integration.
% IMP = MIDPNTC(A,B,M,FUN) computes an approximation
% of the integral of the function FUN via the midpoint
% method (with M equispaced intervals ). FUN accepts a
% real vector input x and returns a real vector value.
% FUN can also be an inline object.
%
% [a, b] extremes of the interval
% M number of subintervals
% fun function to be integrated in [a,b]
%
% IMP=MIDPNT(A,B,M,FUN ,P1,P2 ,...) calls the function
% FUN passing the optional parameters P1,P2 ,... as
% FUN(X,P1 ,P2 ,...).
H=(b-a)/M;
x = linspace(a+H/2,b-H/2,M);
fmp=feval(f,x,varargin {:}).* ones(1,M);
Imp=H*sum(fmp);
return
7
Exercice 1.1. Trouver le nombre minimum M de sous intervalles pour avoir
une approximation avec une erreur absolue plus petite que 10
4
avec la
methode du point milieu pour la fonction suivante :
f(x) =
1
1 + (x )
2
sur [0, 5].
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Fig. 2 graphe de f(x)
La primitive de cette fonction est facile `a calculer, il sagit de F(x) = arctan(x ).
On sait donc que :
_
5
0
f(x) dx = arctan(5 ) arctan(0 ) 2.33976
On a resolu ce probl`eme en realisant le programme 2 en MATLAB.
Lexecution de ce programme donne M=52. En eet, avec cette valeur M
lapproximation obtenue avec la methode du point milieu est Imp = 2.33986
et lerreur est donc erreur = 2.33976-2.33986 = -9(10^{-5}).
Lerreur theorique maximale pour cette methode est donnee par lequation
(9). La gure 3 obtenu avec le programme 2 montre bien que la courbe des
erreurs reelles est au-dessous de celle des erreurs theoriques maximales.
8
Programme 2 exercice
function [Imp ,M,erreur ]= exercice ()
f=atan(y-pi);
y=5;
y5=eval(f);
y=0;
y0=eval(f);
intexact =(y5 -y0);
% intexact =2.33976628366847
g=1./(1+(x-pi ).^2);
a=0;
b=5;
M=1;
erreur =10;
%pour faire demarrer la boucle on peut utiliser
%nimporte quel erreur plus grand que 1e-4, nous avons
%pris erreur =10
while ( erreur > 1e-4);
Imp=midpntc(a,b,M,g);
erreur=abs(Imp -intexact );
Y(M)=M;
E(M)= erreur;
h=5/M;
Emaxtheorique(M)=(h^2)*5/24*(1/2);
M=M+1;
end;
loglog(Y,E,.-,Y,Emaxtheorique );
legend(Erreur obtenu avec midpntc ,
Erreur theorique maximale );
return
% Les valeurs returnees par la fonction sont:
% M=nombre minimale de sous intervalles pour lequel
% lerreur est plus petite que 1e-4
% erreur=lerreur obtenu avec M sous -intervalles
% Imp=valeur de lintegrale calcule avec la methode
% du point milieu pour M sous -intervalles
1.4 La formule du trap`eze
La methode du trap`eze est obtenue en remplacant f par son polynome
dinterpolation de Lagrange de degre 1 aux noeuds x
0
= a et x
1
= b, cest-`a-
dire
1
(f) = (f(a) + f(b))/2. Les noeuds de la formule de quadrature sont
donc x
0
= a et x
1
= b et ses poids
0
=
1
= (b a)/2, ceci donne donc :
I
1
(f) =
b a
2
[f(a) + f(b)]
Dans la gure 4a on voit bien quon a approxime lintegrale avec la surface
du trap`ze avec bases f(a) et f(b) et hauteur (b a).
9
10
0
10
1
10
2
10
5
10
4
10
3
10
2
10
1
10
0
10
1
Erreur obtenu avec midpntc
Erreur thorique maximale
Fig. 3 graphique bi-logarithmique des erreurs reelles et des erreurs
theoriques maximales en fonction du nombre de sous-intervalles
Si f C
2
([a, b]), lerreur de cette approximation est donnee par :
E
1
(f) =
_
b
a
(f(x)
1
f(x)) dx
=
1
2
_
b
a
f
((x))(x a)(b x) dx
=
h
3
12
f
(), h = b a,
o` u est un point de lintervalle dintegration. La formule du trap`eze a donc
un degre dexactitude egal `a 1, comme celle du point milieu.
Pour obtenir la formule du trap`eze composite (cf. gure 4b) on remplace
f sur [a, b] par son polynome composite de Lagrange de degre 1 sur m
sous-intervalles, avec m 1. En introduisant les noeuds de quadrature
x
k
= a + kH, pour k = 0, . . . , m et H = (a b)/m, on obtient :
I
1,m
(f) =
H
2
m1
k=0
(f(x
k
) + f(x
k+1
)), m 1, (10)
o` u x
0
= a et x
m
= b. Comme chaque terme de (10) apparat deux fois, sauf
10
x
f(x)
o
= a x x
1
= b
x
f(x)
o
= a x
x
k
x
M
= b
Fig. 4 a, b
le premier et le dernier, la formule du trap`eze composite peut donc secrire :
I
1,m
(f) = H
_
1
2
f(x
0
) + f(x
1
) + . . . + f(x
m1
) +
1
2
f(x
m
)
_
(11)
Si f C
2
([a, b]), on peut montrer que lerreur associee `a cette formule de
quadrature est :
E
1,m
(f) =
b a
12
H
2
f
(), (12)
o` u [a, b]. Le degre dexactitude est donc `a nouveau egal `a 1.
On peut ecrire un petit programme MATLAB (cf. le programme 3) qui
utilise la methode du trap`eze pour integrer numeriquement une fonction f.
Programme 3 formule du trap`eze composite
function Imp = trapezc(a,b,M,f)
% TRAPEZC Composite trapeziodal numerical integration.
% IMP = TRAPEZC(A,B,M,FUN) computes an approximation
% of the integral of the function FUN via the the
% trapeziodal formula (with M equispaced intervals ).
% FUN accepts a real vector input x and returns a real
% vector value. FUN can also be an inline object.
%
% [a, b] extremes of the interval
% M number of subintervals
% fun function to be integrated in [a,b]
h=(b-a)/m; x=[a:h:b]; dim = max(size(x)); y=eval(fun);
if size(y)==1, y=diag(ones(dim))*y; end;
int=h*(0.5*y(1)+ sum(y(2:m))+0.5*y(m+1));
return
Exercice 1.2. Meme question que pour lexercice 1.1 pour la methode du
trap`eze.
On a resolu ce probl`eme avec le meme programme quon a realise pour lexer-
cice 1.1 en remplacant la ligne Imp = midpntc(a,b,M,g) par Imp = trapezc(a,b,M,g).
11
Lexecution du programme donne M=72. En eet, avec cette valeur de M
lapproximation obtenue avec la methode du trap`eze est Imp = 2.33966 et
lerreur est donc erreur = 2.33976-2.33966 = 10^{-4}.
Lerreur theorique maximale pour cette methode est donnee par lequation
(12) et la gure 5 montre bien que la courbe des erreurs reelles est au-dessous
de celle des erreurs theoriques maximales.
10
0
10
1
10
2
10
5
10
4
10
3
10
2
10
1
10
0
10
1
Erreur obtenu avec trapezc
Erreur thorique maximale
Fig. 5 graphique bi-logarithmique des erreurs reelles et des erreurs
theoriques maximales en fonction du nombre de sous-intervalles
1.5 Formule de Cavalieri-Simpson
La formule composite de Cavalieri-Simpson peut etre obtenue en rem-
placant f sur [a, b] par son polynome dinterpolation composite de degre 2
aux noeuds x
0
= a, x 1 = (a + b)/2 et x
2
= b (voir gure 6). Les poids
sont donnes par
0
=
2
= (b a)/6 et
1
= 4(b a)/6, et la formule secrit
I
2
(f) =
b a
6
[f(a) + 4f((a + b)/2) + f(b)]
(13)
12
On peut montrer que, si f C
4
([a, b]), lerreur de quadrature est
E
2
(f) = I(f) I
2
(f) =
1
16
(b a)
5
180
f
(4)
(),
o` u est dans ]a, b[. On en deduit que la formule (13) a un degre dexacti-
tude egal `a 3. En remplacant f par son polynome composite de degre 2 sur
[a, b], on obtient la formule composite correspondant `a (13). On introduit
les noeuds de quadrature x
k
= a + kH/2, pour k = 0, . . . , 2m et on pose
H = (b a)/m, avec m 1. On a alors
I
2,m
=
H
6
_
f(x
0
) + 2
m1
r=1
f(x
2r
) + 4
m1
s=0
f(x
2s+1
) + f(x
2m
)
_
(14)
o` u x
0
= a et x
2m
= b. Si f C
4
([a, b]), lerreur de quadrature associee `a
(14) est
E
2,m
(f) = I(f) I
2,m
(f) =
b a
180
H
4
16
f
(4)
(), (15)
o` u ]a, b[ ; le degre dexactitude de la formule est 3.
x
f(x)
o
= a x = b x x
1 2
= (a+b)/2
Fig. 6
Le programme MATLAB 4 utilise la methode de Simpson pour integrer
numeriquement une fonction f.
Programme 4 formule de Simpson composite
function[Isic]= simpsonc(a,b,M,f,varargin)
% SIMPSON composite Simpson numerical integration.
% ISIC=SIMPSONC(A,B,M,FUN) computes an approximation
% of the integral of the function FUN via the Simpson
% method ( using M equispaced intervals ). FUN accepts
% real vecto input x and returns a real vector value.
% Fun can also be an inline object.
% ISIC=SIMPSONC(A,B,M,FUN ,P1,P2 ,...) calls the
% function FUN passing the optional parametres
% P1 ,P2 ,...as FUN(X,P1,P2 ,...).
H=(b-a)/M;
x=linspace(a,b,M+1);
13
fpm=feval (f,x,varargin {:}).* ones(1,M+1);
fpm (2:end -1)=2* fpm (2:end -1);
Isic=H*sum(fpm )/6;
x=linspace(a+H/2,b-H/2,M);
fpm=feval(f,x,varargin {:}).* ones(1,M);
Isic=Isic +2*H*sum(fpm )/3;
return
Exercice 1.3. Meme question que pour lexercice 1.1 pour la methode de
Simpson.
On a resoulu ce probl`eme avec le meme programme quon a realise pour
lexercice (1.1) en remplacant la ligne Imp = midpntc(a,b,M,g) par
Imp = simpsonc(a,b,M,g). Lexecution du programme donne M = 10. En eet
avec cette valeur de M lapproximation obtenue avec la methode de Simpson
est Imp = 2.33977 et lerreur est erreur = 3.7766e-06.
Lerreur theorique maximale pour cette methode est donnee par lequation
(15) et la gure 7 montre bien que la courbe des erreurs reelles est au-dessous
de celle des erreurs theoriques maximales.
10
0
10
6
10
5
10
4
10
3
10
2
10
1
10
0
10
1
10
2
Erreur obtenu avec simpsonc
Erreur thorique maximale
Fig. 7 graphique bi-logarithmique des erreurs reelles et des erreurs
theoriques maximales en fonction du nombre de sous-intervalles
Remarque. Dans les exercices 1.1, 1.2, 1.3 on a obtenu trois valeurs dierents
pour M. Plus precisement, M = 52 pour la methode du point milieu,
M = 72 pour la methode du trap`eze et M = 10. Cette dierence est due `a
deux choses :
la forme de la courbe,
14
le fait que les premieres deux methodes ont ordre 1 et la troisi`eme a
ordre 2. Ceci implique que les erreurs theoriques maximales du point
milieu et du trap`eze en fonction de M ont le meme comportement
tandis que lerreur pour la methode de Simpson en fonction de M
decroit plus rapidement que pour les deux autres.
On peut voir dans la gure 8 le comportement des erreurs theoriques maxi-
males des trois methodes en fonction du nombre de sous-intervalles pour cet
exercice et on voit bien que les pentes associees `a la premi`ere et `a la seconde
methode sont egales, et que celle associee `a la methode de Simpson est plus
grande. Ceci est donc parfaitement en accord avec la theorie que nous avons
expliquee jusqu`a maintenant.
10
0
10
1
10
2
10
3
10
2
10
1
10
0
10
1
10
2
Point milieu
Trapze
Simpson
Fig. 8 graphique bi-logarithmique des erreurs theoriques maximales en
fonction du nombre de sous-intervalles pour les dierentes methodes
1.6 Formules de Newton-Cotes
Ces formules sont basees sur linterpolation de Lagrange avec noeuds
equirepartis dans [a, b]. Pour n 0 xe, on pose x
k
= x
0
+ kh, k = 0, . . . , n
les noeuds de quadrature. Les formules du point milieu, du trap`eze et de
Simpson sont des cas particuliers des formules de Newton-Cotes correspon-
dant respectivement `a n = 0, n = 1 et n = 2. On denit dans le cas general :
les formules fermees, pour lesquelles x
0
= a, x
n
= b et h =
ba
n
(n 1) ;
15
les formules ouvertes, pour lesquelles x
0
= a + h, x
n
= b h et
h =
ba
n+2
(n 2).
Dans la suite on ne traite que le cas des formules fermees.
Indiquons une propriete interessante des formules de Newton-Cotes : les
poids de quadrature
i
ne dependent explicitement que de n et h et pas de
lintervalle dintegration [a, b]. Pour verier cette propriete dans le cas des
formules fermees, introduisons le changement de variables x = (t) = x
0
+ th.
En notant que (0) = a, (n) = b et x
k
= a + kh, on a
x x
k
x
i
x
k
=
a + th (a + kh)
a + ih (a + kh)
=
t k
i k
.
Ainsi, pour n 1
l
i
(x) =
n
k=0
k=i
t k
i k
=
i
(t), 0 i n,
et on obtient lexpression suivante pour les poids de quadrature
i
=
b
_
a
l
i
(x) dx =
n
_
0
i
(t)h dt = h
n
_
0
i
(t) dt,
do` u on deduit
I
n
(f) = h
n
i=0
w
i
f(x
i
), w
i
=
n
_
0
i
(t) dt
Dans le cas particulier o` u n = 0, comme l
0
(x) =
0
(t) = 1, on a w
0
= 2.
Les coecients w
i
ne dependent pas de a, b, h et f, mais seulement de n; ils
peuvent donc etre tabules. Dans le cas des formules fermees, les polynomes
i
et
ni
, pour i = 0, . . . , n 1, ont par symmetrie la meme integrale. Les
poids correspondants w
i
et w
ni
sont donc egaux pour i = 0, . . . , n1. Pour
cette raison, on ne montre dans la tabelle que la premi`ere moitie des poids.
n 1 2 3 4 5 6
w
0
1/2 1/3 3/8 14/45 95/288 41/140
w
1
0 4/3 9/8 64/45 375/288 216/140
w
2
0 0 0 24/45 250/288 27/140
w
3
0 0 0 0 0 272/140
16
2 Integration numerique multidimensionelle
Nous allons presenter dans cette section la metode de reduction, qui
permet dapproximer lintegrale I(f) =
__
f(x, y) dxdy (f C
0
(
)) si
est normal par rapport `a laxe des x.
Denition 2.1. Soient a, b R tels que a < b et
1
,
2
C
0
(R) telles que
2
(x) >
1
(x),x [a, b]. Un domaine R
2
de la forme = {(x, y)
R
2
, a < x < b,
1
(x) < y <
2
(x)} est appele normal par rapport `a laxe des
x.
x
y
1
(x)
(x)
2
a
b
Fig. 9 Domaine normal par rapport `a laxe des x
La formule de reduction des integrales doubles donne
I(f) =
_
b
a
_
2
(x)
1
(x)
f(x, y) dy dx =
_
b
a
F
f
(x) dx (16)
o` u F
f
(x) =
_
2
(x)
1
(x)
f(x, y) dy.
On peut approcher lintegrale I(f) =
_
b
a
F
f
(x)dx sur [a, b] par une formule
de quadrature composite utilisant M
x
sous-intervalles J
k
(k = 1,. . . ,M
x
), de
longueur H = (ba)/M
x
, et n
(k)
x
+1 noeuds x
k
i
(i = 0,. . . ,n
(k)
x
) dans chaque
sous-intervalle. On peut donc ecrire dans la direction des x
I(f) I
c
n
x
(f) =
M
x
k=1
n
(k)
x
i=0
k
i
F
f
(x
k
i
), (17)
o` u les coecients
k
i
sont les poids de quadrature sur chaque sous-intervalle
J
k
. Pour chaque noeud x
k
i
, lapproximation de lintegrale F
f
(x
k
i
) est eectuee
par une quadrature composite utilisant M
y
sous-intervalles
J
m
(m = 1,. . . ,M
y
),
17
de longueur h
k
i
= (
2
(x
k
i
)
1
(x
k
i
))/M
y
et n
(m)
y
+1 noeuds y
i,k
j,m
(i = 0,. . . ,n
(m)
y
)
dans chaque sous-intervalle.
On utilisant la methode de reduction dans le cas particulier o` u M
x
= M
y
=
M, n
(k)
x
= n
(m)
y
= 0, pour k, m = 1,. . . ,M on a la formule de reduction du
point milieu
I
c
0,0
(f) = H
M
k=1
h
k
0
M
m=1
f(x
k
0
, y
0,k
0,m
), (18)
o` u H = (b a)/M, x
k
0
= a + (k 1/2)H pour k = 1,. . . ,M et y
0,k
0,m
=
1
(x
k
0
) + (m1/2)h
k
0
pour k, m = 1,. . . ,M.
Dans le cas ou M
x
= M
y
= M et n
(k)
x
= n
(m)
y
= 1 pour k, m = 1,. . . ,M on
peut construire de facon analogue la formule de reduction du trap`eze.
On donne ci-dessous (cf. les programmes 5 et 6) deux petits programmes
MATLAB pour la methode de reduction du point milieu et celle du trap`eze.
Les variables phi1 et phi2 doivent contenir les expressions des fonctions
1
et
2
qui delimitent le domaine dintegration.
Programme 5 Formule de reduction du point milieu
function inte=redmidpt(a,b,phi1 ,phi2 ,m,fun)
H=(b-a)/m; xx=[a+H/2:H:b]; dim=max(size(xx));
for i=1:dim ,
x=xx(i); d=eval(phi2 ); c=eval(phi1 ); h=(d-c)/m;
y=[c:h:d]; w=eval(fun ); psi(i)=h*sum(w(1:m));
end;
inte=H*sum(psi(1:m));
Programme 6 Formule de reduction du trap`eze
function inte=redtrap(a,b,phi1 ,phi2 ,m,fun)
H=(b-a)/m; xx=[a:H:b]; dim=max(size(xx));
for i=1:dim ,
x=xx(i); d=eval(phi2 ); c=eval(phi1 ); h=(d-c)/m;
y=[c:h:d]; w=eval(fun);
psi(i)=h*(0.5*w(1)+ sum(w(2:m))+0.5*w(m+1));
end;
inte=H*sum (0.5* psi (1)+ sum(psi(2:m))+0.5* psi(m+1));
Exercice 2.1. On utilise les formules de reduction du point milieu et du
trap`eze pour calculer lintegrale double I(f) =
__
y
1+xy
dxdy sur le domaine
= ]0, 1[
2
. On a execute le programmes 5 et 6 avec M = 2
i
, pour i = 1,. . . ,10
et on a trace dans les deux cas lerreur absolue avec une echelle logarithmique
en fonction de M. Lintegrale exacte est I(f) = log(4) 1. Ensuite on sest
interesses a savoir pour quel M lerreur absolue est de lordre de 10
6
.
Les deux programmes quon a utilisee (voir programmes 7 et 8) nous donnent
que la methode de reduction du point milieu est plus precise de celle du
18
trap`eze, en eet avec M = 2
10
on touve que lerreur pour la methode du
point milieu est 1.1141 10
08
tandis que pour la methode du trapeze il est
2.2282 10
08
. Pour avoir une erreur de lordre de 10
6
on trouve M = 110
pour la metode de reduction du point milieu et M = 154 pour celle du
trapeze.
10
0
10
1
10
2
10
3
10
4
10
8
10
7
10
6
10
5
10
4
10
3
10
2
10
1
redmidpt
redtrap
Fig. 10 graphique bi-logarithmique des erreurs en fonction de M pour les
methodes de reduction du point milieu (redmidpt) et du trap`eze (redtrap)
19
Programme 7 exercice
function [Imp ,M,erreur ]= exercice ()
function [Imp1 ,Imp2 ,erreur1 ,erreur2 ]= exo11a ()
f=y./(1+x.*y);
intexact =(log (4) -1);
a=0;
b=1;
fi1=0;
fi2=1;
for i=0:10;
M=2^i;
Imp1=redmidpt(a,b,fi1 ,fi2 ,M,f);
Imp2=redtrap(a,b,fi1 ,fi2 ,M,f);
erreur1=abs(Imp1 -intexact );
erreur2=abs(Imp2 -intexact );
Y(i+1)=M;
E1(i+1)= erreur1;
E2(i+1)= erreur2;
end;
loglog(Y,E1,.-,Y,E2,o-);
legend(redmidpt , redtrap );
return
% Les valeurs returnes par la fonction sont:
% erreur1=lerreur obtenu avec M sous -interalles
%pour la methode redmidpt
% erreur2=lerreur obtenu avec M sous -interalles pour
% la methode redtrap
% Imp1=valeur de lintegrale calcule
%avec la methode redmidpt
% Imp1=valeur de lintegrale calcule
%avec la methode redtrap
20
Programme 8 exercice
function [Imp ,M,erreur ]= exercice ()
function [Imp1 ,Imp2 ,M1 ,M2 ,erreur1 ,erreur2 ]= exo11b ()
f=y./(1+x.*y);
intexact =(log (4) -1);
a=0;
b=1;
fi1=0;
fi2=1;
erreur1 =10;
erreur2 =10;
M1=1;
M2=1;
while ( erreur1 > 1e-6);
Imp1=redmidpt(a,b,fi1 ,fi2 ,M1 ,f);
erreur1=abs(Imp1 -intexact );
Y1(M1)=M1;
E1(M1)= erreur1;
M1=M1+1;
end;
while ( erreur2 > 1e-6);
Imp2=redtrap(a,b,fi1 ,fi2 ,M2 ,f);
erreur2=abs(Imp2 -intexact );
Y2(M2)=M2;
E2(M2)= erreur2;
M2=M2+1;
end;
loglog(Y1,E1,.-,Y2,E2 ,o-);
legend(Erreur obtenu avec redmidpt ,
Erreur obtenu avec redtrap );
return;
% Les valeurs returnes par la fonction sont:
% M1=nombre minimale de sous intervalles
% pour lequel lerreur est
% plus petite que 1e-4 avec la methode redmidpt
% M2=nombre minimale de sous -intervalles
% pour lequel lerreur est
% plus petite que 1e-4 avec la methode redtrap
% erreur1=lerreur obtenu avec M1 sous -interalles
% pour la methode redmidpt
% erreur2=lerreur obtenu avec M2 sous -interalles
% pour la methode redtrap
% Imp1=valeur de lintegrale calule
% avec la methode redmidpt pour M1
% sous intervalles
% Imp2=valeur de lintegrale calcule
% avec la methode redtrap pour M2
% sous -intervalles
21
References
[1] Alo Quateroni, Riccardo Sacco, Fausto Saleri. Methodes numeriques pour le calcul
scientique. Springer-Verlag France, 2000.
[2] Jean-Pierre Demailly. Analyse numerique et equations. Presses Universitaires de Gre-
noble, 1996.
[3] Lars Elden et Linde Wittmeyer-Koch. Numerical Analysis - An Introduction. Academic
Press, Inc., 1990.
22