can a function be made to be called from any directory?
13 views (last 30 days)
Show older comments
I have custom functions that I would like to be called independent of the directory it is called. Can this be done, like for the MATLAB functions? Can someone steer me to an example or page to learn about this if it is possible?
1 Comment
Accepted Answer
TED MOSBY
on 24 Mar 2025
Hi Hxen,
If you are referring to MATLAB custom functions be able to be called from anywhere, the key is to place your '.m' files in a folder that is on the MATLAB search path. Once the folder is on path, you can call it from any script, function, or the Command Window, no need to 'cd' into that folder.
You can do this by running below commands in the command window:
addpath('full/path/to/your_folder')
savepath
You can also do the same by right-clicking on your folder and selecting the 'Add to Path' option.
Here is the documentation of 'addpath' :
Hope this helps!
More Answers (1)
Walter Roberson
on 24 Mar 2025
If you are referring to custom functions that are to be called no matter which directory you call them from, then the answer is "That cannot be done" -- not unless you "import" the name.
The function call precedence order is described at https://www.mathworks.com/help/matlab/matlab_prog/function-precedence-order.html
Object functions are only #7, and Class constructors are only #8, and Functions elsewhere on the path, are only #11 -- which is lowest precedence.
So no matter what name you give to the function or how you declare the function, there are cases where other functions with the same name will have higher priority... unless you "import" the name.
See Also
Categories
Find more on Search Path in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!