Change the name of a function called in your m-files and optionally move it too.
Updated 12 Sep 2013

View License

refactor the name of a function, changing all references to the function name in the path and moving the function file to the new named file


refactor_fcn_name(fcnname, newfcnname)
refactor_fcn_name(fcnname, newfcnname, topdir)
refactor_fcn_name(fcnname, newfcnname, topdir, domove)


refactor_fcn_name(fcnname, newfcnname) finds all uses of the function name in fcnname and replaces it with the string in newfcnname in the entire matlab path. The function must be function in an m-file on the Matlab path. By default the mfile containing the fuction is also then renamed to the new name.

refactor_fcn_name(fcnname, newfcnname, topdir) performs the same action but searching the folder provided in 'topdir' and all it's subdirectories rather than the entire Matlab path.

refactor_fcn_name(fcnname, newfcnname, topdir, domove) performs the same action but the 'domove' flag determines whether the function file is actually moved or not. If this evaluates to true the file is moved to the mfile with the new name, if false nothing is moved.

This function requires my other file exchange contributions 'regexprepfile' and 'samesize':


The refactoring is done by performing a regexprep in the files using the simple regex:


Cite As

Richard Crozier (2024). refactor_fcn_name (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Search Path in Help Center and MATLAB Answers
Tags Add Tags

Inspired by: samesize, regexprepfile

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Added missing path2cell subfunction