Hi, I have a some data in the workspace which is data1 = <4x4x13 int32).
If I want to clear this from the workspace, I can do so by typing "clear data1" in the command window. However, when I write this into a GUI pushbutton call back, it doesn't do anything.
clear data1;
delete(get(handles.axes1,'children')); % clear axes 1
set(handles.uitable1, 'Data', []); % clears uitable
everything else works (uitable, axes1) but not the workspace!

 Réponse acceptée

Sean de Wolski
Sean de Wolski le 17 Mai 2011

0 votes

That's because it's calling it in the workspace of the callback function, not the base work space. This is what you want:
evalin('base','clear data1');

3 commentaires

Jason
Jason le 17 Mai 2011
Thanks, does the same apply for reassigning data in the workspace to another name using the callback.
last = data1
does not work.
Jason
Jason le 17 Mai 2011
Done it:
evalin('base','Last = data1')
Sean de Wolski
Sean de Wolski le 17 Mai 2011
Yes. Use assignin to accomplish that task.
Beware however, this can all be dangerous as you may overwrite/clear something unintentionally.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by