MATLAB Answers

Mr M.

Is it possible to write several functions into a single m-file?

Asked by Mr M.
on 20 May 2015
Latest activity Commented on by Stephen Cobeldick on 20 May 2015
Is it possible to write several functions into a single m-file and use them locally inside that file?

1 Answers

Answer by Thomas Koelen on 20 May 2015
 Accepted Answer

The first function in an m-file (i.e. the main function), is invoked when that m-file is called. It is not required that the main function have the same name as the m-file, but for clarity it should. When the function and file name differ, the file name must be used to call the main function.
All subsequent functions in the m-file, called local functions (or "subfunctions" in the older terminology), can only be called by the main function and other local functions in that m-file. Functions in other m-files can not call them.
In addition, you can also declare functions within other functions. These are called nested functions, and these can only be called from within the function they are nested. They can also have access to variables in functions in which they are nested, which makes them quite useful albeit slightly tricky to work with.


So, to answer the question:
Yes. See the doc

Sign in to comment.

Translated by