Matlab Crushes when new .m file is added

1 visualización (últimos 30 días)
Stelios Fanourakis
Stelios Fanourakis el 16 de Jun. de 2019
Editada: John D'Errico el 16 de Jun. de 2019
Whenever I add a new .m file in the current folder, Matlab doesn't automatically recognize it and it prompts me to either change folder or add to path and then it just comes the error " Undefined Function" although the function exists at the working folder.
I have to shut down Matlab and reboot it in order to recognize it.
Any ideas why is this happening? Thanks

Respuesta aceptada

John D'Errico
John D'Errico el 16 de Jun. de 2019
Editada: John D'Errico el 16 de Jun. de 2019
This is not a crash, nor even a crush. It is just that MATLAB caches the files in the MATLAB directories. It does this to enhance speed, pre-processing those files when it starts up. Therefore MATLAB does not watch those directories, not expecting any changes in them. This is why things "work" again for you when you restart, because MATLAB cached your changed files.
That means the solution is that you should NOT be using those directories! Do NOT save your files into the supplied directories. Instead, add your own directories to the search path. You can save files to your own directories with no problem at all.

Más respuestas (1)

Walter Roberson
Walter Roberson el 16 de Jun. de 2019
Sometimes MATLAB can get confused and you need to rehash. This can happen in various ways, including if a file that is not on the current path is modified, such as if you are cd'ing back and forth between directories.
If you are adding files to directories that are underneath the MATLAB installation (not a good idea) then rehash toolboxcache
In some cases involving network drives, MATLAB might not get notified when a file is updated, and you might need to rehash
If you are modifying a .m file which has been invoked in the current session, then MATLAB will not always notice the change, and you might need to clear the function name.

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by