I'm trying to use a function in another. For example, there's a defined function:
function y=super(x)
y=x.^2;
end
and I want to use it in another:
function work(super,a,b)
%blah blah blah
end
What I tried was:
f=@super
this did not work...any advice?

2 commentaires

James Tursa
James Tursa le 12 Nov 2020
Please show the complete code that you tried, not just snippets. Does the super( ) function reside in a file called super.m or is it part of another file? What does the f=@super have to do with how you are calling it? Etc.
SENLIN YUE
SENLIN YUE le 13 Nov 2020
Modifié(e) : SENLIN YUE le 13 Nov 2020
this is what I did:
function work(super,a,b)
f=@super;
if sign(f(a))~=sign(f(b))
error('a and b must be both positive or negative')
end
end
and yes, super() is a file called super.m

Connectez-vous pour commenter.

 Réponse acceptée

James Tursa
James Tursa le 13 Nov 2020
So, normally one would just have f in your work function. E.g.,
function work(f,a,b)
if sign(f(a))~=sign(f(b))
error('a and b must be both positive or negative')
end
end
And then when you called the work function you would pass in a function handle. E.g.,
work(@super,a,b)

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by