如何从 Main 获取文本数据集并使用 anylogic 在参数变化实验中运行?

Posted

技术标签:

【中文标题】如何从 Main 获取文本数据集并使用 anylogic 在参数变化实验中运行?【英文标题】:How to get the dataset for text from Main and run in parameter variation experiment using anylogic? 【发布时间】:2019-11-13 23:58:04 【问题描述】:

我正在从事疏散过程项目,想知道是否有可能从 main 获取文本数据集或变量,并在每次迭代后存储/保存它时在参数变化实验(100 次运行)中运行。每次模拟运行时,此文本都会不断变化,因为在疏散期间能够逃脱的人数是不同的。警报(事件)响起并触发另一个事件(事件1),然后更新计算建筑物中人数的文本。

boolean 类型的 stopCounting 为 false,long 类型的 peopleRemaining

getPeopleInsideCount() 来自我的函数

我在 After Experiment Run 中尝试使用的用于参数变化实验的代码是

iteration3++;

dataset2.add(iteration3,(double)Long.parseLong(root.text2.getText()));

我了解此代码无法将主文本作为数据集读取。我在 main 中运行了模拟并更新了文本,同时还注意到 peopleRemaining 变量跟随文本中的数字。也许可以在数据集中获取变量?

【问题讨论】:

【参考方案1】:

请同时学习使用 AnyLogic 帮助。在那里,您将了解到 Dataset 对象仅存储数字。此外,文本对象只有文本作为字符串。它们不兼容。

您需要将疏散编号存储在 Int 类型的变量中,将其命名为 myEvacNumber。因此,除了在文本中显示它之外,您还必须手动将其存储在该变量中。最好在疏散结束时这样做;-)

然后在“模拟运行后”代码框中的实验中,您可以使用

访问它并将其存储到您的数据集中
dataset.add(root.myEvacNumber);

请注意,这将存储每次模拟运行结束时该变量中的值!

【讨论】:

对不起,先生,我对这个软件还很陌生。我尝试将代码表单文本复制到变量初始值中,模拟窗口以红色文本显示错误“绘制动画帧时出错。可能是由动画形状的动态属性引起的。当错误消失时,图片将被存储" 我不确定你手动存储它和在我撤离结束时是什么意思。 我已经更详细地更新了问题,并且可以使用运行模拟时收到的错误截图来更新我的问题。 对不起先生,我犯了一个小错误。我可以简单地使用代码 dataset.add(root.peopleRemaining);如我的问题所示。它奏效了。太感谢了。我看了你的一些视频,把 Anylogic 理解为一个初学者,非常感谢你。

以上是关于如何从 Main 获取文本数据集并使用 anylogic 在参数变化实验中运行?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 hdf5 保存/提取数据集并转换为 TiFF?

比较两个数据集并获取更改了哪些字段

如何使用anylogic中的参数变化从图表上的main获取某些数据?

gomain函数中如何动态获取数据

Apache Spark Java - 如何遍历行数据集并删除空字段

如何从一个表中复制一个记录集并添加到另一个表中?