Passing parameters throughout nested functions

1 回表示 (過去 30 日間)
Salvatore
Salvatore 2014 年 3 月 17 日
コメント済み: Salvatore 2014 年 3 月 17 日
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

回答 (1 件)

Kevin Claytor
Kevin Claytor 2014 年 3 月 17 日
編集済み: Kevin Claytor 2014 年 3 月 17 日
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 件のコメント
Salvatore
Salvatore 2014 年 3 月 17 日
Hi Kevin,
while waiting for an answer I've found the guidata function.
This is the answer to my question.
Many thanks
Salvatore

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by