• Aucun résultat trouvé

TP 3 : Recherche de zéros

N/A
N/A
Protected

Academic year: 2022

Partager "TP 3 : Recherche de zéros"

Copied!
2
0
0

Texte intégral

(1)

Lycée La Martinière Monplaisir

Informatique Commune 2eannée TP 3 : Recherche de zéros

TP 3 : Recherche de zéros

Judicaël Courant 29 novembre 2018

Exercice 1 : Recherche d’un zéro par dichotomie Q0 Écrire une fonction zero1(f, a, b, eps) pre- nant en argument une fonction f continue définie, deux réels aet b d’un même intervalle sur lequel f est définie tels que a < b ainsi qu’un réel stricte- ment positif eps et retournant une approximation c d’un zéro de f dans [a, b] à eps près. Précondi- tion : on suppose que f est continue, que f(a)< 0 et f(b) ≥ 0. Vous écrirez cette fonction de façon récursive et vous montrerez qu’elle termine.

Vous la testerez avec la fonction −cos sur l’in- tervalle [5,10] pour obtenir une approximation de 5π/2.

NB : On rappelle qu’un zéro d’une fonctionf est un réel α tel quef(α) = 0.

Q1Même question mais cette fois-ci vous écrirez une fonction zero2(f, a, b, eps)itérative. Vous pré- ciserez variant et invariant.

Q2 Même question mais cette fois-ci, vous écrirez une fonction zero3(f, a, b, eps) et on ne sup- pose plus f(a) < 0 et f(b) ≥ 0, juste que f(a) et f(b) sont de signes différents (i.e. l’un est positif ou nul, l’autre est négatif ou nul).

Q3 Testez cette fonction avec cos et −cos sur l’in- tervalle [0,10] ainsi qu’avec x 7→ 1 + cosx sur l’in- tervalle [−π,5π] et x 7→ cos(x)x3 sur [−10,10].

(Vous chercherez des approximations à 10−9. Exercice 2 : Méthode de la fausse position

Dans la méthode de dichotomie, on coupe l’intervalle [a, b] en deux en considérant le point d’abscisse c, milieu de [a, b].

La méthode de la fausse position consiste à consi- dérer plutôt le point d’abcisse s, obtenu en traçant l’intersection de la corde reliant les points (a, f(a)) et (b, f(b)) avec l’axe des abscisses. Comme pour la méthode de dichotomie, on regarde alors le signe de f(s), ce qui permet de savoir si le zéro cherché est plutôt dans [a, s] ou dans [s, b] et on itère avec le nouvel intervalle.

Q4 Donner la valeur de s en fonction de a, f(a), b et f(b).

Q5Écrire une fonctionfausse_position(f, a, b, eps) calculant une approximation d’un zéro de f situé entre aetbà la précisionepsprès.

On peut montrer que la méthode de la fausse posi- tion converge vers un 0 def sous réserve que celle-ci soit suffisamment régulière. Malheureusement, cette convergence est parfois très lente.

Exercice 3 : Algorithme de l’Illinois

Cet algorithme est une variante de celui de la mé- thode de la fausse position et recherche un zéro dans un segment [a, b]. Une première différence, superfi- cielle à première vue, est qu’on ne garde plus, d’une itération à l’autre, deux valeurs réelles a et b mais deux points A et B du plan. On débute avec les pointsA(a, f(a)) etB(b, f(b)). On calcule alors l’in- tersection (s,0) de la droite (AB) avec l’axe des abs- cisses et on recommence avec les points A(a, f(a)) et S(s, f(s)) ou S(s, f(s)) et B(b, f(b)). Jusqu’ici, on fait exactement la même chose que la méthode de la fausse position.

La différence est que lorsque deux valeurs succes- sives de s tombent du même côté du zéro (i.e. ont le même signe), par exemple tombent du côté de A, on remplace alors le point B(b, β) par le point B(b, β/2). Si la valeur suivante de s est toujours du côté de A, on diminue de nouveau l’ordonnée de B. Cela va avoir pour effet, après un certain nombre d’itérations, de permettre d’obtenir un point S(s, f(s)) qui sera du côté de B et qui remplacera doncB.

On procède symétriquement lorsque deux valeurs successives destombent du côté deB.

Cette variante permet de garantir (sous des condi- tions de régularité de la fonction) une convergence plus rapide qu’une simple convergence géométrique.

Q6 Écrire une fonction illinois(f, a, b, eps) calculant une approximation d’un zéro de f situé entreaetbà la précisionepsprès avec l’algorithme de l’Illinois.

Q7 Testez-la avec les mêmes fonctions que précé- demment.

Judicaël Courant - 29 novembre 2018 1/2 Document sous licence Art Libre (http://artlibre.org)

(2)

Lycée La Martinière Monplaisir

Informatique Commune 2eannée TP 3 : Recherche de zéros

Exercice 4 : Méthode de la sécante

La méthode de la sécante consiste à calculer des ap- proximations successives x0, . . . , xn, . . . d’un zéro.

Pour cela, on choisit deux approximations initiales x0 et x1 du zéro cherché et on définit, pour n∈ N, xn+2 comme l’abscisse de l’intersection de la droite passant par (xn, f(xn)) et (xn+1, f(xn+1)) avec l’axe des abscisses.

On s’arrête lorsque les deux dernières valeurs cal- culées sont à distance inférieure àeps: on considère alors que la dernière valeur calculée est à une dis- tance inférieure à epsdu zéro cherché.

Cette méthode converge sous des conditions simi- laires à celles de la méthode de Newton (fonction de classe C2 autour du zéro α cherché, f0(α) non nul,x0 etx1suffisamment proches du zéro cherché), on peut garantir une convergence où le nombre de chiffres corrects est de l’ordre de φn après n itéra- tions (où φ est le nombre d’or (1 +√

5)/2). C’est plus faible que la méthode de Newton... mais en implantant bien la méthode de la sécante, il n’y a qu’une fonctions à évaluer à chaque étape, contre deux pour la méthode de Newton. Ce qui veut dire qu’en pratique, elle est souvent très intéressante : la méthode de Newton, aprèsncalculs de fonctions ne permet d’obtenir qu’environ 2n/2 =√

2nchiffres (et

√2≈1,414 alors queφ≈1,618).

Cependant, comme pour la méthode de Newton, il n’y a pas de garantie de convergence à partir de n’importe quels points initiaux, ni de garantie que les approximations successives encadrent le zéro.

Q8 Exprimer xn+2 en fonction de xn+1 etxn. Q9 Rappelez l’expression de xn+2 en fonction de xn+1 pour la méthode de Newton classique.

Q10 Certains auteurs définissent plutôt la méthode de la sécante appliquée à une fonction comme une variante de la méthode de Newton, dans laquelle on ne connaît pas f0. On remplace alors dans la for- mule précédente l’expression f0(xn+1) par le taux d’accroissement de f entrexn etxn+1. Donnez l’ex- pression, pour cette méthode, de xn+2 en fonction de xn+1 etxn. Comparez avec l’expression obtenue pour la méthode telle qu’elle est proposée plus haut.

Expliquez le lien entre les deux.

Q11Écrire une fonctionsecante(f, x0, x1, eps) implantant cette méthode.

Q12 Testez-la avec les mêmes fonctions que précé- demment.

Exercice 5 : Une méthode hybride

Il existe d’une part des méthodes qui marchent tout

le temps mais sont lentes et d’autre part des mé- thodes dont la convergence est rapide mais n’a lieu que si l’on a une approximation initiale suffisamment précise du zéro cherché. Peut-on combiner les deux afin d’avoir les avantages des unes et des autres ? La réponse est oui. Une des méthode existantes est celle de Brent (implantée dansscipy.optimize).

Nous proposons ici une telle méthode. L’algo- rithme est le suivant : il consiste à conserver un in- tervalle [a, b] de valeurs encadrant un zéro def ainsi que deux valeurs x0 et x1 qui sont des approxima- tions du zéro α de f recherché (x0 et x1 n’appar- tiennent pas nécessairement à [a, b]).

On initialise au départ a et b à deux valeurs en- cadrant α (avec a < b), et x0 et x1 respectivement à aetb.

Chaque itération normale de la méthode consiste à faire la chose suivante :

1. On calcule une nouvelle approximation s de α à partir dex0 etx1 comme pour la méthode de la sécante.

2. Si s n’est pas comprise entre a et b, c’est un échec majeur et on arrête cette itération.

3. Sinon, sif(s) = 0 on a trouvéα et on s’arrête.

4. Sinon, s est comprise entre a et b; à partir du signe des, on sait s’il faut chercherαdans [a, s]

ou dans [s, b]. En fonction de cela, on remplace aoub par la valeur de s.

5. On compare la largeur du nouvel intervalle [a, b]

à ce qu’il était au début de cette itération. Si celle-ci est supérieure à la moitié de ce qu’elle était au début de cette itération, c’est un échec mineur.

On itère cette méthode, avec une exception : lors- qu’on subi un échec majeur, ou lorsqu’on a trois échecs mineurs consécutifs, on effectue une itération exceptionnelle comme ceci :

1. On calcule cle milieu de [a, b].

2. À partir du signe def(c), on sait s’il faut cher- cherα dans [a, c] ou dans [c, b] et on remplace aoub parc en conséquence.

3. On affectex0 etx1 respectivement à aetb.

Q13 Écrire une fonction hybride(f, a, b, eps) Calculant une approximation d’un zéro de f situé entre a et b à la précision eps près avec cette mé- thode hybride.

Q14 Testez-la avec les mêmes fonctions que précé- demment.

Judicaël Courant - 29 novembre 2018 2/2 Document sous licence Art Libre (http://artlibre.org)

Références

Documents relatifs

Pour tout x &gt; 0 , la fonction g est continue en x par les théorèmes sur les opérations sur les fonctions admettant des limites donc g est continue dans ]0, +∞[.. Le point

Préciser la majoration de l'erreur pour les formules du trapèze, de Simpson et des 3 8 èmesc. 2 attention, cela n'est pas vrai pour toutes les valeurs

On note

Cours n°6 : Continuité, théorème des valeurs intermédiaires VII) Continuité d'une fonction – théorème des valeurs intermédiaires.

Ces deux données sont à exprimer analytiquement et vont fournir les deux relations requises pour pouvoir calculer les deux paramètres... PanaMaths

En déduire le tableau de variation

Vous allez programmer une feuille de calcul permettant de déterminer les solutions d'un système de deux équations à deux inconnues, en vous aidant des

En déplaçant le curseur a, rapprocher le point A de l'origine du