j'ai une question, comment borner à N-R les valeurs à rechercher ?
Voici pourquoi je vous demande ceci:
- j'ai un polynôme et je dois trouver une racine de ce dernier
- la racine que je cherche est entre 0 et une valeur (typiquement 0,02), il y en a peux etre d'autres negatives mais je ne dois pas aller dans ce domaine
==> le probleme est que lorsque je lance mon alog (cf. plus bas) la valeur qu'il me trouve est du genre 1e-12 ce qui lui permet de sortir de la boucle de N-R mais ce n'est pas la solution que je cherche !
j'aimerai donc borner l'espace de recherche par les valeurs 1e-5 et 0,02, savez vous comment je peux faire ceci ? j'ai entendu parler de conditions de Kuhn et Tucker mais comment implementer ceci?
voici mon algo en C++:
- Code: Tout sélectionner
double xM=0.0001, residu=10, Xsolution=0;
residu= a*pow(xM,(Y-X)/Y)+b*pow(xM,-X/Y)+c*xM+d;
//Newton algorithm
while ( residu >1e-9 || countt > MAX_ITERATION_NR)
{
xM=xM-(a*pow(xM,(Y-X)/Y)+b*pow(xM,-X/Y)+c*xM+d )/( a*((Y-X)/Y)*pow(xM,-X/Y)+b*(-X/Y)*pow(xM,(-X-Y)/Y)+c);
residu= a*pow(xM,(Y-X)/Y)+b*pow(xM,-X/Y)+c*xM+d;
}
Xsolution=xM;
je vous remercie d'avance pour l'aide que vous pourrez m'apporter !
A+
