Update Class without restarting matlab

16 views (last 30 days)
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?

Accepted Answer

Robert Cumming
Robert Cumming on 6 Apr 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 Comments
Vasco
Vasco on 17 Sep 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.

Sign in to comment.

More Answers (1)

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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!