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!

 Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 17 Mai 2011

0 Stimmen

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 Kommentare

Jason
Jason am 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 am 17 Mai 2011
Done it:
evalin('base','Last = data1')
Sean de Wolski
Sean de Wolski am 17 Mai 2011
Yes. Use assignin to accomplish that task.
Beware however, this can all be dangerous as you may overwrite/clear something unintentionally.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by