poster
2019-12-10, 20:41
我有一个变量a = 1 。我想生成形式的变量名:
variableNumber 所以在这个例子中,我想
a1 a2 a3 作为变量。我怎样才能做到这一点?
回答:
尝试genvarname 。
varname = genvarname(str) 是使用的基本语法。 MATLAB文档提供了将此功能与排除列表配合使用的详细示例(用于确保唯一的变量名)。您将必须使用eval或其他函数(例如,在先前答案中提到的assignin )来利用此变量名。
为了完全回答这个问题,
varnamelist = genvarname({'a','a','a','a','a'}); for l=1:length(varnamelist) eval([varnamelist{l} '= l^2']); end 当然,有更有效的方法可以将genvarname的输入列表放在一起,这是一个练习;)
如果您担心性能,请注意eval可能会大大降低脚本/功能的速度;如果需要动态变量命名,我个人建议使用struct或cell数据类型。
更多&回答... (https://stackoverflow.com/questions/2809635)
variableNumber 所以在这个例子中,我想
a1 a2 a3 作为变量。我怎样才能做到这一点?
回答:
尝试genvarname 。
varname = genvarname(str) 是使用的基本语法。 MATLAB文档提供了将此功能与排除列表配合使用的详细示例(用于确保唯一的变量名)。您将必须使用eval或其他函数(例如,在先前答案中提到的assignin )来利用此变量名。
为了完全回答这个问题,
varnamelist = genvarname({'a','a','a','a','a'}); for l=1:length(varnamelist) eval([varnamelist{l} '= l^2']); end 当然,有更有效的方法可以将genvarname的输入列表放在一起,这是一个练习;)
如果您担心性能,请注意eval可能会大大降低脚本/功能的速度;如果需要动态变量命名,我个人建议使用struct或cell数据类型。
更多&回答... (https://stackoverflow.com/questions/2809635)