MATLAB Answers

Undefined function error is very slow to occur

52 views (last 30 days)
Whenever I type or have a script/M-file with an undefined function or variable (usually through a typo), MATLAB takes about 40 seconds to return the 'Undefined function or variable' message. For example:
>> fg
Undefined function or variable 'fg'.
If I turn off internet access, the delay in producing the message does not occur.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 19 Feb 2020
Edited: MathWorks Support Team on 19 Feb 2020
This is most likely due to having network locations on your MATLAB path. While connected to the internet, MATLAB searches through all of these paths before concluding that no such variable/function exists. When not connected to the internet, MATLAB is forced to ignore any network locations. To check this, you can restore the default MATLAB path. Please note that if you have custom paths that you would like to keep on your MATLAB path, you may want to back them up first. See this MATLAB Answers post for more details:
To restore the default MATLAB path, execute the following in the MATLAB Command Window and then restart MATLAB:
>> restoredefaultpath
>> rehash toolboxcache
>> savepath
If this does not correct the issue, then you may have some network locations in your history. You can clear your history by executing the following and then restarting MATLAB:
>> s = settings;
>> s.matlab.desktop.currentfolder.History.PersonalValue = {''}
You can also change the maximum size of your history, so that MATLAB will not store as many locations. To do this, execute the following code and restart MATLAB:
>> s = settings:
>> s.matlab.desktop.currentfolder.HistorySize.PersonalValue = 20; % you can adjust this value


Show 1 older comment
Michael Wengler
Michael Wengler on 8 Aug 2019
This is among the stupider "features" of matlab that has ever wasted my time. Why are you even searching for things using my history if they are not on my path? And if you are going to do something of such questionable value anyway, how could you implement it in a way that would destroy the user experience because someone switched to a network directory once in order to check something in matlab. For shame! Now at least I'll know when I have foolishly changed to a network directory in matlab and then I get this problem again, I'll remember what to google for to fix it. But really, this is my new job, working around Matlab "features"???
Nils Olav
Nils Olav on 14 Oct 2019
Dear Adam,
Your function restored my sanity, which had no backup. Thanks. And let me second Michael's sentiments.
Nils Olav
Adam Danz
Adam Danz on 14 Oct 2019
Thanks for the feedback, Nils. Feel free to support the function by rating it and leaving a comment here:

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!