How can I set a custom path in Matlab R2017a on MacOS?

I run Matlab on MacOS 10.12.5, with various useful programs installed in "non-standard" directories using Fink. With R2016b and earlier I added the line ". /sw/bin/init.sh" to the end of the ".matlab7rc.sh" file in my home directory, to add these paths to the Matlab command line. That script, which is part of Fink, prepends "/sw/bin" and a couple of other directories to the search path (environment variable $PATH); the result in R2016b is:
>> !echo $PATH
/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
However, this doesn't seem to work in R2017a; the only directories in Matlab's search path are /usr/bin, /usr/sbin, and /sbin. How can I get Matlab to look in other directories?

 Accepted Answer

You should use setenv() to set the path.
Pay attention that usually you want to add something to the path and not override it. Hence do something like:
PATH_SEP = pathsep();
myDir = '/some/dir/in/my/mac/';
currPath = getenv('PATH');
setenv('PATH', [currPath, PATH_SEP, myDir]);
Of course this is the MATLAB way. You could also just use system command:
!export PATH=$PATH:/my/path

1 Comment

Thank you very much!
This solution worked, when I added the code to /Applications/MATLAB_R2020a.app/toolbox/local/matlabrc.m

Sign in to comment.

More Answers (1)

Hi Poul,
You can try using a startup.m File
The startup.m file is for specifying startup options. You can add folders to the search path by including addpath statements in a startup.m file. For example, to add the specified folder, /home/username/mytools to the search path at startup, include this statement in a startup.m file:
addpath /home/username/mytools
- Shashank

1 Comment

This question is about paths for running command line programs, not Matlab scripts. So "addpath" is not relevant.

Sign in to comment.

Categories

Products

Community Treasure Hunt

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

Start Hunting!