Does EXIST work in GUIDE (GUI)

2 views (last 30 days)
Lex
Lex on 11 Jul 2011
Hello, I have a little problem with EXIST function. I'm having a button with some calculations in code but later in code there is modification button(that asignin to workspace some other values). I've tride simple IF function (if exist modified value in workspace then do something else). But It does not work
if exist('N1pg','var')==0
....
else
...
end
if(get(handles.radiobutton10,'Value'))== (get(handles.radiobutton10,'Max'))
N1pg=str2num(get(handles.edit86,'String'));
assignin('base','N1pg',N1pg);
Thank you for solution\fix.

Accepted Answer

Jan
Jan on 11 Jul 2011
EXIST checks the existence in the workspace of the current function. ASSIGNIN('base', ...) assigns the variable in the base workspace. Therefore EXIST cannot see the variable.
Creating variables in another workspace is a frequent source of problems. It is more stable to create the variables locally in the GUI (see GUIDATA, UserData, ApplicationData) and use a dedicated function to export them on demand only.

More Answers (3)

Paulo Silva
Paulo Silva on 11 Jul 2011
Inside your GUI or any function:
e=evalin('base','who'); %get all the variables names present in the workspace
if ismember('N1pg',e) %check if your variable is one of them
%is one of them, do something
else
%the variable isn't in the workspace yet, do something else
end

Lex
Lex on 11 Jul 2011
Oh thank you. I'll try to use GUIDATA. And let you know if I succeeded :)

Lex
Lex on 11 Jul 2011
"Thank IOU" Paulo your sollution works perfect!

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!