Which file Matlab selects if two different files with the same name are put under two folders, which are both added via addpath?

38 views (last 30 days)
John on 2 Jul 2020
Answered: Steven Lord on 15 May 2022
I have two functions with the same name. The contents of the functions are different although they share the same type of input and output. I put two functions (.m files) in 2 different folders and I add to Matlab path by calling addpath(genpath(folder_location)).
If I call this function, how does Matlab determine which m file to call? It seems to me that different Matlab versions handle differently. However, the way Matlab does is also not very clear. I am looking for the information for 2015a and 2017a.
John on 2 Jul 2020
I just noticed the difference between 2015a and 2017a is this:
If I am add the current folder which as subfolder1 and subfolder2. I call the commands in the following order:
For 2015a, if I open Matlab search path in "Set Path" button, the top path I see after the commands are subfolder1, subfolder2, and subfolder1, respectively
For 2017a, if I open Matlab search path in "Set Path" button, the top path I see after the commands are subfolder1, subfolder2, and subfolder2, respectively. That means 2017a doesn't move up/re-add on top if that path is already in the search path
I think that is causing me problem in 2017a when trying to use 2017a to run a model has been working well in 2015a.

Sign in to comment.

Accepted Answer

Monisha Nalluru
Monisha Nalluru on 8 Jul 2020
This is a known issue with addpath function in MATLAB R2017a and R2017b. This got fixed in R2018a. It is recommended to update the MATLAB version.
As a workaround for this issue is to remove the path and then add. This results in adding the path at top.
% Perform the required operations
% You can use restoredefaultpath command to set the path to default
addpath('subfolder1') % This will add the path on top again

More Answers (1)

Steven Lord
Steven Lord on 15 May 2022
See this documentation page for a discussion of the function precedence order.




Community Treasure Hunt

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

Start Hunting!