exist() for functions only?

As I understand, the exist() function in MATLAB will return "2" if the input is a MATLAB function.
The list of options for the second input 'kind' are builtin, class, dir, file, and var.
I want to input 'kind' so that exist() will ONLY search for functions, and return 2 if it is a match to a function and a 0 if not.
Is there any way to do this?

2 comentarios

Sean de Wolski
Sean de Wolski el 22 de Dic. de 2014
So you mean ONLY functions or any MATLAB files that will run (scripts/functions/classes)? which will return something for scripts and classes as well.
Sean de Wolski
Sean de Wolski el 22 de Dic. de 2014
For functions only, this blog post and ensuing comments explains:

Iniciar sesión para comentar.

 Respuesta aceptada

matt dash
matt dash el 19 de Dic. de 2014

2 votos

An option that is not exactly what you describe, but might work for you:
isempty(which([functionname,'.m']))

5 comentarios

per isakson
per isakson el 20 de Dic. de 2014
... but why not just
isempty(which( functionname ))
matt dash
matt dash el 20 de Dic. de 2014
Without the .m it will not distinguish between functions and variables.
per isakson
per isakson el 20 de Dic. de 2014
Editada: per isakson el 20 de Dic. de 2014
Yes, exactly!
Daniel
Daniel el 22 de Dic. de 2014
Will this work in a deployed application? since the file isn't actually on the filepath any longer as its packaged in an EXE?
Sean de Wolski
Sean de Wolski el 22 de Dic. de 2014
What about p-files?

Iniciar sesión para comentar.

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 19 de Dic. de 2014
Editada: Azzi Abdelmalek el 19 de Dic. de 2014

0 votos

exist()==2
%or
A = exist('name','file')

1 comentario

Daniel
Daniel el 19 de Dic. de 2014
My problem here is what if it exists as a workspace variable or another non-m file on the search path? in that case it will return 1 or 5 respectively, while I would still not be sure if it exists as a funciton.

Iniciar sesión para comentar.

Categorías

Más información sobre File Operations en Centro de ayuda y File Exchange.

Preguntada:

el 19 de Dic. de 2014

Comentada:

el 22 de Dic. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by