Passing parameters throughout nested functions

1 view (last 30 days)
Hello I've some problems to handle some parameters that I've originally generated in a function which calls (trought callbacks) more functions whic use those parameters and update them. In the following an example of what I mean.
"Data" should be updated by callbacks @myinput and then @mygraph and return to the main function.
I don't know how to handle the outputs of callbacks.
Many thanks in advance for any suggestion.
Salvatore
*************************
function Data=Interface()
Data.a = ...;
Data.b = ...;
Data.c = [];
uicontrol(...,'Callback',{@myinput, Data});
...
uicontrol(...,'Callback',{@mygraph, Data});
function myinput(Data)
Data.c = ...;
Data.a.x = ...;
...
end
function mygraph(Data)
A = Data.a;
B = Data.a.x;
C = Data.b;
Data.d = ...;
end
end

Answers (1)

Kevin Claytor
Kevin Claytor on 17 Mar 2014
Edited: Kevin Claytor on 17 Mar 2014
Is this in a GUI? I'd have a look at guidata() and at get/setappdata, both of which help solve the problem of handling data in GUI's. Some examples;
function foobar(figure_handle)
figdata = guidata(figure_handle);
data = figdata.data;
% do stuff
% Store the data again
figdata.data = data;
guidata(figure_handle, figdata);
And for get/setappdata;
function foobar(figure_handle)
mydata = getappdata(some_handle,'data');
% do stuff
% Store the data again
setappdata(some_handle, 'data', mydata);
  1 Comment
Salvatore
Salvatore on 17 Mar 2014
Hi Kevin,
while waiting for an answer I've found the guidata function.
This is the answer to my question.
Many thanks
Salvatore

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!