2010-05-29 6 views
0
>> fplot(fh,[-2 4]) 
??? Undefined function or variable "e". 

Error in ==> myfun at 3 
Y(:,2) = e(:).^x; 
Error in ==> fplot at 102 
x = xmin; y = feval(fun,x,args{4:end}); 

J'ai essayé de tracer deux fonctions en utilisant ce fichier m.Matlab Error-fplot();

function Y = myfun(x) 
Y(:,1) = 3*x; 
Y(:,2) = e(:).^x; 
+1

Vous semblez utiliser le vecteur 'e (:)' sans le définir. – Donnie

Répondre

1

Comme mentionné Donnie dans leur commentaire, n'est pas défini la e variable dans votre m-fichier.

Si vous avez défini e ailleurs, vous devez le passer à myfun pour que la fonction connaisse sa valeur. Puisque fplot n'accepte pas les fonctions de traçage avec plus d'une valeur d'entrée, vous devez lui transmettre une fonction anonyme.

Tout d'abord, vous devez changer la définition de myfun pour inclure e en entrée:

function Y = myfun(x,e) 
Y(:,1) = 3*x; 
Y(:,2) = e(:).^x; 

Ensuite, vous créez votre poignée de fonction fh comme celui-ci (fh encore prend une seule entrée, Matlab utilise la valeur de e tel qu'il a été défini dans l'espace de travail au moment où vous créez la poignée de fonction):

fh = @(x)(myfun(x,e)) 

Enfin, vous pouvez appeler fplot comme vous avez utilisé pour

fplot(fh,[-2 4]) 
+0

problème résolu. Mais quelqu'un peut-il dire comment obtenir une racine visuellement sur le graphique. – Shamendra

+0

Dans la fenêtre graphique, cliquez sur le curseur de données et lisez la valeur x de la racine à partir de la donnée, comme démontré ici: http://www.mathworks.com/access/helpdesk/help/techdoc/creating_plots/f4- 44221.html – Jonas