NEWFUNC | Create a new MATLAB function using a customizable template

Create a new MATLAB function using a customizable template

https://github.com/spunt/newfunc

You are now following this Submission

Create a custom template for a MATLAB function with nicely formatted documentation.
Optional arguments include (for each, default values can be easily modified at top of function code):
- # of necessary arguments
- # of optional arguments (i.e., VARARGIN) [parsed as 'name', value pairs - see below for more info]
- # of output arguments
- description of function to include at top of help doc
- width of section dividers
- author name and author email for automatically generated COPYRIGHT section
- flag to include EXAMPLE section in documentation
- flag to include CREDITS section in documentation
- output directory for created m-file
- flag to open m-file in default editor after creation
When optional arguments are specified, NEWFUNC will automatically create a cell array at the beginning of the code for defining the default values of optional arguments, and will add the File Exchange contribution SETARGS to the created m-file as a subfunction. SETARGS is then called to parse VARARGIN to determine which default values to override.

Finally, by default NEWFUNC will always add a subfunction called MFILE_SHOWHELP to the created m-file. This is a utility that prints the help doc for the m-file to the command window when the function is called without any arguments.

Cite As

Bob Spunt (2026). NEWFUNC | Create a new MATLAB function using a customizable template (https://github.com/spunt/newfunc), GitHub. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes Action
1.0.0.0

Updated description.

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.