Clear Filters
Clear Filters

Changing default values for inputdlg()

24 views (last 30 days)
Michael
Michael on 10 Mar 2014
Edited: Michael on 13 Mar 2014
I'm trying to work out a way such that if a user inputs some values into a dialogue box then exits it, those previous values are saved and then reused as the default values when the user open it again.
I've tried using the command in a loop with variables for the default answers which I then change i.e with m = answer(1). But when I try using variables instead on actual numbers like {'1', '2', '3'}, I get an error saying 'Default Answer must be a cell array of strings.'
Does anyone know how this may be done?

Accepted Answer

Mischa Kim
Mischa Kim on 10 Mar 2014
Edited: Mischa Kim on 10 Mar 2014
Michael, does this do what you need?
defaultanswer = {'20','hsv'};
for ii = 1:2
prompt ={'Enter the matrix size for x^2:',...
'Enter the colormap name:'};
name = 'Input for Peaks function';
numlines = 1;
defaultanswer = inputdlg(prompt,name,numlines,defaultanswer);
end
I suspect that your variables are numeric, in which case you need to convert to string, using, e.g., the num2str command.
  3 Comments
Mischa Kim
Mischa Kim on 10 Mar 2014
Edited: Mischa Kim on 10 Mar 2014
I just used the loop to open the dialog twice to show how to store answers from the dialog box for later use. Of course, you can also call inputdlg again and again in different parts of your code.
Michael
Michael on 13 Mar 2014
Edited: Michael on 13 Mar 2014
Still having a bit of trouble with this,
I've written this out:
def = {'0.6','16','16','2','0.6','0.7','0.1','4'};
prompt ={'Mass', 'Spring 1', 'Spring 2', 'Damping Coefficent', 'Distance', 'Initial Displacement', 'Time Step', 'Total Time'};
dlg_title = 'Parameters';
numlines = 1;
options.Resize='on';
answer = inputdlg(prompt,dlg_title,numlines,def,options);
def = answer;
disp(def)
When the dialogue box open, the default values I specify at the begining are present, and when I change the values, and exit the box, disp(def) shows the default answers have been changed to the new values I put in. However when I open the box back up, the default values reset to what they were originally.
I've been having a lot of trouble with 'the variable might be used before it is defined' as i cant simply set the default answer at the begining to the final answer at the end before said answer is put in.
Do you have any other ideas?

Sign in to comment.

More Answers (0)

Categories

Find more on Startup and Shutdown 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!