Calling functions
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have written a MATLAB code say myfun.m which first line is
function y = myfun(x)
Now I want to call it in another code I am writing. I have 2 values x1 and x2 and I want my present code to compare myfun(x1) and myfun(x2) such that if myfun(x1) > myfun(x2) then it does something.
I tried writing
if (myfun(x1)>myfun(x2))
...
But MATLAB says
??? Output argument "y" (and maybe others) not assigned during
call to "/Users/user/Documents/MATLAB/compare.m>myfun".
What should I do?
Thanks.
0 commentaires
Réponses (2)
the cyclist
le 19 Jan 2012
This works for me:
x1 = 2;
x2 = 1;
if myfun(x1) > myfun(x2)
disp('myfun(x1) is greater than myfun(x2)')
else
disp('myfun(x1) is not greater than myfun(x2)')
end
where myfun.m is:
function y = myfun(x)
y = x.^2;
end
0 commentaires
Jan
le 19 Jan 2012
The error message means, that for some branchs of the program myfun the output y is not defined. You can use the debugger to let Martlab stop, when the problem occurs:
dbstop if error
Then you can investigate the current calling stack and values of the variables.
0 commentaires
Voir également
Catégories
En savoir plus sur Function Creation dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!