MATLAB: How to pass a struct between callbacks in GUI

callbackguiguidematlab guistructstructures

Hello, i want to load a file(.mat) which has a struct in it in my GUI. There is one button for picking the file and loading it and one button which should use the values(matrices) stored in the struct for calculations. So i Need to pass the loaded struct from one caallback to another… I'm using guide. Thanks

Best Answer

Valentino - just save the structure to handles in one callback so that the other callback has access to it. For example, if the following is the callback to choose and load the contents of a file
function pushbutton1_Callback(hObject, eventdata, handles)
% choose the file
% load the data into a structure myData
% add the structure to handles
handles.myData = myData;
% save the updated structure
guidata(hObject,handles);
Now in your other callback, you can access this structure directly as
function pushbutton2_Callback(hObject, eventdata, handles)
if isfield(handles,'myData')
% do something with myData
end
Try implementing the above and see what happens!