![]() » Autres méthodes |
La pratique de la méthode dichotomique conduit à utiliser une méthode dérivée conduisant plus rapidement à une solution approchée, surtout si l'on se contente de peu de décimales exactes, ce qui est le cas dans la résolution des équations proposées au collège ou au lycée.
A cet égard l'exemple proposé ci-contre, f : x → sin x - x/2 au voisinage de x = 2, est significatif :
On voit que la solution cherchée La solution cherchée s est proche de 2. La représentation graphique permet d'affirmer qu'au voisinage de s, on a f(x) > 0 si x < s et f(x) < 0 si x > s.
On est alors amené à
préférer "tester" successivement sur sa calculatrice
programmable 1.9 , 1.89, 1.891,
, 1.895, 1.896, 1.8951, etc.
suivant la précision demandée
(généralement le dixième ou le centième
près). C'est ce que nous appelons la méthode des pas
décimaux.
Les
conditions sur la fonction f à annuler sont les mêmes
que pour la méthode dichotomique.
L'algorithme sur ordinateur est
le suivant : on part d'une valeur approchée par défaut.
On constate le signe de f(xo) et on augmente x de h en h
(h est le pas initial, 1 par exemple) tant que f(x) et f(xo) sont de même signe.
Dès que le signe change, on recule de h; soit x la valeur obtenue (1 dans notre cas). On augmente alors x de 1/10 en 1/10 : on teste successivement 1,1, ..., 1,8; pour x = 1,9 on aura f(x) < 0 : on recule en 1,8 (x - h) et on augmente x de 1/100 en 1/100 (h = h/10) et ainsi de suite.
Cette méthode, d'une simplicité extrême, est très efficace et fournit à chaque recul une décimale exacte supplémentaire.
Programmation de la méthode en JavaScript : |
! Rappelons que JavaScript travaille et affiche toujours en double précision, c'est à dire avec 16 chiffres significatifs. Le dernier chiffre significatif sera alors généralement faux.
L'instruction eval est ici fondamentale : elle permet d'évaluer, quelle que soit son appel dans le programme, la valeur numérique de la chaîne f définissant l'équation f(x) = 0.
La fonction sgn indique le signe de y : 1 si strictement positif, -1 si négatif et 0 si nul. (y > 0) renvoie 1 si y est strictement positif : une condition mise entre parenthèses devient une variable logique qui vaut 1 si vrai et 0 si faux.
➔ Pour tester ce programme vous devez entrer votre fonction en utilisant une syntaxe comprise par le langage JavaScript. L'instruction with (Math), placée en début de procédure, évite à l'utilisateur de préciser Math devant chaque fonction mathématique utilisée. Les opérations et fonctions usuelles sont les suivantes :
<SCRIPT
LANGUAGE=JavaScript> var pi=3.141592653589793; var e=2.7182818284590452; function meth_decim() function sgn(y) |
Un autre exemple d'exécution :
L'équation résolue est
x2 - 2 = 0 au voisinage de x = 1
Autres méthodes de résolution approchée : »