Undefined function error is very slow to occur

5 visualizaciones (últimos 30 días)
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: 
ERROR: >> fg
Undefined function or variable 'fg'.
If I turn off internet access, the delay in producing the message does not occur. 

Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 13 de Mayo de 2022
Editada: MathWorks Support Team el 13 de Mayo de 2022
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
  2 comentarios
Adam Danz
Adam Danz el 22 de Abr. de 2018
Editada: Adam Danz el 25 de Ag. de 2019
Thanks, that also addresses the issue I posted on another thread last year. I'll update that thread with a link to this answer.
[UPDATE]
Since the problem can reoccur, I wrote a function that address disconnected network locations in the Matlab history. The function below creates a GUI that lists all network drives that appear in the Matlab history. The user can select any (or all) of the drives that they no longer have access to and it will remove those from history. The effect was immediate for me and I no longer had to deal with the wait time. Other options in the GUI allow the user to restore the history from a backup if needed. It's a pretty simple.
I'd be interested in knowing if this solves the problem for others, too.
Adam Danz
Adam Danz el 14 de Oct. de 2019
Thanks for the feedback, Nils. Feel free to support the function by rating it and leaving a comment here:

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Search Path en Help Center y File Exchange.

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by