私は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 を使用せずに行うことをお勧めします。これは (私が聞いたように) 非常に遅く、モデルは非常に多くのノードとフラックスに拡張されるためです。