How to clear GUI variables?

14 views (last 30 days)
Kev
Kev on 17 Dec 2013
Edited: Kev on 18 Dec 2013
Hi,
I'm trying to clear GUI variables. From what I understand, each callback function has its own workspace and separate global workspace. I'd like to clear a specific callback variables with a push button. (Callback function is blockremover_callback, I'd like to reset with a push button).
Thanks!
function clearscreen_Callback(hObject, eventdata, handles)
global xy h binary
%evalin('base','clear h')
clear blockremover_callback
xy = [];
h = [];
binary = [];
%evalin('base','clear all');
cla;

Accepted Answer

Image Analyst
Image Analyst on 18 Dec 2013
You can clear global variables with clear global.
clear global xy;
clear global h;
clear global binary;
After you clear them, if you need them you need to declare them again:
global xy;
global h;
global binary;
There is no need to clear local variables as they vanish once the function exits.
  3 Comments
Image Analyst
Image Analyst on 18 Dec 2013
Like I said in your other question, if it thinks there is more than one image in an axes, then call cla('reset') before calling imshow() so that the axes is emptied before loading an image into it.
Kev
Kev on 18 Dec 2013
Edited: Kev on 18 Dec 2013
Perfect! Wish thre were emoticons on this forum. :) The problem was with resetting axis. I thought it was something else. I applied cla command in the block. I didn't know there were separate cla('reset') function also. Anyways, Thanks very much!!!

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 17 Dec 2013
No, there is only one global workspace.
Each function may have its own persistent variables. Those variables may be cleared by using "clear" together with the function name.
  1 Comment
Kev
Kev on 18 Dec 2013
Edited: Kev on 18 Dec 2013
Thanks for providing link. That wiki is informative. Bookmarked! :)

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!