TP d’informatique : r´
esolution approch´
ee d’´
equation
On propose dans ce TP de mettre en œuvre deux m´
ethode permettant de r´
esoudre de mani`
ere approch´
ee des
´
equations de type f(x)=0 d’inconnue x∈R.
1) Pourquoi est-ce que de savoir r´
esoudre les ´
equations de type f(x)=0 permet en fait de r´
esoudre n’importe quelle
´
equation r´
eelle ?
1 Dichotomie
Soit Iun segment non vide, soit a=min(I) et b=max(I). Soit f:I→Rcontinue et telle que f(a).f(b)≤0.
On rappelle tr`
es succinctement le principe de la m´
ethode dite par dichotomie pour obtenir un encadrement d’une
solution de l’´
equation f(x)=0 d’inconnue x∈I. Nous utilisons trois variables debut,fin, milieu. Au d´
ebut,
debut prend la valeur a,fin la valeur bet milieu la valeur (a+b)/2.
•Si f(debut).f(milieu)≤0 alors l’´
equation admet une solution sur [debut,milieu] : nous allons alors poursuivre
les calculs dans l’intervalle [debut,milieu]. En pratique, fin va prendre la valeur milieu, et milieu va devenir
(debut +f in)/2 (debut ne change pas).
•Si f(debut).f(milieu)>0, il y a alors une solution sur [milieu,f in]. A vous de voir quelles op´
erations faire dans ce
cas.
On poursuit ainsi jusqu’`
a ce que la pr´
ecision demand´
ee soit obtenue.
1) ´
Ecrire l’algorithme correspondant. Il prendra en entr´
ee : une fonction f, deux nombres aet btels que fest d´
efinie
sur [a,b] et f(a).f(b)≤0, ainsi qu’un nombre h>0. Il renverra deux nombres α, β tels que l’´
equation f(x)=0 a
une solution sur [α, β] et |β−α| ≤ h.
2) Traduire l’algorithme pour python et proc´
eder aux tests. Par exemple on pourra calculer une valeur approch´
ee de
√2, ou de π`
a 10−4pr`
es.
3) Pour tout n∈N, calculer la pr´
ecision obtenue lorsque la boucle a ´
et´
e it´
er´
ee nfois.
4) D´
emontrer que l’algorithme termine. Puis d´
emontrer que l’algorithme renvoie un r´
esultat correct.
5) Soit h∈R+∗. Montrer que pour atteindre la pr´
ecision h, le nombre d’it´
erations de la boucle `
a effectuer est
$log2(b−a
h)%+1 (sauf si par hasard log2(b−a
h)´
etait entier, ce qui en pratique n’arrive jamais).
6) Dans l’algorithme, quelle est l’op´
eration ´
el´
ementaire que vous pensez ˆ
etre la plus longue `
a effectuer ? Pour atteindre
la pr´
ecision h, combien de fois a-t-elle ´
et´
e effectu´
ee ? Bonus : pouvez-vous am´
eliorer votre algorithme pour r´
eduire
ce nombre ?
2 M´
ethode de Newton
Voici maintenant une m´
ethode propos´
ee par Isaac Newton, `
a l’origine pour r´
esoudre des ´
equations polynomiales.
On conserve les notations f,I,a,bpr´
ec´
edentes. On suppose en outre que fest d´
erivable, et que f0ne s’annule pas
(Remarque: pour ˆ
etre sˆ
ur que la m´
ethode fonctionne correctement, il vaut mieux que fsoit C2).
On part d’un point x0qu’on esp`
ere assez proche de la solution cherch´
ee. On calcule la tangente `
a la courbe Cf
au point d’abscisse x0. Notons-l`
aTf(x0). Normalement, cette tangente devrait ˆ
etre proche de la courbe Cf, au moins
au voisinage de x0. D’o`
u l’id´
ee : au lieu de chercher l’intersection de Cfavec l’axe des abscisses, nous cherchons
l’intersection de Tf(x0) avec l’axe des abscisses. On note x1l’abscisse du point obtenu.