我用Matlab写了一个小模型。该模型分析了几个供应节点,以满足需求节点中所需的需求量。供应节点在向量中指定,其中每个时间步都给出了可用的供应。
为了满足需求,随后分析供应节点是否能够满足需求,并相应地更新从供应节点到需求节点的流量。此分析现在使用由脚本代码定义的固定顺序。在伪代码中:
for timestep=1:end
if demand(timestep) > supply_1(timestep)
supply_1_demand(timestep) = supply_1(timestep)
else
supply_1_demand(timestep) = demand(timestep)
end
if remaining_demand(timestep) > supply_2(timestep)
supply_2_demand(timestep) = supply_2(timestep)
else
supply_2_demand(timestep) = demand(timestep)
end
# etcetera, etcetera
end然而,这种分析供应节点的顺序必须改变。我想从一个表格中读取这个顺序,其中分析的顺序是按照它们在表格中的呈现顺序来给出的。因此,该表可能如下所示
1 supply_4
2 supply_1
3 supply_5
# etcetera有没有一种方法可以从这样的表中读取变量名?最好不要使用eval,因为它非常慢(据我所知),并且该模型将扩展到相当多的节点和通量。
发布于 2012-04-26 17:37:43
也许你可以使用结构:
varNames={'supp_1','supp_2','supp_3'};
supply.(varNames{1}) = 3; %%% set a variable by name
display(supply.(varNames{1})) %%% get value by name
ans =
3https://stackoverflow.com/questions/10330169
复制相似问题