can a function be made to be called from any directory?

13 views (last 30 days)
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?

Accepted Answer

TED MOSBY
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
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.
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.
  1 Comment
hxen
hxen on 24 Mar 2025
Thanks Walter and bringing to my awareness of the ordering. Much appreaciated!

Sign in to comment.

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!