how to load .mat in GUI every time the GUI runs and the GUI connect to simulink model
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Show older comments
0 votes
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??
Accepted Answer
C.J. Harris
on 11 Jan 2012
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 Comments
Luhur
on 11 Jan 2012
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
on 11 Jan 2012
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
on 12 Jan 2012
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
on 12 Jan 2012
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
on 12 Jan 2012
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
on 12 Jan 2012
Just modify the code I provide above, and promote only those variables that you need to the base workspace.
Luhur
on 12 Jan 2012
so, cannot just load the specific variable with evalin???
i mean like:
evalin('base','load mymatfile.mat','a'); %im assuming
C.J. Harris
on 12 Jan 2012
http://www.mathworks.co.uk/support/solutions/en/data/1-1LXNAM/index.html?product=SL&solution=1-1LXNAM
Luhur
on 12 Jan 2012
thanks chris... :)
More Answers (0)
Categories
Find more on Simulink Environment Customization in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)