How can I move the 'pathdef.m' file from its default location to another location?
173 views (last 30 days)
Show older comments
MathWorks Support Team
on 22 May 2013
Edited: MathWorks Support Team
on 21 Aug 2024
I would like to put my 'pathdef.m' path file in an arbitrary directory instead of the default directory.
Accepted Answer
MathWorks Support Team
on 21 Aug 2024
Edited: MathWorks Support Team
on 21 Aug 2024
By default, the 'pathdef.m' file is located in the '<matlabroot>/toolbox/local' directory, where <matlabroot> is the directory displayed after entering the following command in the MATLAB Command Window:
>> matlabroot
Another possible, supported location for 'pathdef.m' may be the userpath, where userpath is the directory displayed after entering the command in the MATLAB Command Window:
>> userpath
To move the 'pathdef.m' file from its default location to another location, it can be manually copied from this directory and placed in an arbitrary directory, or you can call 'savepath' with an input argument that specifies the full path:
>> savepath folderName/pathdef.m
In order for MATLAB to use the copied 'pathdef.m' file at initialization, create a MATLAB file titled 'startup.m' and place it in the userpath folder. Copy the lines of code below to the file. If a 'startup.m' file already exists in userpath, add the lines of code to the end of the file:
% save starting directory
startdir = pwd;
% specify arbitrary directory containing pathdef.m
pathdir = '<MODIFIED_PATH>';
% change directory so that target 'pathdef.m' has highest precedence
% in the MATLAB search path
cd(pathdir)
% set the MATLAB search path using PATH
path(pathdef)
% change directory back to the starting directory
cd(startdir)
Make sure to modify the string marked "MODIFIED_PATH" in the above code to the directory to which the 'pathdef.m' file was copied. The 'startup.m' script will be automatically executed upon MATLAB initialization.
WARNING: If you intend to use multiple MATLAB releases, do not use "startup.m" to relocate "pathdef.m."
"pathdef.m" is unique to each release, whereas "startup.m" is shared across all releases. Following the workflow outlined above will result in loading the same "pathdef.m" file for every release, potentially leading to conflicts.
If your end goal is to add custom paths to MATLAB's search path, you can write the commands below in your "startup.m" instead:
addpath('customPath1', 'customPath2', ...
% ...
'customPathN')
where "customPathX" represents the specific paths you wish to add.
0 Comments
More Answers (0)
See Also
Categories
Find more on Search Path in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!