【发布时间】:2022-01-19 20:03:24
【问题描述】:
我有一个包含多个代理的模型,每个代理都有几个流量和库存,以及一个分析代理。我想让用户在模拟运行期间为任何流量/库存/变量添加时间图。这个想法是有多个单选按钮或组合框,允许用户选择任何代理的任何元素并自动创建元素图。我发现在使用单选按钮触发循环事件方面取得了一些成功,然后该事件使用来自另一个代理的预定义元素更新我的分析代理中的辅助变量并绘制变量。然而,问题是我必须预先定义要在用户触发的事件中绘制的元素。我可以为模型中的每个元素都创建一个事件,但我希望有一种方法可以更直接地将用户输入转换为元素的可用路径。
例如:我有两个代理,a 和 b。在代理 a 中有流“流”,在代理 b 中有一个情节“情节”和一个按钮“按钮”(或任何其他 Controls 元素,如果它在这种情况下更有用)。当模型运行时,用户应该能够按下将“流”添加到“绘图”的按钮。是否有一个简单的解决方案可以(至少在某种程度上)可扩展到大量代理和可绘制元素?
非常感谢任何帮助!
【问题讨论】:
-
addDataSet ...你探索过那个函数了吗?
-
我看了但没有深入探索。据我所知,我可以添加一个数据集和一个函数/一个事件来为我想要绘制的每个模型元素填充它。然而,我正在寻找的是一种获取任何元素的值并将其设置为单个变量的值的方法,然后我可以使用单个事件/函数进行绘制。 Jaco-Ben Vosloo 的解决方案正是这样做的,在我的代理导入部分中导入 java 包后,它现在可以完美运行。
标签: simulation anylogic agent