Méthode de la sécante
Publié : mer. déc. 04, 2013 5:57 pm
Bonsoir, j'essaie de programmer la méthode de la sécante. Voici mon code :
La commande secante(x^2-2,1,3,10) retourne bien une valeur approchée de sqrt(2) mais la commande secante(x^2-2,1,3.,10) retourne undef.
J'aimerais comprendre pourquoi...
Par ailleurs, l'utilisation de epsilon est-elle bien nécessaire ? le code :
retourne aussi une valeur approchée de sqrt(2)...
Quels sont les cas pathologiques ?
merci de votre aide
Maurice
Code : Tout sélectionner
secante(f,x0,x1,N):={
local xn, k, x;
f:=unapply(f,x);
k:=0;
xn:=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
tantque abs(f(x1)-f(x0))>epsilon et k<N faire
x0:=x1;
x1:=xn;
xn:=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
k:=k+1;
ftantque;
retourne evalf(xn);
}:;
J'aimerais comprendre pourquoi...
Par ailleurs, l'utilisation de epsilon est-elle bien nécessaire ? le code :
Code : Tout sélectionner
secante(f,x0,x1,N):={
local xn, k, x;
f:=unapply(f,x);
k:=0;
xn:=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
tantque f(x0)!=f(x1) and k<N faire
x0:=x1;
x1:=xn;
xn:=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
k:=k+1;
ftantque;
retourne evalf(xn);
}:;
Quels sont les cas pathologiques ?
merci de votre aide
Maurice