Bonjour j'ai fais une fonction qui cherche f(x)=0 par dichotomie pour un polynôme. Mais j'ai l'impression que les affectations après les condition ne s’effectue pas car pour f(x)=x+1 le programme renvoie toujour -49 pour resultatXMin et 51 pour resultatXMax jusqu'à atteindre j=0 . J'ai beau faire tourner le programme à la main je ne voie pas l'erreur. Merci d'avance. Aussi j'ai essayé avec des tableau le programme fonctionne...
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 double Polynome::chercheRacinePolynome() { int j(100); double xMin(-50),xMax(50),x,resultat(0),resultatXMin,resultatXMax; do { j--; x=(xMin+xMax)/2; resultat=calculPolynomePdeX(x); resultatXMin=calculPolynomePdeX(xMin); resultatXMax=calculPolynomePdeX(xMax); if(fabs(resultat)>0.0000000001 ) { if(resultatXMin*resultat<=0) resultatXMax = x; else if(resultatXMax*resultat<=0) resultatXMin = x; } }while(((fabs(resultat)>0.0000000001)&& (xMin < xMax) ) && (j > 0)); if(j == 0) return 0; return x; }
la fonction calculPolynomePdeX si nécessaire
Envoyé par c++
Partager