MATLAB is calling the wrong function, but the 'which' command gives me the right one. How to fix?

I am trying to debug some code by taking a local copy of a particular function and getting MATLAB to call this one. However it is not working. Example: fvcustom is an object that multiple other objects use, but it has a bug. I take a local copy of fvcustom and a 'which' command confirms that this is the highest version in my path
>> which fvcustom
my_local_path\fvcustom.m
However when I try to debug and call a parent object to fvcustom, it calls the function in the central repository which I can't edit:
repo\fvcustom.m
Can anyone help me out with this? I must be doing something stupid.
Thanks

 Accepted Answer

OK there is still an issue there, but I've applied a workaround which is kind of similar to Star Strider's second comment.
  1. take a local copy of the entire central repository
  2. remove the central repo from my path
  3. MATLAB cannot now see the central repo and so does not get confused

More Answers (2)

Call:
which fvcustom -all
or:
Q = which('fvcustom','-all')
to find all of them. The function form returns a cell array with the full path to each of them.

4 Comments

OK. I've done that and I get the 2 options, with local above the repo (shadowed)
I intended that it would give you the paths and you could then specify the one you wanted. Apparently that’s not the solution.
If you want to get only the one you want, one possibility is to save the directory information to the one you want to ignore, and temporarily change its name to fvcuston#. Adding the ‘#’ will not corrupt the name, other than to have the OS ignore it when you call ‘fvcustom’. Just remember to change it back when you’ve finished your project.
Thanks. Did something similar in the end (removed the whole repo from my path after taking a local copy)

Sign in to comment.

Try using the path tool (on the toolbar) to change the order of the search path to put the one you want first.

Categories

Tags

Community Treasure Hunt

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

Start Hunting!