Conventional / "best practices" location for personal functions

Is there a conventional / standard / "best practices" location for parking self-developed functions, such that they are globally available from the command prompt (i.e. independent of current working directory)? I initially thought about $MATLABROOT/toolbox/local, but that contains exclusively TMW-provided scripts and text files. Moreover, as explained by John D'Errico in this old thread, there are potential issues with path caching at startup for anything placed inside $MATLABROOT.
(To be clear, I'm interested in where, rather than how. Either path or pathtool can be used to do the latter.)

5 Comments

I have a WORK directory for current transient day-to-day stuff and dedicated subdirectories for specific projects.
The general things that are useful everywhere are in \UTILS which I put at the head of the MATLABPATH.
The latter is what I had in mind. Usually this happens when I write something for a specific task that turns out to be more broadly useful. Thanks.
Precisely.
Like many newbies, once upon a time I would do things like customize a builtin function or add a routine in a distribution location -- didn't take but a couple of times of having to recreate the environment after a new release to realize the advice to not do that was wise...
@AMM: you should not add/remove/edit files within any application's installation directories. This is not just because of function caching issues (i.e. something specific to MATLAB), but because it is inherently a bad idea to alter anything in the installation directory of any application, even in locations that you think are benign, e.g. MATLAB's toolboxes.
There be dragons!
dbp, Stephen—thanks both.
I accepted the one from Image Analyst because that was the only one I could (everything else here is posted as a comment), but the consensus among you is pretty clear. Cheers. -AMM

Sign in to comment.

 Accepted Answer

I do just like dpb says. The Mathworks told me to have a work folder, and all my various 200+ projects have subfolders under work. In addition, I have one folder there called Utilities that has a bunch of useful functions that I use all the time in other programs. I set a path to it in my startup.m file.

More Answers (0)

Categories

Asked:

AMM
on 21 May 2020

Commented:

AMM
on 3 Jun 2020

Community Treasure Hunt

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

Start Hunting!