how to load .mat in GUI every time the GUI runs and the GUI connect to simulink model

Dear everyone..
i have .mat file that contain so many variable, for example Alphabet.mat contains variable a=1,b=2,c=3,d=4.....
i want to load Alphabet.mat every time i run my GUI program that contain simulink model, and also the variables inside alphabet.mat are used in simulink model...
i have tried load alphabet.mat, uigetfile still cannot any suggestion??

 採用された回答

C.J. Harris
C.J. Harris 2012 年 1 月 11 日

1 投票

You call add a call to load('alphabet.mat') within the Simulink model's InitFcn callback if the parameters are only needed by the Simulink model.
From within your Simulink model see:
File->Model Properies->Callbacks

9 件のコメント

Luhur
Luhur 2012 年 1 月 11 日
that i already know, but in this case, in GUI this variable also being used..
any thought??
do you know how to trace variable that succeed being read by GUI?? like in matlab we can use whos...
C.J. Harris
C.J. Harris 2012 年 1 月 11 日
I would recommended loading your variables as a structure, as this would be more managable within your GUI (such as passing variables between functions). Example:
GUI_Variables = load('Alphabet.mat');
Then access them via:
GUI_Variables.a or GUI_Variables.b
Luhur
Luhur 2012 年 1 月 12 日
now the problem is how to store to workspace??? please dont use uigetfile
i want to store the value of a or b or c for example, and off course they stay as struct
C.J. Harris
C.J. Harris 2012 年 1 月 12 日
Just use 'save' if you want to save the structure. If you want to store the individual variables (i.e. not in the structure) use the following function:
function struct2base(s)
for f = fieldnames(s)'
assignin('base', f{:}, s.(f{:}))
end
return
Luhur
Luhur 2012 年 1 月 12 日
i mean like this link, http://www.mathworks.com/support/solutions/en/data/1-EA3082/index.html?product=ML&solution=1-EA3082
but i want to access only specific variable inside the .mat file, i want to access only 1 or more variable..
any thought?
C.J. Harris
C.J. Harris 2012 年 1 月 12 日
Just modify the code I provide above, and promote only those variables that you need to the base workspace.
Luhur
Luhur 2012 年 1 月 12 日
so, cannot just load the specific variable with evalin???
i mean like:
evalin('base','load mymatfile.mat','a'); %im assuming
C.J. Harris
C.J. Harris 2012 年 1 月 12 日
http://www.mathworks.co.uk/support/solutions/en/data/1-1LXNAM/index.html?product=SL&solution=1-1LXNAM
Luhur
Luhur 2012 年 1 月 12 日
thanks chris... :)

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulink Environment Customization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by