如何在Matlab中自动创建计数器变量

时间:2012-11-05 22:42:28

标签: matlab variables counter

我正在设计一个需要从根本没有变量开始的应用程序。但是,在某些时候,用户将输入他想要计算的内容,比如橘子。然后他会输入“橘子”。在他写橘子之后,我想让Matlab创建一个变量“orangesCounter”。有谁知道我怎么能做到这一点?

或许有人知道我想要做的名字,如果它有一个特定的名字。我只是不知道如何正确地谷歌这个问题,因为我不知道是否有这种类型的变量创建的名称。

谢谢!

1 个答案:

答案 0 :(得分:2)

你正在为自己设置一个巨大的混乱,因为你将如何处理代码中未知的名称的变量?无论如何,这是你的脚,所以这是枪:

%# ask for input
varName = input('what do you want to count? Please enclose the word in single quotes.\n')

%# make the corresponding counter variable, initialize it to 0
eval(sprintf('%sCounter=0;'varName'));

这是一种更好的方法:

variables = struct('name','','value','');

%# ask for the first variable
variables(1).name = input('what do you want to count? Please enclose the word in single quotes.\n');

%# ask for how many things there are
variables(1).value = input(sprintf('how many %s are there?\n',variables(1).name));

%# and return feedback
fprintf('There are %i %s.\n',variables(1).value,variables(1).name);

注意索引 - 结构中可以有多个名称/值对。