MATLAB executes shadowed function (instead of my own version)
Show older comments
Hey,
I want to implement a few loading features when opening a specific .MAT file my double clicking it.
Therefore I copied the uiimport() function from the matlab root and added some test output. But when calling the function with uiimport('C:\...file.mat'), MATLAB still uses the "old" shadowed function. The step-by-step debugging is also using the "old" file's line numbers but shows my edited version of the function... Pretty strange!
Is this expected behaviour? Thanks in advance.
"which -all uiimport" shows this:
C:\mypath\uiimport.m
C:\Program Files\MATLAB\R2016b\toolbox\matlab\codetools\uiimport.m % Shadowed
5 Comments
Walter Roberson
on 22 Nov 2019
Try
clear uiimport
in case there is a cached version.
If that does not work,
rehash toolboxcache
Julian Tomsik
on 22 Nov 2019
Edited: Julian Tomsik
on 22 Nov 2019
Sinan Islam
on 13 Nov 2020
What if someone which to have several functions with the same name?
Is there any way to qualify functions in MATLAB? Perhaps, qualify a function by its file path?
Stephen23
on 13 Nov 2020
@Sinan Islam: you can have multiple functions of the same name:
- with private functions: https://www.mathworks.com/help/matlab/matlab_prog/private-functions.html
- with classes, import etc.: https://www.mathworks.com/help/matlab/ref/import.html
- changing the path (not recommended)
Rik
on 13 Nov 2020
This discussion is probably relevant to this topic.
Answers (0)
Categories
Find more on Environment and Settings 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!