如何从 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 在参数变化实验中运行?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用anylogic中的参数变化从图表上的main获取某些数据?