Adding matlab paths temporarily

65 views (last 30 days)
I have 2 functions with same names in 2 different folders A and B. Lets call the function as func.m
I have another main program where I will be calling this function.
I want to specify the folder from which func() will be used from.
addpath causes the added path to remain until the matlab session is closed and rmpath can be used to remove the path but it causes issues at times by accessing the wrong folder.
Is is possible to addpaths that will be used only when the script is run ? I don't want the path to be there for the entire matlab session.

Accepted Answer

Walter Roberson
Walter Roberson on 16 Apr 2019
path() can be used to change the entire path. So you could call path to record the path, and addpath, and then before return path(oldpath)
If you were using functions I would suggest an onCleanup.
I would recommend enclosing most of the script with try/catch where the catch restored the path and then rethrow() and the normal branch just restored the path.
You still have problems with control C or out of memory as you cannot catch those.

More Answers (0)


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!

Translated by