Solution.1: As you are assigning the values to the workspace you can read it by using evalin command.
function pushbutton1_Callback(hObject, eventdata, handles)
pop1val=evalin('base','pop1val');
pop2val=evalin('base','pop2val');
c=pop1val*pop2val;
set(handles.edit1,'string',c); % here you don't have to convert as the value already in double.
Solution.2:
assignin('base','pop1val',pop1val) This statement you don't require in your code. As you already setting the value of 'UserData' for popupmenu (set(handles.popupmenu1,'UserData',pop1val);)
This is how your code looks now:
function popupmenu1_Callback(hObject, eventdata, handles)
contents= cellstr(get(hObject,'String'));
popchoice1 = contents(get(hObject,'Value'));
if (strcmp(popchoice1,'choice 1'))
pop1val=10;
elseif (strcmp(popchoice1,'choice 2'))
pop1val=20;
elseif(strcmp(popchoice1,'choice 3'))
pop1val=30;
end
set(handles.popupmenu1,'UserData',pop1val);
function popupmenu2_Callback(hObject, eventdata, handles)
contents= cellstr(get(hObject,'String'));
popchoice2= contents(get(hObject,'Value'));
if (strcmp(popchoice2,'a'))
pop2val=40;
elseif(strcmp(popchoice2,'b'))
pop2val=50;
elseif(strcmp(popchoice2,'c'))
pop2val=60;
end
set(handles.popupmenu2,'UserData',pop2val);
function pushbutton1_Callback(hObject, eventdata, handles)
Best Answer