我正在一个项目上,我需要使用工作区中的某些变量,并且我只将其名称作为char数组。
举个例子,我有数组
var_names = {'var1', 'var2', ... }
这些变量(以及其他变量)在工作空间中是具有多个属性(值,类等)的结构。(我相信这些是Simulink生成的,但我不确定)。
为简单起见,假设我有一个名称{'var1','var2'},我需要乘以它们的值
prod = var1.Value * var2.Value
我尝试过
var_names(1).Value * var_names(2).Value
和其他更明显的尝试,但没有成功。注意事项-由于变量的结构性质,评估无效,因此我需要其他一些东西。
答案 0 :(得分:2)
按名称获取变量的标准方法是使用eval
。重要的是要确保评估正确的文本:
names = {'var1', 'var2'};
x1 = eval(names{1});
x2 = eval(names{2});
prod = x1.Value * x2.Value