Call function by path or namespace?
Ältere Kommentare anzeigen
I have a package that was given to me that has some functions that have the same name as built in MATLAB functions, preventing me from calling the built in functions. I can image a similar situation where I have been given several packages with functions of the same name. Is there some way to call a function by path (or specify which function I want), or to specify a name space? I did find this similar question, where the suggested solution is to rename the functions, but logistically that can be difficult for packages I don’t control.
Akzeptierte Antwort
Weitere Antworten (2)
One way to approach this is to create a separate folder (that is not on the Matlab path) for your project.
When you set the Matlab working directory to this folder, Matlab should search this folder first, before anything else on the Matlab path, and it will find the locally-defined functions first.
Another approach is to manage the Matlab search path by adding the folder that contains these functions to the beginning of the search path. Matlab will find them first.
This second approach requires you to un-do the path assignment when you are running other projects, so you have to be careful. You can use setup scripts to manage the path changes.
1 Kommentar
Ted Shultz
am 4 Sep. 2019
Bearbeitet: Ted Shultz
am 4 Sep. 2019
Steven Lord
am 4 Sep. 2019
0 Stimmen
I have a package that was given to me that has some functions that have the same name as built in MATLAB functions
I'd be curious why the author of that package / toolbox / collection of files shadowed built-in MATLAB function (or functions implemented as MATLAB code that's part of the MATLAB installation.) Others have suggested ways to work around this problem, but the root cause of this pain seems to me to be the shadowing and the countermeasure is for the package author to rename those functions.
If that's impossible and the functions being shadowed are truly built-in (not just MATLAB code files provided by MathWorks as part of your MATLAB installation) the builtin function may be of use. But I'd still strongly encourage the author to stop shadowing built-in functions.
1 Kommentar
Ted Shultz
am 4 Sep. 2019
Kategorien
Mehr zu Introduction to Installation and Licensing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!