Appdesigner load m-file with dropdown

10 views (last 30 days)
I want to add an dropdown menu in the app designer.
with each option a stored m-file should be loaded. If possible the name should be there instead of option1/2/3. but I have no approach.
properties (Access = public)
var1=load('1.mat'); % specify the path to mat file missing
var2=load('2.mat');
var3=load('3.mat');
end
the rest unfortunately does not work

Accepted Answer

Sai Sri Pathuri
Sai Sri Pathuri on 10 Jul 2020
You may follow these steps
  1. Open App Designer by typing appdesigner in command window and Select a Blank app
  2. Drag and drop the Drop Down menu from component library to design view
  3. In Component browser, change Items in drop-down section to None, MatFile1, MatFile2, MatFile3
  4. Go to Code view and add a callback by pressing '+' symbol in code browser and change component to Drop-Down
  5. Add this code in the new callback and save the app
value = app.DropDown.Value;
switch value
case 'MatFile1'
f = @(x) load(x, 'VarName1'); % VarName1 is the variable to be loaded from MatFile1
out = f(value);
assignin('base','VarName1',out.VarName1)
case 'MatFile2'
f = @(x) load(x, 'VarName2'); % VarName2 is the variable to be loaded from MatFile2
out = f(value);
assignin('base','VarName2',out.VarName2)
case 'MatFile3'
f = @(x) load(x, 'VarName3'); % VarName3 is the variable to be loaded from MatFile3
out = f(value);
assignin('base','VarName3',out.VarName3)
end
If the variable name is same for all file, you may remove switch condition

More Answers (0)

Categories

Find more on Environment and Settings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!