首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Matlab中使用表中的变量名

在Matlab中使用表中的变量名
EN

Stack Overflow用户
提问于 2012-04-26 16:55:11
回答 1查看 1.4K关注 0票数 0

我用Matlab写了一个小模型。该模型分析了几个供应节点,以满足需求节点中所需的需求量。供应节点在向量中指定,其中每个时间步都给出了可用的供应。

为了满足需求,随后分析供应节点是否能够满足需求,并相应地更新从供应节点到需求节点的流量。此分析现在使用由脚本代码定义的固定顺序。在伪代码中:

代码语言:javascript
运行
复制
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

然而,这种分析供应节点的顺序必须改变。我想从一个表格中读取这个顺序,其中分析的顺序是按照它们在表格中的呈现顺序来给出的。因此,该表可能如下所示

代码语言:javascript
运行
复制
 1   supply_4
 2   supply_1
 3   supply_5
 # etcetera

有没有一种方法可以从这样的表中读取变量名?最好不要使用eval,因为它非常慢(据我所知),并且该模型将扩展到相当多的节点和通量。

EN

回答 1

Stack Overflow用户

发布于 2012-04-26 17:37:43

也许你可以使用结构:

代码语言:javascript
运行
复制
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 =
       3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10330169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档