Bonsoir,
j'essaie de traduire la méthode de la Sécante en algorithme sous Matlab mais j'ai des difficultés au niveau du raisonnement.
La méthode de la sécante permet de trouver le 0 d'une fonction en racourssisant un intervalle prédéfini (ici [a,b]).
Avec la précision que l'utilisateur défini, on l'a compare à cet écart initial et on on détermine le 0 de la fonction
Voici de plus ample informations:
http://fr.wikipedia.org/wiki/M%C3%A9...a_s%C3%A9cante
J'ai essayé de traduire cela en Matlab
Voici ma fonction de base pour laquelle je recherche le 0.
Code PHP:
function f=fonction(x)
f=x.^3+sin(x.^2)-[cos(x)].^2
end
Cependant, cela n'aboutit pas. Le script s'exécute mais ne s'arrête pas.(je dois le stopper moi même)Code PHP:
a=input('saisir le point a');
b=input('saisir le point b');
precision=input('précision'); //précision à laquelle on veut trouver le 0.
ecart=abs(b-a)/abs(a) // ecart initial que l'on va réduire pour se rapprocher du 0
while ecart>precision
fa=fonction(a);
fb=fonction(b);
c=b-fb*(b-a)/(fb-fa); //on calcule la nouvelle abscisse qui va tendre à se rapprocher du 0
ecart=abs(b-c)/abs(c); //on recalcule l'écart avec le rapprochement, pour le soumettre au while
a=c; //Etablis une récurrence
end
fprintf('Zero:',c);
Est ce une erreur de raisonnement ?d'inattention ?
N'hésitez pas à demander des explications.
Merci beaucoup
-----