TP d`informatique : résolution approchée d`équation 1 Dichotomie 2

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 xR.
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:IRcontinue 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 xI. 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 104pr`
es.
3) Pour tout nN, 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 hR+. Montrer que pour atteindre la pr´
ecision h, le nombre d’it´
erations de la boucle `
a eectuer est
$log2(ba
h)%+1 (sauf si par hasard log2(ba
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 eectuer ? Pour atteindre
la pr´
ecision h, combien de fois a-t-elle ´
et´
e eectu´
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.
Ensuite on recommence en partant de x1. On obtient ainsi x2, on recommence encore, etc... On obtient une suite
(xn)nNqu’on esp`
ere converger vers une solution de f(x)=0.
1) Faire des dessins.
2) Donner la formule exprimant pour tout nNxn+1en fonction de xn.
3) Proposer un algorithme appliquant la m´
ethode de Newton. (R´
efl´
echissez aux variables que vous pouvez demander
`
a l’utilisateur en entr´
ee.)
4) Impl´
ementer cet algorithme sous python.
5) Comparer la vitesse d’ex´
ecution avec la dichotomie. Par exemple, sur un mˆ
eme exemple calculer la pr´
ecision
obtenue avec Newton pour n=5, puis faire acher par la dichotomie le nombre d’it´
erations n´
ecessaires pour
obtenir la mˆ
eme pr´
ecision.
6) ´
Ecrire un algorithme permettant de visualiser le comportement de la suite. On tracera d’abord le graphe de f, puis
les points (x0,f(x0)), (x1,0), (x1,f(x1)), (x2,0), ... (xn1,f(xn1)), (xn,0).
7) Appliquer la m´
ethode pour r´
esoudre sin(x)=0, en choisissant diverses valeurs de x0.
8) Appliquer la m´
ethode pour r´
esoudre th(x)=0.
9) Autre exemple : soit aR+, appliquer la m´
ethode avec la fonction f:x7→ 1
xa. Quel int´
erˆ
et ?
10) Identifier les d´
efauts de la m´
ethode de Newton.
11) Supposons que la suite (xn)nNconverge. D´
emontrer que sa limite est une solution de f(x)=0.
Commentaire : On dit que fest ”convexe” lorsque f0est croissante (la courbe est alors au dessus de ses tangentes).
On d´
emontre par exemple que la m´
ethode de Newton fonctionne toujours d`
es que fest convexe, croissante, et que x0
est choisi de sorte que f(x0)>0.
Si en plus, fest C2, on d´
emontre qu’il existe une constante Cet un rang n0Ntel que,en notant xla solution
cherch´
ee,
nn0,|xn+1x|C.|xnx|2
En gros, la pr´
ecision est mise au carr´
e`
a chaque it´
eration, autrement dit le nombre de d´
ecimale justes est multipli´
e
par 2. La convergence est donc extrˆ
emement rapide, on dit que la convergence est ”quadratique”.
2
1 / 2 100%

TP d`informatique : résolution approchée d`équation 1 Dichotomie 2

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !