R´ esolution approch´ ee d’une ´ equation
Diff´ erentes m´ ethodes et algorithmes
On cherche `a r´esoudre approximativement, surtout dans la mesure o`u on ne sait pas faire mieux autre- ment, une ´equation de la forme f(x) = 0. En d’autres termes, on cherche une valeur approch´ee d’un r´eel α tel que f(α) = 0.
Avant de se lancer dans une telle recherche, on se place dans un cadre dans lequel une telle solution existe et est de plus unique.
Ce cadre est donn´e par le th´eor`eme de la bijection, ou th´eor`eme des valeurs interm´ediaires (version forte), d`es lors qu’on est assur´e que sur [a;b] :
— f est continue
— f est strictement monotone
— f(a) et f(b) sont de signes diff´erents, soit encoref(a)f(b)<0.
a b
f(a) f(b)
α
Exercices
On pourra tester toutes les m´ethodes propos´ees pour r´epondre aux difff´erentes questions suivantes (ind´ependamment les unes des autres) :
1. D´eterminer une approximation de la solution de l’´equation f(x) = 10 sur l’intervalle [3; 4], o`uf est la fonction carr´ee f :x7→x2.
2. Calculer une approximation des solutions de l’´equation x3+ 1 = 3x. 3. D´eterminer une valeur approch´ee `a 10−4 pr`es de √3
2.
4. Donner une approximation de la solution de l’´equation cosx 2
= 0 sur [0; 2π] (la r´esoudre exactement d’abord. . .).
5. Donner une approximation de l’´equation cos(x) = sin(x) sur [0; 2π[.
Y. Morel - xymaths.free.fr/Lycee/TS/ R´esolution approch´ee d’une ´equation - TaleS 1/4
I - Recherche par balayage
La m´ethode peut ˆetre la plus simple, et na¨ıve, pour rechercher la solution approch´ee de l’´equation f(x) = 0 est de balayer et tester toutes les valeurs possibles `a la pr´ecision souhait´ee.
Par exemple, si on recherche une solution approch´ee `a 10−2 pr`es dans l’intervalle [1; 3], on commence par calculer f(1), puis f(1,01), puis f(1,02), puis f(1,03), etc . . .
Ci-contre l’algorithme pour une recherche avec une pr´ecision de 10−N.
Algorithme
Entrer a et N a→ X
Tant que f(a)f(X)>0 X+10−N → X
Fin Tant que Afficher X
D’une mani`ere un peu plus ´elabor´ee, toujours par exemple sur l’inter- valle [1; 3] par exemple, on peut commencer par balayer les valeurs `a une d´ecimale :f(1,1),f(1,2),f(1,3), . . .jusqu’`a la valeur o`u le signe change, f(1,6) par exemple.
Ensuite on balaye plus pr´ecis´ement `a 10−2 : f(1,51), f(1,52), f(1,53), . . .jusqu’au changement de signe, puis `a 10−3, . . .
Algorithme
Entrer a et N a→ X
Pour P allant de 0 `a N Tant que f(a)f(X)>0
X+10−P → X Fin Tant que X-10−P → X Fin Tant que Afficher X
Exercice 1
Pour avoir un r´esultat `a 10−N pr`es, soit `a peu pr`esN chiffres significatifs, on doit s’attendre`a effectuer au pire 10N calculs avec la premi`ere m´ethode par balayage.
On suppose qu’un ordinateur effectue de l’ordre de 109 op´erations `a la seconde (ordre de grandeur d’un processeur cadenc´e `a une fr´equence de 1GHz). Quel temps faudra-t’il pour obtenir 10 chiffres significatif dans notre approximation ? 100 chiffres significatifs ? 1000 chiffres significatifs ?
(Donner les r´esultats temporels avec des unit´es adapt´ees : heures, jours, ann´ees, . . .)
II - Recherche par dichotomie
On ne sait pas, a priori, ou se trouve la solution recherch´ee dans l’intervalle [a;b].
Plutˆot que de commencer par balayer `a partir de a, ou `a partir de b, on peut couper l’intervalle en deux et consid´erer le milieu m= a+b de [a;b]. 2
Ensuite, comme pour la m´ethode par balayage, on regarde si on a d´epass´e la solution ou non, grˆace au signe de f(a)f(m), et on recom- mence en consid´erant soit l’intervalle [a;m] soit [m;b] `a la place de l’intervalle [a;b] initial.
Algorithme
Entrer a, b, N Tant que (b-a)>10−N
(a+b)/2→ m Si f(a)f(m)>0
m→a Sinon
m→b Fin Si Fin Tant que Afficher a, b
Qualit´e de l’approximation ou de l’erreur commise La m´ethode par dichotomie fournit un encadre- ment de la solution, il est donc facile d’avoir une majoration de l’erreur.
En effet, initialement la solution α recherch´ee est dans l’intervalle [a;b], de longueur l =b−a, et donc l’erreur commise en prenant le milieu m de [a; ] comme approximation est au plus l.
A chaque it´eration, la longueur de l’intervalle est divis´ee par 2 : au bout denit´erations l’erreur commise est au plus de b−a
2n .
Y. Morel - xymaths.free.fr/Lycee/TS/ R´esolution approch´ee d’une ´equation - TaleS 2/4
Ainsi, si on souhaite avoir une approximation de α avec une pr´ecision de 10−N, il suffit d’avoir b−a
2n 610−N ⇐⇒ n> log(b−a) +N logN en utilisant le logarithme d´ecimal log.
Remarque : En toute rigueur, il ne faut pas confondre pr´ecision de l’approximation et nombre de chiffres significatifs exacts.
Par exemple,2,4999est une approximation de2,5avec une pr´ecision de10−4, alors que seulement 2 chiffres significatifs sont exacts.
Exercice 2
Avec la mˆeme puissance de calcul que dans l’exercice pr´ec´edent, quel temps faudra-t’il pour obtenir 10 chiffres significatifs ? 100 chiffres significatifs ? 1000 chiffres significatifs ?III - M´ ethode de la s´ ecante
Avec les m´ethodes pr´ec´edentes, on ne prend pas en compte les valeurs de f aux extr´emit´es de l’intervalle de recherche pour d´efinir le nouveau point que l’on va tester.
L’id´ee de la m´ethode de la s´ecante est d’utiliser . . . des s´ecantes
`a la courbe, d’o`u son nom. . .
Plus pr´ecis´ement, on part comme pr´ec´edemment de l’intervalle [a;b] et du segment [AB] de la s´ecante (AB) `a la courbe, avec A(a;f(a)) et B(b;f(b)).
On ne consid`ere plus alors le milieu m de [a;b], qui ne d´epend pas de la fonction f, mais l’abscisse m du point d’intersection M de la s´ecante (AB) et de l’axe des abscisses.
a b
f(a) f(b)
A
B
M× m
Exercice 3
1. Donner le coefficient directeur de (AB), et d´eterminer son
´equation r´eduite.
2. En d´eduire que la valeur dem, abscisse du point d’intersec- tion de (AB) avec l’axe des abscisses, est donn´ee par :
m=a− b−a
f(b)−f(a)f(a)
3. Un algorithme pour la m´ethode de la s´ecante est donn´e ci- contre.
Peut-on comme dans l’algorithme pr´ec´edent de la dichotomie utiliser une boucle conditionnelle"Tant que (b-a)>10−N"
`a la place de la boucle "Pour I allant de 1 `a N"?
Algorithme
Entrer a,b, N
Pour I allant de 1 `a N a− b−a
f(b)−f(a)f(a)→m Si f(a)f(m)>0
m→a Sinon
m→b Fin Si Fin Pour Afficher m
Qualit´e de l’approximation ou de l’erreur commise On montre que, par exemple pour r´esoudre l’´equation f(x) = 0, avec f(x) =x2−10 (c’est-`a-dire trouver une valeur approch´ee de √
10) sur l’intervalle [2; 3], la m´ethode de la s´ecante n´ecessite environ N it´eration pour avoir une pr´ecision de l’ordre de 10−N :
— 10 it´erations pour obtenir une pr´ecision de 10−10 (environ 10 d´ecimales),
— 100 it´erations pour obtenir une pr´ecision de 10−100, (environ 100 d´ecimales),
— . . .
Comparer avec les m´ethodes pr´ec´edentes !
Y. Morel - xymaths.free.fr/Lycee/TS/ R´esolution approch´ee d’une ´equation - TaleS 3/4
IV - M´ ethode de Newton
La m´ethode de Newton consiste `a remplacer la s´ecante `a la courbe par sa tangente.
On part d’une valeur m, et on consid`ere la tangente `a la courbe au point d’abscisse m. La nouvelle valeur m′ de m est alors l’abscisse du point d’intersection de cette tangente avec l’axe des abscisses.
On r´eit`ere ensuite en partant de cette nouvelle valeur m′.
Exercice 4
1. Ecrire l’´equation de la tangente `a la courbe de f au point d’abscisse m.
2. En d´eduire m′, l’abscisse du point d’intersection de cette tangente et de l’axe des abscisse.
3. Ecrire l’algorithme de la m´ethode de Newton en mo- difiant l’algorithme de la s´ecante.
4. Dans quel(s) cas l’algorithme de Newton risque de ne pas converger ?
m f(m)
m′
Qualit´e de l’approximation ou de l’erreur commise La m´ethode de Newton est redoutablement efficace. La convergence de cette m´ethode est quadratique : cela signifie qu’`a chaque it´eration, la pr´ecision est multipli´ee par 2, ou encore, qu’`a chaque it´eration le nombre de d´ecimales exactes double.
Avec le mˆeme exemple utilis´e pr´ec´edemment pour la m´ethode de la s´ecante, en partant de la valeur initiale m = 4,
— avec 4 it´erations on obtient une pr´ecision de 10−10 (environ 10 d´ecimales),
— avec 8 it´erations on obtient une pr´ecision de 10−100, (environ 100 d´ecimales),
— avec 11 it´erations on obtient une pr´ecision de 10−1000, (environ 1000 d´ecimales ! !),
Y. Morel - xymaths.free.fr/Lycee/TS/ R´esolution approch´ee d’une ´equation - TaleS 4/4