[Matalb] erreur lors d'utilisation d'une fonc

Résolu/Fermé
raoouuff Messages postés 2 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 10 mars 2009 - 10 mars 2009 à 21:31
raoouuff Messages postés 2 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 10 mars 2009 - 10 mars 2009 à 22:41
Bonsoir, je suis entrain d'essayer de faire l'algorithme de la méthode de dichotomie sous Matlab (compte rendu d'un TP).
Mon problème n'est pas dans l'algorithme; il est dans l'utilisation de Matlab :

j'ai fait un fichier "dichotomie.m" qui est le suivant :

function y = dichotomie(a0,b0,erreur)

...

end

cette fonction utilise une autre fonction qui est bien sûr écrite dans un autre fichier; cette dernière fonction contient la définition de la fonction sur laquelle l'utilisateur veut applique la méthode de dichotomie, par exemple :

function y = f(x)
y = sin(x);

normalement ça devrai bien marcher mais quan je veux utiliser la fonction 'dichotomie' ça ne marche pas avec l'erreur suivante :" Undefined function or method 'dichotomie' for input arguments of type 'double'. "
Je ne trouve pas où est le problème.
Merci d'avance à tout ceux qui m'aideront.
A voir également:

1 réponse

raoouuff Messages postés 2 Date d'inscription mardi 10 mars 2009 Statut Membre Dernière intervention 10 mars 2009
10 mars 2009 à 22:41
le code de l'application est le suivant, peut être ça aiderai :

function d = dichotomie(a0,b0,erreur)

x=a0;
y=b0;

nombreIterations = floor(log2(abs(b0-a0)/erreur))+100;
if(f(a0)*f(b0)<0)
for i = 1:nombreIterations
c=f(x+y)/2;
if(f(x)*f(c)<0)
y=c;
else
x=c;
end
end
d=(x+y)/2;
else
disp('les valeurs initiales que vous avez entrez ne sont pas correctes. Veuillez vérifiez que f(a)*f(b) soit négatif');
end

end

un exemple d'éxécution : dichotomie(-0.1,0.1,0.001).

ça génère l'erreur que j'ai posté au premier message et que je reposte :
"Undefined function or method 'dichotomie' for input arguments of type 'double'."
0