#### 11.9.2 Subfunctions

A function file may contain secondary functions called subfunctions. These secondary functions are only visible to the other functions in the same function file. For example, a file `f.m` containing

    function f ()
      printf ("in f, calling g\n");
      g ()
    endfunction
    function g ()
      printf ("in g, calling h\n");
      h ()
    endfunction
    function h ()
      printf ("in h\n")
    endfunction

defines a main function `f` and two subfunctions. The subfunctions `g` and `h` may only be called from the main function `f` or from the other subfunctions, but not from outside the file `f.m`.

localfunctions ()

  Return a list of all local functions, i.e., subfunctions, within the current file.

  The return value is a column cell array of function handles to all local functions accessible from the function from which `localfunctions` is called. Nested functions are not included in the list.

  If the call is from the command line, an anonymous function, or a script, the return value is an empty cell array.

  See also: functions.