Using a function in another function

2 visualizaciones (últimos 30 días)
SENLIN YUE
SENLIN YUE el 12 de Nov. de 2020
Comentada: SENLIN YUE el 13 de Nov. de 2020
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 comentarios
James Tursa
James Tursa el 12 de Nov. de 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 el 13 de Nov. de 2020
Editada: SENLIN YUE el 13 de Nov. de 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

Iniciar sesión para comentar.

Respuesta aceptada

James Tursa
James Tursa el 13 de Nov. de 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)

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by