Bonjour,
Je voudrais savoir pourquoi mon me fait une boucle infinie.
La fonction de départ :
fun2(x) = x^10 - 9x^5 - 4x^2 + 2x +1
Le programme exécuté est :
xCode:x=16; n=1; a=1; b=2; [y]=fun2(a); [z]=fun2(b); if fun2(a)*fun2(b) < 0 then //Est-ce que le 0 de la fonction est entre a et b while abs(a-b) > 0.00001; //mise en place de la précision x(n)=(b*y-a*z)/(y-z); // Calcul de xn: intersection de la corde ab avec l'axe des abscisses [yn]=fun2(x(n)); // calcul de f(x(n)) if fun2(x(n))*fun2(a)<0 then //si f(x(n))*f(a)<0 : la nouvelle corde coupe l'axe des absisses donc le 0 appartient à [a;x(n)] => le point est à droite du 0 donc c'est b qui vaut xn b = x(n) [z]=fun2(b); else //le nouveau point est à gauche du 0 donc a=xn a = x(n) [y]=fun2(a); end n = n+1 end end
Merci d'avance
-----