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

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 件のコメント

DIJESH
DIJESH 2014 年 5 月 26 日
編集済み: DIJESH 2014 年 5 月 26 日
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?

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

 採用された回答

Mischa Kim
Mischa Kim 2014 年 5 月 26 日
編集済み: Mischa Kim 2014 年 5 月 26 日
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 件のコメント

DIJESH
DIJESH 2014 年 5 月 26 日
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 2014 年 5 月 26 日
I just noticed that the link I posted above was not working. It is fixed now.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeScope Variables and Generate Names についてさらに検索

質問済み:

2014 年 5 月 26 日

コメント済み:

2014 年 5 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by