Page 17 - Activités algorithmiques avec Python en spécialité Mathématiques
P. 17

 Thème : fonctions
 TI-83 Premium CE Edition Python TI-82 Advanced Edition Python
 Niveau : spécialité maths Première + Terminale
   Comment (presque) résoudre une équation
 L. DIDIER & R. CABANE
  3 Par ailleurs, il faut reconnaître que le code proposé est bref mais non optimal ; ainsi, la valeur f(b) est recalculée de nombreuses fois, ce qui peut être long si le calcul de la fonction f est complexe.
Il serait préférable de « précalculer » f(b) avant la boucle while et de ranger cette valeur dans une variable. Même remarque pour la valeur f(u), calculée deux fois.
▶ Objectif 3 : méthode de Newton
On suppose ici que f est dérivable sur [a;b] et que f ' ne s’annule pas sur [a;b] . La démarche est très similaire à celle de l’objectif 2. L’équation de la droite passant par le point de coordonnées (b; f(b))ettangenteàlacourbeesty=f(b)+f'(b)(x−b);cettedroitecoupel’axeaupointd’abscisse
baser sur le point a à la place de b, mais cela ne convient pas ici (voir la droite en pointillés sur la figure 3 page précédente).
Il y a cependant une difficulté nouvelle : comment accéder aux valeurs de la dérivée ? Deux solutions se présentent : ou bien définir la dérivée comme une nouvelle fonction, et la passer en paramètre de la fonction Newton, ou bien approcher les valeurs de la dérivée. Ces deux démarches sont présentées ci- dessous.
 f (b) f '(b)
n telle que 0=f (b)+f '(b)(n−b) soit n=b−
amenant une suite récurrente du type u =u − avec u =b. On pourrait aussi imaginer de se
. On recommence ensuite en prenant n à la place de b,
f(un)
n+1 n f'(un) 0
                         Avec la dérivée
Sans la dérivée
Exécution
 À l’usage : avec quelques tests, on s’apercevra que la méthode de Newton (sous n’importe laquelle des variantes ici présentées) converge beaucoup plus rapidement que les deux autres méthodes, la dichotomie étant la plus lente des trois. Cette question est abordée dans la section suivante.
Ici, la dérivée est approchée (ce qui ne ralentit pas la convergence) et traitée comme une fonction df interne à la fonction newton2. Le langage Python permet cela !
     Ce document est mis à disposition sous licence Creative Commons 15 © Texas Instruments 2021 / Photocopie autorisée
       











































































   15   16   17   18   19