How to assign different values to different variables input by the user?

1 visualizzazione (ultimi 30 giorni)
prompt = 'Enter data: ';
title = 'Data input';
dlg_ans = inputdlg(prompt,title,[1 100]);
data = str2num(dlg_ans{:});
In the above program, the user is allowed to enter as many values as he wish. So how can i assign these different values to different variables automatically as they enter each value?
  1 Commento
DIJESH
DIJESH il 26 Mag 2014
Modificato: DIJESH il 26 Mag 2014
if i go by the code -
answer1 = data(1)
answer2 = data(2)
this will read each values and assign it to the respective variables but since i do not know the number values entered by the user, how would i manage it to assign it to different variables?

Accedi per commentare.

Risposta accettata

Mischa Kim
Mischa Kim il 26 Mag 2014
Modificato: Mischa Kim il 26 Mag 2014
Dijesh, you could use the eval command:
prompt = 'Enter data: ';
title = 'Data input';
dlg_ans = inputdlg(prompt,title,[1 100]);
data = str2num(dlg_ans{:});
for ii=1:numel(data)
eval(sprintf('data%d = %f\n', ii, data(ii)));
end
However, as pointed out in one of your other questions I'd recommend against this approach. See this answer for reference.
  2 Commenti
DIJESH
DIJESH il 26 Mag 2014
May I know why do u suggest against using the above approach? If there is a way why can't we use it?
Mischa Kim
Mischa Kim il 26 Mag 2014
I just noticed that the link I posted above was not working. It is fixed now.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Text Data Preparation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by