Salut Koala,
Je crois qu'il faut absolument garder les pointeurs de fonction (ou des foncteurs, ou ce que tu veux) dans les paramètres de Newton(). L'algorithme de Newton, ca sert à calculer les zéros d'une fonction, il faut donc lui dire laquelle... Les trois autres paramètres, ce sont des réglages, dans une implémentation sérieuse, ils seraient déterminés par l'algorithme lui même...
En fait, le nombre maximal d'itération (qui sert à vérifier que l'algo converge) est lié à la précision souhaitée. La précision est de toutes façons liée au type de nombres utilisés (ici des double), mais elle a une importance limitée, parce que l'algorithme de newton, quand il converge, est quadratique (je crois). Donc s'il trouve la solution, la précision est acquise assez rapidement.
Reste uniquement le point de départ, problème notoirement difficile dans certains cas... En général, on laisse la machine le gérer par essais et erreurs, mais c'est le seul paramètre libre qu'on pourrait laisser
Logiquement, le squelette de cette fonction doit être quelque chose comme
double Newton(fonction f, fonction df,double x0=0.0);
Ce qui risque de changer, à l'implémentation, c'est la fonction, pas les réglages...
Francois
Partager