MATLAB: Question about GUI programming

matlab guispeech recognition

Hello. I am trying to make a GUI about speech recognition. i want to hold a variable from one function and use it to another one. for example. i have this code.
% --- Executes on button press in ixografisi. (record Button)
function c = ixografisi_Callback(hObject, eventdata, handles)
a = wavread('tilefwno_mix.wav');
axes(handles.axes1);
plot(a);
c = end_detection(a);
% --- Executes when selected object is changed in uipanel2.
function b = uipanel2_SelectionChangeFcn(hObject, eventdata, handles)
if (get(handles.man,'Value') == 1.0)
b = 1
else
b = 2
end
% --- Executes on button press in apotelesma. (result button)
function d = apotelesma_Callback(b, c, hObject, eventdata, handles)
if (b == 1)
g = 'm';
elseif (b == 2)
g = 'f';
end
d = demo(c,g);
I want to use the variable c from the record button and the variable b in uipanel2 in the result button. the variable b only takes 1 or 2 depends on the selection of male or female. but when i get it to the result button it has a value of 18.0032. why? can someone help me pls?
thank u
marina 🙂

Best Answer

Don't insert input arguments to your button callbacks. I think they expect to have (hObject, eventdata, handles) as the first three, and in that specific order. Perhaps you could try adding args to the end.
To share variables between callbacks, either get the value directly from the control with the get() function, where you pass in the known "tag" name of the control and ask for the 'value' property,
controlValue = get(handles.controlTag, 'Value');