Update Class without restarting matlab

15 visualizaciones (últimos 30 días)
Jonas Reber
Jonas Reber el 6 de Abr. de 2011
Comentada: Vasco el 17 de Sept. de 2020
Hello Matlabers
I am working on a GUI and have implemented some of my own classes (all stored in @classname folder with subfunctions in there too - as told on the mathworks website).
When I need to do some changes to methods/functions in my classes, they somehow do not get updated after saving. When I restart my gui (where tha objects are created) I still get the old implementations.
I always close all the windows/guis and do "close all" but this does not seem to work - even "pack" has no influence.
Thus I found that in order to have an updated class I need to restart my Matlab and then things work perfectly.
There has to be a more convenient way, hasn't it?

Respuesta aceptada

Robert Cumming
Robert Cumming el 6 de Abr. de 2011
This is because Matlab does a certain amount of cacheing of classes in memory - as indicated by Walter the way to update is to use
clear classes
  4 comentarios
Jonas Reber
Jonas Reber el 12 de Abr. de 2011
perfect, thank you!
Vasco
Vasco el 17 de Sept. de 2020
Is there a way to only reload a specific class?
When developing code, I quite often only change one class. Reloading all classes (and rereading data) takes significant time.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 6 de Abr. de 2011
Have you tried using "clear" of the class? Have you tried using "rehash", perhaps even "rehash toolboxcache" ?
  1 comentario
Peter Manley-Cooke
Peter Manley-Cooke el 6 de Abr. de 2011
As in the command "clear classes". You will then need to re-instantiate you classes. I do it by restarting the GUI.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by