Beruflich Dokumente
Kultur Dokumente
1re anne
Analyse numrique
Exercices corrigs
NB : Les exercices corrigs ici sont les exercices proposs durant les sances de cours. Les corrections donnes
sont des corrections plus dtailles que celles fournies durant le cours (si le temps a permis de donner ces
corrections). Si vous avez des questions concernant ces exercices, nhsitez pas envoyer un mail votre
enseignant danalyse numrique pour lui poser une question. Si vous trouver des coquilles, des erreurs dans
le prsent document, nhsitez pas le signaler votre enseignant par un mail.
4662
2331
1165
582
291
145
72
36
18
9
4
2
1
0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1
0
1
1
0
1
1
0
0
0
1
0
0
1
Exercice 2 crire (34)10 et (27)10 en binaire puis effectuer lopration en binaire (34)10 + (27)10 et vrifier
que le rsultat obtenu soit le bon.
17 +
8 +
4 +
2 +
1 +
0 +
0
1
0
0
0
1
13 +
6 +
3 +
1 +
0 +
1
1
0
1
1
Do lopration suivante
1
0 0 0
1 1 0
1 1 1 1
+
=
1
1
1
0
0
1
1
0
1
3
7
15
30
+
+
+
+
+
+
1
1
1
1
0
1
= 1
= 3
= 7
= 15
= 30
= 61
On a bien (61)10 = (111101)2 , le rsultat obtenu en binaire est bien conforme au rsultat obtenu en base 10.
Exercice 3 crire (90)10 et (97)10 en binaire puis effectuer lopration en binaire (90)10 (97)10 et vrifier
que le rsultat obtenu est le bon.
Convertissons tout dabord 90 en binaire. Cela donne
90 = 2 45 +
45 = 2 22 +
22 = 2 11 +
11 = 2
5 +
5 = 2
2 +
2 = 2
1 +
1 = 2
0 +
0
1
0
1
1
0
1
=
=
=
=
=
=
=
2
2
2
2
2
2
2
48 +
24 +
12 +
6 +
3 +
1 +
0 +
1
0
0
0
0
1
1
et (97)10 = (1100001)2 . On effectue maintenant la multiplication de (1011010)2 par (1100001)2 . Pour rappel,
la multiplication en binaire fonctionne de la manire suivante
0
1
0
0
0
1
0
1
Do lopration suivante
+
+
+
+
+
+
= 1
1
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1 1 0
0 0 0
1 1 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1 1 0
1
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
Exercice 4 Si on dispose de 4 bits (bit de signe compris), quelles valeurs peuvent prendre les entiers cods
sur ces 4 bits ?
Si on dispose de 4 bits dont 1 de signe, il ne reste plus que 3 bits pour coder les entiers naturels (ceux plus
grand que 0). Ils ne peuvent donc prendre que 23 valeurs distinctes dont la valeur 0. Les entiers naturels
cods sont ainsi 0, 1, 2, 3, 4, 5, 6, et 7 = 23 1. Maintenant, si on tient compte du bit de signe, les entiers
cods devraient pouvoir varier entre 7 et 7.
Cependant deux combinaisons auraient la mme valeur 0 : 1000 et 0000, le chiffre en gras dsigne ici le bit
de signe. Pour viter cette redondance, on pose 1000 = 8 (classiquement, le signe de bit lorsquil vaut 1
indique un nombre ngatif).
Finalement, si on dispose de 4 bits (bit de signe compris), on peut coder les entiers de valeurs comprises
entre 8 = 23 et 7 = 23 1.
Exercice 5 Vrifier lgalit entre (9, 90625)10 et (1001, 11101)2 .
On distingue la partie entire et la partie dcimale
effet
9 = 2
4 = 2
2 = 2
1 = 2
4
2
1
0
+
+
+
+
1
0
0
1
On a donc
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 0, 90625
Mais on a aussi
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 (2 0, 90625)
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1, 8125
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 (1 + 0, 8125)
On vient donc de calculer le premier chiffre aprs la virgule de 9, 90625 en binaire (soit ici 1). On ritre le
mme processus pour avoir le chiffre aprs la virgule suivant
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 (2 0, 8125)
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 1, 625
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 (1 + 0, 625)
Le deuxime chiffre aprs la virgule (en binaire) est donc 1. Voici enfin directement, les traces des calculs
pour obtenir tous les chiffres ncessaires aprs la virgule
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 1 + 23 1, 25
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 1 + 23 (1 + 0, 25)
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 1 + 23 1 + 24 0, 5
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 1 + 23 1 + 24 0 + 25 (2 0, 5)
9, 90625 = 23 1 + 22 0 + 21 0 + 20 1 + 21 1 + 22 1 + 23 1 + 24 0 + 25 1
On vrifie donc bien que (9, 90625)10 = (1001, 11101)2 .
|xn+1 l|
|xn l|p
admet une limite relle strictement positive lorsque n tend vers linfini.
On suppose g p fois drivable sur [a, b]. En utilisant la formule de Taylor, montrer que la mthode est dordre
p si et seulement si
g 0 (l) = g 00 (l) = . . . = g (p1) (l) = 0
et
g (p) (l) 6= 0
On rappelle tout dabord la formule de Taylor.
Soit k 1 un entier et soit f une fonction de R dans R k fois drivable en a R, alors il existe une fonction
k de R dans R tel que
f (x) = f (a) + f 0 (a)(x a) + f 00 (a)
(x a)k
(x a)2
+ . . . + f (k) (a)
+ k (x)(x a)k
2
k!
et
lim k (x) = 0
xa
Maintenant, si g est p fois drivable sur [a, b], on peut crire que
g(xn ) = g(l) + g 0 (l)(xn l) + g 00 (l)
(xn l)2
(xn l)p
+ . . . + g (p) (l)
+ p (x)(xn l)p
2
p!
avec
lim p (xn ) = 0
xn l
(xn l)p
(xn l)2
+ . . . + g (p) (l)
+ p (xn )(xn l)p
2
p!
ep
e2
= g 0 (l)en + g 00 (l) n + . . . + g (p) (l) n + p (x)epn
2
p!
en+1
|xn+1 l|
tend vers un rel non-nul (car
admet une
epn
|xn l|p
limite relle strictement positive et on enlve juste les valeurs absolues). Or daprs ce qui prcde, on
a lgalit suivante
en+1
g 0 (l)
g 00 (l)
1 g (p1) (l) g (p) (l)
+
.
.
.
+
+
+ p (xn )
p = p1 +
en
en (p 1)!
p!
en
2ep2
n
A gauche de lgalit, le terme tend vers un rel non-nul. Concernant les termes droite, on a que en
tend vers 0 quand n tend vers linfini donc
g 0 (l)
0
si g 0 (l) = 0
lim
=
p1
sinon
n+ en
De mme
g 00 (l)
p2 =
n+ 2en
0
si g 00 (l) = 0
sinon
lim
jusqu
1 g (p1) (l)
=
lim
n+ en (p 1)!
0
si g (p1) (l) = 0
sinon
g (p) (l)
est un rel et p (xn ) tend vers 0. Par unicit de la limite des deux cts de lgalit,
p!
g (p) (l)
il faut que g 0 (l) = g 00 (l) = . . . = g (p1) (l) = 0 pour que le ct droit tende vers un rel,
en
p!
loccurence. La limite relle est en plus diffrente de 0, donc on doit avoir g (p) (l) 6= 0.
Par contre
Si on a
g 0 (l) = g 00 (l) = . . . = g (p1) (l) = 0
alors
en+1 =
et
et
g (p) (l) 6= 0
epn (p)
g (l) + epn p (xn )
p!
en+1
1
= g (p) (l) + p (xn )
epn
p!
n+
1
en+1
| = |g (p) (l)| R+
epn
p!
f (x)
f 0 (x)
Elle vaut en l
g 00 (l) =
f 00 (l)
f 0 (l)
Donc si f 00 (l) 6= 0 alors la mthode de Newton est dordre 2, sinon elle est dordre suprieur 2.
n
X
(yi f (xi , 0 ))2
i=1
On cherche le minimum 0 tel que S(0 ) = min S(0 ). Pour cela, on a besoin de calculer sa drive S 0 (0 ).
0 R
Celle-ci vaut
S 0 (0 ) =
n
n
X
X
[2(yi f (xi , 0 ))] = 2
(yi 0 )
i=1
i=1
Pour trouver un extremum local (minimum ou maximum local), il faut rsoudre le problme S 0 (0 ) = 0.
Dans notre cas, on en dduit que
n
1X
yi
0 =
n i=1
Il reste cependant vrifier que 0 est bien un minimum et que celui-ci est global. Pour cela, tudions le
comportement de S(0 ). On a le tableau des variations suivant
0
S 0 (0 )
0
+
+
S(0 )
S(0 ) 0
n
1X
yi minimise bien la quantit S(0 ).
n i=1
Exercice 9 (Rgression linaire) On dispose de n points (xi , yi ), i = 1, . . . , n et on suppose que la fonction modle est de la forme
f (x, a, b) = ax + b
On cherche le minimum de
n
X
(yi axi b)2
S(a, b) =
i=1
Pour cela, il faut chercher o le gradient de S vaut 0. On doit donc calculer les drives partielles de S par
rapport a et b. Celles-ci valent
n
X
=
2
xi (yi axi b)
a
i=1
n
X
(yi axi b)
i=1
xi (yi axi b) = 0
i=1
n
X
(yi axi b)
i=1
x=
1X
xi
n i=1
y=
1X
yi
n i=1
i=1
i=1
i=1
| {z }
=n
Do
1
b=
n
n
X
yi a
i=1
xi (yi axi b) =
i=1
n
X
(yi axi b)
n
X
!
xi
= y ax
i=1
n
X
i=1
n
X
i=1
i=1
n
X
i=1
Or
0=
n
X
i=1
n
n
X
X
(yi y a(xi x)) =
(xi x)(yi y a(xi x))
i=1
i=1
n
n
X
X
(xi x)(yi y) a
(xi x)2
i=1
i=1
a=
(xi x)(yi y)
i=1
n
X
(xi x)2
i=1
a=
n
X
(xi yi x y)
n
X
i=1
n
X
i=1
n
X
=
(x2i
x)
i=1
xi yi nx y
x2i nx
i=1
(xi x)(yi y) =
i=1
n
X
i=1
n
X
xi yi x
i=1
n
X
yi y
n
X
xi +nx y =
i=1
i=1
| {z }
| {z }
=ny
n
X
xi yi nx y
i=1
=nx
(xi x)2 =
i=1
n
n
n
n
X
X
X
X
(x2i 2xxi + x2 ) =
x2i 2x
xi +nx2 =
x2i nx2
i=1
i=1
i=1
i=1
| {z }
=nx
avec le vecteur contenant tous les paramtres que nous allons chercher
1
2
= .
.
.
m
On cherche le minimum de
S() =
n
X
(yi f (xi , ))2
i=1
10
Pour cela, il faut chercher o le gradient de S vaut 0. On doit donc calculer les drives partielles de S par
rapport aux k . Celles-ci valent
n
X
S()
f (xi , )
= 2
=0
(yi f (xi , ))
k
k
i=1
f (xi , )
= k (xi )
k
X=
X11
X21
..
.
X12
X22
..
.
...
...
..
.
X1m
X2m
..
.
Xn1
Xn2
...
Xnm
y=
y1
y2
..
.
yn
(yi f (xi , ))
i=1
f (xi , )
=0
k
n
m
X
X
yi
j Xij Xik = 0
i=1
j=1
Do pour tout k = 1, . . . , m
n
X
i=1
yi Xik =
n X
m
X
j Xij Xik =
i=1 j=1
m
X
j=1
n
X
!
Xij Xik
i=1
ac
X
[A]ij [B]jk
j=1
Concernant ce quon appelle la matrice transpose de A note AT , celle-ci a pour dimensions ac lignes et al
colonnes et
[AT ]ij = [A]ji
i = 1, . . . , ac
j = 1, . . . , al
11
Revenons maintenant lexercice proprement dit. tudions tout dabors les compatibilit pour les dimensions,
la matrice X possde n lignes et m colonnes donc la matrice XT possde m lignes et n colonnes et XT X
a m lignes et m colonnes. Le vecteur possde lui m lignes et 1 colonne, donc le produit (XT X) est un
vecteur (m lignes et bien s ?r 1 colonne). Dautre part, y est aussi un vecteur (n lignes, 1 colonne) donc XT y
est aussi un vecteur (m lignes, 1 colonne). On a donc compatibilit pour les dimensions des deux cts de
lgalit. Maintenant, on a
[XT X]jk =
n
X
n
X
i=1
[X]ij [X]ik =
i=1
n
X
Xij Xik
j = 1, . . . , m
k = 1, . . . , m
i=1
[(X X)]k1
m
m
X
X
=
[XT X]jk []j1 =
j
j=1
j=1
n
X
!
Xij Xik
k = 1, . . . , m
i=1
[X y]k1 =
n
X
[X ]ki [y]i1 =
n
X
[X]ik yi =
Xik yi
k = 1, . . . , m
i=1
i=1
i=1
n
X
Or on a vu prcdemment que
n
X
i=1
yi Xik =
m
X
j=1
n
X
!
Xij Xik
i=1
1 .
wi
i=1
On cherche le minimum 0 tel que 2 (0 ) = min 2 (0 ). Pour cela, on a besoin de calculer sa drive
0 R
2 (0 ). Celle-ci vaut
0
2 (0 ) =
n
X
i=1
n
X
wi (yi 0 )
i=1
0
Pour trouver un extremum local (minimum ou maximum local), il faut rsoudre le problme 2 (0 ) = 0.
12
wi yi
i=1
n
X
wi
i=1
0 correspond la moyenne pondre des yi . Il reste cependant vrifier que 0 est bien un minimum et que
celui-ci est global. Pour cela, tudions le comportement de 2 (0 ). On a le tableau des variations suivant
0
0
0
2 (0 )
0
+
2 (0 )
2 (0 ) 0
n
X
wi yi
i=1
n
X
i=1
Interpolation polynmiale
Exercice 12 On dispose de n + 1 points (xi , yi ), i = 0, . . . , n. On suppose x0 < x1 < xn . On construit
f fonction dinterpolation entre x0 et xn tel que les points (xi , yi ) soient relis entre eux par des droites.
Exprimer f sur [x0 , xn ].
Sur le tronon [xi , xi+1 ], f vaut une droite dinterpolation de la forme ax+b. Or f (xi ) = yi et f (xi+1 ) = yi+1 .
Il reste donc trouver les coefficients a et b pour que la droite passe par les 2 points indiqus prcdemment.
Pour cela, il faut rsoudre le systme suivant
axi + b = yi
axi+1 + b = yi+1
En soustrayant la premire ligne la seconde, on a
a(xi+1 xi ) = (yi+1 yi )
On en dduit que
a=
yi+1 yi
xi+1 xi
et b vaut
b = yi axi = yi
13
yi+1 yi
xi
xi+1 xi
yi+1 yi
yi+1 yi
yi+1 yi
x + yi
xi =
(x xi ) + yi
xi+1 xi
xi+1 xi
xi+1 xi
pour i = 0, . . . , n 1.
n
X
yj `j (x)
j=0
de polynmes de Lagrange
`j (x) =
n
Y
k=0,k6=j
x xk
x x0
x xj1 x xj+1
x xn
=
...
...
xj xk
xj x0
xj xj1 xj xj+1
xj xn
Dans ce cas, lindice k peut valoir i donc un des termes du produit est
forcment nul. On a ainsi que `j (xi ) = 0 si i 6= j. Maintenant si i = j,
n
Y
`j (xj ) =
k=0,k6=j
xj xk
=1
xj xk
On en dduit que
L(xi ) =
n
X
yj `j (xi ) = yi
j=0
14
xi xi
qui vaut 0 et le produit est
xj xi
2
Y
k=0,k6=0
2
Y
`1 (x) =
k=0,k6=1
`2 (x) =
x x1 x x2
x0 x1
x(x 1)
1
1
xi xk
=
=
=
= x2 x
xj xk
x0 x1 x0 x2
1 0 1 1
2
2
2
x x0 x x2
x (1) x 1
xi xk
= (x + 1)(x 1) = x2 + 1
=
=
xj xk
x1 x0 x1 x2
0 (1) 0 1
2
Y
k=0,k6=2
x x0 x x2
x (1) x 0
x(x + 1)
1
1
xi xk
=
=
=
= x2 + x
xj xk
x2 x0 x2 x1
1 (1) 1 0
2
2
2
Do
1
L(x) = y0 `0 (x)+y1 `1 (x)+y2 `2 (x) =
26
1 2 1
1 1 2 1
1 2
25
2
x x x +1+
x +
=
x x2 +1 = x2 +1
2
2
26 2
2
26
26
Exercice 15 On dispose dun ensemble de n + 1 points (xi , yi ), i = 0, . . . , n tel que x0 < x1 < . . . xn . La
spline cubique S interpolant ces points concide sur chaque intervalle [xi , xi+1 ] avec un polynme pi de degr
3 de la forme :
f 00
f 000
S(x) = pi (x) = fi + fi0 (x xi ) + i (x xi )2 + i (x xi )3
2!
3!
Les coefficients dterminer sont les fi , fi0 , fi00 et fi000 .
On a n + 1 points dinterpolations donc n intervalles [xi , xi+1 ] et 4n inconnues dterminer. On veut
naturellement que
S(xi ) = pi (xi ) = yi
i = 0, . . . , n 1
S(xi+1 ) = pi (xi+1 ) = yi
i = 0, . . . , n 1
ce qui permet dassurer la continuit de la spline cubique S. n a donc 4n inconnues et 2n relations utilises
pour les conditions usuelles. On se sert des 2n degrs de liberts restant pour imposer que la spline S soit
C 2 . Pour que S soit C 2 sur [x0 , xn ], il faut que
S 0 (xi+1 ) = p0i (xi+1 ) = p0i+1 (xi+1 )
00
S (xi+1 ) =
p00i (xi+1 )
p00i+1 (xi+1 )
i = 0, . . . , n 2
i = 0, . . . , n 2
On vient dimposer 2 (n 1) conditions, il reste encore 2 degrs de libert. En gnral, pour terminer on
prend S 00 (x0 ) = p000 (x0 ) = 0 et S 00 (xn ) = p00n1 (xn ) = 0 (splines naturelles) mais de nombreux autres choix
sont possibles.
On cherche maintenant valuer les coefficients fi , fi0 , fi00 et fi000 . Pour cela, il faut rpondre aux questions
suivantes
1. Exprimer pi (x), p0i (x) et p00i (x) en fonction des fi , fi0 , fi00 et fi000 .
2. Montrer partir de la condition pi (xi ) = yi que
fi = yi
i = 0, . . . , n 1
00
fi+1
fi00
hi
000
5. On pose fn00 = p00n1 (xn ). On a donc fn1
=
00
00
fn
fn1
hn1 .
i = 0, . . . , n 2
Montrer que
1
1
00
fi0 = f [xi , xi+1 ] hi fi00 hi fi+1
3
6
i = 0, . . . , n 1
pour i = 0, . . . , n 2.
Il ne reste plus qu imposer f000 et fn00 pour obtenir tous les coefficients.
1. On veut exprimer pi (x), p0i (x) et p00i (x) en fonction des fi , fi0 , fi00 et fi000 . Pour rappel, on a pour x dans
[xi , xi+1 ].
f 000
f 00
pi (x) = fi + fi0 (x xi ) + i (x xi )2 + i (x xi )3
2!
3!
Donc sur le mme intervalle, on a aussi
pi (x) = fi + fi0 (x xi ) +
f 000
fi00
(x xi )2 + i (x xi )3
2
6
fi000
(x xi )2
2
p00i (x) = fi00 + fi000 (x xi )
fi00
f 000
(xi xi )2 + i (xi xi )3 = fi
2
6
i = 0, . . . , n 1
yi+1 yi
. On veut respecter la condition
hi
Do
fi00 2 fi000 3
h
h
2 i
6 i
En divisant par hi lgalit prcdente, on obtient la condition voulue
fi0 hi = yi+1 yi
f 00
f 000
fi0 = f [xi , xi+1 ] i hi i h2i
| {z }
2
6
yi+1 yi
=
hi
16
i = 0, . . . , n 1
00
fi+1
fi00
hi
000
5. On pose fn00 = p00n1 (xn ). On a donc fn1
=
fi000 =
i = 0, . . . , n 2
00
fn00 fn1
00
000
(car fn00 = p00n1 (xn ) = fn1
+ hn1 fn1
) et
hn1
00
fi+1
fi00
hi
i = 0, . . . , n 1
00
fi00
f 000
f 00
hi fi+1
fi00
hi i h2i = f [xi , xi+1 ] i hi
2
6
2
6
hi
Do
hi 00 hi 00
f fi+1
i = 0, . . . , n 1
3 i
6
6. On veut enfin satisfaire la dernire condition p0i (xi+1 ) = p0i+1 (xi+1 ). Or
fi0 = f [xi , xi+1 ]
hi
hi 00
h2 f 00 fi00
fi000 2
hi = f [xi , xi+1 ] fi00 fi+1
+ fi00 hi + i i+1
2
3
6
2
hi
1
1
00
= f [xi , xi+1 ] + hi fi00 + hi fi+1
6
3
0
p0i+1 (xi+1 ) = fi+1
= f [xi+1 , xi+2 ]
hi+1 00
hi+1 00
f
f
3 i+1
6 i+2
f
6
3
3 i+1
6 i+2
En multipliant par 6 lgalit prcedente et en rorganisant, on obtient
0
00
6(f [xi+1 , xi+2 ] f [xi , xi+1 ]) = hi fi00 + 2(hi + hi+1 )fi+1
+ hi+1 fi+2
i = 0, . . . , n 2
17
2. Dans le cas du traitement du signal, on peut vouloir connaitre la valeur moyenne f(t) dun signal f
sur le segment [0, t] (t > 0, variable dans le temps). Dduire de la question prcdente lexpression de
la fonction valeur moyenne f(t).
1. Notons fmoy la valeur moyenne de la fonction f sur [a, b]. fmoy , pour tre une valeur moyenne, doit
respecter la condition suivante
Z b
Z b
fmoy dt =
f (t) dt
a
a
n
n
X
1X
fi donc fmoy doit respecter
n i=1
fi ). Donc
i=1
b
Z
(b a)fmoy =
f (t) dt
a
1
=
ba
f (t) dt
a
2. On veut maintenant exprimer la valeur moyenne f(t) dun signal (cest une fonction) f sur le segment
[0, t] (t > 0). Daprs la question prcdente, on a
1
f(t) =
t
f (t) dt
0
1
sur [0, 1] par la mthode
1 + x2
de Monte Carlo avec pour entre N le nombre de valeurs alatoires tires pour calculer cette intgrale.
Exercice 17 crire un programme Scilab permettant destimer lintgrale de
Pour rappel, la fonction rand(n,m) retourne une matrice de taille n m contenant des nombres alatoires
de loi uniforme compris entre 0 et 1.
On rappelle tout dabord la mthode de Monte Carlo pour lestimation dune intgrale. On veut intgrer
1
sur [0, 1]. Il faut tout dabord calculer la quantit V dfinie par
f (x) =
1 + x2
Z 1
V =
dx = 1
0
On peut maintenant rapeler la mthode de Monte Carlo. Celle-ci consiste donc tirer alatoirement de
manire uniforme des valeurs xi [0, 1], i = 1, . . . , N puis approcher lintgrale par
Z
f (x) dx
0
N
N
V X
1 X 1
f (xi ) =
N i=1
N i=1 1 + x2i
Puisque la thorie est claire, passons la mise en oeuvre pratique soit le code Scilab. Voici un exemple de
solution au problme :
18
function QN = integraleMC(N)
-- QN va contenir le resultat de lintegrale approchee
QN = 0 ;
-- boucle de calcul, on doit simuler N x_i puis ajouter f(x_i)/N a QN
for k = 1:N
-- k eme x_i simule
u = rand(1,1) ;
-- ajout de f(x_i)/N a QN
QN = QN + (1./N).*(1./(1 + u.*u)) ;
end
endfunction
On vient de donner un algorithme permettant de calculer
Z 1
1
dx = arctan(1)
1
+
x2
0
I(f ) =
f (x) dx
1
19
par la formule des trapzes (cas n = 1 des formules de Newton-Cotes ferm). On approxime ainsi cette
intgrale par la formule de quadrature suivante
(1)
(1)
(b a) w0 f (a) + w1 f (b)
avec
1
=
ba
(1)
wi
`i (x) dx
a
(1)
et w1 .
(1)
Pour cette formule de quadrature, les nuds sont les points a et b donc pour calculer les poids w0 et
(1)
w1 , il faut connaitre les les polynme de Lagrange `0 (x) et `1 (x) ncessaire pour le calcul du polynme
dinterpolation passant par les points (x0 , y0 ) = (a, f (a)) et (x1 , y1 ) = (b, f (b)). Pour rappel,
1
Y
`i (x) =
k=0,k6=i
x xk
xj xk
Do
(1)
w0
1
=
ba
(1)
w1
Z
a
1
`0 (x) dx =
(b a)(a b)
1
=
ba
Z
a
Z
a
1
`1 (x) dx =
(b a)2
b
(a b)2
1
(x b)2
1
=
(xb) dx =
=
(b a)(a b)
2
2(b a)(a b)
2
a
Z
a
b
(b a)2
1
1
(x a)2
=
(x a) dx =
=
2
2
(b a)
2
2(b
a)
2
a
f (x) dx
a
ba
(f (a) + f (b))
2
f (x) dx
a<b
20
La formule de Simpson est une formule de quadrature de type interpolation 3 points. Daprs lun des
thormes du cours, elle est donc exacte pour tous les polynmes de degr au plus 2. Elle est donc de degr
de prcision au moins 2, ce que confirme les calculs suivants
ba
a+b
ba
f (x) = 1
I(f ) = b a
f (a) + 4f
+ f (b) =
(1 + 4 + 1) = b a
6
2
6
La formule de Simpson a au moins un degr de prcision suprieur 0.
f (x) = x
ba
6
f (a) + 4f
a+b
2
I(f ) =
b2 a2
2
ba
3(b a)
b2 a 2
+ f (b) =
(a + 2(a + b) + b) =
(a + b) =
6
6
2
f (a) + 4f
a+b
2
I(f ) =
b3 a3
3
ba 2
ba
b3 a3
+ f (b) =
(a + (a + b)2 + b2 ) =
(2a2 + 2ab + 2b2 ) =
6
6
3
La formule de Simpson a au moins un degr de prcision suprieur 2. Maintenant pour le degrs suprieurs,
on a
b4 a4
f (x) = x3
I(f ) =
4
ba
6
a+b
ba
1
+ f (b) =
a3 + (a + b)3 + b3
2
6
2
1
3
3
1
ba 3
b4 a 4
ba
a3 + a3 + a2 b + ab2 + b3 + b3 =
(a + a2 b + ab2 + b3 ) =
=
6
2
2
2
2
4
4
f (a) + 4f
I(f ) =
b5 a5
5
a+b
ba
1
f (a) + 4f
+ f (b) =
a4 + (a + b)4 + b4
2
6
4
ba
1
3
1
ba
=
a4 + a4 + a3 b + a2 b2 + ab3 + b4 + b3 =
(5a4 + 4a3 b + 6a2 b2 + 4ab3 + 5b4 )
6
4
2
4
24
5 5
1
1
1
1
5
=
b ab4 + a2 b3 a3 b2 + a4 b a5
24
24
12
12
24
24
ba
6
Le rsultat obtenu par la formule de quadrature est diffrent de la valeur de lintgrale pour f (x) = x4 . On
en conclut que la formule de Simpson est de degr de prcision 3.
Exercice 21 (Formule des rectangles) tablir la formule des rectangles pour Newton-Cotes ouvert n = 0
puis montrer que cette formule est de degr de prcision 1.
21
Pour obtenir les formules de Newton-Cotes ouvert, on interpole f aux point suivants
xi = a + (i + 1)h
avec
i = 0, . . . , n
h=
ba
n+2
i=0
avec
(n)
wi
1
=
ba
`i (x) dx
a
n
Y
k=0,k6=i
x xk
xi xk
ba
donc
2
ba
a+b
=
2
2
(0)
a)w0 f
a+b
2
(0)
0
Y
k=0,k6=0
x xk
=1
xi xk
Pour sen convaincre, on rappelle ici que le degr dun polynme de Lagrange est n (avec n + 1 le nombre de
points dinterpolation). Ici n = 0 donc `0 (x) est un polynme de degr 0 donc une constante (diffrente de
0). Dautre part, on a montr dans un exercice prcdent que
`i (xj ) = 0 si i 6= j
`i (xi ) = 1
(0)
22
a+b
2
= (b a)
a+b
2
2
=
I(f ) =
b3 a 3
3
1
ba 2
a + 2ab + b2 = (b3 a2 b + ab2 a3 )
4
4
Le rsultat obtenu par la formule de quadrature est diffrent de la valeur de lintgrale pour f (x) = x2 . On
en conclut que la formule des rectangles est de degr de prcision 1.
Exercice 22 (Degr de prcision des formules de Newton-Cotes) Pour une formule de Newton-Cotes
associe une valeur impaire de n. Si f C n+1 ([a, b]), alors il existe un rel Kn 6= 0 et ]a, b[ tel que
lerreur R commise sur la valeur de lintgrale soit
R(f ) =
Kn
n+2 (n+1)
(b a)
f
()
(n + 1)!
Pour une formule de Newton-Cotes associe une valeur paire de n (sauf n = 0 pour Newton-Cotes ferm).
Si f C n+2 ([a, b]), alors il existe un rel Mn 6= 0 et ]a, b[ tel que lerreur R commise sur la valeur de
lintgrale soit
Mn
n+3 (n+2)
R(f ) =
(b a)
f
()
(n + 2)!
Dduire le degr de prcision des formules de Newton-Cotes partir de ce qui prcde.
On rappelle tout dabord quune formule de quadrature est de degr de prcision n si cette formule est exacte
(donne la valeur exacte de lintgrale approche) pour toute fonction f (x) = xk avec k n et inexacte pour
f (x) = xn+1 .
Dautre part, on rappelle que toute fonction de la forme xk avec k entier positif est drivable linfini sur
R et ces drives successives sont aussi continues sur R. On peut aussi montrer que si f (x) = xk , alors la p
me drive (p k) de f vaut
f (p) (x) = p! xkp
et si p > k, f (p) (x) = 0.
Maintenant revenons lexercice et tudions le cas n impair, on a
R(f ) =
Kn
n+2 (n+1)
(b a)
f
()
(n + 1)!
Si f (x) = xk avec k < n + 1, alors f (n+1) (x) = 0 et R(f ) = 0 (la formule de quadrature est donc exacte
pour ces f choisis). On en dduit que le degr de prcision des formules de Newton-Cotes avec n impair est
au moins n. Si f (x) = xn+1 , alors f (n+1) (x) = (n + 1)! et
n+2
R(f ) = Kn (b a)
6= 0
23
On tudie ensuite le cas n pair (on exclue le cas Newton-Cotes ferm n = 0), on a
R(f ) =
Mn
n+3 (n+2)
(b a)
f
()
(n + 2)!
Si f (x) = xk avec k < n + 2, alors f (n+2) (x) = 0 et R(f ) = 0 (la formule de quadrature est donc exacte
pour ces f choisis). On en dduit que le degr de prcision des formules de Newton-Cotes avec n impair est
au moins n + 1. Si f (x) = xn+2 , alors f (n+2) (x) = (n + 2)! et
n+3
R(f ) = Mn (b a)
6= 0
Exercice 23 (Formule composite des trapzes) La mthode pour obtenir une formule composite consiste
diviser lintervalle [a, b] en r sous-intervalles de longueur
h=
ba
r
i = 0, . . . , r
On forme
Z
f (x) dx =
a
r1 Z
X
i=0
ti+1
f (x) dx
ti
et lon applique sur chaque intervalle [ti , ti+1 ] une des formules de Newton-Cotes.
On veut utiliser pour formule de Newton-Cotes la formule des trapzes (Newton-Cotes ferm). tablir la
formule de quadrature composite dcrite prcdemment. En combien de points est il ncessaire dvaluer f
pour pouvoir utiliser cette formule ?
On applique sur chaque intervalle [ti , ti+1 ] la formule des trapzes (Newton-Cotes ferm)
Z
ti+1
f (x) dx
ti
h
(f (ti ) + f (ti+1 ))
2
ti+1
ti
f (x) dx
r1
X
h
i=0
(f (ti ) + f (ti+1 ))
24
Exercice 24 (Un exemple de formule de Gauss) Soit la formule de quadrature de Gauss suivante
Z 1
I(f ) =
f (x) dx In (f ) = w0 f (x0 ) + w1 f (x1 )
1
Le but est de choisir les nuds x0 et x1 et les poids w0 et w1 (soit 4 variables) de telle manire ce que le
degr de prcision de la formule de quadrature soit le plus lev possible. Pour rsoudre ce problme, on a
besoin de 4 quations (afin davoir une une solution unique pour les nuds et les poids). Pour les obtenir,
on impose que
I(f ) = In (f )
pour f (x) = xk
k = 0, . . . , 3
1. tablir le systme de 4 quations non-linaires pour obtenir les nuds et les poids.
2. Vrifier que
3
3
x1 =
w0 = w1 = 1
x0 =
3
3
est solution du systme prcdent
3. Vrifier que la formule obtenue
!
!
Z 1
3
3
f (x) dx f
+f
3
3
1
est de degr de prcision 3.
1. On impose que
pour f (x) = xk
I(f ) = In (f )
k = 0, . . . , 3
I(f ) =
1 dx = 2 = w0 + w1 = In (f )
1
I(f ) =
x dx = 0 = w0 x0 + w1 x1 = In (f )
1
x2 dx =
I(f ) =
1
2
= w0 x20 + w1 x21 = In (f )
3
x3 dx = 0 = w0 x30 + w1 x31 = In (f )
I(f ) =
1
Le systme de 4 quations non-linaires pour obtenir les nuds et les poids est donc
w0 + w1
= 2
w0 x0 + w1 x1 = 0
w0 x20 + w1 x21
w0 x30 + w1 x31
25
2
3
2. On suppose que
w0 = w1 = 1
3
x0 =
3
x1 =
3
3
et on vrifie
w0 + w1 = 1 + 1 = 2
3
3
+
=0
w0 x0 + w1 x1 =
3
3
!2
!2
3
3
3 3
2
w0 x20 + w1 x21 =
+
= + =
3
3
9 9
3
w0 x30
w1 x31
!3
3
+
3
On a bien que
!3
3
3 3 3 3
=
+
=0
3
27
27
3
w0 = w1 = 1
x0 =
3
est solution du systme tabli la question prcdente.
x1 =
3
3
3. Par construction,
I(f ) = In (f )
pour f (x) = xk
k = 0, . . . , 3
2
I(f ) =
x dx =
5
1
4
In (f ) = w0 f (x0 ) + w1 f (x1 ) =
!4
3
+
3
!4
1 1
2
3
= + =
3
9 9
9
La formule de quadrature nest pas exacte pour f (x) = x4 , son degr de prcision est donc 3.
26
Le systme (3) nadmet aucune solution. En effet, si on multiplie la premire ligne par 4 et quon la soustrait
la seconde ligne, on obtient du ct gauche de lgalit
16x1 12x2 4(4x1 3x2 ) = 0
et 2 4 14 = 54 pour le ct droit de lgalit. Il y a donc incompatibilit entre les deux quations du
systme.
1 4
2 7
A=
4 10
0 5
6 5
3 1
7 2
8 9
Comme la matrice A est de dimension 4 4, le rang de la matrice est compris entre 0 et 4. Notons li ,
i = 1, . . . , 4 les lignes de la matrice A. Au moins une des lignes est non nulle, donc rg(A) 1.
l1 et l2 sont linairement indpendants. En effet, il nexiste pas de rel tel que l2 = l1 , donc rg(A) 2.
l1 , l2 et l4 sont linairement indpendants. En effet, il nexiste pas de rels et tel que l4 = l1 + l2 , donc
rg(A) 3.
l3 = 2l1 + l2 l4 , l3 nest pas linairement indpendante de l1 , l2 et l4 do
rg(A) = 3
3x1 + 2x2
2x1 + 3x2
2x1 2x2
=
=
=
12
13
2
On a lgalit suivante
3
2
2
3 =
2
2
22
2
6
62
2 2
3
23
2
3
1
3
0
3
0
2
2
2
2
2
2
22
Vrifier
que lgalit prcdente est une dcomposition en valeurs singulires et lutiliser pour montrer que
2
est lunique solution du systme dcrit plus haut.
3
On considre comme acquis la validit de lgalit prcdente (on peut samuser vrifier si on veut ...). On
note les matrices
!
22
23
6
5 0
2
2
2
2
2
2
2
U=
= 0 3
V=
2 6
3
2
2
0
0
2
2
2 2
1
0
3
3
27
UUT =
2
2
22
2
23
2
6
2
2
2
62
3
6
2 2
1
23
3 3
2 2
2 2
2
2 2 + 6 6 + 3
2 2
2 2
2
=
2 2 6 6 3
2 2 2
12
3
6 33
2
2
62
2
3
2
2
3
2
2
2
3
2
2 2
3
1
3
2
2
2
2 +
232
2 2
6 6
2 2
6 6 +
2
12
6 + 33
2
3
2
3
2
3
2
3
2 2 2
12
3
6 33
2 3 2 62 + 31 23
2 22 2
11
3
3 + 33
= 0
0
1
0
0
0
1
U est une matrice carr donc puisque UUT = I3 lidentit, on a aussi UT U = I3 (attention ce nest vrai
que parce que le rsultat de la multiplication matricielle est lidentit). U est bien une matrice orthogonale.
De mme pour V, on a
!
!
!
2
2 2
2 2
2 2
2 2
22 22
22
1 0
T
2
2 2 + 2 2
2 2 2 2
=
=
VV =
2
2 2
2 2
2 2
2 2
0 1
22 22
22
2
2 2 2 2
2 2 + 2 2
V est bien une matrice orthogonale et comme est une matrice diagonale dont les termes diagonaux sont
positifs, on a bien la dcomposition en valeurs singulires de la matrice A du systme linaire Ax = b.
Dautre part, rg(A) = 2 et on cherche 2 variables, le systme admet donc une unique solution que lon va
calculer grce la formule
x = V1 UT b
On effectue ce calcul en plusieurs tapes
UT b =
2
2
2
6
23
2
2
62
2
3
2 2
3
1
3
U b=
x = V
U b=
2
2
22
252
122 2 132 2
2
12
2
2
2
4
13
= 12
= 322
6 13 6 3
2
26
2
0
24
3 + 3 3
1
5
1
3
2
2
22
0
0
!
252
522
322 =
22
0
!
5( 2)
( 2)2
522
2
22
22
=
=
5( 2)2
( 2)2
3
22
22 + 22
28